2
/* BEGIN_COMMON_COPYRIGHT_HEADER
4
* TOra - An Oracle Toolkit for DBA's and developers
6
* Shared/mixed copyright is held throughout files in this product
8
* Portions Copyright (C) 2000-2001 Underscore AB
9
* Portions Copyright (C) 2003-2005 Quest Software, Inc.
10
* Portions Copyright (C) 2004-2008 Numerous Other Contributors
12
* This program is free software; you can redistribute it and/or
13
* modify it under the terms of the GNU General Public License
14
* as published by the Free Software Foundation; only version 2 of
15
* the License is valid for this program.
17
* This program is distributed in the hope that it will be useful,
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
* GNU General Public License for more details.
22
* You should have received a copy of the GNU General Public License
23
* along with this program; if not, write to the Free Software
24
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26
* As a special exception, you have permission to link this program
27
* with the Oracle Client libraries and distribute executables, as long
28
* as you follow the requirements of the GNU GPL in regard to all of the
29
* software in the executable aside from Oracle client libraries.
31
* Specifically you are not permitted to link this program with the
32
* Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech.
33
* And you are not permitted to distribute binaries compiled against
36
* You may link this product with any GPL'd Qt library.
38
* All trademarks belong to their respective owners.
40
* END_COMMON_COPYRIGHT_HEADER */
42
#include <QPushButton>
44
#include <QHBoxLayout>
46
#include "toworkingwidget.h"
47
#include "icons/stop.xpm"
50
toWorkingWidget::toWorkingWidget(QWidget * parent)
53
CurrentType = toWorkingWidget::Interactive;
55
setAutoFillBackground(true);
56
setPalette(QPalette(Qt::white));
58
HWorking = new QWidget(this);
59
HWorking->setAutoFillBackground(true);
60
HWorking->setPalette(QPalette(QColor(241, 241, 169)));
62
QVBoxLayout *vbox = new QVBoxLayout;
64
vbox->setContentsMargins(0, 0, 0, 0);
66
QHBoxLayout *hbox = new QHBoxLayout;
68
WorkingLabel = new QLabel(tr("Waiting..."), HWorking);
69
WorkingLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
70
hbox->addWidget(WorkingLabel);
72
WorkingStop = new QPushButton(QIcon(stop_xpm), tr("Stop"), HWorking);
73
WorkingStop->setAutoFillBackground(true);
74
WorkingStop->setBackgroundRole(QPalette::Window);
75
WorkingStop->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
76
WorkingStop->setEnabled(false);
78
connect(WorkingStop, SIGNAL(clicked()), this, SLOT(stopWorking()));
80
hbox->addWidget(WorkingStop);
82
HWorking->setLayout(hbox);
84
vbox->addWidget(HWorking);
90
void toWorkingWidget::show()
92
if (CurrentType == toWorkingWidget::Interactive)
97
void toWorkingWidget::forceShow()
102
void toWorkingWidget::stopWorking()
107
void toWorkingWidget::setText(const QString & text)
109
WorkingLabel->setText(text);
110
WorkingStop->setEnabled(true);
113
void toWorkingWidget::setType(WorkingWidgetType type)
116
bool e = (type == toWorkingWidget::Interactive);
117
WorkingStop->setEnabled(e);
118
WorkingStop->setVisible(e);
119
WorkingStop->blockSignals(!e);