1 #include "eventdialog.h"
2 #include <appsettings.h>
10 DetailsContainer::DetailsContainer(QWidget *aParent)
13 mAbstract.setWordWrap(true);
14 mDescription.setWordWrap(true);
16 QFont f = QLabel().font();
19 mMainLayout = new QVBoxLayout(this);
20 QLabel *persons = new QLabel("Persons:");
22 mMainLayout->addWidget(persons);
23 mMainLayout->addWidget(&mPersons);
24 mMainLayout->addWidget(new QLabel("")); // spacer
25 QLabel *abstract = new QLabel("Abstract:");
27 mMainLayout->addWidget(abstract);
28 mMainLayout->addWidget(&mAbstract);
29 mMainLayout->addWidget(new QLabel("")); // spacer
30 QLabel *description = new QLabel("Description:");
31 description->setFont(f);
32 mMainLayout->addWidget(description);
33 mMainLayout->addWidget(&mDescription);
34 setLayout(mMainLayout);
37 void DetailsContainer::setPersons(const QStringList &aPersons)
39 mPersons.setText(aPersons.join(" and "));
42 void DetailsContainer::setAbstract(const QString &aAbstract)
44 mAbstract.setText(aAbstract);
47 void DetailsContainer::setDescription(const QString &aDescription)
49 mDescription.setText(aDescription);
52 EventDialog::EventDialog(const int &aEventId, QWidget *aParent)
62 Event event = Event::getById(mEventId,AppSettings::confId());
64 title->setText(event.title());
65 mDetails.setPersons(event.persons());
66 mDetails.setAbstract(event.abstract());
67 mDetails.setDescription(event.description());
68 scrollArea->setWidget(&mDetails);
70 connect(favouriteButton, SIGNAL(clicked()), SLOT(favouriteClicked()));
71 connect(alarmButton, SIGNAL(clicked()), SLOT(alarmClicked()));
73 if(event.isFavourite())
75 favouriteButton->setIcon(QIcon(":/icons/favourite-onBig.png"));
80 alarmButton->setIcon(QIcon(":/icons/alarm-onBig.png"));
84 void EventDialog::favouriteClicked()
86 Event event = Event::getById(mEventId,AppSettings::confId());
88 if(event.isFavourite())
90 event.setFavourite(false);
91 favouriteButton->setIcon(QIcon(":/icons/favourite-offBig.png"));
95 event.setFavourite(true);
96 favouriteButton->setIcon(QIcon(":/icons/favourite-onBig.png"));
98 event.update("favourite");
99 qDebug() << " FAVOURITE [" << event.id() << "] -> " << event.isFavourite();
100 // update EVENT_CONFLICT table
101 event.updateConflicts();
102 // since the Favourite icon has changed, update TreeViews accordingly
103 // all TreeViews have to listen on this signal
104 emit(eventHasChanged(event.id()));
107 void EventDialog::alarmClicked()
109 Event event = Event::getById(mEventId,AppSettings::confId());
113 event.setHasAlarm(false); // update DB
114 alarmButton->setIcon(QIcon(":/icons/alarm-offBig.png"));
116 // remove alarm from the 'alarmd' alrms list
118 alarm.deleteAlarm(event.id());
119 // TODO: test if removing was successfull
124 event.setHasAlarm(true);
125 alarmButton->setIcon(QIcon(":/icons/alarm-onBig.png"));
127 // add alarm to the 'alarmd'
129 int cookie = alarm.addAlarm(event.id(),QDateTime::currentDateTime().addSecs(10));
130 qDebug() << "cookie: " << cookie;
133 event.update("alarm");
134 qDebug() << " ALARM [" << event.id() << "] -> " << event.hasAlarm();
135 // since the Alarm icon has changed, update TreeView accordingly
136 // all TreeViews have to listen on this signal
137 emit(eventHasChanged(event.id()));