From c2af02cecc3b2d1c09242b18f497d6e8a013f3c0 Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Wed, 30 Dec 2009 18:56:38 +0000 Subject: [PATCH] 2009-12-30 10:40 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbide/hbide.prg * contrib/hbide/ideactions.prg * contrib/hbide/idedocks.prg * contrib/hbide/idemisc.prg * contrib/hbide/idestylesheets.prg + Applied the patch submitted by Vailton Renato with some omissions, thanks. 1. I do like xMate's build* icons and "gotoline" icon which depics the meaning of action properly, just update them to have more colors. 2. Toolbar must not be clutted with so many options. For this purpose we have menus. * contrib/hbide/resources/*.png ! Some new and some refined imaged from Vailton. --- harbour/ChangeLog | 16 + harbour/contrib/hbide/hbide.prg | 164 ++++++--- harbour/contrib/hbide/ideactions.prg | 345 ++++++++++-------- harbour/contrib/hbide/idedocks.prg | 32 +- harbour/contrib/hbide/idemisc.prg | 142 ++++++- harbour/contrib/hbide/idestylesheets.prg | 221 +++++++---- harbour/contrib/hbide/resources/Lookup.png | Bin 0 -> 555 bytes harbour/contrib/hbide/resources/build.png | Bin 137 -> 2835 bytes .../contrib/hbide/resources/builderror.png | Bin 193 -> 3642 bytes harbour/contrib/hbide/resources/clean.png | Bin 0 -> 602 bytes harbour/contrib/hbide/resources/cleanrun.png | Bin 0 -> 3465 bytes harbour/contrib/hbide/resources/close.png | Bin 195 -> 3134 bytes harbour/contrib/hbide/resources/closeall.png | Bin 0 -> 3154 bytes .../contrib/hbide/resources/closeexcept.png | Bin 0 -> 3138 bytes harbour/contrib/hbide/resources/column.png | Bin 138 -> 3610 bytes harbour/contrib/hbide/resources/compile.png | Bin 201 -> 2883 bytes harbour/contrib/hbide/resources/copy.png | Bin 186 -> 2995 bytes harbour/contrib/hbide/resources/cut.png | Bin 169 -> 2977 bytes harbour/contrib/hbide/resources/debug.png | Bin 183 -> 2868 bytes harbour/contrib/hbide/resources/envconfig.png | Bin 263 -> 2939 bytes harbour/contrib/hbide/resources/exit.png | Bin 170 -> 3286 bytes .../contrib/hbide/resources/exporthtml.png | Bin 0 -> 3931 bytes harbour/contrib/hbide/resources/filec.png | Bin 184 -> 2877 bytes harbour/contrib/hbide/resources/fileprg.png | Bin 160 -> 2862 bytes harbour/contrib/hbide/resources/find.png | Bin 179 -> 3075 bytes harbour/contrib/hbide/resources/gotomark.png | Bin 203 -> 2889 bytes harbour/contrib/hbide/resources/info.png | Bin 166 -> 2868 bytes harbour/contrib/hbide/resources/launch.png | Bin 152 -> 2853 bytes harbour/contrib/hbide/resources/lense.png | Bin 247 -> 2943 bytes harbour/contrib/hbide/resources/matchobj.png | Bin 140 -> 2841 bytes .../contrib/hbide/resources/modulelist.png | Bin 194 -> 3637 bytes harbour/contrib/hbide/resources/new.png | Bin 149 -> 2941 bytes harbour/contrib/hbide/resources/notepad.png | Bin 216 -> 2899 bytes harbour/contrib/hbide/resources/open.png | Bin 192 -> 3135 bytes harbour/contrib/hbide/resources/paste.png | Bin 218 -> 3026 bytes .../hbide/resources/placeremovemark.png | Bin 224 -> 2910 bytes harbour/contrib/hbide/resources/ppo.png | Bin 204 -> 2887 bytes harbour/contrib/hbide/resources/print.png | Bin 223 -> 2975 bytes .../contrib/hbide/resources/projectadd.png | Bin 0 -> 3223 bytes .../contrib/hbide/resources/projectdel.png | Bin 0 -> 3168 bytes .../contrib/hbide/resources/properties.png | Bin 191 -> 2880 bytes harbour/contrib/hbide/resources/rebuild.png | Bin 189 -> 2871 bytes harbour/contrib/hbide/resources/redo.png | Bin 146 -> 2978 bytes harbour/contrib/hbide/resources/run.png | Bin 0 -> 2904 bytes .../contrib/hbide/resources/runnodebug.png | Bin 0 -> 2836 bytes harbour/contrib/hbide/resources/save.png | Bin 154 -> 3159 bytes harbour/contrib/hbide/resources/saveall.png | Bin 0 -> 3132 bytes harbour/contrib/hbide/resources/saveas.png | Bin 0 -> 3085 bytes harbour/contrib/hbide/resources/search.png | Bin 230 -> 2914 bytes harbour/contrib/hbide/resources/selectall.png | Bin 132 -> 2833 bytes harbour/contrib/hbide/resources/setmain.png | Bin 0 -> 3189 bytes harbour/contrib/hbide/resources/stream.png | Bin 178 -> 3639 bytes harbour/contrib/hbide/resources/tools.png | Bin 229 -> 2916 bytes harbour/contrib/hbide/resources/trashpage.png | Bin 208 -> 2904 bytes harbour/contrib/hbide/resources/undo.png | Bin 148 -> 2973 bytes 55 files changed, 613 insertions(+), 307 deletions(-) create mode 100644 harbour/contrib/hbide/resources/Lookup.png create mode 100644 harbour/contrib/hbide/resources/clean.png create mode 100644 harbour/contrib/hbide/resources/cleanrun.png create mode 100644 harbour/contrib/hbide/resources/closeall.png create mode 100644 harbour/contrib/hbide/resources/closeexcept.png create mode 100644 harbour/contrib/hbide/resources/exporthtml.png create mode 100644 harbour/contrib/hbide/resources/projectadd.png create mode 100644 harbour/contrib/hbide/resources/projectdel.png create mode 100644 harbour/contrib/hbide/resources/run.png create mode 100644 harbour/contrib/hbide/resources/runnodebug.png create mode 100644 harbour/contrib/hbide/resources/saveall.png create mode 100644 harbour/contrib/hbide/resources/saveas.png create mode 100644 harbour/contrib/hbide/resources/setmain.png diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ba7e05370f..89076f7e7a 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,22 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-30 10:40 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) + * contrib/hbide/hbide.prg + * contrib/hbide/ideactions.prg + * contrib/hbide/idedocks.prg + * contrib/hbide/idemisc.prg + * contrib/hbide/idestylesheets.prg + + Applied the patch submitted by Vailton Renato with some omissions, thanks. + 1. I do like xMate's build* icons and "gotoline" icon + which depics the meaning of action properly, just update them to + have more colors. + 2. Toolbar must not be clutted with so many options. + For this purpose we have menus. + + * contrib/hbide/resources/*.png + ! Some new and some refined imaged from Vailton. + 2009-12-30 10:35 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbxbp/xbpmenubar.prg ! Removed default style-sheet application which has to be diff --git a/harbour/contrib/hbide/hbide.prg b/harbour/contrib/hbide/hbide.prg index 6de0020a6e..9c567eb911 100644 --- a/harbour/contrib/hbide/hbide.prg +++ b/harbour/contrib/hbide/hbide.prg @@ -401,14 +401,6 @@ METHOD HbIde:executeAction( cKey ) DO CASE CASE cKey == "Exit" PostAppEvent( xbeP_Close, NIL, NIL, ::oDlg ) - CASE cKey == "ToggleProjectTree" - ::lProjTreeVisible := !::lProjTreeVisible - IF !( ::lProjTreeVisible ) - ::oProjTree:hide() - ELSE - ::oProjTree:show() - ENDIF - CASE cKey == "NewProject" ::loadProjectProperties( , .t., .t., .t. ) CASE cKey == "LoadProject" @@ -510,7 +502,17 @@ METHOD HbIde:executeAction( cKey ) IF !empty( ::qCurEdit ) //::qCurEdit:zoomOut() ENDIF - CASE cKey == "11" + + CASE cKey == "ToggleProjectTree" + ::lProjTreeVisible := !::lProjTreeVisible + IF !( ::lProjTreeVisible ) + ::oDockPT:hide() + ::oDockED:hide() + ELSE + ::oDockPT:show() + ::oDockED:show() + ENDIF + CASE cKey == "ToggleBuildInfo" IF ::lDockBVisible ::oDockB:hide() ::oDockB1:hide() @@ -522,7 +524,7 @@ METHOD HbIde:executeAction( cKey ) ::oDockB2:show() ::lDockBVisible := .t. ENDIF - CASE cKey == "12" + CASE cKey == "ToggleFuncList" IF ::lDockRVisible ::oDockR:hide() ELSE @@ -639,6 +641,11 @@ METHOD HbIde:editSource( cSourceFile, nPos, nHPos, nVPos, lPPO ) RETURN Self ENDIF + IF !Empty( cSourceFile ) .AND. !File( cSourceFile ) + MsgBox( 'File not found: ' + cSourceFile ) + RETURN Self + ENDIF + DEFAULT cSourceFile TO ::cProjIni DEFAULT nPos TO 0 DEFAULT nHPos TO 0 @@ -1553,6 +1560,7 @@ METHOD HbIde:setCurrentProject( cProjectName ) METHOD HbIde:getCurrentProject() LOCAL oDlg + LOCAL i, p, t IF !Empty( ::cWrkProject ) RETURN ::cWrkProject @@ -1571,7 +1579,15 @@ METHOD HbIde:getCurrentProject() oDlg:file := s_resPath + "selectproject.ui" oDlg:create() - aEval( ::aProjects, {|e_| oDlg:qObj[ "cbProjects" ]:addItem( e_[ 3, PRJ_PRP_PROPERTIES, 2, E_oPrjTtl ] ) } ) + * Fill ComboBox with current project names + FOR i := 1 TO Len( ::aProjects ) + p := ::aProjects[i] + t := p[ 3, PRJ_PRP_PROPERTIES, 2, E_oPrjTtl ] + + IF !Empty( t ) + oDlg:qObj[ "cbProjects" ]:addItem( t ) + End + End oDlg:signal( "btnOk" , "clicked()", {|| ::setCurrentProject( oDlg:qObj[ "cbProjects" ]:currentText() ), oDlg:oWidget:close() } ) oDlg:signal( "btnCancel" , "clicked()", {|| oDlg:oWidget:close() } ) @@ -1587,8 +1603,8 @@ METHOD HbIde:getCurrentProject() /*----------------------------------------------------------------------*/ /* hb_processRun( , [ ], [ @ ], [ @ ], [ ] ) -> */ -METHOD HbIde:buildProject( cProject, lLaunch, lRebuild, lPPO ) - LOCAL cCmd, cOutput, cErrors, n, aPrj, cHbpPath, aHbp +METHOD HbIde:buildProject( cProject, lLaunch, lRebuild, lPPO, lViaQt ) + LOCAL cCmd, cOutput, cErrors, n, aPrj, cHbpPath, aHbp, qStringList LOCAL cTmp, nResult LOCAL nseconds LOCAL cTargetFN @@ -1600,7 +1616,9 @@ METHOD HbIde:buildProject( cProject, lLaunch, lRebuild, lPPO ) DEFAULT lLaunch TO .F. DEFAULT lRebuild TO .F. DEFAULT lPPO TO .F. - DEFAULT lDelHbp TO lPPO + DEFAULT lViaQt TO .f. + + lDelHbp := lPPO IF lPPO .AND. ::getCurrentTab() == 0 MsgBox( 'No file open issue to be compiled!' ) @@ -1658,8 +1676,9 @@ METHOD HbIde:buildProject( cProject, lLaunch, lRebuild, lPPO ) aeval( aPrj[ PRJ_PRP_FLAGS, 2 ], {|e| aadd( aHbp, e ) } ) - IF !lPPO + IF !( lPPO ) aeval( FilesToSources( aPrj[ PRJ_PRP_SOURCES, 2 ] ), {|e| aadd( aHbp, e ) } ) + ELSE aadd( aHbp, "-hbcmp -s -p" ) @@ -1670,7 +1689,7 @@ METHOD HbIde:buildProject( cProject, lLaunch, lRebuild, lPPO ) IF !( lower( cTmp ) $ ".prg,?" ) MsgBox( 'Operation not supported for this file type: "'+cTmp+'"' ) RETURN Self - End + ENDIF cFileName := cPath + cFileName + '.ppo' @@ -1679,10 +1698,11 @@ METHOD HbIde:buildProject( cProject, lLaunch, lRebuild, lPPO ) aadd( aHbp, ::aTabs[ n, 5 ] ) FErase( cFileName ) - End + ENDIF IF !CreateTarget( cHbpPath, aHbp ) cTmp := 'Error saving: ' + cHbpPath + ELSE ::lDockBVisible := .t. ::oDockB2:show() @@ -1695,54 +1715,84 @@ METHOD HbIde:buildProject( cProject, lLaunch, lRebuild, lPPO ) '-----------------------------------------------------------------' + CRLF cCmd := "hbmk2.exe " + cHbpPath - nseconds := seconds() // time elapsed - nResult := hb_processRun( cCmd, , @cOutput, @cErrors ) + nSeconds := seconds() // time elapsed - * Show detailed status about compile process... - cTmp += cOutput + CRLF - cTmp += IF( empty( cErrors ), "", cErrors ) + CRLF - cTmp += "errorlevel: " + hb_ntos( nResult ) + CRLF - cTmp += '-----------------------------------------------------------------' + CRLF - cTmp += 'Finished at ' + time() + CRLF - cTmp += "Done in " + ltrim( str( seconds() - nseconds ) ) +" seconds." + CRLF + IF lViaQt + ::lDockBVisible := .t. + ::oDockB2:show() - IF (nResult == 0) .AND. (lLaunch) - cTmp += CRLF + ::cProcessInfo := "" - IF !File( cTargetFN ) - cTmp += "Launch application error: file not found " + cTargetFN + "!" + qStringList := QStringList():new() + qStringList:append( cHbpPath ) - ELSEIF aPrj[ PRJ_PRP_PROPERTIES, 2, E_qPrjType ] == "Executable" - cTmp += "Launch application " + cTargetFN + "... " + ::qProcess := QProcess():new() + ::qProcess:setProcessChannelMode( 0 ) + ::qProcess:setReadChannel( 0 ) + //::qProcess:setStandardOutputFile( "c:\temp\out.out" ) + //::qProcess:setStandardErrorFile( "c:\temp\err.out" ) - qProcess := QProcess():new() - qProcess:startDetached_2( cTargetFN ) - qProcess:waitForStarted() - qProcess:pPtr := 0 - qProcess := NIL + Qt_Connect_Signal( ::qProcess, "readyReadStandardOutput()", {|o,i| ::readProcessInfo( 2, i, o ) } ) + Qt_Connect_Signal( ::qProcess, "readyReadStandardError()" , {|o,i| ::readProcessInfo( 3, i, o ) } ) + Qt_Connect_Signal( ::qProcess, "finished(int,int)" , {|o,i| ::readProcessInfo( 4, i, o ) } ) - ELSE - cTmp += "Launch application " + cTargetFN + "... (not applicable)" + CRLF - End - End - End + ::oOutputResult:oWidget:clear() + ::qProcess:start( "hbmk2.exe", qStringList ) - //::oOutputResult:oWidget:setHtml( ConvertBuildStatusMsgToHtml( cTmp ) ) - ConvertBuildStatusMsgToHtml( cTmp, ::oOutputResult:oWidget ) + ELSE + nResult := hb_processRun( cCmd, , @cOutput, @cErrors ) + + * Show detailed status about compile process... + cTmp += cOutput + CRLF + cTmp += IF( empty( cErrors ), "", cErrors ) + CRLF + cTmp += "errorlevel: " + hb_ntos( nResult ) + CRLF + cTmp += '-----------------------------------------------------------------' + CRLF + cTmp += 'Finished at ' + time() + CRLF + cTmp += "Done in " + ltrim( str( seconds() - nseconds ) ) +" seconds." + CRLF + + IF ( nResult == 0 ) .AND. ( lLaunch ) + cTmp += CRLF + + IF !File( cTargetFN ) + cTmp += "Launch application error: file not found " + cTargetFN + "!" + + ELSEIF aPrj[ PRJ_PRP_PROPERTIES, 2, E_qPrjType ] == "Executable" + cTmp += "Launch application " + cTargetFN + "... " + + qProcess := QProcess():new() + qProcess:startDetached_2( cTargetFN ) + qProcess:waitForStarted() + qProcess:pPtr := 0 + qProcess := NIL + + ELSE + cTmp += "Launch application " + cTargetFN + "... (not applicable)" + CRLF + + ENDIF + ENDIF + ENDIF + + //::oOutputResult:oWidget:setHtml( ConvertBuildStatusMsgToHtml( cTmp ) ) + ConvertBuildStatusMsgToHtml( cTmp, ::oOutputResult:oWidget ) + ENDIF IF lDelHbp FErase( cHbpPath ) - End + ENDIF IF lPPO .AND. File( cFileName ) ::editSource( cFileName, nil, nil, nil, .T. ) - End + ENDIF RETURN Self /*----------------------------------------------------------------------*/ METHOD HbIde:buildProjectViaQt( cProject ) + + ::buildProject( cProject, , , , .t. ) + + #if 0 LOCAL n, aPrj, cHbpPath, aHbp, qStringList n := ascan( ::aProjects, {|e_, x| x := e_[ 3 ], x[ 1,2,PRJ_PRP_TITLE ] == cProject } ) @@ -1764,14 +1814,15 @@ METHOD HbIde:buildProjectViaQt( cProject ) qStringList:append( cHbpPath ) ::qProcess := QProcess():new() - ::qProcess:setReadChannel( 0 ) + ::qProcess:setReadChannel( 1 ) Qt_Connect_Signal( ::qProcess, "readyReadStandardOutput()", {|o,i| ::readProcessInfo( 2, i, o ) } ) Qt_Connect_Signal( ::qProcess, "readyReadStandardError()" , {|o,i| ::readProcessInfo( 3, i, o ) } ) Qt_Connect_Signal( ::qProcess, "finished(int,int)" , {|o,i| ::readProcessInfo( 4, i, o ) } ) + ::oOutputResult:oWidget:clear() ::qProcess:start( "hbmk2.exe", qStringList ) - + #endif RETURN Self /*----------------------------------------------------------------------*/ @@ -1787,10 +1838,12 @@ METHOD HbIde:readProcessInfo( nMode, iBytes ) CASE nMode == 2 ::qProcess:setReadChannel( 0 ) // QProcess_StandardOutput ) cLine := space( 1024 ) - ::qProcess:readLine( @cLine, 1024 ) + //::qProcess:readLine( @cLine, 1024 ) + cLine := QByteArray():configure( ::qProcess:readAllStandardOutput() ):constData() IF !empty( cLine ) ::cProcessInfo += CRLF + trim( cLine ) - ::oOutputResult:oWidget:appendPlainText( cLine ) + //::oOutputResult:oWidget:append( '' + cLine + '' ) + ::oOutputResult:oWidget:append( cLine ) ENDIF CASE nMode == 3 @@ -1799,10 +1852,19 @@ METHOD HbIde:readProcessInfo( nMode, iBytes ) ::qProcess:readLine( @cLine, 1024 ) IF !empty( cLine ) ::cProcessInfo += CRLF + trim( cLine ) - ::oOutputResult:oWidget:appendPlainText( cLine ) + IF ( "Warning" $ cLine ) + cLine := '' + cLine + '' + ELSEIF ( "Error" $ cLine ) + cLine := '' + cLine + '' + ENDIF + //::oOutputResult:oWidget:appendPlainText( cLine ) + ::oOutputResult:oWidget:append( cLine ) ENDIF CASE nMode == 4 + ::oOutputResult:oWidget:append( '-----------------------------------------------------------------' ) + ::oOutputResult:oWidget:append( 'Finished at ' + time() ) + Qt_DisConnect_Signal( ::qProcess, "finished(int,int)" ) Qt_DisConnect_Signal( ::qProcess, "readyReadStandardOutput()" ) Qt_DisConnect_Signal( ::qProcess, "readyReadStandardError()" ) diff --git a/harbour/contrib/hbide/ideactions.prg b/harbour/contrib/hbide/ideactions.prg index 43463d24a4..4b54f2b773 100644 --- a/harbour/contrib/hbide/ideactions.prg +++ b/harbour/contrib/hbide/ideactions.prg @@ -75,57 +75,69 @@ FUNCTION buildToolBar( oWnd, oIde ) LOCAL cResPath := hb_DirBase() + "resources" + hb_OsPathSeparator() oTBar := XbpToolBar():new( oWnd ) + oTBar:imageWidth := 22 + oTBar:imageHeight := 22 oTBar:create( , , { 0, oWnd:currentSize()[ 2 ]-60 }, { oWnd:currentSize()[ 1 ], 60 } ) + * oTBar:setStyleSheet( GetStyleSheet( "QToolBar" ) ) - oTBar:imageWidth := 20 - oTBar:imageHeight := 20 + oTBar:oWidget:setMaximumHeight( 28 ) - oTBar:oWidget:setMaximumHeight( 30 ) - - oTBar:addItem( "Exit" , cResPath + "exit.png" , , , , , "Exit" ) + oTBar:addItem( "Exit" , cResPath + "exit.png" , , , , , "Exit" ) oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) - oTBar:addItem( "Toggle Project Tree" , cResPath + "properties.png" , , , , , "ToggleProjectTree" ) - oTBar:addItem( "New" , cResPath + "new.png" , , , , , "New" ) - oTBar:addItem( "Open" , cResPath + "open.png" , , , , , "Open" ) - oTBar:addItem( "Save" , cResPath + "save.png" , , , , , "Save" ) - oTBar:addItem( "Close" , cResPath + "close.png" , , , , , "Close" ) - * oTBar:addItem( "Close all" , cResPath + "close.png" , , , , , "Close all" ) - oTBar:addItem( "Print" , cResPath + "print.png" , , , , , "Print" ) + oTBar:addItem( "New" , cResPath + "new.png" , , , , , "New" ) + oTBar:addItem( "Open" , cResPath + "open.png" , , , , , "Open" ) + oTBar:addItem( "Save" , cResPath + "save.png" , , , , , "Save" ) + * oTBar:addItem( "Save As" , cResPath + "saveas.png" , , , , , "SaveAs" ) + * oTBar:addItem( "Save All" , cResPath + "saveall.png" , , , , , "SaveAll" ) + oTBar:addItem( "Close" , cResPath + "close.png" , , , , , "Close" ) + * oTBar:addItem( "Close all" , cResPath + "closeall.png" , , , , , "CloseAll" ) + oTBar:addItem( "Print" , cResPath + "print.png" , , , , , "Print" ) oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) - oTBar:addItem( "Compile" , cResPath + "compile.png" , , , , , "Compile" ) - oTBar:addItem( "Compile to PPO" , cResPath + "ppo.png" , , , , , "CompilePPO" ) - oTBar:addItem( "Build Project" , cResPath + "build.png" , , , , , "SaveBuild" ) - oTBar:addItem( "Build and Launch Project" , cResPath + "buildlaunch.png" , , , , , "SaveBuildLaunch" ) - oTBar:addItem( "Rebuild Project" , cResPath + "rebuild.png" , , , , , "SaveRebuild" ) + oTBar:addItem( "Compile" , cResPath + "compile.png" , , , , , "Compile" ) + oTBar:addItem( "Compile to PPO" , cResPath + "ppo.png" , , , , , "CompilePPO" ) + #if 0 + * oTBar:addItem( "Build Project" , cResPath + "build.png" , , , , , "SaveBuild" ) + oTBar:addItem( "Build and Run" , cResPath + "run.png" , , , , , "SaveBuildLaunch" ) + oTBar:addItem( "Build and Run without Debug", cResPath + "runnodebug.png" , , , , , "SaveBuildLaunch" ) + oTBar:addItem( "Rebuild Project" , cResPath + "clean.png" , , , , , "SaveRebuild" ) + oTBar:addItem( "Rebuild and Launch Project" , cResPath + "cleanrun.png" , , , , , "SaveRebuildLaunch" ) + #else + oTBar:addItem( "Build Project" , cResPath + "build.png" , , , , , "SaveBuild" ) + oTBar:addItem( "Build and Run Project" , cResPath + "buildlaunch.png" , , , , , "SaveBuildLaunch" ) + oTBar:addItem( "Rebuild Project" , cResPath + "rebuild.png" , , , , , "SaveRebuild" ) oTBar:addItem( "Rebuild and Launch Project" , cResPath + "rebuildlaunch.png" , , , , , "SaveRebuildLaunch" ) - oTBar:addItem( "Show/Hide Build Error Info" , cResPath + "builderror.png" , , , , , "11" ) - oTBar:addItem( "Module Function List" , cResPath + "modulelist.png" , , , , , "12" ) + #endif // oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) - oTBar:addItem( "Undo" , cResPath + "undo.png" , , , , , "Undo" ) - oTBar:addItem( "Redo" , cResPath + "redo.png" , , , , , "Redo" ) + oTBar:addItem( "Show/hide Project Tree" , cResPath + "properties.png" , , , , , "ToggleProjectTree" ) + oTBar:addItem( "Show/hide Build Info" , cResPath + "builderror.png" , , , , , "ToggleBuildInfo" ) + oTBar:addItem( "Show/hide Function List" , cResPath + "modulelist.png" , , , , , "ToggleFuncList" ) + // oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) - oTBar:addItem( "Cut" , cResPath + "cut.png" , , , , , "Cut" ) - oTBar:addItem( "Copy" , cResPath + "copy.png" , , , , , "Copy" ) - oTBar:addItem( "Paste" , cResPath + "paste.png" , , , , , "Paste" ) - oTBar:addItem( "Select All" , cResPath + "selectall.png" , , , , , "SelectAll" ) - oTBar:addItem( "Column/Stream Selection" , cResPath + "stream.png" , , , , , "19" ) + oTBar:addItem( "Undo" , cResPath + "undo.png" , , , , , "Undo" ) + oTBar:addItem( "Redo" , cResPath + "redo.png" , , , , , "Redo" ) oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) - oTBar:addItem( "Find" , cResPath + "find.png" , , , , , "Find" ) - oTBar:addItem( "Search" , cResPath + "search.png" , , , , , "Search" ) + oTBar:addItem( "Cut" , cResPath + "cut.png" , , , , , "Cut" ) + oTBar:addItem( "Copy" , cResPath + "copy.png" , , , , , "Copy" ) + oTBar:addItem( "Paste" , cResPath + "paste.png" , , , , , "Paste" ) + oTBar:addItem( "Select All" , cResPath + "selectall.png" , , , , , "SelectAll" ) + oTBar:addItem( "Column/Stream Selection" , cResPath + "stream.png" , , , , , "19" ) oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) - oTBar:addItem( "Place/Remove Mark" , cResPath + "placeremovemark.png", , , , , "SetMark" ) - oTBar:addItem( "Goto Mark" , cResPath + "gotomark.png" , , , , , "GotoMark" ) - oTBar:addItem( "Goto Line" , cResPath + "gotoline.png" , , , , , "Goto" ) + oTBar:addItem( "Find" , cResPath + "find.png" , , , , , "Find" ) + oTBar:addItem( "Search" , cResPath + "search.png" , , , , , "Search" ) oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) - oTBar:addItem( "To Upper" , cResPath + "toupper.png" , , , , , "ToUpper" ) - oTBar:addItem( "To Lower" , cResPath + "tolower.png" , , , , , "ToLower" ) - oTBar:addItem( "Invert Case" , cResPath + "invertcase.png" , , , , , "Invert" ) - oTBar:addItem( "Match Pairs" , cResPath + "matchobj.png" , , , , , "28" ) + oTBar:addItem( "Place/Remove Mark" , cResPath + "placeremovemark.png", , , , , "SetMark" ) + oTBar:addItem( "Goto Mark" , cResPath + "gotomark.png" , , , , , "GotoMark" ) + oTBar:addItem( "Goto Line" , cResPath + "gotoline.png" , , , , , "Goto" ) + oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) + oTBar:addItem( "To Upper" , cResPath + "toupper.png" , , , , , "ToUpper" ) + oTBar:addItem( "To Lower" , cResPath + "tolower.png" , , , , , "ToLower" ) + oTBar:addItem( "Invert Case" , cResPath + "invertcase.png" , , , , , "Invert" ) + oTBar:addItem( "Match Pairs" , cResPath + "matchobj.png" , , , , , "28" ) oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) #if 0 - oTBar:addItem( "ZoomIn" , cResPath + "zoomin.png" , , , , , "ZoomIn" ) - oTBar:addItem( "ZoomOut" , cResPath + "zoomout.png" , , , , , "ZoomOut" ) + oTBar:addItem( "ZoomIn" , cResPath + "zoomin.png" , , , , , "ZoomIn" ) + oTBar:addItem( "ZoomOut" , cResPath + "zoomout.png" , , , , , "ZoomOut" ) oTBar:addItem( , , , , , XBPTOOLBAR_BUTTON_SEPARATOR ) #endif @@ -135,25 +147,23 @@ FUNCTION buildToolBar( oWnd, oIde ) RETURN oTBar /*----------------------------------------------------------------------*/ - /* * Normalizes a caption for an menu item with shortcut (or not). * TODO: add support for translation of menu items AND support changing shortcuts * loading from a text file for customing hotkeys AND icons. (vailtom) * 27/12/2009 - 16:05:32 - vailtom */ -STATIC; -FUNCTION mnuNormalizeItem( cCaption ) +STATIC FUNCTION mnuNormalizeItem( cCaption ) LOCAL cKey LOCAL cIco LOCAL p /* Retrieve and update the ICON name for this menu item */ - IF ( (p := Rat( '|', cCaption )) != 00 ) + IF ( (p := Rat( '|', cCaption ) ) != 00 ) cIco := Substr( cCaption, p+1 ) cIco := alltrim( cIco ) - cCaption := Substr( cCaption, 1, p-1 ) + cCaption := Substr( cCaption, 1, p - 1 ) cCaption := Alltrim( cCaption ) * cIco := s_resPath + Alltrim( cIco ) ---> "s_resPath" is need here! @@ -172,9 +182,9 @@ FUNCTION mnuNormalizeItem( cCaption ) ENDIF /* Update the key shortcut for this menu item */ - IF ( (p := Rat( ',', cCaption )) != 00 ) + IF ( ( p := Rat( ',', cCaption ) ) != 00 ) cKey := Substr( cCaption, p+1 ) - cCaption := Substr( cCaption, 1, p-1 ) + cCaption := Substr( cCaption, 1, p - 1 ) cCaption := alltrim( cCaption ) cKey := alltrim( cKey ) @@ -191,189 +201,214 @@ FUNCTION mnuNormalizeItem( cCaption ) cCaption := cIco + cCaption + cKey RETURN cCaption -/* This pseudo function helps to create is a menu item with text and shortcut.*/ +/*----------------------------------------------------------------------*/ +/* + * This pseudo function helps to create is a menu item with text and shortcut. + */ #define _T( x ) ( mnuNormalizeItem(x) ) -/* This functions build the main menu for hbide. - */ FUNCTION buildMainMenu( oWnd, oIde ) - LOCAL oMenuBar, oSubMenu, oSub1 + LOCAL oMenuBar, oSubMenu, oSub1, oSubMenu2 oMenuBar := oWnd:MenuBar() + oMenuBar:setStyleSheet( GetStyleSheet( "QMenuBar" ) ) + oSubMenu := XbpMenu():new( oMenuBar ):create() oSubMenu:title := "~File" - oSubMenu:addItem( { _T( "New, ^N | new.png" ) , {|| oIde:executeAction( "New" ) } } ) - oSubMenu:addItem( { _T( "Open, ^O | open.png" ) , {|| oIde:executeAction( "Open" ) } } ) - oSubMenu:addItem( { _T( "Recent Files*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Recent Projects*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "New, ^N | new.png" ) , {|| oIde:executeAction( "New" ) } } ) + oSubMenu:addItem( { _T( "Open, ^O | open.png" ) , {|| oIde:executeAction( "Open" ) } } ) + MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Save, ^S | save.png" ) , {|| oIde:executeAction( "Save" ) } } ) - oSubMenu:addItem( { _T( "Save As*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Save All*, Sh+^S" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Close, ^W | close.png" ) , {|| oIde:executeAction( "Close" ) } } ) - oSubMenu:addItem( { _T( "Close All" ) , {|| oIde:executeAction( "CloseAll" ) } } ) - oSubMenu:addItem( { _T( "Close Other*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Revert to Saved*, Sh+^R" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu2 := XbpMenu():new( oSubMenu ):create() + oSubMenu2:addItem( { _T( "Recent File 1*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu2:addItem( { _T( "Recent File 2*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu2:addItem( { _T( "Recent File 3*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu2:addItem( { _T( "Recent File 4*" ) , {|| oIde:executeAction( "" ) } } ) + oMenuBar:addItem( { oSubMenu2, _T( "Recent Files*" ) } ) + + oSubMenu2 := XbpMenu():new( oSubMenu ):create() + oSubMenu2:addItem( { _T( "Recent Project 1*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu2:addItem( { _T( "Recent Project 2*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu2:addItem( { _T( "Recent Project 3*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu2:addItem( { _T( "Recent Project 4*" ) , {|| oIde:executeAction( "" ) } } ) + oMenuBar:addItem( { oSubMenu2, _T( "Recent Projects*" ) } ) + MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Export as HTML*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Print*, ^P | print.png" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Save, ^S | save.png" ) , {|| oIde:executeAction( "Save" ) } } ) + oSubMenu:addItem( { _T( "Save As* | saveas.png" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Save All*, Sh+^S | saveall.png") , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Close, ^W | close.png" ) , {|| oIde:executeAction( "Close" ) } } ) + oSubMenu:addItem( { _T( "Close All | closeall.png" ) , {|| oIde:executeAction( "CloseAll" ) } } ) + oSubMenu:addItem( { _T( "Close Other*| closeexcept.png" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Revert to Saved*, Sh+^R" ) , {|| oIde:executeAction( "" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Save and Exit*, Sh+^W" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Exit | exit.png" ) , {|| oIde:executeAction( "Exit" ) } } ) + + oSubMenu:addItem( { _T( "Export as HTML* | exporthtml.png" ), {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Print*, ^P | print.png" ) , {|| oIde:executeAction( "" ) } } ) + MenuAddSep( oSubMenu ) + oSubMenu:addItem( { _T( "Save and Exit*, Sh+^W" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Exit | exit.png" ) , {|| oIde:executeAction( "Exit" ) } } ) oMenuBar:addItem( { oSubMenu, NIL } ) oSubMenu := XbpMenu():new( oMenuBar ):create() oSubMenu:title := "~Edit" - oSubMenu:addItem( { _T( "Undo*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Redo*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Undo* | undo.png" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Redo* | redo.png" ) , {|| oIde:executeAction( "" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Cut*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Copy*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Paste*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Duplicate Line*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Select All*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Cut* | cut.png" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Copy* | copy.png" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Paste*| paste.png" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Duplicate Line*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Select All*" ) , {|| oIde:executeAction( "" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Find/Replace*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Go To Line...*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Find/Replace* | find.png" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Go To Line...*| gotoline.png" ) , {|| oIde:executeAction( "" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Insert*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Insert*" ) , {|| oIde:executeAction( "" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Set as Readonly*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Set as Readonly*" ) , {|| oIde:executeAction( "" ) } } ) oMenuBar:addItem( { oSubMenu, NIL } ) oSubMenu := XbpMenu():new( oMenuBar ):create() oSubMenu:title := "~Project" - oSubMenu:addItem( { _T( "Add to Project...*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Remove from Project...*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Add to Project...*| projectadd.png" ), {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Remove from Project...* | projectdel.png" ), {|| oIde:executeAction( "" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "New" ) , {|| oIde:executeAction( "NewProject" ) } } ) - oSubMenu:addItem( { _T( "Load" ) , {|| oIde:executeAction( "LoadProject" ) } } ) - oSubMenu:addItem( { _T( "Close" ) , {|| oIde:executeAction( "CloseProject" ) } } ) + oSubMenu:addItem( { _T( "New" ) , {|| oIde:executeAction( "NewProject" ) } } ) + oSubMenu:addItem( { _T( "Load" ) , {|| oIde:executeAction( "LoadProject" ) } } ) + oSubMenu:addItem( { _T( "Close" ) , {|| oIde:executeAction( "CloseProject" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Select Main Module...*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Select Main Module...* | setmain.png" ), {|| oIde:executeAction( "" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Project Properties" ) , {|| oIde:executeAction( "Properties" ) } } ) + oSubMenu:addItem( { _T( "Project Properties" ) , {|| oIde:executeAction( "Properties" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Select Current Project*" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Drop Current from Tree*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Select Current Project*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Drop Current from Tree*" ) , {|| oIde:executeAction( "" ) } } ) oMenuBar:addItem( { oSubMenu, NIL } ) oSubMenu := XbpMenu():new( oMenuBar ):create() oSubMenu:title := "~Build" - oSubMenu:addItem( { _T( "Build,^F9" ) , {|| oIde:executeAction( "SaveBuild" ) } } ) - oSubMenu:addItem( { _T( "Build and Launch, F9" ) , {|| oIde:executeAction( "SaveBuildLaunch" ) } } ) - oSubMenu:addItem( { _T( "Re-build" ) , {|| oIde:executeAction( "SaveRebuild" ) } } ) - oSubMenu:addItem( { _T( "Re-build and Launch, Sh+^F9" ) , {|| oIde:executeAction( "SaveRebuildLaunch" ) } } ) + #if 0 + oSubMenu:addItem( { _T( "Build,^F9" ) , {|| oIde:executeAction( "SaveBuild" ) } } ) + oSubMenu:addItem( { _T( "Build and Run, F9 | run.png" ) , {|| oIde:executeAction( "SaveBuildLaunch" ) } } ) + oSubMenu:addItem( { _T( "Re-build | clean.png" ) , {|| oIde:executeAction( "SaveRebuild" ) } } ) + oSubMenu:addItem( { _T( "Re-build and Run, Sh+^F9 | cleanrun.png" ), {|| oIde:executeAction( "SaveRebuildLaunch" ) } } ) + #else + oSubMenu:addItem( { _T( "Build, ^F9 | build.png" ) , {|| oIde:executeAction( "SaveBuild" ) } } ) + oSubMenu:addItem( { _T( "Build and Launch, F9 | buildlaunch.png" ), {|| oIde:executeAction( "SaveBuildLaunch" ) } } ) + oSubMenu:addItem( { _T( "Re-build | rebuild.png" ) , {|| oIde:executeAction( "SaveRebuild" ) } } ) + oSubMenu:addItem( { _T( "Re-build and Launch, Sh+^F9 | rebuildlaunch.png" ), {|| oIde:executeAction( "SaveRebuildLaunch" ) } } ) + #endif MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Save and Compile Current File") , {|| oIde:executeAction( "SaveCompileCurrent" ) } } ) - oSubMenu:addItem( { _T( "Save and Compile to PPO" ) , {|| oIde:executeAction( "CompilePPO" ) } } ) + oSubMenu:addItem( { _T( "Save and Compile Current File | compile.png"), {|| oIde:executeAction( "SaveCompileCurrent" ) } } ) + oSubMenu:addItem( { _T( "Save and Compile to PPO | ppo.png" ), {|| oIde:executeAction( "CompilePPO" ) } } ) MenuAddSep( oSubMenu ) - oSubMenu:addItem( { _T( "Run*, ^F10" ) , {|| oIde:executeAction( "" ) } } ) - oSubMenu:addItem( { _T( "Run without Debug*, Sh+^F10" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Run*, ^F10" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Run without Debug*, Sh+^F10 | runnodebug.png" ), {|| oIde:executeAction( "" ) } } ) oMenuBar:addItem( { oSubMenu, NIL } ) oSubMenu := XbpMenu():new( oMenuBar ):create() oSubMenu:title := "~CodePage" - oSubMenu:addItem( { "Apple Roman " , {|| oIde:setCodec( "Apple Roman" ) } } ) - oSubMenu:addItem( { "Big5 " , {|| oIde:setCodec( "Big5" ) } } ) - oSubMenu:addItem( { "Big5-HKSCS " , {|| oIde:setCodec( "Big5-HKSCS" ) } } ) - oSubMenu:addItem( { "CP949 " , {|| oIde:setCodec( "CP949" ) } } ) - oSubMenu:addItem( { "EUC-JP " , {|| oIde:setCodec( "EUC-JP" ) } } ) - oSubMenu:addItem( { "EUC-KR " , {|| oIde:setCodec( "EUC-KR" ) } } ) - oSubMenu:addItem( { "GB18030-0 " , {|| oIde:setCodec( "GB18030-0" ) } } ) - oSubMenu:addItem( { "IBM 850 " , {|| oIde:setCodec( "IBM 850" ) } } ) - oSubMenu:addItem( { "IBM 866 " , {|| oIde:setCodec( "IBM 866" ) } } ) - oSubMenu:addItem( { "IBM 874 " , {|| oIde:setCodec( "IBM 874" ) } } ) - oSubMenu:addItem( { "ISO 2022-JP " , {|| oIde:setCodec( "ISO 2022-JP" ) } } ) + oSubMenu:addItem( { "Apple Roman " , {|| oIde:setCodec( "Apple Roman" ) } } ) + oSubMenu:addItem( { "Big5 " , {|| oIde:setCodec( "Big5" ) } } ) + oSubMenu:addItem( { "Big5-HKSCS " , {|| oIde:setCodec( "Big5-HKSCS" ) } } ) + oSubMenu:addItem( { "CP949 " , {|| oIde:setCodec( "CP949" ) } } ) + oSubMenu:addItem( { "EUC-JP " , {|| oIde:setCodec( "EUC-JP" ) } } ) + oSubMenu:addItem( { "EUC-KR " , {|| oIde:setCodec( "EUC-KR" ) } } ) + oSubMenu:addItem( { "GB18030-0 " , {|| oIde:setCodec( "GB18030-0" ) } } ) + oSubMenu:addItem( { "IBM 850 " , {|| oIde:setCodec( "IBM 850" ) } } ) + oSubMenu:addItem( { "IBM 866 " , {|| oIde:setCodec( "IBM 866" ) } } ) + oSubMenu:addItem( { "IBM 874 " , {|| oIde:setCodec( "IBM 874" ) } } ) + oSubMenu:addItem( { "ISO 2022-JP " , {|| oIde:setCodec( "ISO 2022-JP" ) } } ) oSub1 := XbpMenu():new( oSubMenu ):create() oSub1:title := "ISO 8859-1 to 10" - oSub1:addItem( { "-1" , {|| oIde:setCodec( "ISO 8859-1" ) } } ) - oSub1:addItem( { "-2" , {|| oIde:setCodec( "ISO 8859-2" ) } } ) - oSub1:addItem( { "-3" , {|| oIde:setCodec( "ISO 8859-3" ) } } ) - oSub1:addItem( { "-4" , {|| oIde:setCodec( "ISO 8859-4" ) } } ) - oSub1:addItem( { "-5" , {|| oIde:setCodec( "ISO 8859-5" ) } } ) - oSub1:addItem( { "-6" , {|| oIde:setCodec( "ISO 8859-6" ) } } ) - oSub1:addItem( { "-7" , {|| oIde:setCodec( "ISO 8859-7" ) } } ) - oSub1:addItem( { "-8" , {|| oIde:setCodec( "ISO 8859-8" ) } } ) - oSub1:addItem( { "-9" , {|| oIde:setCodec( "ISO 8859-9" ) } } ) - oSub1:addItem( { "-10" , {|| oIde:setCodec( "ISO 8859-10" ) } } ) + oSub1:addItem( { "-1" , {|| oIde:setCodec( "ISO 8859-1" ) } } ) + oSub1:addItem( { "-2" , {|| oIde:setCodec( "ISO 8859-2" ) } } ) + oSub1:addItem( { "-3" , {|| oIde:setCodec( "ISO 8859-3" ) } } ) + oSub1:addItem( { "-4" , {|| oIde:setCodec( "ISO 8859-4" ) } } ) + oSub1:addItem( { "-5" , {|| oIde:setCodec( "ISO 8859-5" ) } } ) + oSub1:addItem( { "-6" , {|| oIde:setCodec( "ISO 8859-6" ) } } ) + oSub1:addItem( { "-7" , {|| oIde:setCodec( "ISO 8859-7" ) } } ) + oSub1:addItem( { "-8" , {|| oIde:setCodec( "ISO 8859-8" ) } } ) + oSub1:addItem( { "-9" , {|| oIde:setCodec( "ISO 8859-9" ) } } ) + oSub1:addItem( { "-10" , {|| oIde:setCodec( "ISO 8859-10" ) } } ) oSubMenu:addItem( { oSub1, NIL } ) oSub1 := XbpMenu():new( oSubMenu ):create() oSub1:title := "ISO 8859-13 to 16" - oSub1:addItem( { "-13" , {|| oIde:setCodec( "ISO 8859-13" ) } } ) - oSub1:addItem( { "-14" , {|| oIde:setCodec( "ISO 8859-14" ) } } ) - oSub1:addItem( { "-15" , {|| oIde:setCodec( "ISO 8859-15" ) } } ) - oSub1:addItem( { "-16" , {|| oIde:setCodec( "ISO 8859-16" ) } } ) + oSub1:addItem( { "-13" , {|| oIde:setCodec( "ISO 8859-13" ) } } ) + oSub1:addItem( { "-14" , {|| oIde:setCodec( "ISO 8859-14" ) } } ) + oSub1:addItem( { "-15" , {|| oIde:setCodec( "ISO 8859-15" ) } } ) + oSub1:addItem( { "-16" , {|| oIde:setCodec( "ISO 8859-16" ) } } ) oSubMenu:addItem( { oSub1, NIL } ) //oSubMenu:addItem( { "Iscii " , {|| oIde:setCodec( "Iscii" ) } } ) //-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, Tml oSub1 := XbpMenu():new( oSubMenu ):create() oSub1:title := "Iscii" - oSub1:addItem( { "-Bng" , {|| oIde:setCodec( "Iscii-Bng" ) } } ) - oSub1:addItem( { "-Dev" , {|| oIde:setCodec( "Iscii-Dev" ) } } ) - oSub1:addItem( { "-Gjr" , {|| oIde:setCodec( "Iscii-Gjr" ) } } ) - oSub1:addItem( { "-Knd" , {|| oIde:setCodec( "Iscii-Knd" ) } } ) - oSub1:addItem( { "-Mlm" , {|| oIde:setCodec( "Iscii-Mlm" ) } } ) - oSub1:addItem( { "-Ori" , {|| oIde:setCodec( "Iscii-Ori" ) } } ) - oSub1:addItem( { "-Pnj" , {|| oIde:setCodec( "Iscii-Pnj" ) } } ) - oSub1:addItem( { "-Tlg" , {|| oIde:setCodec( "Iscii-Tlg" ) } } ) - oSub1:addItem( { "-Tml" , {|| oIde:setCodec( "Iscii-Tml" ) } } ) + oSub1:addItem( { "-Bng" , {|| oIde:setCodec( "Iscii-Bng" ) } } ) + oSub1:addItem( { "-Dev" , {|| oIde:setCodec( "Iscii-Dev" ) } } ) + oSub1:addItem( { "-Gjr" , {|| oIde:setCodec( "Iscii-Gjr" ) } } ) + oSub1:addItem( { "-Knd" , {|| oIde:setCodec( "Iscii-Knd" ) } } ) + oSub1:addItem( { "-Mlm" , {|| oIde:setCodec( "Iscii-Mlm" ) } } ) + oSub1:addItem( { "-Ori" , {|| oIde:setCodec( "Iscii-Ori" ) } } ) + oSub1:addItem( { "-Pnj" , {|| oIde:setCodec( "Iscii-Pnj" ) } } ) + oSub1:addItem( { "-Tlg" , {|| oIde:setCodec( "Iscii-Tlg" ) } } ) + oSub1:addItem( { "-Tml" , {|| oIde:setCodec( "Iscii-Tml" ) } } ) oSubMenu:addItem( { oSub1, NIL } ) - oSubMenu:addItem( { "JIS X 0201 " , {|| oIde:setCodec( "JIS X 0201" ) } } ) - oSubMenu:addItem( { "JIS X 0208 " , {|| oIde:setCodec( "JIS X 0208" ) } } ) - oSubMenu:addItem( { "KOI8-R " , {|| oIde:setCodec( "KOI8-R" ) } } ) - oSubMenu:addItem( { "KOI8-U " , {|| oIde:setCodec( "KOI8-U" ) } } ) - oSubMenu:addItem( { "MuleLao-1 " , {|| oIde:setCodec( "MuleLao-1" ) } } ) - oSubMenu:addItem( { "ROMAN8 " , {|| oIde:setCodec( "ROMAN8" ) } } ) - oSubMenu:addItem( { "Shift-JIS " , {|| oIde:setCodec( "Shift-JIS" ) } } ) - oSubMenu:addItem( { "TIS-620 " , {|| oIde:setCodec( "TIS-620" ) } } ) - oSubMenu:addItem( { "TSCII " , {|| oIde:setCodec( "TSCII" ) } } ) - oSubMenu:addItem( { "UTF-8 " , {|| oIde:setCodec( "UTF-8" ) } } ) - oSubMenu:addItem( { "UTF-16 " , {|| oIde:setCodec( "UTF-16" ) } } ) - oSubMenu:addItem( { "UTF-16BE " , {|| oIde:setCodec( "UTF-16BE" ) } } ) - oSubMenu:addItem( { "UTF-16LE " , {|| oIde:setCodec( "UTF-16LE" ) } } ) - oSubMenu:addItem( { "UTF-32 " , {|| oIde:setCodec( "UTF-32" ) } } ) - oSubMenu:addItem( { "UTF-32BE " , {|| oIde:setCodec( "UTF-32BE" ) } } ) - oSubMenu:addItem( { "UTF-32LE " , {|| oIde:setCodec( "UTF-32LE" ) } } ) + oSubMenu:addItem( { "JIS X 0201 " , {|| oIde:setCodec( "JIS X 0201" ) } } ) + oSubMenu:addItem( { "JIS X 0208 " , {|| oIde:setCodec( "JIS X 0208" ) } } ) + oSubMenu:addItem( { "KOI8-R " , {|| oIde:setCodec( "KOI8-R" ) } } ) + oSubMenu:addItem( { "KOI8-U " , {|| oIde:setCodec( "KOI8-U" ) } } ) + oSubMenu:addItem( { "MuleLao-1 " , {|| oIde:setCodec( "MuleLao-1" ) } } ) + oSubMenu:addItem( { "ROMAN8 " , {|| oIde:setCodec( "ROMAN8" ) } } ) + oSubMenu:addItem( { "Shift-JIS " , {|| oIde:setCodec( "Shift-JIS" ) } } ) + oSubMenu:addItem( { "TIS-620 " , {|| oIde:setCodec( "TIS-620" ) } } ) + oSubMenu:addItem( { "TSCII " , {|| oIde:setCodec( "TSCII" ) } } ) + oSubMenu:addItem( { "UTF-8 " , {|| oIde:setCodec( "UTF-8" ) } } ) + oSubMenu:addItem( { "UTF-16 " , {|| oIde:setCodec( "UTF-16" ) } } ) + oSubMenu:addItem( { "UTF-16BE " , {|| oIde:setCodec( "UTF-16BE" ) } } ) + oSubMenu:addItem( { "UTF-16LE " , {|| oIde:setCodec( "UTF-16LE" ) } } ) + oSubMenu:addItem( { "UTF-32 " , {|| oIde:setCodec( "UTF-32" ) } } ) + oSubMenu:addItem( { "UTF-32BE " , {|| oIde:setCodec( "UTF-32BE" ) } } ) + oSubMenu:addItem( { "UTF-32LE " , {|| oIde:setCodec( "UTF-32LE" ) } } ) //oSubMenu:addItem( { "Windows " , {|| oIde:setCodec( "Windows" ) } } ) //-1250 to 1258 oSub1 := XbpMenu():new( oSubMenu ):create() oSub1:title := "Windows-1250 to 1258" - oSub1:addItem( { "-1250" , {|| oIde:setCodec( "Windows-1250" ) } } ) - oSub1:addItem( { "-1251" , {|| oIde:setCodec( "Windows-1251" ) } } ) - oSub1:addItem( { "-1252" , {|| oIde:setCodec( "Windows-1252" ) } } ) - oSub1:addItem( { "-1253" , {|| oIde:setCodec( "Windows-1253" ) } } ) - oSub1:addItem( { "-1254" , {|| oIde:setCodec( "Windows-1254" ) } } ) - oSub1:addItem( { "-1255" , {|| oIde:setCodec( "Windows-1255" ) } } ) - oSub1:addItem( { "-1256" , {|| oIde:setCodec( "Windows-1256" ) } } ) - oSub1:addItem( { "-1257" , {|| oIde:setCodec( "Windows-1257" ) } } ) - oSub1:addItem( { "-1258" , {|| oIde:setCodec( "Windows-1258" ) } } ) + oSub1:addItem( { "-1250" , {|| oIde:setCodec( "Windows-1250" ) } } ) + oSub1:addItem( { "-1251" , {|| oIde:setCodec( "Windows-1251" ) } } ) + oSub1:addItem( { "-1252" , {|| oIde:setCodec( "Windows-1252" ) } } ) + oSub1:addItem( { "-1253" , {|| oIde:setCodec( "Windows-1253" ) } } ) + oSub1:addItem( { "-1254" , {|| oIde:setCodec( "Windows-1254" ) } } ) + oSub1:addItem( { "-1255" , {|| oIde:setCodec( "Windows-1255" ) } } ) + oSub1:addItem( { "-1256" , {|| oIde:setCodec( "Windows-1256" ) } } ) + oSub1:addItem( { "-1257" , {|| oIde:setCodec( "Windows-1257" ) } } ) + oSub1:addItem( { "-1258" , {|| oIde:setCodec( "Windows-1258" ) } } ) oSubMenu:addItem( { oSub1, NIL } ) - oSubMenu:addItem( { "WINSAMI2 " , {|| oIde:setCodec( "WINSAMI2" ) } } ) + oSubMenu:addItem( { "WINSAMI2 " , {|| oIde:setCodec( "WINSAMI2" ) } } ) oMenuBar:addItem( { oSubMenu, NIL } ) oSubMenu := XbpMenu():new( oMenuBar ):create() oSubMenu:title := "~Tools" - oSubMenu:addItem( { _T( "Configure Tools...*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Configure Tools...*" ) , {|| oIde:executeAction( "" ) } } ) MenuAddSep( oSubMenu ) // TODO: Load custom TOOLS LINK from .INI file #ifdef __PLATFORM__WINDOWS - oSubMenu:addItem( { _T( "Command Prompt...*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Command Prompt...*" ) , {|| oIde:executeAction( "" ) } } ) #else - oSubMenu:addItem( { _T( "Terminal" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "Terminal" ) , {|| oIde:executeAction( "" ) } } ) #endif oMenuBar:addItem( { oSubMenu, NIL } ) oSubMenu := XbpMenu():new( oMenuBar ):create() oSubMenu:title := "~Help" - oSubMenu:addItem( { _T( "About...*" ) , {|| oIde:executeAction( "" ) } } ) + oSubMenu:addItem( { _T( "About...*" ) , {|| oIde:executeAction( "" ) } } ) oMenuBar:addItem( { oSubMenu, NIL } ) Return Nil diff --git a/harbour/contrib/hbide/idedocks.prg b/harbour/contrib/hbide/idedocks.prg index 405ba42f3b..31de1b4b71 100644 --- a/harbour/contrib/hbide/idedocks.prg +++ b/harbour/contrib/hbide/idedocks.prg @@ -350,32 +350,24 @@ METHOD IdeDocks:buildOutputResults() /*----------------------------------------------------------------------*/ METHOD IdeDocks:outputDoubleClicked( lSelected ) - LOCAL qCursor, cText, n, cSource, nLine, cLine + LOCAL qCursor, cText + LOCAL cSource, nLine IF lSelected ::nPass++ IF ::nPass == 1 qCursor := QTextCursor():configure( ::oOutputResult:oWidget:textCursor() ) cText := QTextBlock():configure( qCursor:block() ):text() - IF ( n := at( "Error", cText ) ) > 0 - cLine := alltrim( substr( cText, 1, n - 1 ) ) - ELSEIF ( n := at( "Warning", cText ) ) > 0 - cLine := alltrim( substr( cText, 1, n - 1 ) ) - ENDIF - IF !empty( cLine ) - IF ( n := at( "(", cLine ) ) > 0 - cSource := alltrim( substr( cLine, 1, n - 1 ) ) - cLine := substr( cLine, n + 1 ) - n := at( ")", cLine ) - nLine := val( substr( cLine, 1, n - 1 ) ) - ::oIde:editSource( cSource ) - qCursor := QTextCursor():configure( ::oIde:qCurEdit:textCursor() ) - qCursor:setPosition( 0 ) - qCursor:movePosition( QTextCursor_Down, QTextCursor_MoveAnchor, nLine ) - ::oIde:qCurEdit:setTextCursor( qCursor ) - ELSE - nLine := 0 - ENDIF + + IF ParseFNfromStatusMsg( cText, @cSource, @nLine, .T. ) + ::oIde:editSource( cSource ) + qCursor := QTextCursor():configure( ::oIde:qCurEdit:textCursor() ) + nLine := iif( nLine < 1, 0, nLine - 1 ) + + qCursor:setPosition( 0 ) + qCursor:movePosition( QTextCursor_Down, QTextCursor_MoveAnchor, nLine ) + ::oIde:qCurEdit:setTextCursor( qCursor ) + ::oIde:manageFocusInEditor() ENDIF ENDIF IF ::nPass >= 2 diff --git a/harbour/contrib/hbide/idemisc.prg b/harbour/contrib/hbide/idemisc.prg index cbb2e70971..6fe9540cf5 100644 --- a/harbour/contrib/hbide/idemisc.prg +++ b/harbour/contrib/hbide/idemisc.prg @@ -71,6 +71,8 @@ #include "hbide.ch" +STATIC aRegList + /*----------------------------------------------------------------------*/ PROCEDURE AppSys() @@ -464,9 +466,120 @@ FUNCTION PathNormalized( cPath, lLower ) RETURN IF( lLower, lower( s ), s ) /*----------------------------------------------------------------------*/ +/* + * This function fills an array with the list of regular expressions that will + * identify the errors messages retrieved from during the build process. + * 29/12/2009 - 12:43:26 - vailtom + */ +#define MSG_TYPE_ERR 1 +#define MSG_TYPE_INFO 2 +#define MSG_TYPE_WARN 3 + +#define CLR_MSG_ERR 'red' +#define CLR_MSG_INFO 'brown' +#define CLR_MSG_WARN 'blue' + +STATIC ; +FUNCTION BuildRegExpressList( aRegList ) + AAdd( aRegList, { MSG_TYPE_WARN, hb_RegexComp( ".*: warning.*" ) }) + AAdd( aRegList, { MSG_TYPE_WARN, hb_RegexComp( ".*\) Warning W.*" ) }) + AAdd( aRegList, { MSG_TYPE_WARN, hb_RegexComp( "^Warning W([0-9]+).*" ) }) + + AAdd( aRegList, { MSG_TYPE_ERR , hb_RegexComp( ".*: error.*" ) }) + AAdd( aRegList, { MSG_TYPE_ERR , hb_RegexComp( ".*\) Error E.*" ) }) + AAdd( aRegList, { MSG_TYPE_ERR , hb_RegexComp( "^Error E([0-9]+).*" ) }) + AAdd( aRegList, { MSG_TYPE_ERR , hb_RegexComp( "^Error: ." ) }) + AAdd( aRegList, { MSG_TYPE_ERR , hb_RegexComp( ".*:([0-9]+):([\w|\s]*)error.*" ) }) + AAdd( aRegList, { MSG_TYPE_ERR , hb_RegexComp( ".*:\(\.\w+\+.*\):.*" ) }) + AAdd( aRegList, { MSG_TYPE_ERR , hb_RegexComp( ".*: fatal\s.*" ) }) + + AAdd( aRegList, { MSG_TYPE_INFO, hb_RegexComp( ".*: note.*" ) }) + AAdd( aRegList, { MSG_TYPE_INFO, hb_RegexComp( ".*: In function '.*" ) }) + AAdd( aRegList, { MSG_TYPE_INFO, hb_RegexComp( "^(\s*).*\s: see.*" ) }) + RETURN NIL + +/* + * Catch source file name & line error from an msg status from compiler result. + * 29/12/2009 - 13:22:29 - vailtom + */ +FUNCTION ParseFNfromStatusMsg( cText, cFileName, nLine, lValidText ) + LOCAL regLineN := hb_RegexComp( ".*(\(([0-9]+)\)|:([0-9]+):|\s([0-9]+):).*" ) + LOCAL aList + LOCAL nPos + + DEFAULT lValidText TO .T. + + cFileName := '' + nLine := 0 + + * Validate if current text is a error/warning/info message. + * 29/12/2009 - 22:51:39 - vailtom + IF lValidText + nPos := aScan( aRegList, {| reg | !Empty( hb_RegEx( reg[ 2 ], cText ) ) } ) + + IF ( nPos <= 0 ) + RETURN .F. + End + End + + aList := hb_RegEx( regLineN, cText ) + + IF !Empty(aList) + nLine := alltrim( aList[2] ) + cText := Substr( cText, 1, At( nLine, cText ) -1 ) + cText := alltrim( cText ) + '(' + + nLine := strtran( nLine, ":", "" ) + nLine := strtran( nLine, "(", "" ) + nLine := strtran( nLine, ")", "" ) + nLine := VAL( alltrim( nLine ) ) + End + + IF (nPos := hb_At( '(', cText )) > 0 + cFileName := alltrim( Subst( cText, 1, nPos -1 ) ) + ELSE + IF (nPos := At( 'referenced from', Lower( cText ) )) <> 00 + cFileName := Subst( cText, nPos + Len( 'referenced from' ) ) + ELSE + * GCC & MSVC filename detect... + IF Subst( cText, 2, 1 ) == ':' + nPos := hb_At( ':', cText, 3 ) + ELSE + nPos := hb_At( ':', cText ) + End + IF nPos <> 00 + cFileName := Subst( cText, 1, nPos-1 ) + End + End + End + + cFileName := strtran( cFileName, "(", "" ) + cFileName := strtran( cFileName, ")", "" ) + cFileName := alltrim( cFileName ) + + cFileName := strtran( cFileName, "\\", "/" ) && Fix for the BCC + cFileName := strtran( cFileName, "\" , "/" ) + + IF (nPos := Rat( ' ', cFileName )) <> 00 + cFileName := Subst( cFileName, nPos+1 ) + End + + IF Subst( cFileName, 2, 1 ) == ':' + nPos := hb_At( ':', cFileName, 3 ) + ELSE + nPos := hb_At( ':', cFileName ) + End + + IF nPos <> 00 + cFileName := Subst( cFileName, 1, nPos-1 ) + End + + cFileName := alltrim( cFileName ) + RETURN !Empty( cFileName ) + /* * This function parses compiler result and hightlight errors & warnings using - * regular expressions. + * regular expressions. (vailtom) * * More about Qt Color names: * http://www.w3.org/TR/SVG/types.html#ColorKeywords @@ -474,10 +587,15 @@ FUNCTION PathNormalized( cPath, lLower ) * 28/12/2009 - 16:17:37 */ FUNCTION ConvertBuildStatusMsgToHtml( cText, oWidget ) + LOCAL aColors := { CLR_MSG_ERR, CLR_MSG_INFO, CLR_MSG_WARN } LOCAL aLines LOCAL cLine - LOCAL aRegWarns := {} - LOCAL aRegErrors := {} + LOCAL nPos + + IF aRegList == NIL + aRegList := {} + BuildRegExpressList( aRegList ) + End oWidget:clear() @@ -499,21 +617,16 @@ FUNCTION ConvertBuildStatusMsgToHtml( cText, oWidget ) cText := '
'
    oWidget:insertHTML( cText )
 
