1 #include "calendarprofilesdialog.h"
2 #include "ui_calendarprofilesdialog.h"
3 #include <QtGui/QStandardItemModel>
4 #include <QtGui/QItemSelectionModel>
5 #include <QtCore/QModelIndex>
6 #include <QtCore/QSettings>
7 #include <QtCore/QDebug> //Debug pro informace
8 #include "calendarsetprofiledialog.h"
10 Setup ui and set window title
12 CalendarProfilesDialog::CalendarProfilesDialog(QWidget *parent) :
14 ui(new Ui::CalendarProfilesDialog)
17 setWindowTitle(tr("Edit profiles and calendars"));
21 Set view models, behavior, mode and triggerrs
22 \param model_of_profiles model of profiles
23 \param selModel_profiles selection model for profiles
24 \param model_of_calendars model of calendars
25 \param selModel_calendars selection model for calendars
27 void CalendarProfilesDialog::SetViews(QStandardItemModel *model_of_profiles ,
28 QItemSelectionModel *selModel_profiles,
29 QStandardItemModel *model_of_calendars ,
30 QItemSelectionModel *selModel_calendars)
32 ui->Profile_tableView->setModel(model_of_profiles);
33 ui->Profile_tableView->setSelectionModel(selModel_profiles);
34 ui->Profile_tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
35 ui->Profile_tableView->setSelectionMode(QAbstractItemView::SingleSelection);
36 ui->Profile_tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
37 //ui->tableView_2->resizeColumnsToContents();
38 ui->Profile_tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
40 ui->CalendartableView->setModel(model_of_calendars);
41 ui->CalendartableView->setSelectionModel(selModel_calendars);
42 ui->CalendartableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
43 ui->CalendartableView->setSelectionBehavior(QAbstractItemView::SelectRows);
44 ui->CalendartableView->setSelectionMode(QAbstractItemView::SingleSelection);
45 ui->CalendartableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
50 \param sett pointer to settings class
52 void CalendarProfilesDialog::SetSettings(QSettings *sett)
60 CalendarProfilesDialog::~CalendarProfilesDialog()
69 void CalendarProfilesDialog::changeEvent(QEvent *e)
71 QDialog::changeEvent(e);
73 case QEvent::LanguageChange:
74 ui->retranslateUi(this);
81 /** on_CalendartableView_clicked.
82 Slot for click on CalendartableView
83 \param index index not used
85 void CalendarProfilesDialog::on_CalendartableView_clicked(QModelIndex index)
89 QItemSelectionModel *selModel_calendars = ui->CalendartableView->selectionModel();
90 if(!selModel_calendars->hasSelection()) return; // nothing selected return
91 QModelIndexList list_of_calendar = selModel_calendars->selectedIndexes();
92 //qDebug() << "size of list" << list_of_calendar.count();
94 if(list_of_calendar.at(0).data(Qt::CheckStateRole).toInt() == 2){
97 //qDebug() << " print i " << i;
98 //qDebug() << " =========================================================================== ";
99 settings->beginGroup("CalendarProfileClassCalendars");
100 settings->setValue(list_of_calendar.at(0).data().toString(), QVariant(i) );
101 settings->endGroup();
102 //qDebug() << "emit změny";
103 emit s_change_calendars();
104 selModel_calendars->clearSelection();
107 /** on_Profile_tableView_clicked.
108 Slot for click on Profile_tableView
109 \param index index not used
111 void CalendarProfilesDialog::on_Profile_tableView_clicked(QModelIndex index)
115 QItemSelectionModel *selModel_profiles = ui->Profile_tableView->selectionModel();
116 if(!selModel_profiles->hasSelection()) return;
117 QModelIndexList list_of_profil = selModel_profiles->selectedIndexes();
118 QStandardItemModel *model_of_profiles = (QStandardItemModel *) ui->Profile_tableView->model();
119 CalendarSetProfileDialog dialog(this);
120 dialog.SetDialog(list_of_profil.at(0).data().toString(),list_of_profil.at(1).data().toString(),list_of_profil.at(2).data().toInt());
121 int result = dialog.exec();
124 settings->beginGroup("CalendarProfileClass");
125 settings->setValue(QString("%1%2").arg(list_of_profil.at(0).data().toString(),"words"), QVariant(dialog.GetText()));
126 settings->setValue(QString("%1%2").arg(list_of_profil.at(0).data().toString(),"priority"), QVariant(dialog.GetPriority()));
127 settings->endGroup();
129 model_of_profiles->setData(list_of_profil.at(1),QVariant(dialog.GetText()),Qt::DisplayRole);
130 model_of_profiles->setData(list_of_profil.at(2),QVariant(dialog.GetPriority()),Qt::DisplayRole);
131 emit s_change_calendars();
133 selModel_profiles->clearSelection();