pause in the middle of copying a file w/o reset
[case] / src / dialog.cpp
1 // case - file manager for N900
2 // Copyright (C) 2010 Lukas Hrazky <lukkash@email.cz>
3 // 
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 // 
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 // 
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17
18 #include "dialog.h"
19
20 #include <QHBoxLayout>
21
22
23 Dialog::Dialog(QWidget *parent) :
24     QDialog(parent),
25     clickedButton(0),
26     text(new QLabel()),
27     buttons1(new QDialogButtonBox(Qt::Vertical)),
28     buttons2(new QDialogButtonBox(Qt::Vertical))
29 {
30     text->setWordWrap(true);
31     text->setAlignment(Qt::AlignTop | Qt::AlignLeft);
32
33     QHBoxLayout *layout = new QHBoxLayout();
34     setLayout(layout);
35     layout->addWidget(text);
36
37     connect(buttons1, SIGNAL(clicked(QAbstractButton*)), this, SLOT(finishUp(QAbstractButton*)));
38     connect(buttons2, SIGNAL(clicked(QAbstractButton*)), this, SLOT(finishUp(QAbstractButton*)));
39 }
40
41
42 QPushButton *Dialog::addButtonFirst(const QString &text, QDialogButtonBox::ButtonRole role) {
43     return buttons1->addButton(text, role);
44 }
45
46
47 QPushButton *Dialog::addButtonFirst(const QDialogButtonBox::StandardButton button) {
48     return buttons1->addButton(button);
49 }
50
51
52 QPushButton *Dialog::addButtonSecond(const QString &text, QDialogButtonBox::ButtonRole role) {
53     return buttons2->addButton(text, role);
54 }
55
56
57 QPushButton *Dialog::addButtonSecond(const QDialogButtonBox::StandardButton button) {
58     return buttons2->addButton(button);
59 }
60
61
62 void Dialog::setText(const QString &t) {
63     text->setText(t);
64 }
65
66
67 void Dialog::finishUp(QAbstractButton *button) {
68     clickedButton = button;
69     done(0);
70 }
71
72
73 int Dialog::exec() {
74     QHBoxLayout *l = qobject_cast<QHBoxLayout*>(layout());
75     if (buttons1->buttons().size()) {
76         l->addWidget(buttons1, 0, Qt::AlignTop);
77     }
78     if (buttons2->buttons().size()) {
79         l->addWidget(buttons2, 0, Qt::AlignTop);
80     }
81     return QDialog::exec();
82 }