-   AAdd( aRegWarns, hb_RegexComp( ".*: warning.*" ) )
-   AAdd( aRegWarns, hb_RegexComp( ".*\) Warning W.*" ) )
-
-   AAdd( aRegErrors, hb_RegexComp( ".*: error.*" ) )
-   AAdd( aRegErrors, hb_RegexComp( ".*\) Error E.*" ) )
 
    FOR EACH cLine IN aLines
-      IF Empty( cLine )
-         *
-      ELSEIF aScan( aRegWarns,   {| reg | !Empty( hb_RegEx( reg, cLine ) ) } ) > 0
-         cLine := '' + cLine + ''
 
-      ELSEIF aScan( aRegErrors, {| reg | !Empty( hb_RegEx( reg, cLine ) ) } ) > 0
-         cLine := '' + cLine + ''
+      IF !Empty( cLine )
+         nPos := aScan( aRegList, {| reg | !Empty( hb_RegEx( reg[ 2 ], cLine ) ) } )
 
+         IF ( nPos > 0 )
+            cLine := '' +;
+                      cLine + ''
+         End
       ENDIF
 
       oWidget:append( cLine )
@@ -523,6 +636,7 @@ FUNCTION ConvertBuildStatusMsgToHtml( cText, oWidget )
 
    cText += '
