diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-12-09 14:40:15 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-12-09 14:44:09 +0100 |
commit | fac53e23a7d6e7f3b29c7434a782f48b929093e7 (patch) | |
tree | 00d2e24b7566d39aa4b36dc01ee9129f8b66ad5c /tools | |
parent | 5cb0c00c2760af4b0f45a283487effa7d3bf145b (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.cpp | 65 | ||||
-rw-r--r-- | tools/testcon/ambientproperties.h | 2 | ||||
-rw-r--r-- | tools/testcon/docuwindow.cpp | 5 | ||||
-rw-r--r-- | tools/testcon/docuwindow.h | 2 | ||||
-rw-r--r-- | tools/testcon/mainwindow.cpp | 111 | ||||
-rw-r--r-- | tools/testcon/mainwindow.h | 9 |
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; |