From 183eecd2352daf72118d6f44398b5e0d657ffdec Mon Sep 17 00:00:00 2001 From: pavelpa Date: Mon, 25 Jan 2010 11:07:00 +0000 Subject: [PATCH] GUI work on Event Details dialog --- src/gui/eventdialog.cpp | 68 +++++++++++++++++++---------- src/gui/eventdialog.h | 16 +++++++ src/gui/eventdialog.ui | 96 ++++++++--------------------------------- 3 files changed, 81 insertions(+), 99 deletions(-) diff --git a/src/gui/eventdialog.cpp b/src/gui/eventdialog.cpp index df67695..8d11d15 100644 --- a/src/gui/eventdialog.cpp +++ b/src/gui/eventdialog.cpp @@ -3,6 +3,48 @@ #include +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) , mEventId(aEventId) @@ -15,28 +57,10 @@ EventDialog::EventDialog(const int &aEventId, QWidget *aParent) Event event = Event::getById(aEventId,AppSettings::confId()); - //abstract->setStyleSheet("background-color : transparent;"); - //description->setStyleSheet("background-color : transparent;"); - - // use text color from 'title' QLabel - QColor color = title->palette().color(QPalette::Active, QPalette::WindowText); - QColor bkgrColor = this->palette().color(QPalette::Active, QPalette::Background); - QPalette p = abstract->palette(); - p.setColor(QPalette::Active, QPalette::Text, color); - p.setColor(QPalette::Active, QPalette::Base, bkgrColor); - abstract->setPalette(p); - description->setPalette(p); - - // set scrollbars color - //QPalette p2 = description->verticalScrollBar()->palette(); - //p2.setColor(QPalette::Active, QPalette::Background, color); - ////description->verticalScrollBar()->setStyleSheet("background-color : blue;"); - //abstract->verticalScrollBar()->setPalette(p2); - //description->verticalScrollBar()->setPalette(p2); - title->setText(event.title()); - persons->setText(event.persons().join(" and ")); - abstract->setPlainText(event.abstract()); - description->setPlainText(event.description()); + mDetails.setPersons(event.persons()); + mDetails.setAbstract(event.abstract()); + mDetails.setDescription(event.description()); + scrollArea->setWidget(&mDetails); } diff --git a/src/gui/eventdialog.h b/src/gui/eventdialog.h index e8aaab2..0616fda 100644 --- a/src/gui/eventdialog.h +++ b/src/gui/eventdialog.h @@ -5,6 +5,21 @@ #include "ui_eventdialog.h" #include +class DetailsContainer : public QWidget +{ +public: + DetailsContainer(QWidget *aParent = NULL); + void setPersons(const QStringList &aPersons); + void setAbstract(const QString &aAbstract); + void setDescription(const QString &aDescription); +private: + QBoxLayout *mMainLayout; + QLabel mPersons; + QLabel mAbstract; + QLabel mDescription; +}; + + class EventDialog : public QDialog, Ui::EventDialog { public: @@ -12,6 +27,7 @@ public: ~EventDialog() {} private: int mEventId; + DetailsContainer mDetails; }; #endif /* EVENTDIALOG_H */ diff --git a/src/gui/eventdialog.ui b/src/gui/eventdialog.ui index beff0a1..3610861 100644 --- a/src/gui/eventdialog.ui +++ b/src/gui/eventdialog.ui @@ -5,8 +5,8 @@ 0 0 - 468 - 496 + 442 + 380 @@ -27,7 +27,7 @@ - + 0 0 @@ -36,6 +36,7 @@ 75 true + true @@ -50,80 +51,21 @@ - - - - - Presenter(s): - - - - - - - persons go here - - - - - - - Abstract: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - false - - - QFrame::NoFrame - - - QFrame::Plain - - - 1 - - - true - - - false - - - false - - - - - - - Description: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - QFrame::NoFrame - - - QFrame::Plain - - - true - - - - + + + true + + + + + 0 + 0 + 418 + 296 + + + + -- 2.39.5