]> ToastFreeware Gitweb - toast/confclerk.git/blobdiff - src/gui/eventdialog.cpp
GUI work on Event Details dialog
[toast/confclerk.git] / src / gui / eventdialog.cpp
index dbd277da8eaac5633c32d857d298dcb1379ca053..8d11d15dc411826bad35e92142126e302b73cf04 100644 (file)
@@ -1,20 +1,66 @@
 #include "eventdialog.h"
+#include <appsettings.h>
 
-#include <QDebug>
+#include <QScrollBar>
 
-EventDialog::EventDialog(const QModelIndex &aIndex, QWidget *aParent)
+DetailsContainer::DetailsContainer(QWidget *aParent)
+    : QWidget(aParent)
+{
+    mAbstract.setWordWrap(true);
+    mDescription.setWordWrap(true);
+
+    QFont f = QLabel().font();
+    f.setBold(true);
+    f.setItalic(true);
+    mMainLayout = new QVBoxLayout(this);
+    QLabel *persons = new QLabel("Persons:");
+    persons->setFont(f);
+    mMainLayout->addWidget(persons);
+    mMainLayout->addWidget(&mPersons);
+    mMainLayout->addWidget(new QLabel("")); // spacer
+    QLabel *abstract = new QLabel("Abstract:");
+    abstract->setFont(f);
+    mMainLayout->addWidget(abstract);
+    mMainLayout->addWidget(&mAbstract);
+    mMainLayout->addWidget(new QLabel("")); // spacer
+    QLabel *description = new QLabel("Description:");
+    description->setFont(f);
+    mMainLayout->addWidget(description);
+    mMainLayout->addWidget(&mDescription);
+    setLayout(mMainLayout);
+}
+
+void DetailsContainer::setPersons(const QStringList &aPersons)
+{
+    mPersons.setText(aPersons.join(" and "));
+}
+
+void DetailsContainer::setAbstract(const QString &aAbstract)
+{
+    mAbstract.setText(aAbstract);
+}
+
+void DetailsContainer::setDescription(const QString &aDescription)
+{
+    mDescription.setText(aDescription);
+}
+
+EventDialog::EventDialog(const int &aEventId, QWidget *aParent)
     : QDialog(aParent)
-    , mIndex(aIndex)
+    , mEventId(aEventId)
 {
     setupUi(this);
 
-    abstract->setStyleSheet("background-color : transparent;");
-    description->setStyleSheet("background-color : transparent;");
+#ifdef MAEMO
+    showFullScreen();
+#endif
+
+    Event event = Event::getById(aEventId,AppSettings::confId());
 
-    Event *event = static_cast<Event *>(mIndex.internalPointer());
-    title->setText(event->title());
-    persons->setText(event->persons().join(" and "));
-    abstract->setPlainText(event->abstract());
-    description->setPlainText(event->description());
+    title->setText(event.title());
+    mDetails.setPersons(event.persons());
+    mDetails.setAbstract(event.abstract());
+    mDetails.setDescription(event.description());
+    scrollArea->setWidget(&mDetails);
 }