void tst_QDockWidget::dockLocationChanged() { qRegisterMetaType<Qt::DockWidgetArea>("Qt::DockWidgetArea"); QMainWindow mw; QDockWidget dw; dw.setObjectName("dock1"); QSignalSpy spy(&dw, SIGNAL(dockLocationChanged(Qt::DockWidgetArea))); mw.addDockWidget(Qt::LeftDockWidgetArea, &dw); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)), Qt::LeftDockWidgetArea); spy.clear(); mw.addDockWidget(Qt::LeftDockWidgetArea, &dw); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)), Qt::LeftDockWidgetArea); spy.clear(); mw.addDockWidget(Qt::RightDockWidgetArea, &dw); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)), Qt::RightDockWidgetArea); spy.clear(); mw.removeDockWidget(&dw); QCOMPARE(spy.count(), 0); QDockWidget dw2; dw2.setObjectName("dock2"); mw.addDockWidget(Qt::TopDockWidgetArea, &dw2); mw.tabifyDockWidget(&dw2, &dw); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)), Qt::TopDockWidgetArea); spy.clear(); mw.splitDockWidget(&dw2, &dw, Qt::Horizontal); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)), Qt::TopDockWidgetArea); spy.clear(); dw.setFloating(true); QTest::qWait(100); dw.setFloating(false); QTest::qWait(100); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)), Qt::TopDockWidgetArea); spy.clear(); QByteArray ba = mw.saveState(); mw.restoreState(ba); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)), Qt::TopDockWidgetArea); }
void QmitkExtWorkbenchWindowAdvisor::PostWindowClose() { berry::IWorkbenchWindow::Pointer window = this->GetWindowConfigurer()->GetWindow(); QMainWindow* mainWindow = static_cast<QMainWindow*> (window->GetShell()->GetControl()); QSettings settings(GetQSettingsFile(), QSettings::IniFormat); settings.setValue("ToolbarPosition", mainWindow->saveState()); }
//----------------------------------------------------------------------------- void ctkSettings::saveState(const QMainWindow& window, const QString& key) { this->beginGroup(key); this->setValue("Position", window.pos()); this->setValue("Size", window.size()); this->setValue("Layout", window.saveState()); this->endGroup(); }
void QMainWindowProto::saveState ( int version) const { QMainWindow *item = qscriptvalue_cast<QMainWindow*>(thisObject()); if (item) { QByteArray state = item->saveState(version); xtsettingsSetValue(item->objectName() + "/WindowState", state); } }
void tst_QDockWidget::restoreStateOfFloating() { QMainWindow mw; QDockWidget dock; dock.setObjectName("dock1"); mw.addDockWidget(Qt::TopDockWidgetArea, &dock); QVERIFY(!dock.isFloating()); QByteArray ba = mw.saveState(); dock.setFloating(true); QVERIFY(dock.isFloating()); QVERIFY(mw.restoreState(ba)); QVERIFY(!dock.isFloating()); }