From 76132167a19b4544eaaccdfacfc4e96525f1e9bb Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Thu, 26 Jul 2012 17:16:23 +0000 Subject: [PATCH] 2012-07-26 09:48 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqtgui.ch + Added: QSettings_* and QIODevice_* constants. + contrib/hbide/env + contrib/hbide/env/pritpalsfav.ide + contrib/hbide/settings.qrc + Added: new folder containing HbIDE settings embedded as a resource. Only one environment is added, quickly, to review its usefulness. * contrib/hbide/findreplace.prg ! Formatting. * contrib/hbide/actions.prg * contrib/hbide/hbide.hbp * contrib/hbide/main.prg * contrib/hbide/misc.prg * contrib/hbide/saveload.prg * contrib/hbide/tools.prg + Implemented: Multiple-view of HbIDE's application window. The views take care of toolbars associated with mainwindow and all the docking widgets. The view remembers their state and dimensions, whether these are visible, floating, etc. ; How To: 1. Click on
icon. 2. Opens a FileSave dialog, provide a location and name, your current view will be saved. 3. Click on
icon's drop-down menu. 4. You can see, beside others, an entry . 5. Click on it and see your view is changed instantly. 6. Repeat #4 and click on the entry representing your view saved via #2. 7. And you are back with your original settings. These views are switchable with a click of a key. This also covers a gread demand from users where it is asked that HbIDE should be like, Starter, Advanced, Professional, Enterprised, etc. Or where desk-top territory is compalined. For example, activate IdeDBU and then make it floatable, adjust windows size to your taste, save this view. Then at single click you can brought it back. This is a big productivity boost, believe me. ; REQUEST: send me the useful views you employ in day-to-day needs and if deemed fit will be included in HbIDE itself for others to be benefitted. --- harbour/ChangeLog | 47 +++++++++++++++ harbour/contrib/hbide/actions.prg | 3 +- harbour/contrib/hbide/env/pritpalsfav.ide | 2 + harbour/contrib/hbide/findreplace.prg | 3 +- harbour/contrib/hbide/hbide.hbp | 1 + harbour/contrib/hbide/main.prg | 1 + harbour/contrib/hbide/misc.prg | 14 ++--- harbour/contrib/hbide/saveload.prg | 63 ++++++++++++++++++++ harbour/contrib/hbide/settings.qrc | 5 ++ harbour/contrib/hbide/tools.prg | 70 ++++++++++++++++------- harbour/contrib/hbqt/qtgui/hbqtgui.ch | 20 +++++++ 11 files changed, 197 insertions(+), 32 deletions(-) create mode 100644 harbour/contrib/hbide/env/pritpalsfav.ide create mode 100644 harbour/contrib/hbide/settings.qrc diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 21bab3a458..788f98349e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,53 @@ The license applies to all entries newer than 2009-04-28. */ +2012-07-26 09:48 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbqt/qtgui/hbqtgui.ch + + Added: QSettings_* and QIODevice_* constants. + + + contrib/hbide/env + + contrib/hbide/env/pritpalsfav.ide + + contrib/hbide/settings.qrc + + Added: new folder containing HbIDE settings embedded as a resource. + Only one environment is added, quickly, to review its usefulness. + + * contrib/hbide/findreplace.prg + ! Formatting. + + * contrib/hbide/actions.prg + * contrib/hbide/hbide.hbp + * contrib/hbide/main.prg + * contrib/hbide/misc.prg + * contrib/hbide/saveload.prg + * contrib/hbide/tools.prg + + Implemented: Multiple-view of HbIDE's application window. + The views take care of toolbars associated with mainwindow and + all the docking widgets. The view remembers their state and dimensions, + whether these are visible, floating, etc. + + ; How To: + 1. Click on
icon. + 2. Opens a FileSave dialog, provide a location and name, + your current view will be saved. + 3. Click on
icon's drop-down menu. + 4. You can see, beside others, an entry . + 5. Click on it and see your view is changed instantly. + 6. Repeat #4 and click on the entry representing your view + saved via #2. + 7. And you are back with your original settings. + + These views are switchable with a click of a key. This also + covers a gread demand from users where it is asked that HbIDE + should be like, Starter, Advanced, Professional, Enterprised, etc. + Or where desk-top territory is compalined. For example, activate + IdeDBU and then make it floatable, adjust windows size to your + taste, save this view. Then at single click you can brought it back. + This is a big productivity boost, believe me. + + ; REQUEST: send me the useful views you employ in day-to-day needs + and if deemed fit will be included in HbIDE itself for + others to be benefitted. + 2012-07-25 11:51 UTC+0200 Viktor Szakats (harbour syenar.net) * src/lang/fr.c ! old typo in month name, by Guy Roussin diff --git a/harbour/contrib/hbide/actions.prg b/harbour/contrib/hbide/actions.prg index 79856adf08..18682ae2cb 100644 --- a/harbour/contrib/hbide/actions.prg +++ b/harbour/contrib/hbide/actions.prg @@ -359,7 +359,9 @@ METHOD IdeActions:buildToolBar() oTBar:addItem( ::getAction( "TB_RebuildLaunch" ), , , , , , "RebuildLaunch" ) oTBar:addItem( , , , , , nSep ) ::oActToolsBtn := oTBar:oWidget:addWidget( ::oIde:oTM:buildToolsButton() ) + oTBar:addItem( , , , , , nSep ) ::oActToolsBtn := oTBar:oWidget:addWidget( ::oIde:oTM:buildViewsButton() ) + oTBar:addItem( , , , , , nSep ) ::oIde:oMainToolbar := oTBar @@ -615,7 +617,6 @@ METHOD IdeActions:buildMainMenu() hbide_menuAddSep( oSubMenu ) oSubMenu:addItem( { ::getAction( "ChangeLog" ), {|| oIde:execAction( "ChangeLog" ) } } ) hbide_menuAddSep( oSubMenu ) - oSubMenu2 := hbide_buildCDPMenu( oIde, oSubMenu ) //hbide_buildCodecMenu( oIde, oSubMenu ) // oSubMenu2:title := "~CodePage" oSubMenu:addItem( { oSubMenu2, _T( "~CodePage" ) } ) diff --git a/harbour/contrib/hbide/env/pritpalsfav.ide b/harbour/contrib/hbide/env/pritpalsfav.ide new file mode 100644 index 0000000000..acb665c20b --- /dev/null +++ b/harbour/contrib/hbide/env/pritpalsfav.ide @@ -0,0 +1,2 @@ +[General] +hbidesettings="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x3\0\0\0\0\0\0\0\x87\0\0\x2\x9c\xfc\x2\0\0\0\x3\xfb\0\0\0\x1e\0\x64\0o\0\x63\0k\0P\0r\0o\0j\0\x65\0\x63\0t\0T\0r\0\x65\0\x65\x1\0\0\0\x15\0\0\x1\x93\0\0\0]\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0\x45\0\x64\0i\0t\0o\0r\0T\0\x61\0\x62\0s\x1\0\0\x1\xac\0\0\0\xa4\0\0\0]\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0S\0k\0l\0t\0n\0s\0T\0r\0\x65\0\x65\x1\0\0\x2T\0\0\0]\0\0\0]\0\xff\xff\xff\0\0\0\x1\0\0\x1\xd5\0\0\x2\x9c\xfc\x1\0\0\0\x2\xfb\0\0\0\x10\0\x64\0o\0\x63\0k\0H\0\x65\0l\0p\0\0\0\x3\x94\0\0\x1\xd5\0\0\0P\0\xff\xff\xff\xfc\0\0\x3u\0\0\x1\xd5\0\0\0\0\0\xff\xff\xff\xfa\xff\xff\xff\xff\x1\0\0\0\xf\xfb\0\0\0\x1a\0\x64\0o\0\x63\0k\0\x44\0o\0\x63\0V\0i\0\x65\0w\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\x8e\0\xff\xff\xff\xfb\0\0\0\x18\0\x64\0o\0\x63\0k\0\x46\0u\0n\0\x63\0L\0i\0s\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1a\0\x64\0o\0\x63\0k\0\x46\0u\0n\0\x63\0t\0i\0o\0n\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0P\0r\0o\0p\0\x65\0r\0t\0i\0\x65\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0 \0\x64\0o\0\x63\0k\0\x45\0n\0v\0i\0r\0o\0n\0m\0\x65\0n\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\x6\0\xff\xff\xff\xfb\0\0\0\x18\0\x64\0o\0\x63\0k\0S\0k\0\x65\0l\0\x65\0t\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x14\0\x64\0o\0\x63\0k\0T\0h\0\x65\0m\0\x65\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1e\0\x64\0o\0\x63\0k\0\x46\0i\0n\0\x64\0I\0n\0\x46\0i\0l\0\x65\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1a\0\x64\0o\0\x63\0k\0\x44\0o\0\x63\0W\0r\0i\0t\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1,\0\xff\xff\xff\xfb\0\0\0&\0\x64\0o\0\x63\0k\0S\0o\0u\0r\0\x63\0\x65\0T\0h\0u\0m\0\x62\0n\0\x61\0i\0l\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x1c\0\x64\0o\0\x63\0k\0Q\0S\0\x63\0i\0n\0t\0i\0l\0l\0\x61\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xb8\0\xff\xff\xff\xfb\0\0\0$\0\x64\0o\0\x63\0k\0R\0\x65\0p\0o\0r\0t\0\x44\0\x65\0s\0i\0g\0n\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\x34\0\xff\xff\xff\xfb\0\0\0\x14\0\x64\0o\0\x63\0k\0\x46\0o\0r\0m\0\x61\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x12\0\x64\0o\0\x63\0k\0\x43\0u\0i\0\x45\0\x64\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x12\0\x64\0o\0\x63\0k\0U\0I\0S\0r\0\x63\0\0\0\0\0\xff\xff\xff\xff\0\0\0P\0\xff\xff\xff\0\0\0\x3\0\0\x4\xc8\0\0\0]\xfc\x1\0\0\0\x1\xfc\0\0\0\xa1\0\0\x4\xc8\0\0\0\0\0\xff\xff\xff\xfa\xff\xff\xff\xff\x1\0\0\0\x3\xfb\0\0\0$\0\x64\0o\0\x63\0k\0\x43\0o\0m\0p\0i\0l\0\x65\0R\0\x65\0s\0u\0l\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0G\0\xff\xff\xff\xfb\0\0\0\x1e\0\x64\0o\0\x63\0k\0L\0i\0n\0k\0R\0\x65\0s\0u\0l\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0G\0\xff\xff\xff\xfb\0\0\0\"\0\x64\0o\0\x63\0k\0O\0u\0t\0p\0u\0t\0R\0\x65\0s\0u\0l\0t\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0G\0\xff\xff\xff\0\0\x4\xb3\0\0\x2\x9c\0\0\0\x4\0\0\0\x4\0\0\0\x1\0\0\0\x2\xfc\0\0\0\x3\0\0\0\0\0\0\0\x1\0\0\0\x1c\0X\0\x42\0P\0T\0O\0O\0L\0\x42\0\x41\0R\0M\0\x41\0I\0N\x3\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\x1a\0T\0o\0o\0l\0\x42\0\x61\0r\0_\0\x44\0o\0\x63\0k\0s\x2\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\0)" diff --git a/harbour/contrib/hbide/findreplace.prg b/harbour/contrib/hbide/findreplace.prg index 5b326c767a..d84147676f 100644 --- a/harbour/contrib/hbide/findreplace.prg +++ b/harbour/contrib/hbide/findreplace.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009 Pritpal Bedi + * Copyright 2009-2012 Pritpal Bedi * www - http://harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -1558,3 +1558,4 @@ STATIC FUNCTION hbide_isSourceOfType( cSource, aFilter ) /*----------------------------------------------------------------------*/ + diff --git a/harbour/contrib/hbide/hbide.hbp b/harbour/contrib/hbide/hbide.hbp index 2ff95dbe5a..c924343e72 100644 --- a/harbour/contrib/hbide/hbide.hbp +++ b/harbour/contrib/hbide/hbide.hbp @@ -95,6 +95,7 @@ changelog.ui projectwizard.ui hbide.qrc +settings.qrc -3rd=hbide_file=hbide.ch diff --git a/harbour/contrib/hbide/main.prg b/harbour/contrib/hbide/main.prg index 9a4af91c77..03e4b33e39 100644 --- a/harbour/contrib/hbide/main.prg +++ b/harbour/contrib/hbide/main.prg @@ -128,6 +128,7 @@ FUNCTION Main( ... ) SET CENTURY ON QResource():registerResource_1( hbqtres_HbIde() ) + QResource():registerResource_1( hbqtres_Settings() ) oTmp := HbIde():new( hb_aParams() ) #if 0 diff --git a/harbour/contrib/hbide/misc.prg b/harbour/contrib/hbide/misc.prg index 5d41546d9c..142146ad91 100644 --- a/harbour/contrib/hbide/misc.prg +++ b/harbour/contrib/hbide/misc.prg @@ -286,7 +286,7 @@ FUNCTION hbide_getYesNoCancel( cMsg, cInfo, cTitle ) /*----------------------------------------------------------------------*/ FUNCTION hbide_fetchAFile( oWnd, cTitle, aFlt, cDftDir, cDftSuffix, lAllowMulti ) - LOCAL oDlg, cFile + LOCAL oDlg DEFAULT cTitle TO "Please Select a File" DEFAULT aFlt TO { { "All Files", "*" } } @@ -302,15 +302,12 @@ FUNCTION hbide_fetchAFile( oWnd, cTitle, aFlt, cDftDir, cDftSuffix, lAllowMulti oDlg:oWidget:setDefaultSuffix( cDftSuffix ) ENDIF - cFile := oDlg:open( cDftDir, , lAllowMulti ) - oDlg:destroy() - - RETURN cFile + RETURN oDlg:open( cDftDir, , lAllowMulti ) /*----------------------------------------------------------------------*/ FUNCTION hbide_saveAFile( oWnd, cTitle, aFlt, cDftFile, cDftSuffix ) - LOCAL oDlg, cFile + LOCAL oDlg DEFAULT cTitle TO "Please Select a File" @@ -323,10 +320,7 @@ FUNCTION hbide_saveAFile( oWnd, cTitle, aFlt, cDftFile, cDftSuffix ) oDlg:oWidget:setDefaultSuffix( cDftSuffix ) ENDIF - cFile := oDlg:saveAs( cDftFile, .f., .t. ) - oDlg:destroy() - - RETURN cFile + RETURN oDlg:saveAs( cDftFile, .f., .t. ) /*----------------------------------------------------------------------*/ /* Function to user select a existing folder diff --git a/harbour/contrib/hbide/saveload.prg b/harbour/contrib/hbide/saveload.prg index 94e64db9c7..800ebbdc06 100644 --- a/harbour/contrib/hbide/saveload.prg +++ b/harbour/contrib/hbide/saveload.prg @@ -66,6 +66,7 @@ #include "hbide.ch" #include "common.ch" +#include "fileio.ch" #include "hbclass.ch" #include "hbqtgui.ch" @@ -2269,3 +2270,65 @@ METHOD IdeSetup:setBaseColor() RETURN Self /*----------------------------------------------------------------------*/ + +FUNCTION hbide_saveEnvironment( oIde, cFile ) + LOCAL cPath, cExt, oSettings + + DEFAULT cFile TO "settings.ide" + + cFile := lower( cFile ) + hb_fNameSplit( cFile, @cPath, @cFile, @cExt ) + IF empty( cExt ) + cExt := ".ide" + ENDIF + IF lower( cExt ) != ".ide" + RETURN NIL + ENDIF + IF empty( cPath ) + cPath := oIde:oINI:getINIPath() + ENDIF + + oSettings := QSettings( cPath + cFile + cExt, QSettings_IniFormat ) + + HB_TRACE( HB_TR_ALWAYS, oSettings:fileName() ) + + oSettings:setValue( "hbidesettings", QVariant( oIde:oDlg:oWidget:saveState() ) ) + + RETURN NIL + +/*----------------------------------------------------------------------*/ + +FUNCTION hbide_restEnvironment( oIde, cFile ) + LOCAL cPath, cExt, oSettings + + DEFAULT cFile TO "settings.ide" + + cFile := lower( cFile ) + hb_fNameSplit( cFile, @cPath, @cFile, @cExt ) + IF empty( cExt ) + cExt := ".ide" + ENDIF + IF lower( cExt ) != ".ide" + RETURN NIL + ENDIF + IF empty( cPath ) + cPath := oIde:oINI:getINIPath() + ENDIF + + oSettings := QSettings( cPath + cFile + cExt, QSettings_IniFormat ) + + oIde:oDlg:oWidget:restoreState( oSettings:value( "hbidesettings" ):toByteArray() ) + + RETURN NIL + +/*----------------------------------------------------------------------*/ + +FUNCTION hbide_restEnvironment_byResource( oIde, cFile ) + LOCAL oSettings := QSettings( ":/env/" + cFile + ".ide", QSettings_IniFormat ) + + oIde:oDlg:oWidget:restoreState( oSettings:value( "hbidesettings" ):toByteArray() ) + + RETURN NIL + +/*----------------------------------------------------------------------*/ + diff --git a/harbour/contrib/hbide/settings.qrc b/harbour/contrib/hbide/settings.qrc new file mode 100644 index 0000000000..28ac698841 --- /dev/null +++ b/harbour/contrib/hbide/settings.qrc @@ -0,0 +1,5 @@ + + + env/pritpalsfav.ide + + diff --git a/harbour/contrib/hbide/tools.prg b/harbour/contrib/hbide/tools.prg index 430f48c758..ff5655e84f 100644 --- a/harbour/contrib/hbide/tools.prg +++ b/harbour/contrib/hbide/tools.prg @@ -92,6 +92,7 @@ CLASS IdeToolsManager INHERIT IdeObject DATA aAct INIT {} + DATA aSetAct INIT {} DATA qToolsMenu DATA qToolsButton DATA qViewsMenu @@ -105,6 +106,7 @@ CLASS IdeToolsManager INHERIT IdeObject DATA aBtns INIT {} DATA aToolbars INIT { NIL,NIL,NIL,NIL,NIL } DATA aPlugins INIT {} + DATA cSetsFolderLast ACCESS aTools INLINE ::oINI:aTools ACCESS aUserToolBars INLINE ::oINI:aUserToolbars @@ -142,6 +144,8 @@ METHOD IdeToolsManager:new( oIde ) ::oIde := oIde + ::cSetsFolderLast := oIde:oINI:getINIPath() + RETURN Self /*----------------------------------------------------------------------*/ @@ -859,21 +863,30 @@ METHOD IdeToolsManager:buildViewsButton() cPath := ::oINI:getIniPath() b_:= directory( cPath + "*.ide" ) + aSettings := {} + aadd( aSettings, "Browse..." ) + aadd( aSettings, "..." ) + aadd( aSettings, "Pritpals Favourite" ) + aadd( aSettings, "..." ) FOR EACH a_ IN b_ - IF ! ( a_[ 1 ] == "settings.ide" .AND. a_[ 1 ] == "tempsettings.ide" ) - aadd( aSettings, strtran( a_[ 1 ], ".ide" ) ) + IF ! ( a_[ 1 ] == "settings.ide" ) .AND. ! ( a_[ 1 ] == "tempsettings.ide" ) + aadd( aSettings, hbide_pathNormalized( cPath + a_[ 1 ] ) ) ENDIF NEXT - ::qViewsMenu := QMenu() ::qViewsMenu:setStyleSheet( GetStyleSheet( "QMenuPop", ::nAnimantionMode ) ) FOR EACH cView IN aSettings - qAct := ::qViewsMenu:addAction( cView ) - qAct:connect( "triggered(bool)", hbide_blockView( Self, cView ) ) - aadd( ::aAct, qAct ) + IF cView == "..." + qAct := ::qViewsMenu:addSeparator() + ELSE + qAct := ::qViewsMenu:addAction( cView ) + qAct:connect( "triggered(bool)", hbide_blockView( Self, cView ) ) + ENDIF + aadd( ::aSetAct, { qAct, cView } ) NEXT ::qViewsButton := QToolButton() + ::qViewsButton:setObjectName( "HbIDE Views" ) ::qViewsButton:setTooltip( "HbIDE Views" ) ::qViewsButton:setIcon( QIcon( hbide_image( "view_docks" ) ) ) ::qViewsButton:setPopupMode( QToolButton_MenuButtonPopup ) @@ -884,25 +897,42 @@ METHOD IdeToolsManager:buildViewsButton() /*----------------------------------------------------------------------*/ -METHOD IdeToolsManager:execView( cView ) - HB_SYMBOL_UNUSED( cView ) - hbide_restSettings( ::oIde, cView + ".ide" ) - RETURN Self - -/*----------------------------------------------------------------------*/ - METHOD IdeToolsManager:saveView() LOCAL cView, qAct - cView := lower( trim( hbide_fetchAString( ::oDlg:oWidget, "", "HbIDE View Name", "New View" ) ) ) - IF ! empty( cView ) .AND. cView != "settings" .AND. cView != "tempsettings" - cView := strtran( cView, " ", "_" ) - hbide_saveSettings( ::oIde, cView + ".ide" ) - qAct := ::qViewsMenu:addAction( cView ) - qAct:connect( "triggered(bool)", hbide_blockView( Self, cView ) ) - aadd( ::aAct, qAct ) + cView := hbide_saveAFile( ::oDlg, "Select a HbIDE Settings File", { { "HbIDE Settings", "*.ide" } }, ::cSetsFolderLast, "ide" ) + IF ! empty( cView ) + ::cSetsFolderLast := cView + cView := lower( hbide_pathNormalized( cView ) ) + hbide_saveEnvironment( ::oIde, cView ) + + IF ascan( ::aSetAct, {|e_| e_[ 2 ] == cView } ) == 0 + qAct := ::qViewsMenu:addAction( cView ) + qAct:connect( "triggered(bool)", hbide_blockView( Self, cView ) ) + aadd( ::aAct, { qAct, cView } ) + ENDIF ENDIF RETURN Self /*----------------------------------------------------------------------*/ + +METHOD IdeToolsManager:execView( cView ) + + IF cView == "Browse..." + cView := hbide_fetchAFile( ::oDlg, "Select a HbIDE Settings File", { { "HbIDE Settings", "*.ide" } }, ::cSetsFolderLast, "ide", .f. ) + IF empty( cView ) + RETURN Self + ENDIF + ::cSetsFolderLast := cView + hbide_restEnvironment( ::oIde, cView ) + ELSEIF cView == "Pritpals Favourite" + hbide_restEnvironment_byResource( ::oIde, "pritpalsfav" ) + ELSE + hbide_restEnvironment( ::oIde, cView ) + ENDIF + + RETURN Self + +/*----------------------------------------------------------------------*/ + diff --git a/harbour/contrib/hbqt/qtgui/hbqtgui.ch b/harbour/contrib/hbqt/qtgui/hbqtgui.ch index e0a90b42bb..d3c4ceb539 100644 --- a/harbour/contrib/hbqt/qtgui/hbqtgui.ch +++ b/harbour/contrib/hbqt/qtgui/hbqtgui.ch @@ -2396,6 +2396,26 @@ #define QTreeWidgetItem_Type 0 // The default type for tree widget items. #define QTreeWidgetItem_UserType 1000 // The minimum value for custom types. Values below UserType are reserved by Qt. +#define QSettings_NativeFormat 0 // Store the settings using the most appropriate storage format for the platform. On Windows, this means the system registry; on Mac OS X, this means the CFPreferences API; on Unix, this means textual configuration files in INI format. +#define QSettings_IniFormat 1 // Store the settings in INI files. +#define QSettings_InvalidFormat 16 // Special value returned by registerFormat(). + +#define QSettings_UserScope 0 // Store settings in a location specific to the current user (e.g., in the user's home directory). +#define QSettings_SystemScope 1 // Store settings in a global location, so that all users on the same machine access the same set of settings. + +#define QSettings_NoError 0 // No error occurred. +#define QSettings_AccessError 1 // An access error occurred (e.g. trying to write to a read-only file). +#define QSettings_FormatError 2 // A format error occurred (e.g. loading a malformed INI file). + +#define QIODevice_NotOpen 0x0000 // The device is not open. +#define QIODevice_ReadOnly 0x0001 // The device is open for reading. +#define QIODevice_WriteOnly 0x0002 // The device is open for writing. +#define QIODevice_ReadWrite hb_bitOr( QIODevice_ReadOnly, QIODevice_WriteOnly ) // The device is open for reading and writing. +#define QIODevice_Append 0x0004 // The device is opened in append mode, so that all data is written to the end of the file. +#define QIODevice_Truncate 0x0008 // If possible, the device is truncated before it is opened. All earlier contents of the device are lost. +#define QIODevice_Text 0x0010 // When reading, the end-of-line terminators are translated to '\n'. When writing, the end-of-line terminators are translated to the local encoding, for example '\r\n' for Win32. +#define QIODevice_Unbuffered 0x0020 // Any buffer in the device is bypassed. + /*----------------------------------------------------------------------*/ // HBQT Defined Constants /*----------------------------------------------------------------------*/