' + oWidget:insertHTML( '' ) RETURN cText /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbide/idestylesheets.prg b/harbour/contrib/hbide/idestylesheets.prg index c3f10254d6..823c55603e 100644 --- a/harbour/contrib/hbide/idestylesheets.prg +++ b/harbour/contrib/hbide/idestylesheets.prg @@ -69,86 +69,173 @@ /*----------------------------------------------------------------------*/ FUNCTION GetStyleSheet( cWidget ) - LOCAL s := "" + LOCAL txt_:= {} + LOCAL s := "" DO CASE + CASE cWidget == "QMenu" + + aadd( txt_, ' QMenu { ' ) + aadd( txt_, ' background-color: white; ' ) + aadd( txt_, ' margin: 2px; /* some spacing around the menu */ ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::item { ' ) + aadd( txt_, ' padding: 2px 25px 2px 20px; ' ) + aadd( txt_, ' border: 1px solid transparent; /* reserve space for selection border */ ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::item:selected { ' ) + aadd( txt_, ' border-color: darkblue; ' ) + aadd( txt_, ' background: rgba(100, 100, 100, 150); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::icon:checked { /* appearance of a "checked" icon */ ' ) + aadd( txt_, ' background: gray; ' ) + aadd( txt_, ' border: 1px inset gray; ' ) + aadd( txt_, ' position: absolute; ' ) + aadd( txt_, ' top: 1px; ' ) + aadd( txt_, ' right: 1px; ' ) + aadd( txt_, ' bottom: 1px; ' ) + aadd( txt_, ' left: 1px; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::separator { ' ) + aadd( txt_, ' height: 2px; ' ) + aadd( txt_, ' background: lightblue; ' ) + aadd( txt_, ' margin-left: 10px; ' ) + aadd( txt_, ' margin-right: 5px; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator { ' ) + aadd( txt_, ' width: 13px; ' ) + aadd( txt_, ' height: 13px; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator:non-exclusive:unchecked { ' ) + aadd( txt_, ' image: url(:/images/checkbox_unchecked.png); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator:non-exclusive:unchecked:selected { ' ) + aadd( txt_, ' image: url(:/images/checkbox_unchecked_hover.png); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator:non-exclusive:checked { ' ) + aadd( txt_, ' image: url(:/images/checkbox_checked.png); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator:non-exclusive:checked:selected { ' ) + aadd( txt_, ' image: url(:/images/checkbox_checked_hover.png); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator:exclusive:unchecked { ' ) + aadd( txt_, ' image: url(:/images/radiobutton_unchecked.png); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator:exclusive:unchecked:selected { ' ) + aadd( txt_, ' image: url(:/images/radiobutton_unchecked_hover.png); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator:exclusive:checked { ' ) + aadd( txt_, ' image: url(:/images/radiobutton_checked.png); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QMenu::indicator:exclusive:checked:selected { ' ) + aadd( txt_, ' image: url(:/images/radiobutton_checked_hover.png); ' ) + aadd( txt_, ' } ' ) + + CASE cWidget == "QMenuBar" + + aadd( txt_, 'QMenuBar { ' ) + aadd( txt_, ' background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, ' ) + aadd( txt_, ' stop:0 lightgray, stop:1 darkgray); ' ) + aadd( txt_, '} ' ) + aadd( txt_, 'QMenuBar::item { ' ) + aadd( txt_, ' spacing: 3px; /* spacing between menu bar items */ ' ) + aadd( txt_, ' padding: 1px 4px; ' ) + aadd( txt_, ' background: transparent; ' ) + aadd( txt_, ' border-radius: 4px; ' ) + aadd( txt_, '} ' ) + aadd( txt_, 'QMenuBar::item:selected { /* when selected using mouse or keyboard */ ' ) + aadd( txt_, ' background: #a8a8a8; ' ) + aadd( txt_, '} ' ) + aadd( txt_, 'QMenuBar::item:pressed { ' ) + aadd( txt_, ' background: #888888; ' ) + aadd( txt_, '} ' ) + + CASE cWidget == "QToolBar" + + aadd( txt_, 'QToolBar { ' ) + aadd( txt_, ' height: 24; ' ) + aadd( txt_, ' spacing: 3px; /* spacing between items in the tool bar */ ' ) + aadd( txt_, ' } ' ) + CASE cWidget == "QTreeWidget" - s += " QTreeWidget {" +; - " alternate-background-color: yellow;" +; - " }" +; - " QTreeWidget {" +; - " show-decoration-selected: 1;" +; - " }" +; - " QTreeWidget::item:alternate {" +; - " background: #EEEEEE;" +; - " }" +; - " QTreeWidget::item:selected {" +; - " border: 1px solid #6a6ea9;" +; - " }" +; - " QTreeWidget::item:selected:!active {" +; - " background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," +; - " stop: 0 #ABAFE5, stop: 1 #8588B2);" +; - " }" +; - " QTreeWidget::item:selected:active {" +; - " background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," +; - " stop: 0 #6a6ea9, stop: 1 #888dd9);" +; - " }" +; - " QTreeWidget::item:hover {" +; - " background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," +; - " stop: 0 #FAFBFE, stop: 1 #DCDEF1);" +; - "}" +; - " QTreeWidget {" +; - " background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0," +; - " stop: 0 rgba(173, 173, 173, 255), stop:1 rgba(255, 255, 255, 255));" +; - "}" + aadd( txt_, ' QTreeWidget { ' ) + aadd( txt_, ' alternate-background-color: yellow; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QTreeWidget { ' ) + aadd( txt_, ' show-decoration-selected: 1; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QTreeWidget::item:alternate { ' ) + aadd( txt_, ' background: #EEEEEE; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QTreeWidget::item:selected { ' ) + aadd( txt_, ' border: 1px solid #6a6ea9; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QTreeWidget::item:selected:!active { ' ) + aadd( txt_, ' background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, ' ) + aadd( txt_, ' stop: 0 #ABAFE5, stop: 1 #8588B2); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QTreeWidget::item:selected:active { ' ) + aadd( txt_, ' background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, ' ) + aadd( txt_, ' stop: 0 #6a6ea9, stop: 1 #888dd9); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QTreeWidget::item:hover { ' ) + aadd( txt_, ' background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, ' ) + aadd( txt_, ' stop: 0 #FAFBFE, stop: 1 #DCDEF1); ' ) + aadd( txt_, '} ' ) + aadd( txt_, ' QTreeWidget { ' ) + aadd( txt_, ' background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, ' ) + aadd( txt_, ' stop: 0 rgba(173, 173, 173, 255), stop:1 rgba(255, 255, 255, 255)); ' ) + aadd( txt_, '} ' ) CASE cWidget == "QListView" - s += "" +; - " QListView {" +; - " alternate-background-color: yellow;" +; - " }" +; - " QListView {" +; - " show-decoration-selected: 1;" +; - " }" +; - " QListView::item:alternate {" +; - " background: #EEEEEE;" +; - " }" +; - " QListView::item:selected {" +; - " border: 1px solid #6a6ea9;" +; - " }" +; - " QListView::item:selected:!active {" +; - " background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," +; - " stop: 0 #ABAFE5, stop: 1 #8588B2);" +; - " }" +; - " QListView::item:selected:active {" +; - " background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," +; - " stop: 0 #6a6ea9, stop: 1 #888dd9);" +; - " }" +; - " QListView::item:hover {" +; - " background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1," +; - " stop: 0 #FAFBFE, stop: 1 #DCDEF1);" +; - "}" +; - " QListView {" +; - " background: qlineargradient(spread:pad, x1:0.755727, y1:0.864, x2:1, y2:0," +; - " stop:0 rgba(214, 209, 142, 255), stop:1 rgba(255, 255, 255, 255));" +; - "}" + aadd( txt_, ' QListView { ' ) + aadd( txt_, ' alternate-background-color: yellow; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QListView { ' ) + aadd( txt_, ' show-decoration-selected: 1; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QListView::item:alternate { ' ) + aadd( txt_, ' background: #EEEEEE; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QListView::item:selected { ' ) + aadd( txt_, ' border: 1px solid #6a6ea9; ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QListView::item:selected:!active { ' ) + aadd( txt_, ' background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, ' ) + aadd( txt_, ' stop: 0 #ABAFE5, stop: 1 #8588B2); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QListView::item:selected:active { ' ) + aadd( txt_, ' background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, ' ) + aadd( txt_, ' stop: 0 #6a6ea9, stop: 1 #888dd9); ' ) + aadd( txt_, ' } ' ) + aadd( txt_, ' QListView::item:hover { ' ) + aadd( txt_, ' background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, ' ) + aadd( txt_, ' stop: 0 #FAFBFE, stop: 1 #DCDEF1); ' ) + aadd( txt_, '} ' ) + aadd( txt_, ' QListView { ' ) + aadd( txt_, ' background: qlineargradient(spread:pad, x1:0.755727, y1:0.864, x2:1, y2:0,' ) + aadd( txt_, ' stop:0 rgba(214, 209, 142, 255), stop:1 rgba(255, 255, 255, 255));' ) + aadd( txt_, '} ' ) CASE cWidget == "QMainWindow" - s += "QMainWindow::separator {" +; - " background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0," +; - " stop: 0 rgba(123, 123, 123, 255), stop:1 rgba(255, 255, 255, 255));" +; - " width: 6px; /* when vertical */" +; - " height: 6px; /* when horizontal */" +; - "}" +; - "QMainWindow::separator:hover {" +; - " background: red;" +; - "}" + aadd( txt_, 'QMainWindow::separator { ' ) + aadd( txt_, ' background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, ' ) + aadd( txt_, ' stop: 0 rgba(123, 123, 123, 255), stop:1 rgba(255, 255, 255, 255)); ' ) + aadd( txt_, ' width: 6px; /* when vertical */ ' ) + aadd( txt_, ' height: 6px; /* when horizontal */ ' ) + aadd( txt_, '} ' ) + aadd( txt_, 'QMainWindow::separator:hover { ' ) + aadd( txt_, ' background: red; ' ) + aadd( txt_, '} ' ) + ENDCASE + aeval( txt_, {|e| s += trim( e ) + chr( 13 ) + chr( 10 ) } ) + RETURN s /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbide/resources/Lookup.png b/harbour/contrib/hbide/resources/Lookup.png new file mode 100644 index 0000000000000000000000000000000000000000..427b50bad1c6b3a6f5dbeac53b820e6027aa819c GIT binary patch literal 555 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 delta 123 zcmbO%*2$>Y8Q|y6%O%Cdz`(%k>ERLtq(wlOgAGXbcFOWjR1^3Z|<|ZZyp?&^yzOgm2XdaBK~{HG(9Ny&X-V`4~q W5K<#oth5Yh9)qW=pUXO@geCyR7bNch diff --git a/harbour/contrib/hbide/resources/builderror.png b/harbour/contrib/hbide/resources/builderror.png index 39ade9f6a13b0d21fdbee8ea7fe98455c03a4f01..e11c1e42d15ce2995eb751c8e3ca92c2c55260b5 100644 GIT binary patch literal 3642 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 delta 180 zcmdlbbC6N7Gr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3=~~Q0(dA7-G?zobcoS z{Ki!?)Y!~qEI#aCxUkWP$AmdiA)p~>dE?my+Zq$X5AiJFax)WP{qwIu`Y}TUuMLBU z0(-K#!2H!62O@Y?Zny5>QIV*-acEMW-jb?Kk!7!#Z+1#85ntUn<$>Z0r&VrTdwiBK eEvxF}WjN@IV diff --git a/harbour/contrib/hbide/resources/clean.png b/harbour/contrib/hbide/resources/clean.png new file mode 100644 index 0000000000000000000000000000000000000000..f24b5fde9c0629e45845d09788fb402eedcbfc23 GIT binary patch literal 602 zcmV-g0;T2*&InJCDH&XOSo4Ra{f*~W=!Unavi6mTW(5f3RV?kFzH{AvibTOjUjSE_7 z5DxMuGfG>tZpIiZL)7-`&pgimbF@6iV>b;#2gf~^?*|XOFCXfBbnEumNVmOD!34g1 z&&J_^pz0&tH_qz&&(UmcbU?+oe_l-&4899?pvWTkjT_4l_I6QU^+9P=|8Dc z;JOL2lx?@zmOtz#;57y=_oq!peC$3WXlGGW2pERKA(7~g`-yR~r3!n@JiKPTa&ho# zl1Kqb#DVc|G4)Zc4a1NbgK73Fr(n!vlo|BMGu>g<)VUl-1QVx0j;jE}+8~pOe`M+M z^!5(3(zL-Ip-{N&^@m?8ab@Swb;B@@_kg5J0Vt0T#RAbwSEvcD$AXh|}k_jTsuryGmG*G1s)F={`g3R3X)0YlTf#tb1 zvz;Knl?q8nB{!fz5a3yiIe)~2Qvm-yk&Ebh!PnbWy%gQZrUJprgHQ~4>~hZ1Een1| oDaYEcM1F0DdFS!^Qvcun0v*}w-_c3(SO5S307*qoM6N<$f{CUcV*mgE literal 0 HcmV?d00001 diff --git a/harbour/contrib/hbide/resources/cleanrun.png b/harbour/contrib/hbide/resources/cleanrun.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc33fb949c221882b77ac5c9a1f782069ceeed7 GIT binary patch literal 3465 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 literal 0 HcmV?d00001 diff --git a/harbour/contrib/hbide/resources/close.png b/harbour/contrib/hbide/resources/close.png index b8c56a5ea717d24f1cdf59c84339c80905bc4043..09f86ebd1c341a3b53714d1d2ccd1f6d6635084a 100644 GIT binary patch literal 3134 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 diff --git a/harbour/contrib/hbide/resources/closeall.png b/harbour/contrib/hbide/resources/closeall.png new file mode 100644 index 0000000000000000000000000000000000000000..544fd70fb9e172f23202511f054e10b75a15279e GIT binary patch literal 3154 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 literal 0 HcmV?d00001 diff --git a/harbour/contrib/hbide/resources/closeexcept.png b/harbour/contrib/hbide/resources/closeexcept.png new file mode 100644 index 0000000000000000000000000000000000000000..d00106b5f06dfae6bc7745c5a5f1288b1fb25930 GIT binary patch literal 3138 zcmV-I488M-P)pPPiaF#P*7-ZbZ>KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004PNklYCpJ(Cn9KyqO0$Zxnh$@jodkFg^~+3{b2Y4K;|p8{KmXXLMex|0)t7+*&? zNPxsy;h^qb@9(h?BO%1|GK;d?WxrZtbj0Y+iO#+PF>=aV2>30$2V&R*1pBtO9W;Z{ z7*QDMPx+4lf`u^bcm-?whLL`kePH$5D_{p9Zo?^0PMDl9I>A|u8#LA^2BR3Bn=I=k zFc?kr0^2UllYs9p(;Jv8;#A^oPT$s_fv{?}Sut7xuVL+Wd3nm?gWw8um!Wmfy!cB% z6k%03D=hP6`XNsbg3DQSN>gRbi)Xq9j40M=58%};d%Ur)>YO6mV3Iq_8$7NfJc z5(-~E>&F1lcKu1BKA$pI04Pm8VX(V*J$wRu9((xsa_hrj+`j%k?w$|b00^2xTOi>U zTg<8_i$_qyc+^WnA9E&hZgXf7iZNXf!b3rC5YJOI%VgGZLtC4Ky}vM?I3)#@%w#4? zok%%Dw#M@&CF*T_;^5hG=v%L;){~8q%Z6#S&8kCm{U}*GIdztvjF}vYx*W=N<6Bf; zckl9=xJCpezwg!E^{zaRFZhVSX}F5YZQgdWPk<NnnwxPLpM5t(@ z_JH&|hU6$lpb?S+Edd%jL@0EQpam!-0ggj1&a2?A7;qGNzA*t%=+oR#B4GQHhl!{# z9dO@ti`N1k%AjiWUZOTYNCHN8!)`?|BL*b(t=#oMZ6j#M(Nom{a%v!H79S%5NJ4>Q zKObKZh|UF!ItNxNKW^91Z$hp}<<_ZS`4zPzY{|v^$gHfyxrA~0EVmiuovu0MX^3|Q z=dwyi$kKf~90s5;o$1Q$;YARRwg!ijPr=YSh;4r+CGa{suU@W?R{ClHupAIRb}1@R z&xTSaMR{Mo5!fT~xKCC1uz7XjV7$>-{EQy{Gt1Zca+6QVxq3L2}_AbOf4Tb0t0qrX% z035XVbbJ*iCq{WhEsq8g_SG+R3k3kmUH^q20Qa@{#o>eX>V4z@Xcb04YBkx9I&O)! zlX7%ipYNbLca)EY@^^Pa>7kUaC=P!|k*Y|jaO_AeC&W?Ws|KfRyO~F9hA*vnr)3kZ zsxRGdC-Q<0;noNW63u?{n@&7)@kGvv2)-0@mfV;Un)K5=2F#QeUk0pZ;{D#Ka>>j?Sg)|BTA9sGW3DBin_9wt@d6OaZAFn z%jkzd5{3xvb_#itKq$8pm!=-V2w^g#SH{i3FMDH-LV1q(qhRxmU){Hy zrKRE!dZK(&45>FI=tJXS-3t5+2{36PY}z&b5AWdP4C6ZEkIebDM9cGK_1O3_2IgG7 z>c|vdigMrXk6A;nb*;&)v9IwQ*ixdMHT>S4TC5104?ZwpU8i4{T_<(Rk=C?)n`gdI zRs_Exmuds8F2b0|s)P38of2aCsv=lkyg%{LY@xlFRZSd9;D z>3+}tPJ9$dO%ux$)fbNxX3f7vb_>ZGclr5^En^QbB4bXET>B*T)h8!9bod zr4LeO8e|G)vO^@`cP!W~kmbr{ zaTUliAGrFvaO;Z%QtK|GE>qY$v%(J!tF67B5Q<|ad&yPy?atc1(M->?Plr9FhZT{v6lemCic>gXv)}=;})>HG7;;C`BRC?t6 zd{j6k`tU!@VD?=auwti7r|jkEbnKYQ+ew|jb?A~kd+k>FSG{|^d*2F@3i1dV8gCo# z<(V5}OGHYPjg*c0Mutb;j7;Uq<*Q0fOK;|H=1=D@H9Fb^*@$AwFimdyb!#>y)_a)N zM=>^v*2M@*8~b{lYIL>0R7-VB>5WpXNrp*f!4$Hq_6KGFQ{Kp0yFNpTufcd@!km!K zEXc;5ny$T!wv4dmu)i-<$!OwcX)8HxIKv-*^k-DMr?i-dd$p$?)^n7#C4oeY(vQx_ ztYU5siFA9SE%GOHkt|5;^~1iIt&gcwz0Q>MTB-^+g_%Ym8#ehQTqM%1s;6rk zivuf8oc3ANeyaJuUR7IFQCO5-w00O)Xm9Lq95U_lDR78cf<5OWxDrALW1tizK!hYt zh|r9%y>@mQ@{H$minb>Ib*29wsG(!KOA%~(kq(=VH!%s`+yN7Wr=oPBfP?j8tetX~GB3$QD zOeu4@ID@ECmWENh$(@(~(WHlzF((Tg+zb>*p$zWi>_qZPjLDD1&%o>;TqXy45aW;+ z|D?Cd1@rgF6pOB7qlL=TT8(Io7V?z}nDd@;drPY-wMj+2NKf;FR`3{SV36C$4fm%* zRcighY}!FbA5rt7z3?~zuiG$mpn-jk-4yH?pX z;cbE;#$FNkI|d^=8i>4hs4OYhW5Rakr+4j55fau*4Nkvf(d=qW35hj~c$RFY=QG0d zLF?>sK7*fg=U;v-uk6OUj=GP#Z*44!71+{dRb+2u(>|h^o%=|$bnoNt@lS2MMD~a< zz9k9+!@m8j($wl!I)EEdR)@cXAHjda<@d%H8l0w2AC2v?hqnHd{bv$y+j?@LHt-2= zNn~j}=|1Uprhis{qF$3wv2~ht=51eX;_bKFM?6k^LB>amnZ|ydL#vj_CjNTLiR6@c0L?qd)5*8U zJF|7RZ8jZN8=Kl*3^~`u|3&voR>eBl;1E9GIky!#k%2rIO-5&;!@|XX%{$`XU_v)t za7z#9eD<5^1D40N2}zsEt;#sNgQkFkI{f-gt0t?w_eu`l+X34uml+eLeJ!tA@@lYl zUf8{mwuVsmlP&fF1>C|>TksEN!qjAeqUu81VTjL3&&lx;^Fp}4&;@R&Wj0V~ue#N= z)!|5ES92D&5I3oAdpSR|KmYtedtl+=*u3ruX-w4UW%_X{9qf8)Zt74hP3%s=9W_P8 z6?OlMt@BdYsOzX;0n6o^%b^+;W{L3A$(?E3Sk72c_Ca>WXYXgl7u)SStncx?oxNP2 z27+Xy?jPMd+wBOP59Hi`yF_QY_Kf?vFu~*3hhvK`rDqwe85sl;;+(^C7a1}9)xXK@ zqGxUlK!^YUs3-t_5w3I#fG3gwY&!y=lmh^Z&kKhh9RP^IT_d>m)ehl*an<}A{}T9r zBcM0fNOt9!IKbS*fERLtq(wlOgAGXbcFOWjR1^+p46*1qE#&6t9eEm+Q}JO}K}O5N13M>N`5;x3Xz?S~;=@Lt9&UCs9?#yusvQCh YFB{$%{J9l(0B9hCr>mdKI;Vst0N-mXF8}}l diff --git a/harbour/contrib/hbide/resources/compile.png b/harbour/contrib/hbide/resources/compile.png index 6af8f18e3eabde7960c6140f9200a904291ffe1b..467af3eebf487273749cb9e0c7405100c92e7fe8 100644 GIT binary patch literal 2883 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 z0001PNklr delta 188 zcmX>sc9K!CGr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3=~~Q0?jB7-G?Tb+R|# z0R;{hODpr`%O<+KWT?AwB}I(ymy3v!pjN0fQz`S7$6Tu%O4SmCjo&v0wk0n+?jZe> z!S{}BhNbfcX{YJNGGD5!G*>6G^lagO6W+n%7#3;sPm1r2#EjUTA;IT`UL?ML`g(Vx mnd`jz6Zs9PraE;`+2~aP=h{4m<&t;ucLK6TIb3knX diff --git a/harbour/contrib/hbide/resources/copy.png b/harbour/contrib/hbide/resources/copy.png index 52b249587d33354e52fd5de9f2e0dd520f0f4a2e..54d6c4b83cc5902a32efa44caa0b62e2937cf316 100644 GIT binary patch literal 2995 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 delta 173 zcmdlizKc<@Gr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3=~~kmKp%7-G@;bkaqx z1_c3@_m|(FKihF7W&P7_)!Gt*2Med1iP{|WPv?#DlkS55Dw@K48@2YVes;&u>!E7t z4l%FAhd9OfHb(uZ>6-ppyY+YDyKa-{9ZszhTMhp3UU5>=(M@^MGPjsnS=A>{*M_0? YaB{&-0n2Kj0~kDA{an^DJ0&y$08f)Zf&c&j diff --git a/harbour/contrib/hbide/resources/cut.png b/harbour/contrib/hbide/resources/cut.png index 59ea77d9846c6def72738d071be940219763aaa7..98bfc874e9a367822747c7733f144c02d47dd506 100644 GIT binary patch literal 2977 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 X@~_Cf&M)nf00000NkvXXu0mjfim`%$ delta 155 zcmZ1|zLHU~Gr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3=~@5bf#W7-G?T_mU$Q zg8~PO!~A#Wb)6D9gB}m3SlNlQ>aPtP=<^0c9$g@;3ZGYIVr-2Wcu7CW$^1tEQt3dl0JYD@<);T3K F0RW!%H39$t diff --git a/harbour/contrib/hbide/resources/debug.png b/harbour/contrib/hbide/resources/debug.png index feadd1d9e7997e20d07a95b3f86e5f7a1a9e03f3..214458fb05a0222333cabef959f33b300803efc0 100644 GIT binary patch literal 2868 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 S{)IFE00002-7-G?TbV?)F z0R;}1za{_gY&3jWro&dX?ZE*Z{&?3kLA9$L3wO6W@gL61{@hlSB4ZQ(w4(M}f%K=X z%GNs`3mJ*cFMJlZZ2pPJ9xdhK@)csAW=Bd&`WolmH7dX2_RRS2_r%lo5li{9g#UbD T74s_u+RotV>gTe~DWM4fcfCHJ diff --git a/harbour/contrib/hbide/resources/envconfig.png b/harbour/contrib/hbide/resources/envconfig.png index bfcbba89f8e9004994f4836b07e0da923910dc6c..c26f10e5d4914b855f6801975be5bf269aa136e9 100644 GIT binary patch literal 2939 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 delta 250 zcmVTaJnhLMbgTp-wgbMhV+qZ&Y@)bOLh$H}W z>+xJzkO$(uT8iyF)+#dMb0AvqP~Y7I%ZWngHS?zcW@_p|6)G7ZS_A}pP)`A;w?_}5 z{My3{*kQ7=iriM{2NeK$AQZ5IXUJn9RrF=x2LiYvcx!;3TmS$707*qoM6N<$g65%S AAOHXW diff --git a/harbour/contrib/hbide/resources/exit.png b/harbour/contrib/hbide/resources/exit.png index ba0074a0fb9cff18d37772f207432dfd680658ff..2c485cdad663aaf9c9387c7abf51653ffca99718 100644 GIT binary patch literal 3286 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 UC?y3o82|tP07*qoM6N<$g0guouK)l5 delta 156 zcmca6xr$M-Gr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3=~<5aa3M7-G@;_R2*r z2SEYXi=SUUKkxqJpuw?@_Sx%hsb;!zDKxF_<(?2=t?>DbWGa8=V&e&XH7rpdL^rtB zf3Tde_5HjLi2}c>Hyx<+&#XM8_xDlA(RFVQYUi-`Ok?P7k-TGWb@TzyLIzJ)KbLh* G2~7a%_&dM= diff --git a/harbour/contrib/hbide/resources/exporthtml.png b/harbour/contrib/hbide/resources/exporthtml.png new file mode 100644 index 0000000000000000000000000000000000000000..3d7171fdc140ca8c9494d95f1fb41c6d97d95268 GIT binary patch literal 3931 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 M7LMk%FyH(C1JTje{Qv*} literal 0 HcmV?d00001 diff --git a/harbour/contrib/hbide/resources/filec.png b/harbour/contrib/hbide/resources/filec.png index 083d3266b213d92572c19254581e1c9361303641..7d4a717de58d2b237c4fddf5d5dac7fbea024aad 100644 GIT binary patch literal 2877 zcmV-D3&Qk?P)pPPiaF#P*7-ZbZ>KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0001JNkl^Y0^XzeLia>?Ie3+#xnQe6$!|ef}{Wo zPd$JIIx=u3rGeCNFaXRA;-xUR0a3#DF*6W-j12tT1Msj!_4io^AFBj(qXDD=U^g$o b-&_L#V?mdrP&7(+00000NkvXXu0mjfR7g`e delta 171 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 M07*qoM6N<$f{77NzW@LL delta 146 zcmZ1{wt!KwGr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3@Mn5aj9N7-G?zobcoS z{Ki!k98w%AACroBj<9wZiA-;NA!NY(kS+LX>yH?(F7AuG`574pOs0s42c;@BH4L7velF{r5}E+~X)lBT diff --git a/harbour/contrib/hbide/resources/find.png b/harbour/contrib/hbide/resources/find.png index 8a28d64a6b9c7375fb4f5641f95a1eaa8561b74b..37a44b613251ba6e9d1e59de377b1f80bb045321 100644 GIT binary patch literal 3075 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 OX7F_Nb6Mw<&;$UC3pSkq diff --git a/harbour/contrib/hbide/resources/gotomark.png b/harbour/contrib/hbide/resources/gotomark.png index 013130d1bb2a593a65ce5dc8d6daf7276a4cc545..2941d111b7b90a5018408a0d97fa8735ffba44fa 100644 GIT binary patch literal 2889 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 delta 190 zcmX>pcA8PKGr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3=~~Q0wX97-G@;c1j~x zg94As_m|%@e{Y_8>4`|XnXms|Fhg@p5om>r!fwB-Gh p;63|upSoS${aCy%KAtg8gpFr~-O}SHmI0l_;OXk;vd$@?2>=4_L~j59 diff --git a/harbour/contrib/hbide/resources/info.png b/harbour/contrib/hbide/resources/info.png index 905e2a572c32e7b551ae38ee99b15d71c9569851..698b3a2b59db8374364b37b854bc6d17a90ee54b 100644 GIT binary patch literal 2868 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 S=(!C50000Kv z1_ci0fdBuOztwsab-II(Q!c2A=hT_Iec#xB7IE{mM|c}ZI|wY)c_*^w!Z&Wm2}_ze zjZa;&Ww}>1MQ#RLXy*TbpLQ9hdzU+SNvxdD&fcLFamiI8@)yuD22WQ%mvv4FO#rl| BGrj-- diff --git a/harbour/contrib/hbide/resources/launch.png b/harbour/contrib/hbide/resources/launch.png index c6a743e117fa54c84f968ba742fe826885e55aac..bb1c90afc90ab03dfe6c31fc6b4e9c2d6d32c928 100644 GIT binary patch literal 2853 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 D_S{Pw delta 138 zcmZ1~HiJ>IGr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3@Mm;N|J!7-G?T_2NNJ z1_K_a!0+)^OPQx+{AmA@pm)f*BSh6?e)IPS30=2T`F3T*JW6Qq^OmVuXf5{cZ&ADJ mg65kGx+4>swmwiXsbDDgmgO@)opA|hJcFmJpUXO@geCwJm@jq! diff --git a/harbour/contrib/hbide/resources/lense.png b/harbour/contrib/hbide/resources/lense.png index 488f0283a22ab958e2e14bda13bc0f5a46dd462e..7b9f11d221f059f1e3407a13fa0322d46ab720f5 100644 GIT binary patch literal 2943 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 delta 234 zcmV&>d=FIGk4#%MCJf%+Vv1?U}K)wh9&*rOf;6)+wS0I39> z!CGqunQGlx0xFE0(TDkOH-G~~&Sb6STK^zA?8ndu%n9qG=Dn0_Ai0o|vs(uacPP36 zG#A-DXt@O-@54>jCN5C#XBBAuK=G;CKt@0iSUolzh%RyWMq2O@DBl!sd=^7ap@-IO k2tg?~y^5#6C;A_70r$Zp-cHVJ7ytkO07*qoM6N<$f>fMZQUCw| diff --git a/harbour/contrib/hbide/resources/matchobj.png b/harbour/contrib/hbide/resources/matchobj.png index e5d05532d25bd1452faf2ff955adf0a107deba08..1804f16ebbef56b7ba48eb4c8a80de924d8cb469 100644 GIT binary patch literal 2841 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 delta 126 zcmbO!*2AdS8Q|y6%O%Cdz`(%k>ERLtq(wlOgAGXbcFOWjR1^=U{2?N|IPZ#smXwFaw+>%k=M$%uZ#Xy^`e~R7%ysGT^J>29 Z!0^`nv8B7loiL!044$rjF6*2UngEcTCw%|_ diff --git a/harbour/contrib/hbide/resources/modulelist.png b/harbour/contrib/hbide/resources/modulelist.png index 0c37f1f68288e39d835b45298c36d2394ce21565..067825869227cdd73bb2b8586d50fbe14ef8d9f8 100644 GIT binary patch literal 3637 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 diff --git a/harbour/contrib/hbide/resources/new.png b/harbour/contrib/hbide/resources/new.png index fab50edad56273c4c60b194fbe83ca8718c6b51d..26c7a1cb054cf00c79cc868ab0af86d4df72adca 100644 GIT binary patch literal 2941 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 diff --git a/harbour/contrib/hbide/resources/notepad.png b/harbour/contrib/hbide/resources/notepad.png index 59c72b606ec673e03ec51816d81b02abc36ed2aa..3bed80a46920d13e0bbcd8164c6fdb50989c0376 100644 GIT binary patch literal 2899 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 diff --git a/harbour/contrib/hbide/resources/paste.png b/harbour/contrib/hbide/resources/paste.png index 16a17e28680e3953a905df2638e66cd06f1ba049..7a45b358feeca87709fffaf75e5e2a2c87b11d9e 100644 GIT binary patch literal 3026 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 UhapeY_y7O^07*qoM6N<$f-0M&K>z>% delta 205 zcmV;;05bp57uo?KiBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)ie*lb0 zL_t(Ijn$Lg4!{r$Mm>5Tt#8)($x11zbF(Ff#OnA6ArOVD{9G7Y!LhIxq){qp|JK6T z0wf^!udEf98sIurDuq>sh$?-ZDWST(hU0|R-keZQf(4F*X`=SA)RS-~WU(iqyqh#` z|7*fNZC>1)P)j=sCr{6xaQfI+BiE*47e>kv>@f?ExGj7D@D(xhDTG2h00000NkvXX Hu0mjf9dc3V diff --git a/harbour/contrib/hbide/resources/placeremovemark.png b/harbour/contrib/hbide/resources/placeremovemark.png index b6c4e40f86abf6f3be717d704e1f77922efa134a..8bf5962944c2510de70fadd527b04d3bad909d93 100644 GIT binary patch literal 2910 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 IM6N<$g1B&KA^-pY delta 211 zcmca7_JC2bGr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3=~~Fv-)!F~p*G??pzw z1_ch*fWC7V_egdoCOSIpyt8lH#C%5vmklQWn@jbVUXTiy=OEOSKEsb=UXqI81Bn-j za(_6gm}8kGH; zQq3wTJ?T*2wAW9yk2%P@YD!#|zkadol!S%mnU`fAT-^;X*RYxA%UIW&@g#o$x|6}v L)z4*}Q$iB}e%($V diff --git a/harbour/contrib/hbide/resources/ppo.png b/harbour/contrib/hbide/resources/ppo.png index afb0a642a506f4dd8e28400c24edcffe57dbe0da..8c65f34c9b7b52ef30bace4b4af26c013da16e08 100644 GIT binary patch literal 2887 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 delta 191 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 V89xg{0pb7v002ovPDHLkV1lYeg6RMN delta 210 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 JPDHLkV1nr;4(|W} literal 0 HcmV?d00001 diff --git a/harbour/contrib/hbide/resources/projectdel.png b/harbour/contrib/hbide/resources/projectdel.png new file mode 100644 index 0000000000000000000000000000000000000000..57ef21d3534038bd9855dd36863d109f82a11a2f GIT binary patch literal 3168 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 diff --git a/harbour/contrib/hbide/resources/rebuild.png b/harbour/contrib/hbide/resources/rebuild.png index 1af9b8dfc5b52710a09d688dc748dc50df8224df..ca7cdea8d57c131405b35d3ae26f1c39c36c40f2 100644 GIT binary patch literal 2871 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 b`DM=58g>co(Pjs_fx*+2&Cg|>Q$iB}3u{3a diff --git a/harbour/contrib/hbide/resources/redo.png b/harbour/contrib/hbide/resources/redo.png index 4c992935fb8187e985913f054817832edd16165d..25442da6c44393d8476c3c9635ef063a74a9f5ac 100644 GIT binary patch literal 2978 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 Y0HOrU4i9O9DF6Tf07*qoM6N<$g6rFd;Q#;t delta 132 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 delta 140 zcmcaEF^f^LGr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3@Mq;N$7y7-G?zobcoS z{Ki!k9g-X>ClCGL$;oKYuqt@K5XTej9Ll`%ozsk4fy{=yE!sz#1Fr}sD{P#RrMG0( o^p$dL%sC1>S&smdKI;Vst00JQ_Z2$lO diff --git a/harbour/contrib/hbide/resources/saveall.png b/harbour/contrib/hbide/resources/saveall.png new file mode 100644 index 0000000000000000000000000000000000000000..1a23039ee3e4740202ed3c4831d289be9d025975 GIT binary patch literal 3132 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 M07*qoM6N<$f*M|EhX4Qo delta 217 zcmV;~04D$97UlsViBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)ie*lj(-HG+4==@{g~6BrqQa+&nXXDtdtUf z)NlR$fNxYmfZS2!69%Ya&+R%iFZWpeWrWG5K)KCUq(YvL)-*W6EIOSq-FJfrc)>|9 T4gG$500000NkvXXu0mjf=weuk diff --git a/harbour/contrib/hbide/resources/selectall.png b/harbour/contrib/hbide/resources/selectall.png index 3171c776f6d43223400a04c2c3ac616841da2a2e..3dfc140ac3c5c1db4d3def57c12b366d06f40d9a 100644 GIT binary patch literal 2833 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 PFH{o)OZ^&{OU!=(;89Zd delta 164 zcmdlkvx!l$Gr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3=~=kmBj$7-G?T^rANx zg8~OjK>xk7y<(2O^|CpJ0YM*41Va}tyWhc=`T9KnrB;pDwHuqW6TPf@BO~+{uej!8 zyo9?v$VOZ_=HwmS_VXX+3#6`?{nxB3xiy#f{EW1WlZ9>T*k3w18O`>%R=VTb7i*x! N44$rjF6*2UngAbbI>rD1 diff --git a/harbour/contrib/hbide/resources/tools.png b/harbour/contrib/hbide/resources/tools.png index 148b72a7dac65dec7b827f7357d1fea994d59421..125a0929cc7745c2cb7e97a8cd123f1530e074e6 100644 GIT binary patch literal 2916 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 O0000 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 diff --git a/harbour/contrib/hbide/resources/undo.png b/harbour/contrib/hbide/resources/undo.png index 2f0ee64a78c740a41aad690f897f9b86ac6e846a..686c666c66dff99330f6f1ba09c5deb250b66c0d 100644 GIT binary patch literal 2973 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 delta 134 zcmbO$K7~=SGr-TCmrII^fq{Y7)59eQNQ;0l2OE&=?Ud!6s3;!8;O6P#7-G?zobcoS z{Ki!kR}L)9QE)z7FXFSM@kLjmWW(uzIeG_|bIxB_vDeMVU_y$*)!2^n0gDb#m=dvk jRilgg>_F!B`Hc*RKJja