From 23218a1c80fada79acf67996d16d65c615ecaba4 Mon Sep 17 00:00:00 2001 From: rnv Date: Fri, 4 Oct 2013 13:51:11 +0000 Subject: [PATCH] Implementation of the "0021709: [CEA 583] Toolbar preferences" issue. --- doc/salome/gui/images/pref_salome_general.png | Bin 75969 -> 27150 bytes doc/salome/gui/input/setting_preferences.doc | 3 + src/LightApp/LightApp_Application.cxx | 296 +++++++++++++++--- src/LightApp/LightApp_Application.h | 4 +- src/LightApp/resources/LightApp.xml | 1 + src/LightApp/resources/LightApp_msg_en.ts | 4 + src/Qtx/QtxToolBar.cxx | 15 +- src/SalomeApp/resources/SalomeApp.xml | 3 +- 8 files changed, 271 insertions(+), 55 deletions(-) diff --git a/doc/salome/gui/images/pref_salome_general.png b/doc/salome/gui/images/pref_salome_general.png index 5beafe26469134dae50b9ac8be72d8940c7c5e0d..a9506accfb7b87f4a9c6846290189c3b2273621e 100644 GIT binary patch literal 27150 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 literal 75969 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 positions of windows - if checked in, positions of windows will be saved in a special file at the end of the current session and then restored for a new session. + - Store positions of toolbars - if checked in, positions of toolbars + will be saved in a special file at the end of the current session and + then restored for a new session. - Auto-save interval (min) - allows to specify the time interval (in minutes) for automatic study saving operation. If the time interval is equal to 0 ("Disabled" value is shown) the automatic saving is not performed. diff --git a/src/LightApp/LightApp_Application.cxx b/src/LightApp/LightApp_Application.cxx index ea9b3a2ea..dd791b3a6 100644 --- a/src/LightApp/LightApp_Application.cxx +++ b/src/LightApp/LightApp_Application.cxx @@ -210,6 +210,55 @@ static const char* imageEmptyIcon[] = { int LightApp_Application::lastStudyId = 0; + +// Markers used to parse array with dockable windows and toolbars state. +// For more details please see the qdockarealayout.cpp && qtoolbararealayout.cpp +// in the Qt source code. + +#define QDockWidgetMarker 0xfd // = DockWidgetStateMarker +#define QToolBarMarker 0xfc // = ToolBarStateMarkerEx + +// Format of the Byte array with the windows and toolbar state is: +// VersionMarker|version|DockWidgetStateMarker|nbDockWidgetLines|...DocWidgetData...|ToolBarStateMarkerEx|nbToolBarLines|...ToolBarData... + +//Find toolbar marker position in the array in the following way: +//since the 'toolbar marker' is not unique, find index of first occurrence of the +//'toolbar marker' in the array and check that next string is name of the toolbar + +int getToolbarMarkerIndex(QByteArray input, const QStringList& aFlags) { + int aResult = -1,tmp = 0; + int inputLen = input.length(); + QDataStream anInputData(&input, QIODevice::ReadOnly); + while(tmp < inputLen) { + tmp = input.indexOf(QToolBarMarker, tmp + 1); + if(tmp < 0 ) + break; + anInputData.device()->seek(tmp); + uchar mark; + anInputData>>mark; + int lines; + anInputData >> lines; + + if(lines == 0 && anInputData.atEnd()){ + //Case then array doesn't contain information about toolbars, + aResult = tmp; + break; + } + + int pos; + anInputData >> pos; + int cnt; + anInputData >> cnt; + QString str; + anInputData>>str; + if(aFlags.contains(str)) { + aResult = tmp; + break; + } + } + return aResult; +} + /*! \return last global id of study */ @@ -2036,6 +2085,8 @@ void LightApp_Application::createPreferences( LightApp_Preferences* pref ) pref->addPreference( tr( "PREF_ASCII_FILE" ), studyGroup, LightApp_Preferences::Bool, "Study", "ascii_file" ); // .... -> store windows geometry pref->addPreference( tr( "PREF_STORE_POS" ), studyGroup, LightApp_Preferences::Bool, "Study", "store_positions" ); + pref->addPreference( "", studyGroup, LightApp_Preferences::Space ); + pref->addPreference( tr( "PREF_STORE_TOOL_POS" ), studyGroup, LightApp_Preferences::Bool, "Study", "store_tool_positions" ); // .... -> auto-save int autoSaveInterval = pref->addPreference( tr( "PREF_AUTO_SAVE" ), studyGroup, LightApp_Preferences::IntSpin, "Study", "auto_save_interval" ); @@ -2810,8 +2861,6 @@ void LightApp_Application::preferencesChanged( const QString& sec, const QString if( sec=="Study" ) { - if( param=="store_positions" ) - updateWindows(); if( param=="auto_save_interval" ) { myAutoSaveTimer->stop(); int autoSaveInterval = resMgr->integerValue( "Study", "auto_save_interval", 0 ); @@ -2913,17 +2962,8 @@ void LightApp_Application::loadPreferences() mru_load = false; } - myWinGeom.clear(); - QStringList mods = aResMgr->parameters( "windows_geometry" ); - for ( QStringList::const_iterator it = mods.begin(); it != mods.end(); ++it ) - { - QByteArray arr; - if ( aResMgr->value( "windows_geometry", *it, arr ) ) - myWinGeom.insert( *it, arr ); - } - myWinVis.clear(); - mods = aResMgr->parameters( "windows_visibility" ); + QStringList mods = aResMgr->parameters( "windows_visibility" ); for ( QStringList::const_iterator itr = mods.begin(); itr != mods.end(); ++itr ) { QByteArray arr; @@ -2962,9 +3002,6 @@ void LightApp_Application::savePreferences() if ( mru ) mru->saveLinks( aResMgr, "MRU" ); - for ( WinGeom::const_iterator it = myWinGeom.begin(); it != myWinGeom.end(); ++it ) - aResMgr->setValue( "windows_geometry", it.key(), it.value() ); - for ( WinVis::const_iterator itr = myWinVis.begin(); itr != myWinVis.end(); ++itr ) aResMgr->setValue( "windows_visibility", itr.key(), itr.value() ); @@ -3163,51 +3200,91 @@ void LightApp_Application::loadDockWindowsState() { if ( !desktop() ) return; - - bool store = resourceMgr()->booleanValue( "Study", "store_positions", true ); - if( !store ) - return; + SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr(); + bool storeWin = aResMgr->booleanValue( "Study", "store_positions", true ); + bool storeTb = aResMgr->booleanValue( "Study", "store_tool_positions", true ); QString modName; if ( activeModule() ) modName = activeModule()->name(); - if ( myWinGeom.contains( modName ) ) - desktop()->restoreState( myWinGeom[modName] ); - - if ( !myWinVis.contains( modName ) ) + QtxResourceMgr::WorkingMode prevMode = aResMgr->workingMode(); + aResMgr->setWorkingMode(QtxResourceMgr::IgnoreUserValues); + QByteArray aDefaultState; + aResMgr->value("windows_geometry", modName , aDefaultState ); + QByteArray aDefaultVisibility; + aResMgr->value("windows_visibility", modName , aDefaultVisibility ); + bool hasDefaultVisibility = !aDefaultVisibility.isEmpty(); + aResMgr->setWorkingMode(prevMode); + + if( !storeWin && !storeTb && aDefaultState.isEmpty() && !hasDefaultVisibility) return; - QMap tbMap, dwMap; - dockWindowsState( myWinVis[modName], tbMap, dwMap ); + if ( aResMgr->hasValue("windows_geometry" ,modName ) ) { + QByteArray arr; + aResMgr->value("windows_geometry", modName , arr ); + QByteArray aTargetArray = processState(arr, storeWin, storeTb, aDefaultState); + desktop()->restoreState( aTargetArray ); + } - QList tbList = qFindChildren( desktop() ); - for ( QList::iterator tit = tbList.begin(); tit != tbList.end(); ++tit ) - { - QToolBar* tb = *tit; + if ( !myWinVis.contains( modName ) && aDefaultVisibility.isEmpty()) + return; - QObject* po = Qtx::findParent( tb, "QMainWindow" ); - if ( po != desktop() ) - continue; + QMap *tbMap = 0; + QMap *dwMap = 0; + + QMap userTbMap, userDwMap; + dockWindowsState( myWinVis[modName], userTbMap, userDwMap ); - if ( tbMap.contains( tb->objectName() ) ) - tb->setVisible( tbMap[tb->objectName()] ); + QMap defaultTbMap, defaultDwMap; + if(hasDefaultVisibility) { + dockWindowsState( aDefaultVisibility, defaultTbMap, defaultDwMap); } - QList dwList = qFindChildren( desktop() ); - for ( QList::iterator dit = dwList.begin(); dit != dwList.end(); ++dit ) - { - QDockWidget* dw = *dit; + if(storeTb) { + tbMap = &userTbMap; + } else { + if(hasDefaultVisibility){ + tbMap = &defaultTbMap; + } + } - QObject* po = Qtx::findParent( dw, "QMainWindow" ); - if ( po != desktop() ) - continue; + if(storeWin) { + dwMap = &userDwMap; + } else { + if(hasDefaultVisibility){ + dwMap = &defaultDwMap; + } + } + + if(tbMap) { + QList tbList = findToolBars(); + for ( QList::iterator tit = tbList.begin(); tit != tbList.end(); ++tit ) + { + QToolBar* tb = *tit; + if ( tbMap->contains( tb->objectName() ) ) { + tb->setVisible( (*tbMap)[tb->objectName()] ); + } + } + } - if ( dwMap.contains( dw->objectName() ) ) - dw->setVisible( dwMap[dw->objectName()] ); + if(dwMap) { + QList dwList = qFindChildren( desktop() ); + for ( QList::iterator dit = dwList.begin(); dit != dwList.end(); ++dit ) + { + QDockWidget* dw = *dit; + + QObject* po = Qtx::findParent( dw, "QMainWindow" ); + if ( po != desktop() ) + continue; + + if ( dwMap->contains( dw->objectName() ) ) + dw->setVisible( (*dwMap)[dw->objectName()] ); + } } } + /*! Saves windows geometry */ @@ -3216,15 +3293,18 @@ void LightApp_Application::saveDockWindowsState() if ( !desktop() ) return; - bool store = resourceMgr()->booleanValue( "Study", "store_positions", true ); - if( !store ) + bool storeWin = resourceMgr()->booleanValue( "Study", "store_positions", true ); + bool storeTb = resourceMgr()->booleanValue( "Study", "store_tool_positions", true ); + + if( !storeWin && !storeTb ) return; QString modName; if ( activeModule() ) modName = activeModule()->name(); - myWinGeom.insert( modName, desktop()->saveState() ); + QByteArray arr = desktop()->saveState(); + resourceMgr()->setValue( "windows_geometry", modName, processState(arr, storeWin, storeTb) ); QByteArray visArr; if ( myWinVis.contains( modName ) ) @@ -4001,3 +4081,127 @@ void LightApp_Application::onDesktopMessage( const QString& message ) } } } + +/*! + Internal method. + Returns all top level toolbars. + Note : Result list contains only main window toolbars, not including toolbars from viewers. +*/ +QList LightApp_Application::findToolBars() { + QList aResult; + QList tbList = qFindChildren( desktop() ); + for ( QList::iterator tit = tbList.begin(); tit != tbList.end(); ++tit ) { + QToolBar* tb = *tit; + QObject* po = Qtx::findParent( tb, "QMainWindow" ); + if ( po != desktop() ) + continue; + aResult.append(tb); + } + return aResult; +} + +/*! + Internal method to parse toolbars and dockable windows state. + */ +QByteArray LightApp_Application::processState(QByteArray& input, const bool processWin,const bool processTb, QByteArray defaultState) { + + QByteArray aRes; + bool hasDefaultState = !defaultState.isEmpty(); + bool isDockWinWriten = false; + if(processWin && processTb) { + aRes = input; + } else if(!processWin && !processTb ) { + if(hasDefaultState) + aRes = defaultState; + } else { + QDataStream aData(&aRes, QIODevice::WriteOnly); + QList aToolBars = findToolBars(); + + QStringList aNames; + for ( QList::iterator tit = aToolBars.begin(); tit != aToolBars.end(); ++tit ) { + QToolBar* tb = *tit; + aNames.append(tb->objectName()); + } + + int toolBarMarkerIndex = getToolbarMarkerIndex(input,aNames); + QDataStream anInputData(&input, QIODevice::ReadOnly); + if(toolBarMarkerIndex < 0) + return aRes; + + int toolBarMarkerIndexDef; + if(hasDefaultState) { + toolBarMarkerIndexDef = getToolbarMarkerIndex(defaultState, aNames); + if(toolBarMarkerIndexDef < 0) + return aRes; + } + QDataStream anInputDataDef(&defaultState, QIODevice::ReadOnly); + + QDataStream* aTargetData = 0; + int aTargetIndex = -1; + + if(processWin) { + //Write date from users settings + aTargetData = &anInputData; + aTargetIndex = toolBarMarkerIndex; + } else { + //Write date from default settings + if(hasDefaultState) { + aTargetData = &anInputDataDef; + aTargetIndex = toolBarMarkerIndexDef; + } + } + + if(aTargetData && aTargetIndex >= 0 ) { + aTargetData->device()->seek(0); + while( aTargetData->device()->pos() < aTargetIndex ) { + uchar ch; + *aTargetData >> ch; + aData<= 0) { + int index; + if(!isDockWinWriten ) { + //Write version marker + int marker, version; + aTargetData->device()->seek(0); + *aTargetData >> marker; + *aTargetData >> version; + aData << marker; + aData << version; + aData << (uchar) QDockWidgetMarker; + aData << (int) 0; + int shift = 4*sizeof(int) + sizeof(QSize); + index = aTargetIndex - shift; + } else { + index = aTargetIndex; + } + + aTargetData->device()->seek(index); + while(!aTargetData->atEnd()) { + uchar ch; + *aTargetData >> ch; + aData << ch; + } + } else { // Not treat toolbars + aData << (uchar) QToolBarMarker; + aData << (int) 0; //Nb toolbars = 0 + } + } + return aRes; +} diff --git a/src/LightApp/LightApp_Application.h b/src/LightApp/LightApp_Application.h index 20ec3d6d1..5baf1faa1 100644 --- a/src/LightApp/LightApp_Application.h +++ b/src/LightApp/LightApp_Application.h @@ -283,6 +283,9 @@ protected: private: void emptyPreferences( const QString& ); + QList findToolBars(); + + QByteArray processState(QByteArray& input, const bool processWin,const bool processTb, QByteArray defaultState = QByteArray()); protected: typedef QPointer WinPtr; @@ -300,7 +303,6 @@ protected: WinMap myWin; WinVis myWinVis; - WinGeom myWinGeom; SUIT_Accel* myAccel; QTimer* myAutoSaveTimer; diff --git a/src/LightApp/resources/LightApp.xml b/src/LightApp/resources/LightApp.xml index f04bae680..856803354 100644 --- a/src/LightApp/resources/LightApp.xml +++ b/src/LightApp/resources/LightApp.xml @@ -121,6 +121,7 @@

+ diff --git a/src/LightApp/resources/LightApp_msg_en.ts b/src/LightApp/resources/LightApp_msg_en.ts index 7da5d4acd..7958a7e9c 100644 --- a/src/LightApp/resources/LightApp_msg_en.ts +++ b/src/LightApp/resources/LightApp_msg_en.ts @@ -170,6 +170,10 @@ The changes will be applied on the next application session. PREF_STORE_POS Store positions of windows + + PREF_STORE_TOOL_POS + Store positions of toolbars + PREF_AUTO_SAVE Auto-save interval (min) diff --git a/src/Qtx/QtxToolBar.cxx b/src/Qtx/QtxToolBar.cxx index ac3d14913..fa15d03de 100644 --- a/src/Qtx/QtxToolBar.cxx +++ b/src/Qtx/QtxToolBar.cxx @@ -364,13 +364,14 @@ QtxToolBar::~QtxToolBar() */ void QtxToolBar::setVisible( bool visible ) { - if ( isVisible() == visible ) return; - if ( myWatcher ) - { - if ( visible ) - myWatcher->shown( this ); - else - myWatcher->hidden( this ); + if ( isVisible() != visible ) { + if ( myWatcher ) + { + if ( visible ) + myWatcher->shown( this ); + else + myWatcher->hidden( this ); + } } QToolBar::setVisible( visible ); diff --git a/src/SalomeApp/resources/SalomeApp.xml b/src/SalomeApp/resources/SalomeApp.xml index bf61c294f..3b3cc2b4f 100644 --- a/src/SalomeApp/resources/SalomeApp.xml +++ b/src/SalomeApp/resources/SalomeApp.xml @@ -54,7 +54,8 @@
- + + -- 2.39.2