diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 5da6b7a49a..17fd626b39 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,36 @@ The license applies to all entries newer than 2009-04-28. */ +2011-06-02 15:32 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbide/changelog.ui + ! Changed: QDialog() => QWidget(). + + * contrib/hbide/setup.ui + + Added: more constants to control docking widgets appearance. + + * contrib/hbide/idechangelog.prg + + Advanced: few more additions. Last worked ChangeLog file is + saved for next run and is shown opened when activated. + TODO: compose a new syntax-highlighter. + + * contrib/hbide/ideedit.prg + + Added: "WITH" and "REPLACE" as Harbour keywords. + + * contrib/hbide/ideplugins.prg + ! Fixed: Possible return value bug. + + * contrib/hbide/idesaveload.prg + + Added: "REPLACE" as Harbour keyword. + + * contrib/hbide/idemain.prg + * contrib/hbide/idedocks.prg + * contrib/hbide/idethemes.prg + + Implemented: user-controlled dock-widgets tab-position and shape. + ! Activated: last state of dock-widgets if visible or not for next run. + This facilitates that now user can arrange dock widgets + once-for-all and bring all in focus or push back if not + required. + 2011-06-02 21:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/src/vm/thread.c * set sleep timeout in *nix version of hb_threadReleaseCPU() to 10 ms diff --git a/harbour/contrib/hbide/changelog.ui b/harbour/contrib/hbide/changelog.ui index 3383c94379..ffed7c3d92 100644 --- a/harbour/contrib/hbide/changelog.ui +++ b/harbour/contrib/hbide/changelog.ui @@ -1,22 +1,19 @@ - Dialog - + FormChangelog + 0 0 - 462 - 711 + 454 + 674 Manage ChangeLog - - 5 - diff --git a/harbour/contrib/hbide/idechangelog.prg b/harbour/contrib/hbide/idechangelog.prg index ef251602a2..4364c118d3 100644 --- a/harbour/contrib/hbide/idechangelog.prg +++ b/harbour/contrib/hbide/idechangelog.prg @@ -80,6 +80,7 @@ CLASS IdeChangeLog INHERIT IdeObject METHOD destroy() METHOD show() METHOD execEvent( cEvent, p ) + METHOD updateLog( cLogFile ) METHOD refresh() ENDCLASS @@ -118,7 +119,7 @@ METHOD IdeChangeLog:destroy() METHOD IdeChangeLog:show() IF empty( ::oUI ) - ::oUI := hbide_getUI( "changelog" ) + ::oUI := hbide_getUI( "changelog", ::oDlg:oWidget ) ::oUI:setWindowFlags( Qt_Sheet ) ::oUI:setWindowIcon( hbide_image( "hbide" ) ) @@ -131,6 +132,9 @@ METHOD IdeChangeLog:show() ::oUI:q_buttonRefresh :connect( "clicked()", {|| ::execEvent( "buttonRefresh_clicked" ) } ) ::oUI:q_buttonSave :connect( "clicked()", {|| ::execEvent( "buttonSave_clicked" ) } ) + ::oUI:q_editChangelog :connect( "textChanged(QString)", {|p| ::execEvent( "editChangelog_textChanged", p ) } ) + + ::updateLog( ::oINI:cChangeLog ) ENDIF ::oUI:show() @@ -165,13 +169,10 @@ METHOD IdeChangeLog:execEvent( cEvent, p ) EXIT CASE "buttonChangelog_clicked" cTmp := hbide_fetchAFile( ::oDlg, "Select a ChangeLog File" ) - IF !empty( cTmp ) - ::oUI:q_editChangelog:setText( cTmp ) - - ::oUI:q_plainChangelog:clear() - ::oUI:q_plainChangelog:setPlainText( memoread( cTmp ) ) - ::refresh() - ENDIF + ::updateLog( cTmp ) + EXIT + CASE "editChangelog_textChanged" + ::updateLog( p ) EXIT ENDSWITCH @@ -180,6 +181,24 @@ METHOD IdeChangeLog:execEvent( cEvent, p ) /*----------------------------------------------------------------------*/ +METHOD IdeChangeLog:updateLog( cLogFile ) + + IF !empty( cLogFile ) .AND. hb_fileExists( cLogFile ) + ::oUI:q_editChangelog:setStyleSheet( "" ) + ::oINI:cChangeLog := cLogFile + ::oUI:q_editChangelog:setText( cLogFile ) + + ::oUI:q_plainChangelog:clear() + ::oUI:q_plainChangelog:setPlainText( memoread( cLogFile ) ) + ::refresh() + ELSE + ::oUI:q_editChangelog:setStyleSheet( "background-color: rgba( 240,120,120,255 );" ) + ENDIF + + RETURN Self + +/*----------------------------------------------------------------------*/ + METHOD IdeChangeLog:refresh() LOCAL s := "", a_ @@ -197,6 +216,7 @@ METHOD IdeChangeLog:refresh() ENDIF NEXT + ::oUI:q_plainLogEntry:clear() ::oUI:q_plainLogEntry:setPlainText( s ) RETURN Self diff --git a/harbour/contrib/hbide/idedocks.prg b/harbour/contrib/hbide/idedocks.prg index 2832e03aec..9380fcf0fb 100644 --- a/harbour/contrib/hbide/idedocks.prg +++ b/harbour/contrib/hbide/idedocks.prg @@ -186,7 +186,6 @@ METHOD IdeDocks:hideAllDocks() ::oSkltnsTreeDock : hide() // Right - ::oOutputResult : hide() ::oEnvironDock : hide() ::oPropertiesDock : hide() ::oThemesDock : hide() @@ -375,8 +374,12 @@ METHOD IdeDocks:buildDialog() ::oDlg:close := {|| hbide_setClose( hbide_getYesNo( "hbIDE is about to be closed!", "Are you sure?" ) ), ; PostAppEvent( xbeP_Close, , , ::oDlg ) } //::oDlg:setDockOptions( QMainWindow_AllowTabbedDocks + QMainWindow_ForceTabbedDocks ) - ::oDlg:setTabPosition( Qt_RightDockWidgetArea, QTabWidget_North ) - ::oDlg:setTabPosition( Qt_BottomDockWidgetArea, QTabWidget_South ) + ::oDlg:setTabShape( ::oINI:nDocksTabShape ) + ::oDlg:setTabPosition( Qt_RightDockWidgetArea , ::oINI:nDocksRightTabPos ) + ::oDlg:setTabPosition( Qt_BottomDockWidgetArea, ::oINI:nDocksBottomTabPos ) + ::oDlg:setTabPosition( Qt_LeftDockWidgetArea , ::oINI:nDocksLeftTabPos ) + ::oDlg:setTabPosition( Qt_TopDockWidgetArea , ::oINI:nDocksTopTabPos ) + ::oDlg:setCorner( Qt_BottomLeftCorner, Qt_LeftDockWidgetArea ) ::oDlg:setCorner( Qt_BottomRightCorner, Qt_RightDockWidgetArea ) ::oDlg:oWidget:resize( 950,520 ) @@ -1180,6 +1183,10 @@ METHOD IdeDocks:buildMdiToolbarLeft() ::qMdiToolbarL:addToolButton( "ZoomOut" , "Zoom Out" , hbide_image( "zoomout3" ), {|| ::oEM:zoom( -1 ) }, .f. ) ::qMdiToolbarL:addSeparator() + IF ! ::oINI:lShowEditsLeftToolbar + ::qMdiToolbarL:hide() + ENDIF + RETURN Self /*------------------------------------------------------------------------*/ @@ -1238,6 +1245,10 @@ METHOD IdeDocks:buildMdiToolbar() qTBar:addToolButton( "Sgl2Dbl" , "Single to Double Quotes" , hbide_image( "sgl2dblquote" ), {|| ::oEM:convertDQuotes() }, .f. ) qTBar:addToolButton( "Dbl2Sgl" , "Double to Single Quotes" , hbide_image( "dbl2sglquote" ), {|| ::oEM:convertQuotes() }, .f. ) + IF ! ::oINI:lShowEditsTopToolbar + ::qMdiToolbar:hide() + ENDIF + RETURN Self /*----------------------------------------------------------------------*/ @@ -1791,7 +1802,7 @@ METHOD IdeDocks:buildLinkResults() METHOD IdeDocks:buildOutputResults() LOCAL nAreas := Qt_TopDockWidgetArea + Qt_BottomDockWidgetArea - ::oIde:oDockB2 := ::getADockWidget( nAreas, "dockOutputResults", "Output Console", QDockWidget_DockWidgetFloatable ) + ::oIde:oDockB2 := ::getADockWidget( nAreas, "dockOutputResults", "Output Console" )//, QDockWidget_DockWidgetFloatable ) ::oDlg:oWidget:addDockWidget( Qt_BottomDockWidgetArea, ::oDockB2:oWidget, Qt_Horizontal ) ::oIde:oOutputResult := XbpRtf():new( ::oDockB2 ):create( , , { 0,0 }, { 100, 400 }, , .T. ) diff --git a/harbour/contrib/hbide/ideedit.prg b/harbour/contrib/hbide/ideedit.prg index 3c3e70093c..b3913b5a78 100644 --- a/harbour/contrib/hbide/ideedit.prg +++ b/harbour/contrib/hbide/ideedit.prg @@ -2594,6 +2594,8 @@ FUNCTION hbide_isHarbourKeyword( cWord, oIde ) 'catch' => NIL,; 'always' => NIL,; 'recover' => NIL,; + 'with' => NIL,; + 'replace' => NIL,; 'hb_symbol_unused' => NIL,; 'error' => NIL,; 'handler' => NIL,; diff --git a/harbour/contrib/hbide/idemain.prg b/harbour/contrib/hbide/idemain.prg index 5faaf36ced..bd8949c821 100644 --- a/harbour/contrib/hbide/idemain.prg +++ b/harbour/contrib/hbide/idemain.prg @@ -107,10 +107,8 @@ PROCEDURE Main( ... ) LOCAL oIde, oTmp #ifdef __HBDYNLOAD__RDDADS__ - LOCAL hRDDADS - LOCAL tmp + LOCAL hRDDADS, tmp #endif - #ifdef HB_IDE_DISTRO LOCAL cBse := hb_dirBase() + ".." @@ -704,6 +702,10 @@ METHOD HbIde:create( aParams ) /* Restore Settings - just before making application visible */ hbide_restSettings( Self ) + IF ! ::oINI:lShowHideDocks + ::oINI:lShowHideDocks := .t. + ::oINI:showHideDocks() + ENDIF ::oDockB2:hide() /* This widget never contains anything so must be forced to hide */ diff --git a/harbour/contrib/hbide/ideplugins.prg b/harbour/contrib/hbide/ideplugins.prg index 1f09a66dd4..7fb9bdd712 100644 --- a/harbour/contrib/hbide/ideplugins.prg +++ b/harbour/contrib/hbide/ideplugins.prg @@ -313,7 +313,7 @@ FUNCTION hbide_execScriptFunction( cFunc, ... ) RETURN eval( &( "{|...| " + "script_" + cFunc + "( ... )" + "}" ), ... ) ENDIF - RETURN NIL + RETURN .F. /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbide/idesaveload.prg b/harbour/contrib/hbide/idesaveload.prg index c2dcaff359..7ae4a7eb24 100644 --- a/harbour/contrib/hbide/idesaveload.prg +++ b/harbour/contrib/hbide/idesaveload.prg @@ -161,7 +161,14 @@ CLASS IdeINI INHERIT IdeObject DATA lShowEditsLeftToolbar INIT .t. DATA lShowEditsTopToolbar INIT .t. - DATA lDocksTabShape INIT QTabWidget_Triangular + + DATA nDocksTabShape INIT QTabWidget_Triangular + DATA nDocksLeftTabPos INIT QTabWidget_South + DATA nDocksTopTabPos INIT QTabWidget_South + DATA nDocksBottomTabPos INIT QTabWidget_South + DATA nDocksRightTabPos INIT QTabWidget_South + + DATA cChangeLog INIT "" DATA lShowHideDocks INIT .t. @@ -316,6 +323,7 @@ METHOD IdeINI:save( cHbideIni ) IF ! ::lShowHideDocks ::showHideDocks() + ::lShowHideDocks := .f. ENDIF txt_:= {} @@ -382,7 +390,18 @@ METHOD IdeINI:save( cHbideIni ) aadd( txt_, "CodeListWithArgs" + "=" + iif( ::lCompletionWithArgs , "YES", "NO" ) ) aadd( txt_, "CompletionWithArgs" + "=" + iif( ::lCompleteArgumented , "YES", "NO" ) ) aadd( txt_, "EditsMdi" + "=" + iif( ::lEditsMdi , "YES", "NO" ) ) + // + aadd( txt_, "ShowEditsLeftToolbar" + "=" + iif( ::lShowEditsLeftToolbar , "YES", "NO" ) ) + aadd( txt_, "ShowEditsTopToolbar" + "=" + iif( ::lShowEditsTopToolbar , "YES", "NO" ) ) + aadd( txt_, "DocksTabShape" + "=" + hb_ntos( ::nDocksTabShape ) ) + aadd( txt_, "DocksLeftTabPos" + "=" + hb_ntos( ::nDocksLeftTabPos ) ) + aadd( txt_, "DocksTopTabPos" + "=" + hb_ntos( ::nDocksTopTabPos ) ) + aadd( txt_, "DocksBottomTabPos" + "=" + hb_ntos( ::nDocksRightTabPos ) ) + aadd( txt_, "DocksRightTabPos" + "=" + hb_ntos( ::nDocksBottomTabPos ) ) + aadd( txt_, "ShowHideDocks" + "=" + iif( ::lShowHideDocks , "YES", "NO" ) ) + aadd( txt_, "ChangeLog" + "=" + ::cChangeLog ) + aadd( txt_, "" ) aadd( txt_, "[PROJECTS]" ) aadd( txt_, " " ) FOR n := 1 TO len( ::oIde:aProjects ) @@ -651,23 +670,33 @@ METHOD IdeINI:load( cHbideIni ) CASE "PointSize" ; ::nPointSize := val( cVal ); EXIT CASE "LineEndingMode" ; ::cLineEndingMode := cVal ; EXIT // - CASE "TrimTrailingBlanks" ; ::oINI:lTrimTrailingBlanks := !( cVal == "NO" ) ; EXIT - CASE "SaveSourceWhenComp" ; ::oINI:lSaveSourceWhenComp := !( cVal == "NO" ) ; EXIT - CASE "SupressHbKWordsToUpper" ; ::oINI:lSupressHbKWordsToUpper := !( cVal == "NO" ) ; EXIT - CASE "ReturnAsBeginKeyword" ; ::oINI:lReturnAsBeginKeyword := !( cVal == "NO" ) ; EXIT - CASE "ConvTabToSpcWhenLoading" ; ::oINI:lConvTabToSpcWhenLoading := !( cVal == "NO" ) ; EXIT - CASE "AutoIndent" ; ::oINI:lAutoIndent := !( cVal == "NO" ) ; EXIT - CASE "SmartIndent" ; ::oINI:lSmartIndent := !( cVal == "NO" ) ; EXIT - CASE "TabToSpcInEdits" ; ::oINI:lTabToSpcInEdits := !( cVal == "NO" ) ; EXIT + CASE "TrimTrailingBlanks" ; ::lTrimTrailingBlanks := !( cVal == "NO" ) ; EXIT + CASE "SaveSourceWhenComp" ; ::lSaveSourceWhenComp := !( cVal == "NO" ) ; EXIT + CASE "SupressHbKWordsToUpper" ; ::lSupressHbKWordsToUpper := !( cVal == "NO" ) ; EXIT + CASE "ReturnAsBeginKeyword" ; ::lReturnAsBeginKeyword := !( cVal == "NO" ) ; EXIT + CASE "ConvTabToSpcWhenLoading" ; ::lConvTabToSpcWhenLoading := !( cVal == "NO" ) ; EXIT + CASE "AutoIndent" ; ::lAutoIndent := !( cVal == "NO" ) ; EXIT + CASE "SmartIndent" ; ::lSmartIndent := !( cVal == "NO" ) ; EXIT + CASE "TabToSpcInEdits" ; ::lTabToSpcInEdits := !( cVal == "NO" ) ; EXIT CASE "TabSpaces" ; ::oIde:nTabSpaces := val( cVal ) ; EXIT - CASE "IndentSpaces" ; ::oINI:nIndentSpaces := val( cVal ) ; EXIT - CASE "TmpBkpPrd" ; ::oINI:nTmpBkpPrd := val( cVal ) ; EXIT - CASE "BkpPath" ; ::oINI:cBkpPath := cVal ; EXIT - CASE "BkpSuffix" ; ::oINI:cBkpSuffix := cVal ; EXIT - CASE "CodeListWithArgs" ; ::oINI:lCompletionWithArgs := !( cVal == "NO" ) ; EXIT - CASE "CompletionWithArgs" ; ::oINI:lCompleteArgumented := !( cVal == "NO" ) ; EXIT + CASE "IndentSpaces" ; ::nIndentSpaces := val( cVal ) ; EXIT + CASE "TmpBkpPrd" ; ::nTmpBkpPrd := val( cVal ) ; EXIT + CASE "BkpPath" ; ::cBkpPath := cVal ; EXIT + CASE "BkpSuffix" ; ::cBkpSuffix := cVal ; EXIT + CASE "CodeListWithArgs" ; ::lCompletionWithArgs := !( cVal == "NO" ) ; EXIT + CASE "CompletionWithArgs" ; ::lCompleteArgumented := !( cVal == "NO" ) ; EXIT CASE "EditsMdi" ; ::lEditsMdi := !( cVal == "NO" ) ; EXIT + CASE "ShowEditsLeftToolbar" ; ::lShowEditsLeftToolbar := !( cVal == "NO" ) ; EXIT + CASE "ShowEditsTopToolbar" ; ::lShowEditsTopToolbar := !( cVal == "NO" ) ; EXIT + CASE "DocksTabShape" ; ::nDocksTabShape := val( cVal ) ; EXIT + CASE "DocksLeftTabPos" ; ::nDocksLeftTabPos := val( cVal ) ; EXIT + CASE "DocksTopTabPos" ; ::nDocksTopTabPos := val( cVal ) ; EXIT + CASE "DocksBottomTabPos" ; ::nDocksRightTabPos := val( cVal ) ; EXIT + CASE "DocksRightTabPos" ; ::nDocksBottomTabPos := val( cVal ) ; EXIT + CASE "ShowHideDocks" ; ::lShowHideDocks := !( cVal == "NO" ) ; EXIT + CASE "ChangeLog" ; ::cChangeLog := cVal ; EXIT + ENDSWITCH ENDIF @@ -1122,6 +1151,8 @@ METHOD IdeSetup:disConnectSlots() ::oUI:q_checkHilightLine :disconnect( "stateChanged(int)" ) ::oUI:q_checkHorzRuler :disconnect( "stateChanged(int)" ) ::oUI:q_checkLineNumbers :disconnect( "stateChanged(int)" ) + ::oUI:q_checkShowLeftToolbar:disconnect( "stateChanged(int)" ) + ::oUI:q_checkShowTopToolbar :disconnect( "stateChanged(int)" ) ::oUI:q_sliderRed :disconnect( "valueChanged(int)" ) ::oUI:q_sliderGreen :disconnect( "valueChanged(int)" ) @@ -1157,6 +1188,12 @@ METHOD IdeSetup:disConnectSlots() /* Dictionaries */ ::oUI:q_buttonDictPath :disconnect( "clicked()" ) + ::oUI:q_comboTabsShape :disconnect( "currentIndexChanged(int)" ) + ::oUI:q_comboLeftTabPos :disconnect( "currentIndexChanged(int)" ) + ::oUI:q_comboTopTabPos :disconnect( "currentIndexChanged(int)" ) + ::oUI:q_comboRightTabPos :disconnect( "currentIndexChanged(int)" ) + ::oUI:q_comboBottomTabPos :disconnect( "currentIndexChanged(int)" ) + RETURN Self /*----------------------------------------------------------------------*/ @@ -1185,6 +1222,8 @@ METHOD IdeSetup:connectSlots() ::oUI:q_checkHilightLine :connect( "stateChanged(int)" , {|i| ::execEvent( "checkHilightLine_stateChanged", i ) } ) ::oUI:q_checkHorzRuler :connect( "stateChanged(int)" , {|i| ::execEvent( "checkHorzRuler_stateChanged" , i ) } ) ::oUI:q_checkLineNumbers :connect( "stateChanged(int)" , {|i| ::execEvent( "checkLineNumbers_stateChanged", i ) } ) + ::oUI:q_checkShowLeftToolbar:connect( "stateChanged(int)" , {|i| ::execEvent( "checkShowLeftToolbar_stateChanged", i ) } ) + ::oUI:q_checkShowTopToolbar :connect( "stateChanged(int)" , {|i| ::execEvent( "checkShowTopToolbar_stateChanged", i ) } ) ::oUI:q_sliderRed :connect( "valueChanged(int)" , {|i| ::execEvent( "sliderValue_changed", i, "R" ) } ) ::oUI:q_sliderGreen :connect( "valueChanged(int)" , {|i| ::execEvent( "sliderValue_changed", i, "G" ) } ) @@ -1219,6 +1258,12 @@ METHOD IdeSetup:connectSlots() ::oUI:q_buttonDictPath :connect( "clicked()" , {| | ::execEvent( "buttonDictPath_clicked" ) } ) + ::oUI:q_comboTabsShape :connect( "currentIndexChanged(int)", {|i| ::execEvent( "comboTabsShape_currentIndexChanged" , i ) } ) + ::oUI:q_comboLeftTabPos :connect( "currentIndexChanged(int)", {|i| ::execEvent( "comboLeftTabPos_currentIndexChanged" , i ) } ) + ::oUI:q_comboTopTabPos :connect( "currentIndexChanged(int)", {|i| ::execEvent( "comboTopTabPos_currentIndexChanged" , i ) } ) + ::oUI:q_comboRightTabPos :connect( "currentIndexChanged(int)", {|i| ::execEvent( "comboRightTabPos_currentIndexChanged" , i ) } ) + ::oUI:q_comboBottomTabPos :connect( "currentIndexChanged(int)", {|i| ::execEvent( "comboBottomTabPos_currentIndexChanged", i ) } ) + RETURN Self /*----------------------------------------------------------------------*/ @@ -1287,6 +1332,8 @@ METHOD IdeSetup:populate() ::oUI:q_checkHilightLine : setChecked( ::oIde:lCurrentLineHighlightEnabled ) ::oUI:q_checkHorzRuler : setChecked( ::oIde:lHorzRulerVisible ) ::oUI:q_checkLineNumbers : setChecked( ::oIde:lLineNumbersVisible ) + ::oUI:q_checkShowLeftToolbar : setChecked( ::oINI:lShowEditsLeftToolbar ) + ::oUI:q_checkShowTopToolbar : setChecked( ::oINI:lShowEditsTopToolbar ) /* Line Ending Mode */ s := ::oINI:cLineEndingMode @@ -1310,16 +1357,16 @@ METHOD IdeSetup:populate() ::oUI:q_checkEditsMdi : setChecked( ::oINI:lEditsMdi ) /* Paths */ - ::oUI:q_editPathIni : setText( ::oIde:cProjIni ) + ::oUI:q_editPathIni : setText( ::oIde:cProjIni ) // - ::oUI:q_editPathHrbRoot : setText( ::oINI:cPathHrbRoot ) - ::oUI:q_editPathHbMk2 : setText( ::oINI:cPathHbMk2 ) - ::oUI:q_editPathResources : setText( ::oINI:cPathResources ) - ::oUI:q_editPathTemp : setText( ::oINI:cPathTemp ) - ::oUI:q_editPathEnv : setText( ::oINI:cPathEnv ) - ::oUI:q_editPathShortcuts : setText( ::oINI:cPathShortcuts ) - ::oUI:q_editPathSnippets : setText( ::oINI:cPathSnippets ) - ::oUI:q_editPathThemes : setText( ::oINI:cPathThemes ) + ::oUI:q_editPathHrbRoot : setText( ::oINI:cPathHrbRoot ) + ::oUI:q_editPathHbMk2 : setText( ::oINI:cPathHbMk2 ) + ::oUI:q_editPathResources : setText( ::oINI:cPathResources ) + ::oUI:q_editPathTemp : setText( ::oINI:cPathTemp ) + ::oUI:q_editPathEnv : setText( ::oINI:cPathEnv ) + ::oUI:q_editPathShortcuts : setText( ::oINI:cPathShortcuts ) + ::oUI:q_editPathSnippets : setText( ::oINI:cPathSnippets ) + ::oUI:q_editPathThemes : setText( ::oINI:cPathThemes ) /* Variables */ ::oUI:q_tableVar:clearContents() @@ -1360,6 +1407,13 @@ METHOD IdeSetup:populate() ::oUI:q_editSec1:setReadOnly( .t. ) ::oUI:q_editSec5:setReadOnly( .t. ) + /* Dock Widgets */ + ::oUI:q_comboTabsShape:setCurrentIndex( ::oINI:nDocksTabShape ) + ::oUI:q_comboLeftTabPos:setCurrentIndex( ::oINI:nDocksLeftTabPos ) + ::oUI:q_comboTopTabPos:setCurrentIndex( ::oINI:nDocksTopTabPos ) + ::oUI:q_comboRightTabPos:setCurrentIndex( ::oINI:nDocksRightTabPos ) + ::oUI:q_comboBottomTabPos:setCurrentIndex( ::oINI:nDocksBottomTabPos ) + ::connectSlots() ::pushThemesData() @@ -1385,6 +1439,30 @@ METHOD IdeSetup:show() ::buildTree() ::buildKeywords() + /* Dock Widgets */ + ::oUI:q_comboTabsShape:addItem( "Rounded" ) + ::oUI:q_comboTabsShape:addItem( "Triangular" ) + + ::oUI:q_comboLeftTabPos:addItem( "Top" ) + ::oUI:q_comboLeftTabPos:addItem( "Bottom" ) + ::oUI:q_comboLeftTabPos:addItem( "Left" ) + ::oUI:q_comboLeftTabPos:addItem( "Right" ) + + ::oUI:q_comboTopTabPos:addItem( "Top" ) + ::oUI:q_comboTopTabPos:addItem( "Bottom" ) + ::oUI:q_comboTopTabPos:addItem( "Left" ) + ::oUI:q_comboTopTabPos:addItem( "Right" ) + + ::oUI:q_comboBottomTabPos:addItem( "Top" ) + ::oUI:q_comboBottomTabPos:addItem( "Bottom" ) + ::oUI:q_comboBottomTabPos:addItem( "Left" ) + ::oUI:q_comboBottomTabPos:addItem( "Right" ) + + ::oUI:q_comboRightTabPos:addItem( "Top" ) + ::oUI:q_comboRightTabPos:addItem( "Bottom" ) + ::oUI:q_comboRightTabPos:addItem( "Left" ) + ::oUI:q_comboRightTabPos:addItem( "Right" ) + ::oUI:q_editFontName:setText( ::oINI:cFontName ) ::oUI:q_editPointSize:setText( hb_ntos( ::oINI:nPointSize ) ) @@ -1449,6 +1527,23 @@ METHOD IdeSetup:execEvent( cEvent, p, p1 ) ::oEM:toggleLineNumbers() EXIT + CASE "checkShowTopToolbar_stateChanged" + IF ::oDK:qMdiToolbar:oWidget:isVisible() + ::oDK:qMdiToolbar:hide() + ELSE + ::oDK:qMdiToolbar:show() + ENDIF + ::oINI:lShowEditsTopToolbar := ::oDK:qMdiToolbar:oWidget:isVisible() + EXIT + CASE "checkShowLeftToolbar_stateChanged" + IF ::oDK:qMdiToolbarL:oWidget:isVisible() + ::oDK:qMdiToolbarL:hide() + ELSE + ::oDK:qMdiToolbarL:show() + ENDIF + ::oINI:lShowEditsLeftToolbar := ::oDK:qMdiToolbarL:oWidget:isVisible() + EXIT + CASE "treeWidget_itemSelectionChanged" qItem := ::oUI:q_treeWidget:currentItem() IF ( nIndex := ascan( ::aTree, qItem:text( 0 ) ) ) > 0 @@ -1719,6 +1814,28 @@ METHOD IdeSetup:execEvent( cEvent, p, p1 ) p:close() p := NIL /* Must Destroy It */ EXIT + + /* Docking Widgets */ + CASE "comboTabsShape_currentIndexChanged" + ::oINI:nDocksTabShape := p + ::oDlg:setTabShape( ::oINI:nDocksTabShape ) + EXIT + CASE "comboLeftTabPos_currentIndexChanged" + ::oINI:nDocksLeftTabPos := p + ::oDlg:setTabPosition( Qt_LeftDockWidgetArea , ::oINI:nDocksLeftTabPos ) + EXIT + CASE "comboTopTabPos_currentIndexChanged" + ::oINI:nDocksTopTabPos := p + ::oDlg:setTabPosition( Qt_TopDockWidgetArea , ::oINI:nDocksTopTabPos ) + EXIT + CASE "comboRightTabPos_currentIndexChanged" + ::oINI:nDocksRightTabPos := p + ::oDlg:setTabPosition( Qt_RightDockWidgetArea , ::oINI:nDocksRightTabPos ) + EXIT + CASE "comboBottomTabPos_currentIndexChanged" + ::oINI:nDocksBottomTabPos := p + ::oDlg:setTabPosition( Qt_BottomDockWidgetArea, ::oINI:nDocksBottomTabPos ) + EXIT ENDSWITCH RETURN Self diff --git a/harbour/contrib/hbide/idethemes.prg b/harbour/contrib/hbide/idethemes.prg index 8115fb7b64..0b064e7188 100644 --- a/harbour/contrib/hbide/idethemes.prg +++ b/harbour/contrib/hbide/idethemes.prg @@ -221,7 +221,7 @@ METHOD IdeThemes:create( oIde, cThemesFile ) 'switch','endswitch', ; 'do','while','exit','enddo','loop',; 'for','each','next','step','to','in',; - 'with','object','endwith','request',; + 'with','replace','object','endwith','request',; 'nil','and','or','in','not','self',; 'class','endclass','method','data','var','destructor','inline','assign','access',; 'inherit','init','create','virtual','message', 'from', 'setget',; diff --git a/harbour/contrib/hbide/setup.ui b/harbour/contrib/hbide/setup.ui index bd4b41c395..76a91de337 100644 --- a/harbour/contrib/hbide/setup.ui +++ b/harbour/contrib/hbide/setup.ui @@ -41,7 +41,7 @@ - 0 + 1 @@ -314,19 +314,19 @@ 10 - 272 + 258 331 - 83 + 97 - Display + Editing Area 12 - 16 + 12 143 19 @@ -339,7 +339,7 @@ 12 - 36 + 28 151 19 @@ -352,7 +352,7 @@ 12 - 58 + 44 149 19 @@ -365,7 +365,7 @@ 182 - 58 + 72 133 19 @@ -401,7 +401,7 @@ 258 - 58 + 72 59 19 @@ -410,6 +410,32 @@ Edit MDI + + + + 12 + 60 + 121 + 18 + + + + Show left-toolbar + + + + + + 12 + 76 + 121 + 18 + + + + Show top-toolbar + + @@ -643,7 +669,7 @@ - 10 + 12 18 157 16 @@ -656,7 +682,7 @@ - 231 + 225 14 93 22 @@ -666,7 +692,7 @@ - 10 + 12 44 177 16 @@ -679,7 +705,7 @@ - 10 + 12 68 177 16 @@ -718,7 +744,7 @@ - 230 + 224 40 93 22 @@ -728,7 +754,7 @@ - 230 + 224 66 93 22 @@ -738,7 +764,7 @@ - 230 + 224 92 93 22 @@ -748,7 +774,7 @@ - 230 + 224 118 93 22