diff --git a/Core/Core.cc b/Core/Core.cc index 079c5b5bc623c7b4ceb8026300069e3dffea4580..342352b436b5e0de69888c4c5073ff2c9777da05 100644 --- a/Core/Core.cc +++ b/Core/Core.cc @@ -418,6 +418,30 @@ Core::init() { applyOptions(); if ( OpenFlipper::Options::gui() ) { + + //try to restore the windowState + QFile file(QDir::home().absolutePath() + OpenFlipper::Options::dirSeparator() + ".OpenFlipper" + + OpenFlipper::Options::dirSeparator() + "windowState.dat"); + if (file.open(QIODevice::ReadOnly)){ + QByteArray bytes = file.readAll(); + + coreWidget_->restoreState( bytes ); + + file.close(); + } + + //try to restore the geometry + QFile file2(QDir::home().absolutePath() + OpenFlipper::Options::dirSeparator() + ".OpenFlipper" + + OpenFlipper::Options::dirSeparator() + "geometry.dat"); + if (file2.open(QIODevice::ReadOnly)){ + QByteArray bytes = file2.readAll(); + + coreWidget_->restoreGeometry( bytes ); + + file2.close(); + } + + coreWidget_->show(); if ( OpenFlipper::Options::splash() ) { @@ -674,6 +698,24 @@ Core::writeOnExit() { ini.disconnect(); } + //store the windowState + if ( OpenFlipper::Options::gui() ) { + QFile file(QDir::home().absolutePath() + OpenFlipper::Options::dirSeparator() + ".OpenFlipper" + + OpenFlipper::Options::dirSeparator() + "windowState.dat"); + if (file.open(QIODevice::WriteOnly)) + { + file.write( coreWidget_->saveState() ); + file.close(); + } + QFile file2(QDir::home().absolutePath() + OpenFlipper::Options::dirSeparator() + ".OpenFlipper" + + OpenFlipper::Options::dirSeparator() + "geometry.dat"); + if (file2.open(QIODevice::WriteOnly)) + { + file2.write( coreWidget_->saveGeometry() ); + file2.close(); + } + } + // Call exit for all plugins for (uint i = 0 ; i < plugins.size() ; ++i) { BaseInterface* basePlugin = qobject_cast< BaseInterface * >(plugins[i].plugin); diff --git a/Core/PluginLoader.cc b/Core/PluginLoader.cc index 15b6a1468f85ec5f2aa3e49e88d4b1e32f00abc1..f04e613e3c01dd0cef3dca676757872615c361f4 100644 --- a/Core/PluginLoader.cc +++ b/Core/PluginLoader.cc @@ -553,7 +553,8 @@ void Core::loadPlugin(QString filename, bool silent){ widget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Minimum); widget->setMinimumWidth(300); widget->setMaximumWidth(600); - + + dock->setObjectName( "ToolWidget" + QString::number(toolboxindex_++) ); coreWidget_->setDockOptions(QMainWindow::AllowTabbedDocks | QMainWindow::VerticalTabs); coreWidget_->addDockWidget(Qt::RightDockWidgetArea,dock); diff --git a/CoreApp/CoreApp.pro b/CoreApp/CoreApp.pro index 8f7846585f7f547f8d2369715997c48a0d7a3420..8ee6b163aaa0db11c714fb81b27604266c9640ad 100644 --- a/CoreApp/CoreApp.pro +++ b/CoreApp/CoreApp.pro @@ -11,7 +11,7 @@ openmesh() glut() glew() -DIRECTORIES = ../ ../ACGHelper ../Core ../Logging \ +DIRECTORIES = ../ ../Core ../Logging \ ../Scripting ../Scripting/scriptPrototypes ../Scripting/scriptWrappers ../SimpleOpt \ ../widgets/addEmptyWidget ../widgets/coreWidget ../widgets/helpBrowser \ ../widgets/loadWidget ../widgets/optionsWidget ../widgets/unloadPluginsWidget \ diff --git a/PluginLib/PluginLib.pro b/PluginLib/PluginLib.pro index f3134b4b011293f40b8f5f634f5c99d2993ff656..787fd75ed6fe464df35572949535baebb8082318 100644 --- a/PluginLib/PluginLib.pro +++ b/PluginLib/PluginLib.pro @@ -12,7 +12,7 @@ glut() glew() openmp() -DIRECTORIES = ../BasePlugin ../common ../common/bsp ../INIFile $$files( $${TOPDIR}/ObjectTypes/* ) +DIRECTORIES = ../BasePlugin ../ACGHelper ../common ../common/bsp ../INIFile $$files( $${TOPDIR}/ObjectTypes/* ) # Input HEADERS += $$getFilesFromDir($$DIRECTORIES,*.hh) diff --git a/widgets/coreWidget/CoreWidget.cc b/widgets/coreWidget/CoreWidget.cc index f7e231a9ae3b41c01d6c0e0d294db1e938186338..b519ee3810af79cf961cd9e2c20374b443393300 100644 --- a/widgets/coreWidget/CoreWidget.cc +++ b/widgets/coreWidget/CoreWidget.cc @@ -139,6 +139,7 @@ CoreWidget( QVector& _viewModes, // ====================================================================== mainToolbar_ = new QToolBar("Main Toolbar"); + mainToolbar_->setObjectName("MainToolbar"); addToolBar(mainToolbar_); // ====================================================================== @@ -151,6 +152,7 @@ CoreWidget( QVector& _viewModes, viewerToolbar_->setParent(this); viewerToolbar_->setAllowedAreas(Qt::AllToolBarAreas); viewerToolbar_->setIconSize(QSize(20,20)); + viewerToolbar_->setObjectName("ViewerToolbar"); // Set our own Icons QList actions = viewerToolbar_->actions(); @@ -231,6 +233,7 @@ CoreWidget( QVector& _viewModes, // Create Upper DockWidget for ToolWidget control // ====================================================================== dockViewMode_ = new QDockWidget("ViewMode" , this ); + dockViewMode_->setObjectName("DockViewMode"); QPushButton* button = new QPushButton("Change View Mode"); dockViewMode_->setWidget(button); button->setParent(dockViewMode_); diff --git a/widgets/coreWidget/CoreWidget.hh b/widgets/coreWidget/CoreWidget.hh index 59b869ac20b83f9dbd86855137177bcbded9a19b..057254a31c9d713515a3789c265bc360c2e85461 100644 --- a/widgets/coreWidget/CoreWidget.hh +++ b/widgets/coreWidget/CoreWidget.hh @@ -344,6 +344,8 @@ public: //=========================================================================== private: QToolBar* viewerToolbar_; + + int toolbarCount_; /** @} */ diff --git a/widgets/coreWidget/CoreWidgetToolbar.cc b/widgets/coreWidget/CoreWidgetToolbar.cc index 00fa9960d660930014f1314af91640354699f72d..b3c58243bb708d0712c1cb07d1e8e482a02d7e57 100644 --- a/widgets/coreWidget/CoreWidgetToolbar.cc +++ b/widgets/coreWidget/CoreWidgetToolbar.cc @@ -52,6 +52,7 @@ void CoreWidget::slotAddToolbar(QToolBar* _toolbar) { addToolBar( _toolbar ); + _toolbar->setObjectName("Toolbar" + QString::number(toolbarCount_++)); } void CoreWidget::slotRemoveToolbar(QToolBar* _toolbar) { diff --git a/widgets/optionsWidget/optionsWidget.cc b/widgets/optionsWidget/optionsWidget.cc index 168381858d21d9604c5f030dfa67580feeb78b1b..fa75e32269b639090ca941f4cc38d188c10262ed 100644 --- a/widgets/optionsWidget/optionsWidget.cc +++ b/widgets/optionsWidget/optionsWidget.cc @@ -50,7 +50,7 @@ OptionsWidget::OptionsWidget(std::vector& _plugins, std::vector dm = drawModeToDescriptions( mode ); @@ -182,7 +182,7 @@ void OptionsWidget::showEvent ( QShowEvent * event ) { availDrawModes->item( i )->setCheckState(Qt::Unchecked) ; //Check the drawModes from StandardDrawMode - std::vector< QString > dm = drawModeToList( OpenFlipper::Options::standardDrawMode() ); + std::vector< QString > dm = drawModeToDescriptions( OpenFlipper::Options::standardDrawMode() ); for (uint i=0; i < dm.size(); i++){ if ( !dm.empty() ) {