f9aa474f0206702b5266d67636213503096f7dee
[dorian] / widgets / dialog.cpp
1 #include <QtGui>
2
3 #include "dialog.h"
4
5 Dialog::Dialog(QWidget *parent) :
6     QDialog(parent, Qt::Dialog | Qt::WindowTitleHint |
7                     Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint)
8 {
9     scroller = new QScrollArea(this);
10
11 #ifdef Q_WS_MAEMO_5
12     scroller->setProperty("FingerScrollable", true);
13     scroller->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
14 #else
15     scroller->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
16 #endif
17     scroller->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
18     scroller->setFrameStyle(QFrame::NoFrame);
19
20     content = new QWidget(scroller);
21     contentLayout = new QVBoxLayout(content);
22     contentLayout->setMargin(0);
23     content->setLayout(contentLayout);
24
25     buttonBox = new QDialogButtonBox(Qt::Vertical, this);
26     QHBoxLayout *horizontalLayout = new QHBoxLayout(this);
27     horizontalLayout->addWidget(scroller);
28     horizontalLayout->addWidget(buttonBox);
29     setLayout(horizontalLayout);
30
31     scroller->setWidget(content);
32     content->show();
33     scroller->setWidgetResizable(true);
34 }
35
36 void Dialog::addWidget(QWidget *widget)
37 {
38     contentLayout->addWidget(widget);
39 }
40
41 void Dialog::addStretch(int stretch)
42 {
43     contentLayout->addStretch(stretch);
44 }
45
46 void Dialog::addButton(QPushButton *button, QDialogButtonBox::ButtonRole role)
47 {
48     buttonBox->addButton(button, role);
49 }
50
51 QPushButton *Dialog::addButton(QDialogButtonBox::StandardButton button)
52 {
53     return buttonBox->addButton(button);
54 }