summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-12-09 14:40:15 +0100
committerQt by Nokia <qt-info@nokia.com>2011-12-09 14:44:09 +0100
commitfac53e23a7d6e7f3b29c7434a782f48b929093e7 (patch)
tree00d2e24b7566d39aa4b36dc01ee9129f8b66ad5c /tools
parent5cb0c00c2760af4b0f45a283487effa7d3bf145b (diff)
ActiveQt/Testcon: Replace (long obsolete) QWorkspace by QMdiArea.
Preparing removal of QWorkspace. Change-Id: I2f141df364cf45ddddd09ed8fb5687e7854599df Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/testcon/ambientproperties.cpp65
-rw-r--r--tools/testcon/ambientproperties.h2
-rw-r--r--tools/testcon/docuwindow.cpp5
-rw-r--r--tools/testcon/docuwindow.h2
-rw-r--r--tools/testcon/mainwindow.cpp111
-rw-r--r--tools/testcon/mainwindow.h9
6 files changed, 101 insertions, 93 deletions
diff --git a/tools/testcon/ambientproperties.cpp b/tools/testcon/ambientproperties.cpp
index 645fc96..f42b3f9 100644
--- a/tools/testcon/ambientproperties.cpp
+++ b/tools/testcon/ambientproperties.cpp
@@ -70,31 +70,38 @@ void AmbientProperties::setControl(QWidget *widget)
void AmbientProperties::on_buttonBackground_clicked()
{
- QColor c = QColorDialog::getColor(backSample->palette().color(backSample->backgroundRole()), this);
- QPalette p = backSample->palette(); p.setColor(backSample->backgroundRole(), c); backSample->setPalette(p);
- p = container->palette(); p.setColor(container->backgroundRole(), c); container->setPalette(p);
-
- if (QWorkspace *ws = qobject_cast<QWorkspace*>(container)) {
- QWidgetList list( ws->windowList() );
- for (int i = 0; i < list.count(); ++i) {
- QWidget *widget = list.at(i);
- p = widget->palette(); p.setColor(widget->backgroundRole(), c); widget->setPalette(p);
+ const QColor c = QColorDialog::getColor(backSample->palette().color(backSample->backgroundRole()), this);
+ QPalette p = backSample->palette();
+ p.setColor(backSample->backgroundRole(), c);
+ backSample->setPalette(p);
+
+ p = container->palette();
+ p.setColor(container->backgroundRole(), c);
+ container->setPalette(p);
+
+ foreach (QWidget *widget, mdiAreaWidgets()) {
+ p = widget->palette();
+ p.setColor(widget->backgroundRole(), c);
+ widget->setPalette(p);
}
- }
}
void AmbientProperties::on_buttonForeground_clicked()
{
- QColor c = QColorDialog::getColor(foreSample->palette().color(foreSample->backgroundRole()), this);
- QPalette p = foreSample->palette(); p.setColor(foreSample->backgroundRole(), c); foreSample->setPalette(p);
- p = container->palette(); p.setColor(container->foregroundRole(), c); container->setPalette(p);
-
- if (QWorkspace *ws = qobject_cast<QWorkspace*>(container)) {
- QWidgetList list( ws->windowList() );
- for (int i = 0; i < list.count(); ++i) {
- QWidget *widget = list.at(i);
- p = widget->palette(); p.setColor(widget->foregroundRole(), c); widget->setPalette(p);
- }
+ const QColor c = QColorDialog::getColor(foreSample->palette().color(foreSample->backgroundRole()), this);
+
+ QPalette p = foreSample->palette();
+ p.setColor(foreSample->backgroundRole(), c);
+ foreSample->setPalette(p);
+
+ p = container->palette();
+ p.setColor(container->foregroundRole(), c);
+ container->setPalette(p);
+
+ foreach (QWidget *widget, mdiAreaWidgets()) {
+ p = widget->palette();
+ p.setColor(widget->foregroundRole(), c);
+ widget->setPalette(p);
}
}
@@ -107,13 +114,8 @@ void AmbientProperties::on_buttonFont_clicked()
fontSample->setFont( f );
container->setFont( f );
- if (QWorkspace *ws = qobject_cast<QWorkspace*>(container)) {
- QWidgetList list( ws->windowList() );
- for (int i = 0; i < list.count(); ++i) {
- QWidget *widget = list.at(i);
- widget->setFont( f );
- }
- }
+ foreach (QWidget *widget, mdiAreaWidgets())
+ widget->setFont( f );
}
void AmbientProperties::on_buttonEnabled_toggled(bool on)
@@ -122,4 +124,13 @@ void AmbientProperties::on_buttonEnabled_toggled(bool on)
container->setEnabled( on );
}
+QWidgetList AmbientProperties::mdiAreaWidgets() const
+{
+ QWidgetList result;
+ if (QMdiArea *mdiArea = qobject_cast<QMdiArea*>(container))
+ foreach (QMdiSubWindow *subWindow, mdiArea->subWindowList())
+ result.push_back(subWindow->widget());
+ return result;
+}
+
QT_END_NAMESPACE
diff --git a/tools/testcon/ambientproperties.h b/tools/testcon/ambientproperties.h
index e208105..163306c 100644
--- a/tools/testcon/ambientproperties.h
+++ b/tools/testcon/ambientproperties.h
@@ -63,6 +63,8 @@ public slots:
void on_buttonEnabled_toggled(bool on);
private:
+ QWidgetList mdiAreaWidgets() const;
+
QWidget *container;
};
diff --git a/tools/testcon/docuwindow.cpp b/tools/testcon/docuwindow.cpp
index 3a8a413..6f33c55 100644
--- a/tools/testcon/docuwindow.cpp
+++ b/tools/testcon/docuwindow.cpp
@@ -101,12 +101,9 @@ static const char *fileprint[] = {
};
-DocuWindow::DocuWindow(const QString& docu, QWidget *parent, QWidget *source)
+DocuWindow::DocuWindow(const QString& docu, QWidget *parent)
: QMainWindow(parent)
{
- setAttribute(Qt::WA_DeleteOnClose);
- setWindowTitle(tr("%1 - Documentation").arg(source->windowTitle()));
-
browser = new QTextBrowser(this);
browser->setHtml(docu);
diff --git a/tools/testcon/docuwindow.h b/tools/testcon/docuwindow.h
index c9ac10b..bf73923 100644
--- a/tools/testcon/docuwindow.h
+++ b/tools/testcon/docuwindow.h
@@ -52,7 +52,7 @@ class DocuWindow : public QMainWindow
{
Q_OBJECT
public:
- DocuWindow( const QString& docu, QWidget *parent, QWidget *source );
+ DocuWindow(const QString& docu, QWidget *parent = 0);
public slots:
void save();
diff --git a/tools/testcon/mainwindow.cpp b/tools/testcon/mainwindow.cpp
index b17b0b7..3e9d2c6 100644
--- a/tools/testcon/mainwindow.cpp
+++ b/tools/testcon/mainwindow.cpp
@@ -82,11 +82,11 @@ MainWindow::MainWindow(QWidget *parent)
debuglog = logDebug;
oldDebugHandler = qInstallMsgHandler(redirectDebugOutput);
QHBoxLayout *layout = new QHBoxLayout(Workbase);
- workspace = new QWorkspace(Workbase);
- layout->addWidget(workspace);
+ mdiArea = new QMdiArea(Workbase);
+ layout->addWidget(mdiArea);
layout->setMargin(0);
- connect(workspace, SIGNAL(windowActivated(QWidget*)), this, SLOT(updateGUI()));
+ connect(mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow*)), this, SLOT(updateGUI()));
connect(actionFileExit, SIGNAL(triggered()), qApp, SLOT(quit()));
}
@@ -96,16 +96,30 @@ MainWindow::~MainWindow()
debuglog = 0;
}
+QAxWidget *MainWindow::activeAxWidget() const
+{
+ if (const QMdiSubWindow *activeSubWindow = mdiArea->currentSubWindow())
+ return qobject_cast<QAxWidget*>(activeSubWindow->widget());
+ return 0;
+}
+
+QList<QAxWidget *> MainWindow::axWidgets() const
+{
+ QList<QAxWidget *> result;
+ foreach (const QMdiSubWindow *subWindow, mdiArea->subWindowList())
+ if (QAxWidget *axWidget = qobject_cast<QAxWidget *>(subWindow->widget()))
+ result.push_back(axWidget);
+ return result;
+}
void MainWindow::on_actionFileNew_triggered()
{
QAxSelect select(this);
if (select.exec()) {
- QAxWidget *container = new QAxWidget(workspace);
- container->setAttribute(Qt::WA_DeleteOnClose);
+ QAxWidget *container = new QAxWidget;
+ mdiArea->addSubWindow(container);
container->setControl(select.clsid());
- container->setObjectName(container->windowTitle());
- workspace->addWindow(container);
+ container->setObjectName(container->windowTitle());
container->show();
}
updateGUI();
@@ -123,13 +137,13 @@ void MainWindow::on_actionFileLoad_triggered()
return;
}
- QAxWidget *container = new QAxWidget(workspace);
- workspace->addWindow(container);
-
+ QAxWidget *container = new QAxWidget(mdiArea);
+ container->setObjectName(container->windowTitle());
+
QDataStream d(&file);
d >> *container;
- container->setObjectName(container->windowTitle());
+ mdiArea->addSubWindow(container);
container->show();
updateGUI();
@@ -137,7 +151,7 @@ void MainWindow::on_actionFileLoad_triggered()
void MainWindow::on_actionFileSave_triggered()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
@@ -157,7 +171,7 @@ void MainWindow::on_actionFileSave_triggered()
void MainWindow::on_actionContainerSet_triggered()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
@@ -169,7 +183,7 @@ void MainWindow::on_actionContainerSet_triggered()
void MainWindow::on_actionContainerClear_triggered()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (container)
container->clear();
updateGUI();
@@ -179,7 +193,7 @@ void MainWindow::on_actionContainerProperties_triggered()
{
if (!dlgAmbient) {
dlgAmbient = new AmbientProperties(this);
- dlgAmbient->setControl(workspace);
+ dlgAmbient->setControl(mdiArea);
}
dlgAmbient->show();
}
@@ -187,7 +201,7 @@ void MainWindow::on_actionContainerProperties_triggered()
void MainWindow::on_actionControlInfo_triggered()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
@@ -198,7 +212,7 @@ void MainWindow::on_actionControlInfo_triggered()
void MainWindow::on_actionControlProperties_triggered()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
@@ -212,7 +226,7 @@ void MainWindow::on_actionControlProperties_triggered()
void MainWindow::on_actionControlMethods_triggered()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
@@ -226,7 +240,7 @@ void MainWindow::on_VerbMenu_aboutToShow()
{
VerbMenu->clear();
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
@@ -242,7 +256,7 @@ void MainWindow::on_VerbMenu_aboutToShow()
void MainWindow::on_VerbMenu_triggered(QAction *action)
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
@@ -251,34 +265,30 @@ void MainWindow::on_VerbMenu_triggered(QAction *action)
void MainWindow::on_actionControlDocumentation_triggered()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
- QString docu = container->generateDocumentation();
+ const QString docu = container->generateDocumentation();
if (docu.isEmpty())
return;
- DocuWindow *docwindow = new DocuWindow(docu, workspace, container);
- workspace->addWindow(docwindow);
+ DocuWindow *docwindow = new DocuWindow(docu);
+ QMdiSubWindow *subWindow = mdiArea->addSubWindow(docwindow);
+ subWindow->setWindowTitle(DocuWindow::tr("%1 - Documentation").arg(container->windowTitle()));
docwindow->show();
}
-
void MainWindow::on_actionControlPixmap_triggered()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
- return;
-
- QPixmap pm = QPixmap::grabWidget(container);
-
- QLabel *label = new QLabel(workspace);
- label->setAttribute(Qt::WA_DeleteOnClose);
- label->setPixmap(pm);
- label->setWindowTitle(tr("%1 - Pixmap").arg(container->windowTitle()));
+ return;
- workspace->addWindow(label);
+ QLabel *label = new QLabel;
+ label->setPixmap(QPixmap::grabWidget(container));
+ QMdiSubWindow *subWindow = mdiArea->addSubWindow(label);
+ subWindow->setWindowTitle(tr("%1 - Pixmap").arg(container->windowTitle()));
label->show();
}
@@ -324,14 +334,9 @@ void MainWindow::on_actionScriptingLoad_triggered()
scripts->addObject(this);
}
- QWidgetList widgets = workspace->windowList();
- QWidgetList::Iterator it(widgets.begin());
- while (it != widgets.end()) {
- QAxBase *ax = (QAxBase*)(*it)->qt_metacast("QAxBase");
- ++it;
- if (!ax)
- continue;
- scripts->addObject(ax);
+ foreach (QAxWidget *axWidget, axWidgets()) {
+ QAxBase *ax = axWidget;
+ scripts->addObject(ax);
}
QAxScript *script = scripts->load(file, file);
@@ -348,7 +353,7 @@ void MainWindow::on_actionScriptingLoad_triggered()
void MainWindow::updateGUI()
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
bool hasControl = container && !container->isNull();
actionFileNew->setEnabled(true);
@@ -367,14 +372,8 @@ void MainWindow::updateGUI()
if (dlgProperties)
dlgProperties->setControl(hasControl ? container : 0);
- QWidgetList list = workspace->windowList();
- QWidgetList::Iterator it = list.begin();
- while (it != list.end()) {
- QWidget *container = *it;
-
- QAxWidget *ax = qobject_cast<QAxWidget*>(container);
- if (ax) {
- container->disconnect(SIGNAL(signal(QString,int,void*)));
+ foreach (QAxWidget *container, axWidgets()) {
+ container->disconnect(SIGNAL(signal(QString,int,void*)));
if (actionLogSignals->isChecked())
connect(container, SIGNAL(signal(QString,int,void*)), this, SLOT(logSignal(QString,int,void*)));
@@ -387,15 +386,11 @@ void MainWindow::updateGUI()
connect(container, SIGNAL(propertyChanged(QString)), this, SLOT(logPropertyChanged(QString)));
container->blockSignals(actionFreezeEvents->isChecked());
}
-
- ++it;
- }
}
-
void MainWindow::logPropertyChanged(const QString &prop)
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
@@ -405,7 +400,7 @@ void MainWindow::logPropertyChanged(const QString &prop)
void MainWindow::logSignal(const QString &signal, int argc, void *argv)
{
- QAxWidget *container = qobject_cast<QAxWidget*>(workspace->activeWindow());
+ QAxWidget *container = activeAxWidget();
if (!container)
return;
diff --git a/tools/testcon/mainwindow.h b/tools/testcon/mainwindow.h
index 2a294e4..13d7226 100644
--- a/tools/testcon/mainwindow.h
+++ b/tools/testcon/mainwindow.h
@@ -50,8 +50,8 @@ class InvokeMethod;
class ChangeProperties;
class AmbientProperties;
class QAxScriptManager;
-
-class QWorkspace;
+class QAxWidget;
+class QMdiArea;
QT_END_NAMESPACE
@@ -85,11 +85,14 @@ protected slots:
void on_actionScriptingRun_triggered();
private:
+ QAxWidget *activeAxWidget() const;
+ QList<QAxWidget *> axWidgets() const;
+
InvokeMethod *dlgInvoke;
ChangeProperties *dlgProperties;
AmbientProperties *dlgAmbient;
QAxScriptManager *scripts;
- QWorkspace *workspace;
+ QMdiArea *mdiArea;
QtMsgHandler oldDebugHandler;