diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 76ad011aea..ad0b6c7793 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,41 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-02-17 18:13 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) + + contrib/hbide/resources/blockcomment.png + + contrib/hbide/resources/environments.ui + + contrib/hbide/resources/environments.uic + + contrib/hbide/resources/findinfilesex.ui + + contrib/hbide/resources/findinfilesex.uic + + contrib/hbide/resources/projectpropertiesex.ui + + contrib/hbide/resources/projectpropertiesex.uic + + contrib/hbide/resources/streamcomment.png + + contrib/hbide/resources/themesex.ui + + contrib/hbide/resources/themesex.uic + + * contrib/hbqt/THbQtUI.prg + + * contrib/hbide/hbide.prg + * contrib/hbide/ideactions.prg + * contrib/hbide/idedocks.prg + * contrib/hbide/idefindreplace.prg + * contrib/hbide/ideobject.prg + * contrib/hbide/ideprojmanager.prg + * contrib/hbide/idestylesheets.prg + * contrib/hbide/idethemes.prg + + + This commit implements all other windows ( except Find/Replace ) + opened as a docked-window of the main-frame. This facilitates + a greater control over the various actions together. This is a + major change in the interface, please update your notes. + + Find/Replace window is scheduled to be contained in separate panel + at the bottom of the editor area, right on top of the "Output Console", + as is implemented in Qt Creator itself. Please express your opinions. + + The above should have been the way since begining, but you know, + programming skills are polished with time. + 2010-02-18 00:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec ! fixed to work with modified library name hbbmcdx -> rddbmcdx diff --git a/harbour/contrib/hbide/hbide.prg b/harbour/contrib/hbide/hbide.prg index f11175023d..9d119f4212 100644 --- a/harbour/contrib/hbide/hbide.prg +++ b/harbour/contrib/hbide/hbide.prg @@ -128,10 +128,10 @@ CLASS HbIde DATA oEV /* Available Environments */ DATA oThemes DATA oFindInFiles - DATA oDockFind DATA oHelp DATA oSkeltn DATA oSkeltnUI + DATA oFindDock DATA oUI @@ -201,6 +201,10 @@ CLASS HbIde DATA oLibs DATA oDlls DATA oProps + DATA oGeneral + DATA oThemesDock + DATA oPropertiesDock + DATA oEnvironDock DATA lProjTreeVisible INIT .t. DATA lDockRVisible INIT .f. @@ -336,6 +340,7 @@ METHOD HbIde:create( cProjIni ) /* Once create Find/Replace dialog */ ::oFR := IdeFindReplace():new( Self ):create() + ::oFindInFiles := IdeFindInFiles():new( Self ):create() /* Sources Manager */ ::oSM := IdeSourcesManager():new( Self ):create() @@ -386,6 +391,17 @@ METHOD HbIde:create( cProjIni ) /* Display cWrkEnvironment in StatusBar */ ::oDK:dispEnvironment( ::cWrkEnvironment ) + /* These docks must not be visible even IDE exits them open */ + ::oPropertiesDock:hide() + ::oEnvironDock:hide() + ::oThemesDock:hide() + ::oSkeltn:hide() + ::oHelp:hide() + ::oFindDock:hide() + ::oDockB1:hide() + ::oDockB2:hide() + ::oDockB:hide() + /* Request Main Window to Appear on the Screen */ ::oDlg:Show() @@ -450,20 +466,20 @@ METHOD HbIde:create( cProjIni ) hbide_dbg( "Before ::oDlg:destroy()", memory( 1001 ), hbqt_getMemUsed() ) hbide_dbg( " " ) + ::oFindInFiles:destroy() ::oFR:destroy() + ::oPM:destroy() ::oEM:destroy() ::oDK:destroy() -* ::oAC:destroy() /* GPF */ ::oDlg:destroy() ::oAC:destroy() - hbide_dbg( " " ) - hbide_dbg( "After ::oDlg:destroy()", memory( 1001 ), hbqt_getMemUsed() ) - hbide_dbg( "======================================================" ) - ::qCursor := NIL ::oFont := NIL + hbide_dbg( " " ) + hbide_dbg( "After ::oDlg:destroy()", memory( 1001 ), hbqt_getMemUsed() ) + hbide_dbg( "======================================================" ) hbide_dbg( "EXITING after destroy ....", memory( 1001 ), hbqt_getMemUsed() ) RETURN self @@ -625,7 +641,7 @@ METHOD HbIde:execEditorAction( cKey ) ENDIF EXIT CASE "Search" - IdeFindInFiles():new( Self ):create() + ::oFindInFiles:show() EXIT CASE "SetMark" ::oEM:setMark() diff --git a/harbour/contrib/hbide/ideactions.prg b/harbour/contrib/hbide/ideactions.prg index dac00949cc..c4d119307d 100644 --- a/harbour/contrib/hbide/ideactions.prg +++ b/harbour/contrib/hbide/ideactions.prg @@ -595,6 +595,10 @@ METHOD IdeActions:buildMainMenu() oSubMenu:oWidget:addAction_4( ::oDockR:oWidget:toggleViewAction() ) oSubMenu:oWidget:addAction_4( ::oHelp:oWidget:toggleViewAction() ) oSubMenu:oWidget:addAction_4( ::oSkeltn:oWidget:toggleViewAction() ) + oSubMenu:oWidget:addAction_4( ::oThemesDock:oWidget:toggleViewAction() ) + oSubMenu:oWidget:addAction_4( ::oEnvironDock:oWidget:toggleViewAction() ) + oSubMenu:oWidget:addAction_4( ::oPropertiesDock:oWidget:toggleViewAction() ) + oSubMenu:oWidget:addAction_4( ::oFindDock:oWidget:toggleViewAction() ) oSubMenu:oWidget:addAction_4( ::oDockB2:oWidget:toggleViewAction() ) oSubMenu:oWidget:addAction_4( ::oDockB1:oWidget:toggleViewAction() ) diff --git a/harbour/contrib/hbide/idedocks.prg b/harbour/contrib/hbide/idedocks.prg index 6648ec6e57..a5d6a5f53b 100644 --- a/harbour/contrib/hbide/idedocks.prg +++ b/harbour/contrib/hbide/idedocks.prg @@ -97,6 +97,10 @@ CLASS IdeDocks INHERIT IdeObject METHOD buildLinkResults() METHOD buildOutputResults() METHOD buildFindInFiles() + METHOD buildGenericDock() + METHOD buildThemesDock() + METHOD buildPropertiesDock() + METHOD buildEnvironDock() METHOD outputDoubleClicked( lSelected ) METHOD buildStatusBar() METHOD toggleLeftDocks() @@ -169,8 +173,11 @@ METHOD IdeDocks:buildDockWidgets() ::buildOutputResults() ::buildHelpWidget() ::buildSkeletonWidget() - -* ::buildFindInFiles() + ::buildFindInFiles() + ::buildGenericDock() + ::buildThemesDock() + ::buildPropertiesDock() + ::buildEnvironDock() ::oDlg:oWidget:tabifyDockWidget( ::oDockB:oWidget , ::oDockB1:oWidget ) ::oDlg:oWidget:tabifyDockWidget( ::oDockB1:oWidget, ::oDockB2:oWidget ) @@ -468,12 +475,6 @@ METHOD IdeDocks:buildToolBarPanels() ::oDlg:oWidget:addToolBar( Qt_LeftToolBarArea, ::qTBarLines ) aBtns := {} - #if 0 - aadd( aBtns, { "up16" , "Move Current Line Up" , {|| ::oEM:moveLine( -1 ) } } ) - aadd( aBtns, { "down16" , "Move Current Line Down", {|| ::oEM:moveLine( 1 ) } } ) - aadd( aBtns, { "cutb16" , "Delete Current Line" , {|| ::oEM:deleteLine() } } ) - aadd( aBtns, { "copy" , "Duplicate Current Line", {|| ::oEM:duplicateLine() } } ) - #endif aadd( aBtns, { "movelineup" , "Move Current Line Up" , {|| ::oEM:moveLine( -1 ) } } ) aadd( aBtns, { "movelinedown" , "Move Current Line Down", {|| ::oEM:moveLine( 1 ) } } ) aadd( aBtns, { "deleteline" , "Delete Current Line" , {|| ::oEM:deleteLine() } } ) @@ -489,16 +490,11 @@ METHOD IdeDocks:buildToolBarPanels() aadd( ::aBtnLines, qTBtn ) NEXT + ::qTBarLines:addSeparator() aBtns := {} - #if 0 - aadd( aBtns, { "commentout" , "Block Comment" , {|| ::oEM:blockComment() } } ) - aadd( aBtns, { "increaseindent", "Indent Right" , {|| ::oEM:indent( 1 ) } } ) - aadd( aBtns, { "decreaseindent", "Indent Left" , {|| ::oEM:indent( -1 ) } } ) - aadd( aBtns, { "sgl2dblquote" , "Single to Double Quotes", {|| ::oEM:convertDQuotes() } } ) - aadd( aBtns, { "dbl2sglquote" , "Double to Single Quotes", {|| ::oEM:convertQuotes() } } ) - #endif - aadd( aBtns, { "commentout" , "Block Comment" , {|| ::oEM:blockComment() } } ) + aadd( aBtns, { "blockcomment" , "Block Comment" , {|| ::oEM:blockComment() } } ) + aadd( aBtns, { "streamcomment" , "Stream Comment" , {|| ::oEM:streamComment() } } ) aadd( aBtns, { "blockindentr" , "Indent Right" , {|| ::oEM:indent( 1 ) } } ) aadd( aBtns, { "blockindentl" , "Indent Left" , {|| ::oEM:indent( -1 ) } } ) aadd( aBtns, { "sgl2dblquote" , "Single to Double Quotes", {|| ::oEM:convertDQuotes() } } ) @@ -921,41 +917,6 @@ METHOD IdeDocks:toggleBottomDocks() /*----------------------------------------------------------------------*/ -METHOD IdeDocks:buildFindInFiles() - LOCAL oXbp - - ::oIde:oDockFind := XbpWindow():new() - ::oDockFind:oWidget := QDockWidget():new( ::oDlg:oWidget ) - ::oDockFind:oWidget:setObjectName( "dockFindInFiles" ) - ::oDlg:addChild( ::oDockFind ) - ::oDockFind:oWidget:setFeatures( QDockWidget_DockWidgetClosable ) - ::oDockFind:oWidget:setAllowedAreas( Qt_RightDockWidgetArea ) - ::oDockFind:oWidget:setWindowTitle( "Find in Files" ) - ::oDockFind:oWidget:setFocusPolicy( Qt_NoFocus ) - - ::oIde:oFindInFiles := IdeFindInFiles():new( ::oIde, .t. ) - ::oIde:oFindInFiles:lInDockWindow := .t. - ::oIde:oFindInFiles:create() - - oXbp := XbpWindow():new( ::oDockFind ) - oXbp:qtObject := IdeFindInFiles():new( ::oIde, .t. ):create() //::oIde:oFindInFiles - oXbp:oWidget := oXbp:qtObject:oUI - //::oIde:oFindInFiles := XbpWindow():new( ::oDockFind ) - //::oDockFind:qtObject := ::oIde:oFindInFiles:oUI - //::oDockFind:qtObject := HbQtUI():new( ::resPath + "findform.uic", ::oDockFind:oWidget ):build() - //::oIde:oFindInFiles:oWidget := ::oDockFind:qtObject - - //::oDockFind:oWidget:setWidget( ::oFindInFiles:oWidget ) - //::oDockFind:oWidget:setWidget( ::oIde:oFindInFiles:oUI ) - ::oDockFind:oWidget:setWidget( oXbp:oWidget ) - - ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oDockFind:oWidget, Qt_Horizontal ) - ::oDockFind:hide() - - RETURN Self - -/*----------------------------------------------------------------------*/ - METHOD IdeDocks:buildSkeletonWidget() LOCAL oUI @@ -1057,3 +1018,117 @@ METHOD IdeDocks:execSkeleton( nMode, p ) RETURN NIL /*----------------------------------------------------------------------*/ + +METHOD IdeDocks:buildGenericDock() + + ::oIde:oGeneral := XbpWindow():new() + ::oGeneral:oWidget := QDockWidget():new( ::oDlg:oWidget ) + ::oGeneral:oWidget:setObjectName( "General Purpose Dock" ) + ::oDlg:addChild( ::oGeneral ) + //::oGeneral:oWidget:setFeatures( QDockWidget_DockWidgetVerticalTitleBar ) + ::oGeneral:oWidget:setAllowedAreas( Qt_RightDockWidgetArea ) + ::oGeneral:oWidget:setWindowTitle( "Generic" ) + ::oGeneral:oWidget:setFocusPolicy( Qt_NoFocus ) + ::oGeneral:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) ) + + ::oGeneral:hbLayout := HBPLAYOUT_TYPE_HORZBOX + ::oGeneral:qLayout:setContentsMargins( 2, 2, 2, 2 ) + + ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oGeneral:oWidget, Qt_Horizontal ) + + ::oGeneral:hide() + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeDocks:buildThemesDock() + + ::oIde:oThemesDock := XbpWindow():new() + ::oThemesDock:oWidget := QDockWidget():new( ::oDlg:oWidget ) + ::oThemesDock:oWidget:setObjectName( "Editor Themes" ) + ::oDlg:addChild( ::oThemesDock ) + ::oThemesDock:oWidget:setFeatures( QDockWidget_DockWidgetClosable ) + ::oThemesDock:oWidget:setAllowedAreas( Qt_RightDockWidgetArea ) + ::oThemesDock:oWidget:setWindowTitle( "Editor Themes" ) + ::oThemesDock:oWidget:setFocusPolicy( Qt_NoFocus ) + ::oThemesDock:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) ) + + ::oThemesDock:hbLayout := HBPLAYOUT_TYPE_VERTBOX + ::oThemesDock:qLayout:setContentsMargins( 2, 2, 2, 2 ) + + ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oThemesDock:oWidget, Qt_Horizontal ) + + ::oThemesDock:hide() + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeDocks:buildPropertiesDock() + + ::oIde:oPropertiesDock := XbpWindow():new() + ::oPropertiesDock:oWidget := QDockWidget():new( ::oDlg:oWidget ) + ::oPropertiesDock:oWidget:setObjectName( "Project Properties" ) + ::oDlg:addChild( ::oPropertiesDock ) + ::oPropertiesDock:oWidget:setFeatures( QDockWidget_DockWidgetClosable ) + ::oPropertiesDock:oWidget:setAllowedAreas( Qt_RightDockWidgetArea ) + ::oPropertiesDock:oWidget:setWindowTitle( "Project Properties" ) + ::oPropertiesDock:oWidget:setFocusPolicy( Qt_NoFocus ) + ::oPropertiesDock:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) ) + + ::oPropertiesDock:hbLayout := HBPLAYOUT_TYPE_VERTBOX + ::oPropertiesDock:qLayout:setContentsMargins( 2, 2, 2, 2 ) + + ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oPropertiesDock:oWidget, Qt_Horizontal ) + + ::oPropertiesDock:hide() + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeDocks:buildEnvironDock() + + ::oIde:oEnvironDock := XbpWindow():new() + ::oEnvironDock:oWidget := QDockWidget():new( ::oDlg:oWidget ) + ::oEnvironDock:oWidget:setObjectName( "Compiler Environments" ) + ::oDlg:addChild( ::oEnvironDock ) + ::oEnvironDock:oWidget:setFeatures( QDockWidget_DockWidgetClosable ) + ::oEnvironDock:oWidget:setAllowedAreas( Qt_RightDockWidgetArea ) + ::oEnvironDock:oWidget:setWindowTitle( "Compiler Environments" ) + ::oEnvironDock:oWidget:setFocusPolicy( Qt_NoFocus ) + ::oEnvironDock:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) ) + + ::oEnvironDock:hbLayout := HBPLAYOUT_TYPE_HORZBOX + ::oEnvironDock:qLayout:setContentsMargins( 2, 2, 2, 2 ) + + ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oEnvironDock:oWidget, Qt_Horizontal ) + ::oEnvironDock:hide() + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeDocks:buildFindInFiles() + + ::oIde:oFindDock := XbpWindow():new() + ::oFindDock:oWidget := QDockWidget():new( ::oDlg:oWidget ) + ::oFindDock:oWidget:setObjectName( "Find In Files" ) + ::oDlg:addChild( ::oFindDock ) + ::oFindDock:oWidget:setFeatures( QDockWidget_DockWidgetClosable ) + ::oFindDock:oWidget:setAllowedAreas( Qt_RightDockWidgetArea ) + ::oFindDock:oWidget:setWindowTitle( "Find In Files" ) + ::oFindDock:oWidget:setFocusPolicy( Qt_NoFocus ) + ::oFindDock:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) ) + + ::oFindDock:hbLayout := HBPLAYOUT_TYPE_HORZBOX + ::oFindDock:qLayout:setContentsMargins( 2, 2, 2, 2 ) + + ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFindDock:oWidget, Qt_Horizontal ) + ::oFindDock:hide() + + RETURN Self + +/*----------------------------------------------------------------------*/ + diff --git a/harbour/contrib/hbide/idefindreplace.prg b/harbour/contrib/hbide/idefindreplace.prg index 19d6c9c670..3cdaf71fdc 100644 --- a/harbour/contrib/hbide/idefindreplace.prg +++ b/harbour/contrib/hbide/idefindreplace.prg @@ -367,8 +367,8 @@ CLASS IdeFindInFiles INHERIT IdeObject METHOD new( oIde, lShowOnCreate ) METHOD create( oIde, lShowOnCreate ) - METHOD show() METHOD destroy() + METHOD show() METHOD print() METHOD paintRequested( pPrinter ) METHOD find() @@ -377,6 +377,7 @@ CLASS IdeFindInFiles INHERIT IdeObject METHOD execEvent( cEvent, p ) METHOD execContextMenu( p ) + METHOD buildUI() ENDCLASS @@ -392,7 +393,6 @@ METHOD IdeFindInFiles:new( oIde, lShowOnCreate ) /*----------------------------------------------------------------------*/ METHOD IdeFindInFiles:create( oIde, lShowOnCreate ) - LOCAL cText, qLineEdit, aProjList, cProj, qItem, n DEFAULT oIde TO ::oIde DEFAULT lShowOnCreate TO ::lShowOnCreate @@ -400,13 +400,18 @@ METHOD IdeFindInFiles:create( oIde, lShowOnCreate ) ::oIde := oIde ::lShowOnCreate := lShowOnCreate - #ifdef HBIDE_USE_UIC - ::oUI := HbQtUI():new( ::oIde:resPath + "findinfiles.uic", ::oIde:oDlg:oWidget ):build() - #else - ::oUI := HbQtUI():new( ::oIde:resPath + "findinfiles.ui", ::oIde:oDlg:oWidget ):create() - #endif - ::oUI:setWindowFlags( Qt_Sheet ) + RETURN Self +/*----------------------------------------------------------------------*/ + +METHOD IdeFindInFiles:buildUI() + LOCAL cText, qLineEdit, aProjList, cProj, qItem, n + + ::oUI := HbQtUI():new( ::oIde:resPath + "findinfilesex.uic", ::oFindDock:oWidget ):build() + ::oUI:hide() +hbide_dbg( "-------------------------", 0 ) + ::oFindDock:qtObject := ::oUI + ::oFindDock:oWidget:setWidget( ::oUI ) ::oUI:q_buttonFolder:setIcon( ::resPath + "folder.png" ) @@ -483,22 +488,7 @@ METHOD IdeFindInFiles:create( oIde, lShowOnCreate ) ::oUI:signal( "editResults" , "copyAvailable(bool)" , {|l| ::execEvent( "editResults", l ) } ) ::oUI:signal( "editResults" , "customContextMenuRequested(QPoint)", {|p| ::execEvent( "editResults-contextMenu", p ) } ) - ::oUI:show() - #if 0 - IF ::lShowOnCreate - ::show() - ENDIF - #endif - RETURN Self - -/*----------------------------------------------------------------------*/ - -METHOD IdeFindInFiles:show() - - IF ! ::lInDockWindow - ::oUI:show() - ENDIF - +hbide_dbg( "-------------------------", 1 ) RETURN Self /*----------------------------------------------------------------------*/ @@ -509,12 +499,15 @@ METHOD IdeFindInFiles:execEvent( cEvent, p ) SWITCH cEvent CASE "buttonClose" + ::oFindDock:hide() + #if 0 IF ::lInDockWindow - ::oDockFind:hide() + ::oFindDock:hide() ELSE ::oIde:aIni[ INI_HBIDE, FindInFilesDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget ) ::destroy() ENDIF + #endif EXIT CASE "comboFind" @@ -680,7 +673,18 @@ METHOD IdeFindInFiles:destroy() qItem := NIL NEXT - ::oUI:destroy() + //::oUI:destroy() + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeFindInFiles:show() + + IF empty( ::oUI ) + ::buildUI() + ENDIF + ::oFindDock:show() RETURN Self diff --git a/harbour/contrib/hbide/ideobject.prg b/harbour/contrib/hbide/ideobject.prg index e71bd6adc5..4b7220fdfa 100644 --- a/harbour/contrib/hbide/ideobject.prg +++ b/harbour/contrib/hbide/ideobject.prg @@ -91,7 +91,7 @@ CLASS IdeObject ACCESS oSM INLINE ::oIde:oSM ACCESS oEV INLINE ::oIde:oEV - ACCESS oDockFind INLINE ::oIde:oDockFind + ACCESS oFindDock INLINE ::oIde:oFindDock ACCESS oFindInFiles INLINE ::oIde:oFindInFiles ACCESS aMeta INLINE ::oIde:aMeta @@ -166,6 +166,10 @@ CLASS IdeObject ACCESS oHelp INLINE ::oIde:oHelp ACCESS oSkeltn INLINE ::oIde:oSkeltn ACCESS oSkeltnUI INLINE ::oIde:oSkeltnUI + ACCESS oGeneral INLINE ::oIde:oGeneral + ACCESS oThemesDock INLINE ::oIde:oThemesDock + ACCESS oPropertiesDock INLINE ::oIde:oPropertiesDock + ACCESS oEnvironDock INLINE ::oIde:oEnvironDock ACCESS lProjTreeVisible INLINE ::oIde:lProjTreeVisible ACCESS lDockRVisible INLINE ::oIde:lDockRVisible diff --git a/harbour/contrib/hbide/ideprojmanager.prg b/harbour/contrib/hbide/ideprojmanager.prg index 5bc0f3cc4c..d7c9902c5f 100644 --- a/harbour/contrib/hbide/ideprojmanager.prg +++ b/harbour/contrib/hbide/ideprojmanager.prg @@ -363,6 +363,8 @@ METHOD IdeProject:expandMeta( s ) CLASS IdeProjManager INHERIT IdeObject + DATA oUIEnv + DATA cSaveTo DATA aPrjProps INIT {} @@ -437,6 +439,8 @@ METHOD IdeProjManager:create( oIDE ) METHOD IdeProjManager:destroy() + //::oUIEnv:destroy() + RETURN Self /*----------------------------------------------------------------------*/ @@ -549,73 +553,84 @@ METHOD IdeProjManager:fetchProperties() LOCAL cLukupPng LOCAL cPrjLoc := hb_dirBase() + "projects" - #ifdef HBIDE_USE_UIC - ::oUI := HbQtUI():new( ::resPath + "projectproperties.uic", ::oDlg:oWidget ):build() - #else - ::oUI := HbQtUI():new( ::resPath + "projectproperties.ui", ::oDlg:oWidget ):create() - #endif + IF empty( ::oUI ) + ::oUI := HbQtUI():new( ::resPath + "projectpropertiesex.uic", ::oDlg:oWidget ):build() - ::oUI:q_tabWidget:removeTab( 4 ) + ::oPropertiesDock:oWidget:setWidget( ::oUI ) + ::oPropertiesDock:qtObject := ::oUI - ::oUI:q_comboPrjType:addItem( "Executable" ) - ::oUI:q_comboPrjType:addItem( "Library" ) - ::oUI:q_comboPrjType:addItem( "Dll" ) + ::oUI:q_comboPrjType:addItem( "Executable" ) + ::oUI:q_comboPrjType:addItem( "Library" ) + ::oUI:q_comboPrjType:addItem( "Dll" ) - DO CASE - CASE empty( ::aPrjProps ) - ::oUI:q_comboPrjType:setCurrentIndex( 0 ) - CASE ::aPrjProps[ PRJ_PRP_PROPERTIES, 2, E_qPrjType ] == "Lib" - ::oUI:q_comboPrjType:setCurrentIndex( 1 ) - CASE ::aPrjProps[ PRJ_PRP_PROPERTIES, 2, E_qPrjType ] == "Dll" - ::oUI:q_comboPrjType:setCurrentIndex( 2 ) - OTHERWISE - ::oUI:q_comboPrjType:setCurrentIndex( 0 ) - ENDCASE + cLukupPng := ::resPath + "folder.png" + // + ::oUI:q_buttonChoosePrjLoc:setIcon( cLukupPng ) + ::oUI:q_buttonChooseWd :setIcon( cLukupPng ) + ::oUI:q_buttonChooseDest :setIcon( cLukupPng ) + ::oUI:q_buttonBackup :setIcon( cLukupPng ) + ::oUI:q_buttonXmate :setIcon( ::resPath + "xmate.png" ) + ::oUI:q_buttonHbp :setIcon( ::resPath + "open.png" ) - cLukupPng := ::resPath + "folder.png" - // - ::oUI:q_buttonChoosePrjLoc:setIcon( cLukupPng ) - ::oUI:q_buttonChooseWd :setIcon( cLukupPng ) - ::oUI:q_buttonChooseDest :setIcon( cLukupPng ) - ::oUI:q_buttonBackup :setIcon( cLukupPng ) - ::oUI:q_buttonXmate :setIcon( ::resPath + "xmate.png" ) - ::oUI:q_buttonHbp :setIcon( ::resPath + "open.png" ) + ::oUI:q_buttonSelect :setIcon( ::resPath + "open.png" ) + ::oUI:q_buttonSort :setIcon( ::resPath + "toupper.png" ) // TODO: toupper.png => atoz.png + ::oUI:q_buttonSortZA :setIcon( ::resPath + "tolower.png" ) // tolower.png => ztoa.png + ::oUI:q_buttonSortOrg:setIcon( ::resPath + "invertcase.png" ) // tolower.png => ztoa.png - ::oUI:q_buttonSelect :setIcon( ::resPath + "open.png" ) - ::oUI:q_buttonSort :setIcon( ::resPath + "toupper.png" ) // TODO: toupper.png => atoz.png - ::oUI:q_buttonSortZA :setIcon( ::resPath + "tolower.png" ) // tolower.png => ztoa.png - ::oUI:q_buttonSortOrg:setIcon( ::resPath + "invertcase.png" ) // tolower.png => ztoa.png + ::oUI:signal( "buttonCn" , "clicked()", {|| ::lSaveOK := .f., ::oPropertiesDock:hide() } ) //oWidget:close() } ) + ::oUI:signal( "buttonSave" , "clicked()", {|| ::lSaveOK := .t., ::save( .F. ) } ) + ::oUI:signal( "buttonSaveExit" , "clicked()", {|| ::lSaveOK := .t., ::save( .T. ) } ) + // + ::oUI:signal( "buttonSelect" , "clicked()", {|| ::addSources() } ) + ::oUI:signal( "buttonSort" , "clicked()", {|| ::sortSources( "az" ) } ) + ::oUI:signal( "buttonSortZA" , "clicked()", {|| ::sortSources( "za" ) } ) + ::oUI:signal( "buttonSortOrg" , "clicked()", {|| ::sortSources( "org" ) } ) + // + ::oUI:signal( "tabWidget" , "currentChanged(int)", {|p| ::updateHbp( p ) } ) + ::oUI:signal( "editMetaData" , "textChanged()" , {|| ::updateMetaData() } ) - ::oUI:signal( "buttonCn" , "clicked()", {|| ::lSaveOK := .f., ::oUI:done( 0 ) } ) //oWidget:close() } ) - ::oUI:signal( "buttonSave" , "clicked()", {|| ::lSaveOK := .t., ::save( .F. ) } ) - ::oUI:signal( "buttonSaveExit" , "clicked()", {|| ::lSaveOK := .t., ::save( .T. ) } ) - // - ::oUI:signal( "buttonSelect" , "clicked()", {|| ::addSources() } ) - ::oUI:signal( "buttonSort" , "clicked()", {|| ::sortSources( "az" ) } ) - ::oUI:signal( "buttonSortZA" , "clicked()", {|| ::sortSources( "za" ) } ) - ::oUI:signal( "buttonSortOrg" , "clicked()", {|| ::sortSources( "org" ) } ) - // - ::oUI:signal( "tabWidget" , "currentChanged(int)", {|p| ::updateHbp( p ) } ) - ::oUI:signal( "editMetaData" , "textChanged()" , {|| ::updateMetaData() } ) + ::oUI:signal( "buttonChoosePrjLoc", "clicked()", {|| ::PromptForPath( 'editPrjLoctn' , 'Choose Project Location...' ) } ) + ::oUI:signal( "buttonChooseWd" , "clicked()", {|| ::PromptForPath( 'editWrkFolder', 'Choose Working Folder...' ) } ) + ::oUI:signal( "buttonChooseDest" , "clicked()", {|| ::PromptForPath( 'editDstFolder', 'Choose Destination Folder...' ) } ) + ::oUI:signal( "buttonBackup" , "clicked()", {|| ::PromptForPath( 'editBackup' , 'Choose Backup Folder...' ) } ) + ::oUI:signal( "buttonXmate" , "clicked()", {|| ::loadXhpProject() } ) + ::oUI:signal( "buttonHbp" , "clicked()", {|| ::loadHbpProject() } ) - ::oUI:signal( "buttonChoosePrjLoc", "clicked()", {|| ::PromptForPath( 'editPrjLoctn' , 'Choose Project Location...' ) } ) - ::oUI:signal( "buttonChooseWd" , "clicked()", {|| ::PromptForPath( 'editWrkFolder', 'Choose Working Folder...' ) } ) - ::oUI:signal( "buttonChooseDest" , "clicked()", {|| ::PromptForPath( 'editDstFolder', 'Choose Destination Folder...' ) } ) - ::oUI:signal( "buttonBackup" , "clicked()", {|| ::PromptForPath( 'editBackup' , 'Choose Backup Folder...' ) } ) - ::oUI:signal( "buttonXmate" , "clicked()", {|| ::loadXhpProject() } ) - ::oUI:signal( "buttonHbp" , "clicked()", {|| ::loadHbpProject() } ) - - ::oUI:signal( "editPrjLoctn" , "textChanged(QString)", {|cPath| ::setProjectLocation( cPath ) } ) + ::oUI:signal( "editPrjLoctn" , "textChanged(QString)", {|cPath| ::setProjectLocation( cPath ) } ) + ENDIF IF empty( ::aPrjProps ) - /* - * When they click on the button to confirm the name of the project, we - * will adjust the other parameters. (vailtoms) - * 25/12/2009 - 20:40:22 - */ - ::oUI:q_editPrjLoctn:setText( hbide_pathNormalized( cPrjLoc, .F. ) ) + ::oUI:q_comboPrjType:setCurrentIndex( 0 ) + + ::oUI:q_editPrjTitle :setText( "" ) + ::oUI:q_editPrjLoctn :setText( hbide_pathNormalized( cPrjLoc, .F. ) ) + ::oUI:q_editWrkFolder:setText( "" ) + ::oUI:q_editDstFolder:setText( "" ) + ::oUI:q_editBackup :setText( "" ) + ::oUI:q_editOutName :setText( "" ) + + ::oUI:q_editFlags :setPlainText( "" ) + ::oUI:q_editSources :setPlainText( "" ) + ::oUI:q_editMetaData :setPlainText( "" ) + + ::oUI:q_editLaunchParams:setText( "" ) + ::oUI:q_editLaunchExe:setText( "" ) + ::oUI:q_editHbp:setPlainText( "" ) + + ::oUI:oWidget:setWindowTitle( 'New Project...' ) ELSE + DO CASE + CASE empty( ::aPrjProps ) + ::oUI:q_comboPrjType:setCurrentIndex( 0 ) + CASE ::aPrjProps[ PRJ_PRP_PROPERTIES, 2, E_qPrjType ] == "Lib" + ::oUI:q_comboPrjType:setCurrentIndex( 1 ) + CASE ::aPrjProps[ PRJ_PRP_PROPERTIES, 2, E_qPrjType ] == "Dll" + ::oUI:q_comboPrjType:setCurrentIndex( 2 ) + OTHERWISE + ::oUI:q_comboPrjType:setCurrentIndex( 0 ) + ENDCASE + ::oUI:q_editPrjTitle :setText( ::oProject:applyMeta( ::oProject:title ) ) ::oUI:q_editPrjLoctn :setText( ::oProject:applyMeta( ::oProject:location ) ) ::oUI:q_editWrkFolder:setText( ::oProject:applyMeta( ::oProject:wrkDirectory ) ) @@ -629,27 +644,13 @@ METHOD IdeProjManager:fetchProperties() ::oUI:q_editLaunchParams:setText( ::oProject:launchParams ) ::oUI:q_editLaunchExe:setText( ::oProject:launchProgram ) - #if 0 - ::oUI:q_editHbp:setPlainText() - #endif - ENDIF - IF empty( ::aPrjProps ) - ::oUI:oWidget:setWindowTitle( 'New Project...' ) - ELSE + ::oUI:q_editHbp:setPlainText( "" ) + ::oUI:oWidget:setWindowTitle( 'Properties for "' + ::oUI:q_editPrjTitle:Text() + '"' ) ENDIF - ::setPosAndSizeByIni( ::oUI:oWidget, PropsDialogGeometry ) - // - ::oUI:exec() - // -// ::aIni[ INI_HBIDE, PropsDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget ) - ::aIni[ INI_HBIDE, PropsDialogGeometry ] := hbide_posAndSize( ::oUI ) - - ::oUI:destroy() - - ::manageFocusInEditor() + ::oPropertiesDock:show() RETURN Self @@ -742,7 +743,7 @@ METHOD IdeProjManager:save( lCanClose ) ENDIF IF lCanClose .AND. lOk - ::oUI:done( 1 ) + ::oPropertiesDock:hide() ENDIF RETURN lOk @@ -962,53 +963,28 @@ METHOD IdeProjManager:loadXhpProject() /*----------------------------------------------------------------------*/ METHOD IdeProjManager:manageEnvironments() - LOCAL cLukupPng - #ifdef HBIDE_USE_UIC - ::oUI := HbQtUI():new( ::resPath + "projectproperties.uic", ::oDlg:oWidget ):build() - #else - ::oUI := HbQtUI():new( ::resPath + "projectproperties.ui", ::oDlg:oWidget ):create() - #endif + IF empty( ::oUIEnv ) + ::oUIEnv := HbQtUI():new( ::resPath + "environments.uic", ::oEnvironDock:oWidget ):build() + ::oEnvironDock:qtObject := ::oUIEnv + ::oEnvironDock:oWidget:setWidget( ::oUIEnv ) - cLukupPng := ::resPath + "folder.png" - // - ::oUI:q_buttonPathMk2:setIcon( cLukupPng ) - ::oUI:q_buttonPathEnv:setIcon( cLukupPng ) - ::oUI:q_buttonSaveEnv:setIcon( ::resPath + "save.png" ) + ::oUIEnv:q_buttonPathMk2:setIcon( ::resPath + "folder.png" ) + ::oUIEnv:q_buttonPathEnv:setIcon( ::resPath + "folder.png" ) - ::oUI:q_buttonSaveEnv:hide() - ::oUI:q_tabWidget:removeTab( 0 ) - ::oUI:q_tabWidget:removeTab( 0 ) - ::oUI:q_tabWidget:removeTab( 0 ) - ::oUI:q_tabWidget:removeTab( 0 ) - //::oUI:q_tabFiles:oWidget:hide() - //::oUI:q_tabMeta:oWidget:hide() - //::oUI:q_tabHbp:oWidget:hide() + ::oUIEnv:signal( "buttonCn" , "clicked()", {|| ::oEnvironDock:hide() } ) + ::oUIEnv:signal( "buttonSave" , "clicked()", {|| ::saveEnvironments() } ) + ::oUIEnv:signal( "buttonSaveExit", "clicked()", {|| ::saveEnvironments(), ::oEnvironDock:hide() } ) + ::oUIEnv:signal( "buttonPathMk2" , "clicked()", {|| ::PromptForPath( 'editPathMk2', 'Choose hbmk2 Executable Folder...' ) } ) + ::oUIEnv:signal( "buttonPathEnv" , "clicked()", {|| ::PromptForPath( 'editPathEnv', 'Choose hbIDE.env Folder...' ), ; + ::oUIEnv:q_editCompilers:setPlainText( hb_memoread( hbide_pathFile( ::oUIEnv:q_editPathEnv:text(), "hbide.env" ) ) ) } ) + ENDIF - ::oUI:signal( "buttonCn" , "clicked()", {|| ::oUI:oWidget:close() } ) - ::oUI:signal( "buttonSave" , "clicked()", {|| ::saveEnvironments() } ) - ::oUI:signal( "buttonSaveExit" , "clicked()", {|| ::saveEnvironments(), ::oUI:oWidget:close() } ) - * ::oUI:signal( "buttonSaveEnv" , "clicked()", {|| ::saveEnvironments() } ) - ::oUI:signal( "buttonPathMk2" , "clicked()", {|| ::PromptForPath( 'editPathMk2' , 'Choose hbmk2 Executable Folder...' ) } ) - ::oUI:signal( "buttonPathEnv" , "clicked()", {|| ::PromptForPath( 'editPathEnv' , 'Choose hbIDE.env Folder...' ), ; - ::oUI:q_editCompilers:setPlainText( hb_memoread( hbide_pathFile( ::oUI:q_editPathEnv:text(), "hbide.env" ) ) ) } ) + ::oUIEnv:q_editPathMk2 :setText( ::aINI[ INI_HBIDE, PathMk2 ] ) + ::oUIEnv:q_editPathEnv :setText( ::aINI[ INI_HBIDE, PathEnv ] ) + ::oUIEnv:q_editCompilers:setPlainText( hb_memoread( hbide_pathFile( ::aINI[ INI_HBIDE, PathEnv ], "hbide.env" ) ) ) - ::oUI:q_editPathMk2 :setText( ::aINI[ INI_HBIDE, PathMk2 ] ) - ::oUI:q_editPathEnv :setText( ::aINI[ INI_HBIDE, PathEnv ] ) - ::oUI:q_editCompilers:setPlainText( hb_memoread( hbide_pathFile( ::aINI[ INI_HBIDE, PathEnv ], "hbide.env" ) ) ) - - ::oUI:oWidget:setWindowTitle( 'Setup Build Environments' ) - - ::setPosAndSizeByIni( ::oUI:oWidget, PropsDialogGeometry ) - // - ::oUI:exec() - // - ::aIni[ INI_HBIDE, PropsDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget ) - - ::oUI:destroy() - ::oUI := NIL - - ::manageFocusInEditor() + ::oEnvironDock:show() RETURN Self @@ -1017,8 +993,8 @@ METHOD IdeProjManager:manageEnvironments() METHOD IdeProjManager:saveEnvironments() LOCAL cText, cPathMk2, cPathEnv - cPathMk2 := ::oUI:q_editPathMk2:text() - cPathEnv := ::oUI:q_editPathEnv:text() + cPathMk2 := ::oUIEnv:q_editPathMk2:text() + cPathEnv := ::oUIEnv:q_editPathEnv:text() ::oIDE:aINI[ INI_HBIDE, PathMk2 ] := cPathMk2 ::oIDE:aINI[ INI_HBIDE, PathEnv ] := cPathEnv @@ -1026,7 +1002,7 @@ METHOD IdeProjManager:saveEnvironments() ::oIDE:cWrkPathMk2 := cPathMk2 ::oIDE:cWrkPathEnv := cPathEnv - IF !empty( cText := ::oUI:q_editCompilers:toPlainText() ) + IF !empty( cText := ::oUIEnv:q_editCompilers:toPlainText() ) hb_MemoWrit( hbide_pathFile( cPathEnv, "hbide.env" ), cText ) ENDIF diff --git a/harbour/contrib/hbide/idestylesheets.prg b/harbour/contrib/hbide/idestylesheets.prg index 5a37c68dee..d3595eff98 100644 --- a/harbour/contrib/hbide/idestylesheets.prg +++ b/harbour/contrib/hbide/idestylesheets.prg @@ -307,7 +307,7 @@ FUNCTION GetStyleSheet( cWidget ) CASE cWidget == "QDockWidget" aadd( txt_, 'QDockWidget { ' ) - aadd( txt_, ' border: 1px solid lightgray; ' ) + aadd( txt_, ' border: 1px solid darkgray; ' ) aadd( txt_, ' } ' ) //aadd( txt_, 'QDockWidget::title { ' ) //aadd( txt_, ' text-align: left; /* align the text to the left */ ' ) diff --git a/harbour/contrib/hbide/idethemes.prg b/harbour/contrib/hbide/idethemes.prg index b2fc35589e..7c2e05dfdd 100644 --- a/harbour/contrib/hbide/idethemes.prg +++ b/harbour/contrib/hbide/idethemes.prg @@ -412,13 +412,10 @@ METHOD IdeThemes:fetch() IF empty( ::oUI ) ::lCreating := .t. - #ifdef HBIDE_USE_UIC - ::oUI := HbQtUI():new( ::oIde:resPath + "themes.uic", ::oIde:oDlg:oWidget ):build() - #else - ::oUI := HbQtUI():new( ::oIde:resPath + "themes.ui", ::oIde:oDlg:oWidget ):create() - #endif + ::oUI := HbQtUI():new( ::oIde:resPath + "themesex.uic", ::oThemesDock:oWidget ):build() - ::oUI:setWindowFlags( Qt_Sheet ) + ::oThemesDock:oWidget:setWidget( ::oUI ) + ::oThemesDock:qtObject := ::oUI ::oUI:signal( "comboThemes" , "currentIndexChanged(int)", {|i| ::nCurTheme := i+1, ::setTheme( i ) } ) ::oUI:signal( "comboItems" , "currentIndexChanged(int)", {|i| ::nCurItem := i+1, ::setAttributes( i ) } ) @@ -433,7 +430,7 @@ METHOD IdeThemes:fetch() ::oUI:signal( "checkUnderline", "stateChanged(int)" , {|i| ::updateAttribute( THM_ATR_ULINE , i ) } ) ::oUI:signal( "buttonClose" , "clicked()", ; - {|| ::oIde:aIni[ INI_HBIDE, ThemesDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget ), ::oUI:hide() } ) + {|| ::oIde:aIni[ INI_HBIDE, ThemesDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget ), ::oThemesDock:hide() } ) ::oIde:setPosAndSizeByIni( ::oUI:oWidget, ThemesDialogGeometry ) @@ -469,9 +466,10 @@ METHOD IdeThemes:fetch() ::setTheme() ::setAttributes() + ENDIF - ::oUI:show() + ::oThemesDock:show() RETURN Self diff --git a/harbour/contrib/hbide/resources/blockcomment.png b/harbour/contrib/hbide/resources/blockcomment.png new file mode 100644 index 0000000000..074eceb2ab Binary files /dev/null and b/harbour/contrib/hbide/resources/blockcomment.png differ diff --git a/harbour/contrib/hbide/resources/environments.ui b/harbour/contrib/hbide/resources/environments.ui new file mode 100644 index 0000000000..2bc8809fbd --- /dev/null +++ b/harbour/contrib/hbide/resources/environments.ui @@ -0,0 +1,162 @@ + + + Form + + + + 0 + 0 + 367 + 519 + + + + Form + + + + + + 0 + + + + Environments + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">HBIDE employes the concept of keeping everything tied together. It means all complier specific environments are kept together in a convinient way and applied as per need.</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">So here you view/edit all the environments you employ in your applications. At the time you will build the project, a list of stated environments will be presented to choose from.</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This opens up the possibility to experiment with different compilers without re-opening the IDE or setting up the envvars manually.</span></p></body></html> + + + + + + QPlainTextEdit::NoWrap + + + + + + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Path to hbmk2 + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Path to hbIDE.env + + + + + + + + + + + + + + + + + + + + + + + + + Save and Exit + + + + + + + Save + + + false + + + true + + + + + + + Cancel + + + false + + + + + + + + + + diff --git a/harbour/contrib/hbide/resources/environments.uic b/harbour/contrib/hbide/resources/environments.uic new file mode 100644 index 0000000000..cb3e5143ed --- /dev/null +++ b/harbour/contrib/hbide/resources/environments.uic @@ -0,0 +1,187 @@ +/******************************************************************************** +** Form generated from reading ui file 'environments.ui' +** +** Created: Wed Feb 17 15:07:44 2010 +** by: Qt User Interface Compiler version 4.5.3 +** +** WARNING! All changes made in this file will be lost when recompiling ui file! +********************************************************************************/ + +#ifndef ENVIRONMENTS_H +#define ENVIRONMENTS_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_Form +{ +public: + QVBoxLayout *verticalLayout; + QTabWidget *tabWidget; + QWidget *tabCompilers; + QGridLayout *gridLayout_5; + QPlainTextEdit *editCompilers; + QHBoxLayout *horizontalLayout_2; + QLabel *label_10; + QLineEdit *editPathMk2; + QToolButton *buttonPathMk2; + QHBoxLayout *horizontalLayout_3; + QLabel *label_12; + QLineEdit *editPathEnv; + QToolButton *buttonPathEnv; + QHBoxLayout *horizontalLayout_4; + QPushButton *buttonSaveExit; + QPushButton *buttonSave; + QPushButton *buttonCn; + + void setupUi(QWidget *Form) + { + if (Form->objectName().isEmpty()) + Form->setObjectName(QString::fromUtf8("Form")); + Form->resize(367, 519); + verticalLayout = new QVBoxLayout(Form); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + tabWidget = new QTabWidget(Form); + tabWidget->setObjectName(QString::fromUtf8("tabWidget")); + tabCompilers = new QWidget(); + tabCompilers->setObjectName(QString::fromUtf8("tabCompilers")); + gridLayout_5 = new QGridLayout(tabCompilers); + gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5")); + editCompilers = new QPlainTextEdit(tabCompilers); + editCompilers->setObjectName(QString::fromUtf8("editCompilers")); + editCompilers->setLineWrapMode(QPlainTextEdit::NoWrap); + + gridLayout_5->addWidget(editCompilers, 2, 1, 1, 1); + + horizontalLayout_2 = new QHBoxLayout(); + horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2")); + label_10 = new QLabel(tabCompilers); + label_10->setObjectName(QString::fromUtf8("label_10")); + label_10->setMinimumSize(QSize(100, 0)); + label_10->setMaximumSize(QSize(100, 16777215)); + + horizontalLayout_2->addWidget(label_10); + + editPathMk2 = new QLineEdit(tabCompilers); + editPathMk2->setObjectName(QString::fromUtf8("editPathMk2")); + + horizontalLayout_2->addWidget(editPathMk2); + + buttonPathMk2 = new QToolButton(tabCompilers); + buttonPathMk2->setObjectName(QString::fromUtf8("buttonPathMk2")); + buttonPathMk2->setMinimumSize(QSize(0, 0)); + + horizontalLayout_2->addWidget(buttonPathMk2); + + + gridLayout_5->addLayout(horizontalLayout_2, 0, 1, 1, 1); + + horizontalLayout_3 = new QHBoxLayout(); + horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3")); + label_12 = new QLabel(tabCompilers); + label_12->setObjectName(QString::fromUtf8("label_12")); + label_12->setMinimumSize(QSize(100, 0)); + label_12->setMaximumSize(QSize(100, 16777215)); + + horizontalLayout_3->addWidget(label_12); + + editPathEnv = new QLineEdit(tabCompilers); + editPathEnv->setObjectName(QString::fromUtf8("editPathEnv")); + + horizontalLayout_3->addWidget(editPathEnv); + + buttonPathEnv = new QToolButton(tabCompilers); + buttonPathEnv->setObjectName(QString::fromUtf8("buttonPathEnv")); + + horizontalLayout_3->addWidget(buttonPathEnv); + + + gridLayout_5->addLayout(horizontalLayout_3, 1, 1, 1, 1); + + tabWidget->addTab(tabCompilers, QString()); + + verticalLayout->addWidget(tabWidget); + + horizontalLayout_4 = new QHBoxLayout(); + horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4")); + buttonSaveExit = new QPushButton(Form); + buttonSaveExit->setObjectName(QString::fromUtf8("buttonSaveExit")); + + horizontalLayout_4->addWidget(buttonSaveExit); + + buttonSave = new QPushButton(Form); + buttonSave->setObjectName(QString::fromUtf8("buttonSave")); + buttonSave->setAutoDefault(false); + buttonSave->setDefault(true); + + horizontalLayout_4->addWidget(buttonSave); + + buttonCn = new QPushButton(Form); + buttonCn->setObjectName(QString::fromUtf8("buttonCn")); + buttonCn->setAutoDefault(false); + + horizontalLayout_4->addWidget(buttonCn); + + + verticalLayout->addLayout(horizontalLayout_4); + + + retranslateUi(Form); + + tabWidget->setCurrentIndex(0); + + + QMetaObject::connectSlotsByName(Form); + } // setupUi + + void retranslateUi(QWidget *Form) + { + Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editCompilers->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

HBIDE employes the concept of keeping everything tied together. It means all complier specific environments are kept together in a convinient way and applied as per need.

\n" +"

\n" +"

" + "So here you view/edit all the environments you employ in your applications. At the time you will build the project, a list of stated environments will be presented to choose from.

\n" +"

\n" +"

This opens up the possibility to experiment with different compilers without re-opening the IDE or setting up the envvars manually.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + editCompilers->setStyleSheet(QString()); + label_10->setText(QApplication::translate("Form", "Path to hbmk2", 0, QApplication::UnicodeUTF8)); + buttonPathMk2->setText(QString()); + label_12->setText(QApplication::translate("Form", "Path to hbIDE.env", 0, QApplication::UnicodeUTF8)); + buttonPathEnv->setText(QString()); + tabWidget->setTabText(tabWidget->indexOf(tabCompilers), QApplication::translate("Form", "Environments", 0, QApplication::UnicodeUTF8)); + buttonSaveExit->setText(QApplication::translate("Form", "Save and Exit", 0, QApplication::UnicodeUTF8)); + buttonSave->setText(QApplication::translate("Form", "Save", 0, QApplication::UnicodeUTF8)); + buttonCn->setText(QApplication::translate("Form", "Cancel", 0, QApplication::UnicodeUTF8)); + Q_UNUSED(Form); + } // retranslateUi + +}; + +namespace Ui { + class Form: public Ui_Form {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // ENVIRONMENTS_H diff --git a/harbour/contrib/hbide/resources/findinfilesex.ui b/harbour/contrib/hbide/resources/findinfilesex.ui new file mode 100644 index 0000000000..af14da5625 --- /dev/null +++ b/harbour/contrib/hbide/resources/findinfilesex.ui @@ -0,0 +1,370 @@ + + + Form + + + + 0 + 0 + 404 + 443 + + + + Form + + + + + + + + true + + + + + + + ... + + + + + + + + + + + + 52 + 0 + + + + + 52 + 16777215 + + + + File types: + + + + + + + all + + + + + + + .prg + + + + + + + .c + + + + + + + .c++ + + + + + + + .ch + + + + + + + .h + + + + + + + + 33 + 16777215 + + + + .rc + + + + + + + + + Qt::Horizontal + + + + + + + + 52 + 16777215 + + + + Projects: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 60 + + + + + 16777215 + 60 + + + + QAbstractItemView::NoEditTriggers + + + QAbstractItemView::MultiSelection + + + false + + + + + + + Qt::Horizontal + + + + + + + + 52 + 16777215 + + + + Expression + + + + + + + true + + + + + + + RegEx + + + + + + + Match case + + + + + + + List only + + + + + + + + 52 + 16777215 + + + + Replace: + + + + + + + true + + + + + + + Qt::Horizontal + + + + + + + QTextEdit::NoWrap + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + + + + false + + + + + + + + + Find + + + + + + + Replace + + + + + + + Stop + + + + + + + Close + + + + + + + + + + 52 + 16777215 + + + + Folder: + + + + + + + + + Include open tabs + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Include sub-projects + + + + + + + + + + + Include folders + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Include sub-folders + + + + + + + + + + diff --git a/harbour/contrib/hbide/resources/findinfilesex.uic b/harbour/contrib/hbide/resources/findinfilesex.uic new file mode 100644 index 0000000000..592be0d6da --- /dev/null +++ b/harbour/contrib/hbide/resources/findinfilesex.uic @@ -0,0 +1,354 @@ +/******************************************************************************** +** Form generated from reading ui file 'findinfilesex.ui' +** +** Created: Wed Feb 17 17:38:32 2010 +** by: Qt User Interface Compiler version 4.5.3 +** +** WARNING! All changes made in this file will be lost when recompiling ui file! +********************************************************************************/ + +#ifndef FINDINFILESEX_H +#define FINDINFILESEX_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_Form +{ +public: + QGridLayout *gridLayout; + QHBoxLayout *horizontalLayout_5; + QComboBox *comboFolder; + QToolButton *buttonFolder; + QHBoxLayout *horizontalLayout_6; + QLabel *labelFileTypes; + QCheckBox *checkAll; + QCheckBox *checkPrg; + QCheckBox *checkC; + QCheckBox *checkCpp; + QCheckBox *checkCh; + QCheckBox *checkH; + QCheckBox *checkRc; + QFrame *line_5; + QLabel *labelProjects; + QListWidget *listProjects; + QFrame *line_3; + QLabel *labelExpr; + QComboBox *comboExpr; + QCheckBox *checkRegEx; + QCheckBox *checkMatchCase; + QCheckBox *checkListOnly; + QLabel *labelRepl; + QComboBox *comboRepl; + QFrame *line_4; + QTextEdit *editResults; + QLabel *labelStatus; + QHBoxLayout *horizontalLayout_7; + QPushButton *buttonFind; + QPushButton *buttonRepl; + QPushButton *buttonStop; + QPushButton *buttonClose; + QLabel *labelFolder; + QHBoxLayout *horizontalLayout_4; + QCheckBox *checkOpenTabs; + QSpacerItem *horizontalSpacer; + QCheckBox *checkSubProjects; + QHBoxLayout *horizontalLayout_8; + QCheckBox *checkFolders; + QSpacerItem *horizontalSpacer_2; + QCheckBox *checkSubFolders; + + void setupUi(QWidget *Form) + { + if (Form->objectName().isEmpty()) + Form->setObjectName(QString::fromUtf8("Form")); + Form->resize(404, 443); + gridLayout = new QGridLayout(Form); + gridLayout->setObjectName(QString::fromUtf8("gridLayout")); + horizontalLayout_5 = new QHBoxLayout(); + horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5")); + comboFolder = new QComboBox(Form); + comboFolder->setObjectName(QString::fromUtf8("comboFolder")); + comboFolder->setEditable(true); + + horizontalLayout_5->addWidget(comboFolder); + + buttonFolder = new QToolButton(Form); + buttonFolder->setObjectName(QString::fromUtf8("buttonFolder")); + + horizontalLayout_5->addWidget(buttonFolder); + + + gridLayout->addLayout(horizontalLayout_5, 4, 1, 1, 3); + + horizontalLayout_6 = new QHBoxLayout(); + horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6")); + labelFileTypes = new QLabel(Form); + labelFileTypes->setObjectName(QString::fromUtf8("labelFileTypes")); + labelFileTypes->setMinimumSize(QSize(52, 0)); + labelFileTypes->setMaximumSize(QSize(52, 16777215)); + + horizontalLayout_6->addWidget(labelFileTypes); + + checkAll = new QCheckBox(Form); + checkAll->setObjectName(QString::fromUtf8("checkAll")); + + horizontalLayout_6->addWidget(checkAll); + + checkPrg = new QCheckBox(Form); + checkPrg->setObjectName(QString::fromUtf8("checkPrg")); + + horizontalLayout_6->addWidget(checkPrg); + + checkC = new QCheckBox(Form); + checkC->setObjectName(QString::fromUtf8("checkC")); + + horizontalLayout_6->addWidget(checkC); + + checkCpp = new QCheckBox(Form); + checkCpp->setObjectName(QString::fromUtf8("checkCpp")); + + horizontalLayout_6->addWidget(checkCpp); + + checkCh = new QCheckBox(Form); + checkCh->setObjectName(QString::fromUtf8("checkCh")); + + horizontalLayout_6->addWidget(checkCh); + + checkH = new QCheckBox(Form); + checkH->setObjectName(QString::fromUtf8("checkH")); + + horizontalLayout_6->addWidget(checkH); + + checkRc = new QCheckBox(Form); + checkRc->setObjectName(QString::fromUtf8("checkRc")); + checkRc->setMaximumSize(QSize(33, 16777215)); + + horizontalLayout_6->addWidget(checkRc); + + + gridLayout->addLayout(horizontalLayout_6, 0, 0, 1, 4); + + line_5 = new QFrame(Form); + line_5->setObjectName(QString::fromUtf8("line_5")); + line_5->setFrameShape(QFrame::HLine); + line_5->setFrameShadow(QFrame::Sunken); + + gridLayout->addWidget(line_5, 1, 0, 1, 4); + + labelProjects = new QLabel(Form); + labelProjects->setObjectName(QString::fromUtf8("labelProjects")); + labelProjects->setMaximumSize(QSize(52, 16777215)); + labelProjects->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); + + gridLayout->addWidget(labelProjects, 2, 0, 1, 1); + + listProjects = new QListWidget(Form); + listProjects->setObjectName(QString::fromUtf8("listProjects")); + listProjects->setMinimumSize(QSize(0, 60)); + listProjects->setMaximumSize(QSize(16777215, 60)); + listProjects->setEditTriggers(QAbstractItemView::NoEditTriggers); + listProjects->setSelectionMode(QAbstractItemView::MultiSelection); + listProjects->setSortingEnabled(false); + + gridLayout->addWidget(listProjects, 2, 1, 1, 3); + + line_3 = new QFrame(Form); + line_3->setObjectName(QString::fromUtf8("line_3")); + line_3->setFrameShape(QFrame::HLine); + line_3->setFrameShadow(QFrame::Sunken); + + gridLayout->addWidget(line_3, 9, 0, 1, 4); + + labelExpr = new QLabel(Form); + labelExpr->setObjectName(QString::fromUtf8("labelExpr")); + labelExpr->setMaximumSize(QSize(52, 16777215)); + + gridLayout->addWidget(labelExpr, 11, 0, 1, 1); + + comboExpr = new QComboBox(Form); + comboExpr->setObjectName(QString::fromUtf8("comboExpr")); + comboExpr->setEditable(true); + + gridLayout->addWidget(comboExpr, 11, 1, 1, 3); + + checkRegEx = new QCheckBox(Form); + checkRegEx->setObjectName(QString::fromUtf8("checkRegEx")); + + gridLayout->addWidget(checkRegEx, 12, 1, 1, 1); + + checkMatchCase = new QCheckBox(Form); + checkMatchCase->setObjectName(QString::fromUtf8("checkMatchCase")); + + gridLayout->addWidget(checkMatchCase, 12, 2, 1, 1); + + checkListOnly = new QCheckBox(Form); + checkListOnly->setObjectName(QString::fromUtf8("checkListOnly")); + + gridLayout->addWidget(checkListOnly, 12, 3, 1, 1); + + labelRepl = new QLabel(Form); + labelRepl->setObjectName(QString::fromUtf8("labelRepl")); + labelRepl->setMaximumSize(QSize(52, 16777215)); + + gridLayout->addWidget(labelRepl, 13, 0, 1, 1); + + comboRepl = new QComboBox(Form); + comboRepl->setObjectName(QString::fromUtf8("comboRepl")); + comboRepl->setEditable(true); + + gridLayout->addWidget(comboRepl, 13, 1, 1, 3); + + line_4 = new QFrame(Form); + line_4->setObjectName(QString::fromUtf8("line_4")); + line_4->setFrameShape(QFrame::HLine); + line_4->setFrameShadow(QFrame::Sunken); + + gridLayout->addWidget(line_4, 14, 0, 1, 4); + + editResults = new QTextEdit(Form); + editResults->setObjectName(QString::fromUtf8("editResults")); + editResults->setLineWrapMode(QTextEdit::NoWrap); + + gridLayout->addWidget(editResults, 16, 0, 1, 4); + + labelStatus = new QLabel(Form); + labelStatus->setObjectName(QString::fromUtf8("labelStatus")); + labelStatus->setFrameShape(QFrame::Panel); + labelStatus->setFrameShadow(QFrame::Sunken); + labelStatus->setWordWrap(false); + + gridLayout->addWidget(labelStatus, 17, 0, 1, 4); + + horizontalLayout_7 = new QHBoxLayout(); + horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7")); + buttonFind = new QPushButton(Form); + buttonFind->setObjectName(QString::fromUtf8("buttonFind")); + + horizontalLayout_7->addWidget(buttonFind); + + buttonRepl = new QPushButton(Form); + buttonRepl->setObjectName(QString::fromUtf8("buttonRepl")); + + horizontalLayout_7->addWidget(buttonRepl); + + buttonStop = new QPushButton(Form); + buttonStop->setObjectName(QString::fromUtf8("buttonStop")); + + horizontalLayout_7->addWidget(buttonStop); + + buttonClose = new QPushButton(Form); + buttonClose->setObjectName(QString::fromUtf8("buttonClose")); + + horizontalLayout_7->addWidget(buttonClose); + + + gridLayout->addLayout(horizontalLayout_7, 15, 1, 1, 3); + + labelFolder = new QLabel(Form); + labelFolder->setObjectName(QString::fromUtf8("labelFolder")); + labelFolder->setMaximumSize(QSize(52, 16777215)); + + gridLayout->addWidget(labelFolder, 4, 0, 1, 1); + + horizontalLayout_4 = new QHBoxLayout(); + horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4")); + checkOpenTabs = new QCheckBox(Form); + checkOpenTabs->setObjectName(QString::fromUtf8("checkOpenTabs")); + + horizontalLayout_4->addWidget(checkOpenTabs); + + horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_4->addItem(horizontalSpacer); + + checkSubProjects = new QCheckBox(Form); + checkSubProjects->setObjectName(QString::fromUtf8("checkSubProjects")); + + horizontalLayout_4->addWidget(checkSubProjects); + + + gridLayout->addLayout(horizontalLayout_4, 3, 1, 1, 3); + + horizontalLayout_8 = new QHBoxLayout(); + horizontalLayout_8->setObjectName(QString::fromUtf8("horizontalLayout_8")); + checkFolders = new QCheckBox(Form); + checkFolders->setObjectName(QString::fromUtf8("checkFolders")); + + horizontalLayout_8->addWidget(checkFolders); + + horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_8->addItem(horizontalSpacer_2); + + checkSubFolders = new QCheckBox(Form); + checkSubFolders->setObjectName(QString::fromUtf8("checkSubFolders")); + + horizontalLayout_8->addWidget(checkSubFolders); + + + gridLayout->addLayout(horizontalLayout_8, 5, 1, 1, 3); + + + retranslateUi(Form); + + QMetaObject::connectSlotsByName(Form); + } // setupUi + + void retranslateUi(QWidget *Form) + { + Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8)); + buttonFolder->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8)); + labelFileTypes->setText(QApplication::translate("Form", "File types:", 0, QApplication::UnicodeUTF8)); + checkAll->setText(QApplication::translate("Form", "all", 0, QApplication::UnicodeUTF8)); + checkPrg->setText(QApplication::translate("Form", ".prg", 0, QApplication::UnicodeUTF8)); + checkC->setText(QApplication::translate("Form", ".c", 0, QApplication::UnicodeUTF8)); + checkCpp->setText(QApplication::translate("Form", ".c++", 0, QApplication::UnicodeUTF8)); + checkCh->setText(QApplication::translate("Form", ".ch", 0, QApplication::UnicodeUTF8)); + checkH->setText(QApplication::translate("Form", ".h", 0, QApplication::UnicodeUTF8)); + checkRc->setText(QApplication::translate("Form", ".rc", 0, QApplication::UnicodeUTF8)); + labelProjects->setText(QApplication::translate("Form", "Projects:", 0, QApplication::UnicodeUTF8)); + labelExpr->setText(QApplication::translate("Form", "Expression", 0, QApplication::UnicodeUTF8)); + checkRegEx->setText(QApplication::translate("Form", "RegEx", 0, QApplication::UnicodeUTF8)); + checkMatchCase->setText(QApplication::translate("Form", "Match case", 0, QApplication::UnicodeUTF8)); + checkListOnly->setText(QApplication::translate("Form", "List only", 0, QApplication::UnicodeUTF8)); + labelRepl->setText(QApplication::translate("Form", "Replace:", 0, QApplication::UnicodeUTF8)); + labelStatus->setText(QString()); + buttonFind->setText(QApplication::translate("Form", "Find", 0, QApplication::UnicodeUTF8)); + buttonRepl->setText(QApplication::translate("Form", "Replace", 0, QApplication::UnicodeUTF8)); + buttonStop->setText(QApplication::translate("Form", "Stop", 0, QApplication::UnicodeUTF8)); + buttonClose->setText(QApplication::translate("Form", "Close", 0, QApplication::UnicodeUTF8)); + labelFolder->setText(QApplication::translate("Form", "Folder:", 0, QApplication::UnicodeUTF8)); + checkOpenTabs->setText(QApplication::translate("Form", "Include open tabs ", 0, QApplication::UnicodeUTF8)); + checkSubProjects->setText(QApplication::translate("Form", "Include sub-projects", 0, QApplication::UnicodeUTF8)); + checkFolders->setText(QApplication::translate("Form", "Include folders", 0, QApplication::UnicodeUTF8)); + checkSubFolders->setText(QApplication::translate("Form", "Include sub-folders", 0, QApplication::UnicodeUTF8)); + Q_UNUSED(Form); + } // retranslateUi + +}; + +namespace Ui { + class Form: public Ui_Form {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // FINDINFILESEX_H diff --git a/harbour/contrib/hbide/resources/projectpropertiesex.ui b/harbour/contrib/hbide/resources/projectpropertiesex.ui new file mode 100644 index 0000000000..81f784d302 --- /dev/null +++ b/harbour/contrib/hbide/resources/projectpropertiesex.ui @@ -0,0 +1,513 @@ + + + Form + + + + 0 + 0 + 324 + 434 + + + + Form + + + + + + 0 + + + + General + + + + + + + 75 + true + + + + Project Type: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">A project may be of type Executable|Library|Dll.</span></p></body></html> + + + false + + + + + + + Project Title: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Title will be shown as a node in project tree.</span></p></body></html> + + + + + + + Project Location: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Project location is the folder where project definition file .hbi will be stored. &lt;Project Location&gt; plus &lt;Output Name&gt; will comprise the full file name with .hbp extension.</span></p></body></html> + + + + + + + Working Folder: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Working folder will be used to host HBMK2 compliant </span><span style=" font-size:8pt; font-weight:600;">&lt;Output Name&gt;</span><span style=" font-size:8pt;"> plus </span><span style=" font-size:8pt; font-weight:600;">&lt;hbp&gt;</span><span style=" font-size:8pt;"> and will be designated as current folder when </span><span style=" font-size:8pt; font-weight:600;">HBMK2</span><span style=" font-size:8pt;"> will be invoked.</span></p></body></html> + + + + + + + Destination Folder: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Destination folder is a compatibility slot and is reserved to place the &lt;Output&gt; .exe .a .lib. </p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">But currently this functionality will be achieved through the -o compiler flag.</p></body></html> + + + + + + + Compile/Link Flags: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Compiler/Linker flags may include all commands except the source files list. Additional libraries can be included here.</span></p></body></html> + + + + + + QPlainTextEdit::NoWrap + + + + + + + Launch Parameters: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Launch Program: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Backup Location: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output name is used as final name for .hbi .hbp .exe .lib .a and will be added to the paths retrieved via &lt;Project Location&gt;, &lt;Working Folder&gt;, &lt;Destination Folder&gt;, etc. So this is a very important component.</p></body></html> + + + + + + + Output Name: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + ... + + + + + + + ... + + + + + + + ... + + + + + + + ... + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Loading a .hbp project file is essentially a </p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">task of redefining its flow and contents order.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">hbIDE rewrites the existing .hbp file if the </p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">"Project Location" points to same folder </p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">where your such loaded .hbp resides.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">So</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">take care to change the "Project Location"</span></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">to different folder than home folder of .hbp.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This is done at the time of "Build" process.</p></body></html> + + + ... + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Load an xMate project file.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This feature is available only for new projects.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">hbIDE attempts to recognize various components</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">but it is possible that it may not load everything.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">So you may need manual editing.</p></body></html> + + + ... + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Sources + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You can include hereunder any type of file which can be edited via plain text editor. One file per line. You can use meta-keys to define your source paths to make your projects location independant. </p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">NOTE:</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Only .prg .c .cpp .rc .res files will be supplied to the HBMK2. All other files will be made visible for editing in &lt;Project Tree&gt;.</p></body></html> + + + + + + QPlainTextEdit::NoWrap + + + + + + + Select Sources + + + + + + + + + + Sort by Ascending Order + + + + + + + + + + Sort by Descending Order + + + + + + + + + + Organize by Type and Sort Ascending + + + + + + + + + + + Meta Data + + + + + + + 0 + 0 + + + + background-color: rgb(171, 171, 171); + + + true + + + true + + + HBIDE will employ the concept of meta-data which will be used to parse the paths or other info supplied to the interface. + +Usually meta-key is enclosed in curly braces, but due to the fact that HBMK2 already exploits it, HBIDE will recognize meta-key in angled brackets. + +Please enter meta-keys and their values like : + MySourcePath = c:/dev_sources/vouch +in the QTextEdit below. Then whereever you will supply any key anywhere in the input fields of HBIDE interface, just enclose it in angled brackets like : + <MySourcePath>/vouch.prg. +Note that keys are case sensitive. So MySourcePath <> MYSOURCEPath. + +HBIDE internally employs few keys which are shown below and are always include in the project. These accompany the value as its relevance and not as literal. + +Enjoy +Pritpal Bedi + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Meta-keys are a special way of keeping generic information which is of repeated and/or of dynamic nature. HBIDE implements meta key/value pair more comprehensively. It allows you to write an expression for the value part which get evaluated at the time project is loaded. The only point to take into consideration is that value returned by such expression must be of type character.</p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The expression is evaluated only once and keeps its value until the HBIDE interface is closed. In case of any error, the expression string itself is returned.</p></body></html> + + + + + + QPlainTextEdit::NoWrap + + + + + + + + hbp + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Here you can view in real-time the resultant &lt;hbp&gt; output which will be supplied to HBMK2. This view may give you insight about your source layout and many other facts.</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600; text-decoration: underline;">Enjoy</span></p></body></html> + + + + + + QPlainTextEdit::NoWrap + + + true + + + + + + + + + + + + + Save and Exit + + + + + + + Save + + + false + + + true + + + + + + + Cancel + + + false + + + + + + + + + + diff --git a/harbour/contrib/hbide/resources/projectpropertiesex.uic b/harbour/contrib/hbide/resources/projectpropertiesex.uic new file mode 100644 index 0000000000..5f7f99c098 --- /dev/null +++ b/harbour/contrib/hbide/resources/projectpropertiesex.uic @@ -0,0 +1,539 @@ +/******************************************************************************** +** Form generated from reading ui file 'projectpropertiesex.ui' +** +** Created: Wed Feb 17 15:22:01 2010 +** by: Qt User Interface Compiler version 4.5.3 +** +** WARNING! All changes made in this file will be lost when recompiling ui file! +********************************************************************************/ + +#ifndef PROJECTPROPERTIESEX_H +#define PROJECTPROPERTIESEX_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_Form +{ +public: + QVBoxLayout *verticalLayout; + QTabWidget *tabWidget; + QWidget *tabGeneral; + QGridLayout *gridLayout; + QLabel *label; + QComboBox *comboPrjType; + QLabel *label_2; + QLineEdit *editPrjTitle; + QLabel *label_3; + QLineEdit *editPrjLoctn; + QLabel *label_4; + QLineEdit *editWrkFolder; + QLabel *label_5; + QLineEdit *editDstFolder; + QLabel *label_9; + QPlainTextEdit *editFlags; + QLabel *label_7; + QLineEdit *editLaunchParams; + QLabel *label_8; + QLineEdit *editLaunchExe; + QLabel *label_13; + QLineEdit *editBackup; + QLineEdit *editOutName; + QLabel *label_6; + QToolButton *buttonChoosePrjLoc; + QToolButton *buttonBackup; + QToolButton *buttonChooseDest; + QToolButton *buttonChooseWd; + QHBoxLayout *horizontalLayout_7; + QToolButton *buttonHbp; + QToolButton *buttonXmate; + QSpacerItem *horizontalSpacer; + QWidget *tabFiles; + QGridLayout *gridLayout_2; + QPlainTextEdit *editSources; + QToolButton *buttonSelect; + QToolButton *buttonSort; + QToolButton *buttonSortZA; + QToolButton *buttonSortOrg; + QWidget *tabMeta; + QGridLayout *gridLayout_3; + QPlainTextEdit *editMetaHelp; + QPlainTextEdit *editMetaData; + QWidget *tabHbp; + QGridLayout *gridLayout_4; + QPlainTextEdit *editHbp; + QHBoxLayout *horizontalLayout_4; + QPushButton *buttonSaveExit; + QPushButton *buttonSave; + QPushButton *buttonCn; + + void setupUi(QWidget *Form) + { + if (Form->objectName().isEmpty()) + Form->setObjectName(QString::fromUtf8("Form")); + Form->resize(324, 434); + verticalLayout = new QVBoxLayout(Form); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + tabWidget = new QTabWidget(Form); + tabWidget->setObjectName(QString::fromUtf8("tabWidget")); + tabGeneral = new QWidget(); + tabGeneral->setObjectName(QString::fromUtf8("tabGeneral")); + gridLayout = new QGridLayout(tabGeneral); + gridLayout->setObjectName(QString::fromUtf8("gridLayout")); + label = new QLabel(tabGeneral); + label->setObjectName(QString::fromUtf8("label")); + QFont font; + font.setBold(true); + font.setWeight(75); + label->setFont(font); + label->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label, 1, 0, 1, 1); + + comboPrjType = new QComboBox(tabGeneral); + comboPrjType->setObjectName(QString::fromUtf8("comboPrjType")); + comboPrjType->setEditable(false); + + gridLayout->addWidget(comboPrjType, 1, 1, 1, 1); + + label_2 = new QLabel(tabGeneral); + label_2->setObjectName(QString::fromUtf8("label_2")); + label_2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_2, 2, 0, 1, 1); + + editPrjTitle = new QLineEdit(tabGeneral); + editPrjTitle->setObjectName(QString::fromUtf8("editPrjTitle")); + + gridLayout->addWidget(editPrjTitle, 2, 1, 1, 1); + + label_3 = new QLabel(tabGeneral); + label_3->setObjectName(QString::fromUtf8("label_3")); + label_3->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_3, 3, 0, 1, 1); + + editPrjLoctn = new QLineEdit(tabGeneral); + editPrjLoctn->setObjectName(QString::fromUtf8("editPrjLoctn")); + + gridLayout->addWidget(editPrjLoctn, 3, 1, 1, 1); + + label_4 = new QLabel(tabGeneral); + label_4->setObjectName(QString::fromUtf8("label_4")); + label_4->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_4, 5, 0, 1, 1); + + editWrkFolder = new QLineEdit(tabGeneral); + editWrkFolder->setObjectName(QString::fromUtf8("editWrkFolder")); + + gridLayout->addWidget(editWrkFolder, 5, 1, 1, 1); + + label_5 = new QLabel(tabGeneral); + label_5->setObjectName(QString::fromUtf8("label_5")); + label_5->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_5, 6, 0, 1, 1); + + editDstFolder = new QLineEdit(tabGeneral); + editDstFolder->setObjectName(QString::fromUtf8("editDstFolder")); + + gridLayout->addWidget(editDstFolder, 6, 1, 1, 1); + + label_9 = new QLabel(tabGeneral); + label_9->setObjectName(QString::fromUtf8("label_9")); + label_9->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_9, 9, 0, 1, 1); + + editFlags = new QPlainTextEdit(tabGeneral); + editFlags->setObjectName(QString::fromUtf8("editFlags")); + editFlags->setLineWrapMode(QPlainTextEdit::NoWrap); + + gridLayout->addWidget(editFlags, 9, 1, 1, 2); + + label_7 = new QLabel(tabGeneral); + label_7->setObjectName(QString::fromUtf8("label_7")); + label_7->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_7, 10, 0, 1, 1); + + editLaunchParams = new QLineEdit(tabGeneral); + editLaunchParams->setObjectName(QString::fromUtf8("editLaunchParams")); + + gridLayout->addWidget(editLaunchParams, 10, 1, 1, 2); + + label_8 = new QLabel(tabGeneral); + label_8->setObjectName(QString::fromUtf8("label_8")); + label_8->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_8, 11, 0, 1, 1); + + editLaunchExe = new QLineEdit(tabGeneral); + editLaunchExe->setObjectName(QString::fromUtf8("editLaunchExe")); + + gridLayout->addWidget(editLaunchExe, 11, 1, 1, 2); + + label_13 = new QLabel(tabGeneral); + label_13->setObjectName(QString::fromUtf8("label_13")); + label_13->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_13, 8, 0, 1, 1); + + editBackup = new QLineEdit(tabGeneral); + editBackup->setObjectName(QString::fromUtf8("editBackup")); + + gridLayout->addWidget(editBackup, 8, 1, 1, 1); + + editOutName = new QLineEdit(tabGeneral); + editOutName->setObjectName(QString::fromUtf8("editOutName")); + + gridLayout->addWidget(editOutName, 4, 1, 1, 1); + + label_6 = new QLabel(tabGeneral); + label_6->setObjectName(QString::fromUtf8("label_6")); + label_6->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); + + gridLayout->addWidget(label_6, 4, 0, 1, 1); + + buttonChoosePrjLoc = new QToolButton(tabGeneral); + buttonChoosePrjLoc->setObjectName(QString::fromUtf8("buttonChoosePrjLoc")); + + gridLayout->addWidget(buttonChoosePrjLoc, 3, 2, 1, 1); + + buttonBackup = new QToolButton(tabGeneral); + buttonBackup->setObjectName(QString::fromUtf8("buttonBackup")); + + gridLayout->addWidget(buttonBackup, 8, 2, 1, 1); + + buttonChooseDest = new QToolButton(tabGeneral); + buttonChooseDest->setObjectName(QString::fromUtf8("buttonChooseDest")); + + gridLayout->addWidget(buttonChooseDest, 6, 2, 1, 1); + + buttonChooseWd = new QToolButton(tabGeneral); + buttonChooseWd->setObjectName(QString::fromUtf8("buttonChooseWd")); + + gridLayout->addWidget(buttonChooseWd, 5, 2, 1, 1); + + horizontalLayout_7 = new QHBoxLayout(); + horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7")); + buttonHbp = new QToolButton(tabGeneral); + buttonHbp->setObjectName(QString::fromUtf8("buttonHbp")); + + horizontalLayout_7->addWidget(buttonHbp); + + buttonXmate = new QToolButton(tabGeneral); + buttonXmate->setObjectName(QString::fromUtf8("buttonXmate")); + + horizontalLayout_7->addWidget(buttonXmate); + + horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_7->addItem(horizontalSpacer); + + + gridLayout->addLayout(horizontalLayout_7, 0, 1, 1, 1); + + tabWidget->addTab(tabGeneral, QString()); + tabFiles = new QWidget(); + tabFiles->setObjectName(QString::fromUtf8("tabFiles")); + gridLayout_2 = new QGridLayout(tabFiles); + gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2")); + editSources = new QPlainTextEdit(tabFiles); + editSources->setObjectName(QString::fromUtf8("editSources")); + editSources->setLineWrapMode(QPlainTextEdit::NoWrap); + + gridLayout_2->addWidget(editSources, 1, 1, 1, 11); + + buttonSelect = new QToolButton(tabFiles); + buttonSelect->setObjectName(QString::fromUtf8("buttonSelect")); + + gridLayout_2->addWidget(buttonSelect, 0, 1, 1, 1); + + buttonSort = new QToolButton(tabFiles); + buttonSort->setObjectName(QString::fromUtf8("buttonSort")); + + gridLayout_2->addWidget(buttonSort, 0, 2, 1, 1); + + buttonSortZA = new QToolButton(tabFiles); + buttonSortZA->setObjectName(QString::fromUtf8("buttonSortZA")); + + gridLayout_2->addWidget(buttonSortZA, 0, 3, 1, 1); + + buttonSortOrg = new QToolButton(tabFiles); + buttonSortOrg->setObjectName(QString::fromUtf8("buttonSortOrg")); + + gridLayout_2->addWidget(buttonSortOrg, 0, 4, 1, 1); + + tabWidget->addTab(tabFiles, QString()); + tabMeta = new QWidget(); + tabMeta->setObjectName(QString::fromUtf8("tabMeta")); + gridLayout_3 = new QGridLayout(tabMeta); + gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3")); + editMetaHelp = new QPlainTextEdit(tabMeta); + editMetaHelp->setObjectName(QString::fromUtf8("editMetaHelp")); + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(editMetaHelp->sizePolicy().hasHeightForWidth()); + editMetaHelp->setSizePolicy(sizePolicy); + editMetaHelp->setTabChangesFocus(true); + editMetaHelp->setReadOnly(true); + + gridLayout_3->addWidget(editMetaHelp, 0, 0, 1, 1); + + editMetaData = new QPlainTextEdit(tabMeta); + editMetaData->setObjectName(QString::fromUtf8("editMetaData")); + editMetaData->setLineWrapMode(QPlainTextEdit::NoWrap); + + gridLayout_3->addWidget(editMetaData, 1, 0, 1, 1); + + tabWidget->addTab(tabMeta, QString()); + tabHbp = new QWidget(); + tabHbp->setObjectName(QString::fromUtf8("tabHbp")); + gridLayout_4 = new QGridLayout(tabHbp); + gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4")); + editHbp = new QPlainTextEdit(tabHbp); + editHbp->setObjectName(QString::fromUtf8("editHbp")); + editHbp->setLineWrapMode(QPlainTextEdit::NoWrap); + editHbp->setReadOnly(true); + + gridLayout_4->addWidget(editHbp, 0, 0, 1, 1); + + tabWidget->addTab(tabHbp, QString()); + + verticalLayout->addWidget(tabWidget); + + horizontalLayout_4 = new QHBoxLayout(); + horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4")); + buttonSaveExit = new QPushButton(Form); + buttonSaveExit->setObjectName(QString::fromUtf8("buttonSaveExit")); + + horizontalLayout_4->addWidget(buttonSaveExit); + + buttonSave = new QPushButton(Form); + buttonSave->setObjectName(QString::fromUtf8("buttonSave")); + buttonSave->setAutoDefault(false); + buttonSave->setDefault(true); + + horizontalLayout_4->addWidget(buttonSave); + + buttonCn = new QPushButton(Form); + buttonCn->setObjectName(QString::fromUtf8("buttonCn")); + buttonCn->setAutoDefault(false); + + horizontalLayout_4->addWidget(buttonCn); + + + verticalLayout->addLayout(horizontalLayout_4); + + + retranslateUi(Form); + + tabWidget->setCurrentIndex(0); + + + QMetaObject::connectSlotsByName(Form); + } // setupUi + + void retranslateUi(QWidget *Form) + { + Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8)); + label->setText(QApplication::translate("Form", "Project Type:", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + comboPrjType->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

A project may be of type Executable|Library|Dll.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + label_2->setText(QApplication::translate("Form", "Project Title:", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editPrjTitle->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Title will be shown as a node in project tree.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + label_3->setText(QApplication::translate("Form", "Project Location:", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editPrjLoctn->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Project location is the folder where project definition file .hbi will be stored. <Project Location> plus <Output Name> will comprise the full file name with .hbp extension.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + label_4->setText(QApplication::translate("Form", "Working Folder:", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editWrkFolder->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Working folder will be used to host HBMK2 compliant <Output Name> plus <hbp> and will be designated as current folder when HBMK2 will be invoked.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + label_5->setText(QApplication::translate("Form", "Destination Folder:", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editDstFolder->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Destination folder is a compatibility slot and is reserved to place the <Output> .exe .a .lib.

\n" +"

But currently this functionality will be achieved through the -o compiler flag.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + label_9->setText(QApplication::translate("Form", "Compile/Link Flags:", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editFlags->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Compiler/Linker flags may include all commands except the source files list. Additional libraries can be included here.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + editFlags->setStyleSheet(QString()); + label_7->setText(QApplication::translate("Form", "Launch Parameters:", 0, QApplication::UnicodeUTF8)); + label_8->setText(QApplication::translate("Form", "Launch Program:", 0, QApplication::UnicodeUTF8)); + label_13->setText(QApplication::translate("Form", "Backup Location:", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editOutName->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Output name is used as final name for .hbi .hbp .exe .lib .a and will be added to the paths retrieved via <Project Location>, <Working Folder>, <Destination Folder>, etc. So this is a very important component.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + label_6->setText(QApplication::translate("Form", "Output Name:", 0, QApplication::UnicodeUTF8)); + buttonChoosePrjLoc->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8)); + buttonBackup->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8)); + buttonChooseDest->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8)); + buttonChooseWd->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + buttonHbp->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Loading a .hbp project file is essentially a

\n" +"

task of redefining its flow and contents order.

\n" +"

hbIDE rewrites the existing .hbp file if the

\n" +"

\"Project Location\" points to same folder

\n" +"

where your such loaded .hbp resides.

\n" +"

So

\n" +"

take care to change the \"Project Location\"

\n" +"

to different folder than home folder of .hbp.

\n" +"

This is done at the time of \"Build\" proces" + "s.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + buttonHbp->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + buttonXmate->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Load an xMate project file.

\n" +"

This feature is available only for new projects.

\n" +"

hbIDE attempts to recognize various components

\n" +"

but it is possible that it may not load everything.

\n" +"

So you may need manual editing.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + buttonXmate->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tabGeneral), QApplication::translate("Form", "General", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editSources->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

You can include hereunder any type of file which can be edited via plain text editor. One file per line. You can use meta-keys to define your source paths to make your projects location independant.

\n" +"

\n" +"

NOTE:

\n" +"

Only .prg .c .cpp .rc .res files will be supplied to the HBMK2. All other files will be made visible for editing in <Project Tree>.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + editSources->setStyleSheet(QString()); +#ifndef QT_NO_TOOLTIP + buttonSelect->setToolTip(QApplication::translate("Form", "Select Sources", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + buttonSelect->setText(QString()); +#ifndef QT_NO_TOOLTIP + buttonSort->setToolTip(QApplication::translate("Form", "Sort by Ascending Order", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + buttonSort->setText(QString()); +#ifndef QT_NO_TOOLTIP + buttonSortZA->setToolTip(QApplication::translate("Form", "Sort by Descending Order", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + buttonSortZA->setText(QString()); +#ifndef QT_NO_TOOLTIP + buttonSortOrg->setToolTip(QApplication::translate("Form", "Organize by Type and Sort Ascending", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + buttonSortOrg->setText(QString()); + tabWidget->setTabText(tabWidget->indexOf(tabFiles), QApplication::translate("Form", "Sources", 0, QApplication::UnicodeUTF8)); + editMetaHelp->setStyleSheet(QApplication::translate("Form", "background-color: rgb(171, 171, 171);", 0, QApplication::UnicodeUTF8)); + editMetaHelp->setPlainText(QApplication::translate("Form", "HBIDE will employ the concept of meta-data which will be used to parse the paths or other info supplied to the interface.\n" +"\n" +"Usually meta-key is enclosed in curly braces, but due to the fact that HBMK2 already exploits it, HBIDE will recognize meta-key in angled brackets.\n" +"\n" +"Please enter meta-keys and their values like :\n" +" MySourcePath = c:/dev_sources/vouch\n" +"in the QTextEdit below. Then whereever you will supply any key anywhere in the input fields of HBIDE interface, just enclose it in angled brackets like :\n" +" /vouch.prg.\n" +"Note that keys are case sensitive. So MySourcePath <> MYSOURCEPath.\n" +"\n" +"HBIDE internally employs few keys which are shown below and are always include in the project. These accompany the value as its relevance and not as literal.\n" +"\n" +"Enjoy\n" +"Pritpal Bedi", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editMetaData->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Meta-keys are a special way of keeping generic information which is of repeated and/or of dynamic nature. HBIDE implements meta key/value pair more comprehensively. It allows you to write an expression for the value part which get evaluated at the time project is loaded. The only point to take into consideration is that value returned by such expression must be of type character.

\n" +"

\n" +"

The expression is evaluated only once and keeps its value until the HBIDE interface is closed. In case of any error, the expression string itself is returned.

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + editMetaData->setStyleSheet(QString()); + tabWidget->setTabText(tabWidget->indexOf(tabMeta), QApplication::translate("Form", "Meta Data", 0, QApplication::UnicodeUTF8)); +#ifndef QT_NO_TOOLTIP + editHbp->setToolTip(QApplication::translate("Form", "\n" +"\n" +"

Here you can view in real-time the resultant <hbp> output which will be supplied to HBMK2. This view may give you insight about your source layout and many other facts.

\n" +"

\n" +"

Enjoy

", 0, QApplication::UnicodeUTF8)); +#endif // QT_NO_TOOLTIP + editHbp->setStyleSheet(QString()); + tabWidget->setTabText(tabWidget->indexOf(tabHbp), QApplication::translate("Form", "hbp", 0, QApplication::UnicodeUTF8)); + buttonSaveExit->setText(QApplication::translate("Form", "Save and Exit", 0, QApplication::UnicodeUTF8)); + buttonSave->setText(QApplication::translate("Form", "Save", 0, QApplication::UnicodeUTF8)); + buttonCn->setText(QApplication::translate("Form", "Cancel", 0, QApplication::UnicodeUTF8)); + Q_UNUSED(Form); + } // retranslateUi + +}; + +namespace Ui { + class Form: public Ui_Form {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // PROJECTPROPERTIESEX_H diff --git a/harbour/contrib/hbide/resources/streamcomment.png b/harbour/contrib/hbide/resources/streamcomment.png new file mode 100644 index 0000000000..0727f02b1f Binary files /dev/null and b/harbour/contrib/hbide/resources/streamcomment.png differ diff --git a/harbour/contrib/hbide/resources/themesex.ui b/harbour/contrib/hbide/resources/themesex.ui new file mode 100644 index 0000000000..7420ffc27d --- /dev/null +++ b/harbour/contrib/hbide/resources/themesex.ui @@ -0,0 +1,204 @@ + + + Form + + + + 0 + 0 + 437 + 403 + + + + Form + + + + + + QLayout::SetDefaultConstraint + + + + + 10 + + + + + + 40 + 16777215 + + + + Theme + + + + + + + + + + + + + + + + + + + 10 + + + + + + 40 + 16777215 + + + + Item + + + + + + + + + + + 120 + 16777215 + + + + Color + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 50 + 20 + + + + + + + + Bold + + + + + + + Italic + + + + + + + Underline + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 120 + 20 + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + 10 + + + + + Save + + + + + + + Save As + + + + + + + Copy + + + + + + + Apply + + + + + + + Close + + + + + + + + + + + + diff --git a/harbour/contrib/hbide/resources/themesex.uic b/harbour/contrib/hbide/resources/themesex.uic new file mode 100644 index 0000000000..fed7c77296 --- /dev/null +++ b/harbour/contrib/hbide/resources/themesex.uic @@ -0,0 +1,227 @@ +/******************************************************************************** +** Form generated from reading ui file 'themesex.ui' +** +** Created: Wed Feb 17 13:04:36 2010 +** by: Qt User Interface Compiler version 4.5.3 +** +** WARNING! All changes made in this file will be lost when recompiling ui file! +********************************************************************************/ + +#ifndef THEMESEX_H +#define THEMESEX_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_Form +{ +public: + QGridLayout *gridLayout; + QVBoxLayout *verticalLayout; + QHBoxLayout *horizontalLayout_6; + QLabel *labelTheme; + QComboBox *comboThemes; + QHBoxLayout *horizontalLayout_5; + QPlainTextEdit *plainTextEdit; + QHBoxLayout *horizontalLayout_4; + QLabel *labelItem; + QComboBox *comboItems; + QPushButton *buttonColor; + QHBoxLayout *horizontalLayout_3; + QSpacerItem *horizontalSpacer; + QCheckBox *checkBold; + QCheckBox *checkItalic; + QCheckBox *checkUnderline; + QSpacerItem *horizontalSpacer_2; + QHBoxLayout *horizontalLayout_2; + QFrame *line; + QHBoxLayout *horizontalLayout; + QPushButton *buttonSave; + QPushButton *buttonSaveAs; + QPushButton *buttonCopy; + QPushButton *buttonApply; + QPushButton *buttonClose; + + void setupUi(QWidget *Form) + { + if (Form->objectName().isEmpty()) + Form->setObjectName(QString::fromUtf8("Form")); + Form->resize(437, 403); + gridLayout = new QGridLayout(Form); + gridLayout->setObjectName(QString::fromUtf8("gridLayout")); + verticalLayout = new QVBoxLayout(); + verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); + verticalLayout->setSizeConstraint(QLayout::SetDefaultConstraint); + horizontalLayout_6 = new QHBoxLayout(); + horizontalLayout_6->setSpacing(10); + horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6")); + labelTheme = new QLabel(Form); + labelTheme->setObjectName(QString::fromUtf8("labelTheme")); + labelTheme->setMaximumSize(QSize(40, 16777215)); + + horizontalLayout_6->addWidget(labelTheme); + + comboThemes = new QComboBox(Form); + comboThemes->setObjectName(QString::fromUtf8("comboThemes")); + + horizontalLayout_6->addWidget(comboThemes); + + + verticalLayout->addLayout(horizontalLayout_6); + + horizontalLayout_5 = new QHBoxLayout(); + horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5")); + plainTextEdit = new QPlainTextEdit(Form); + plainTextEdit->setObjectName(QString::fromUtf8("plainTextEdit")); + + horizontalLayout_5->addWidget(plainTextEdit); + + + verticalLayout->addLayout(horizontalLayout_5); + + horizontalLayout_4 = new QHBoxLayout(); + horizontalLayout_4->setSpacing(10); + horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4")); + labelItem = new QLabel(Form); + labelItem->setObjectName(QString::fromUtf8("labelItem")); + labelItem->setMaximumSize(QSize(40, 16777215)); + + horizontalLayout_4->addWidget(labelItem); + + comboItems = new QComboBox(Form); + comboItems->setObjectName(QString::fromUtf8("comboItems")); + + horizontalLayout_4->addWidget(comboItems); + + buttonColor = new QPushButton(Form); + buttonColor->setObjectName(QString::fromUtf8("buttonColor")); + buttonColor->setMaximumSize(QSize(120, 16777215)); + + horizontalLayout_4->addWidget(buttonColor); + + + verticalLayout->addLayout(horizontalLayout_4); + + horizontalLayout_3 = new QHBoxLayout(); + horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3")); + horizontalSpacer = new QSpacerItem(50, 20, QSizePolicy::Fixed, QSizePolicy::Minimum); + + horizontalLayout_3->addItem(horizontalSpacer); + + checkBold = new QCheckBox(Form); + checkBold->setObjectName(QString::fromUtf8("checkBold")); + + horizontalLayout_3->addWidget(checkBold); + + checkItalic = new QCheckBox(Form); + checkItalic->setObjectName(QString::fromUtf8("checkItalic")); + + horizontalLayout_3->addWidget(checkItalic); + + checkUnderline = new QCheckBox(Form); + checkUnderline->setObjectName(QString::fromUtf8("checkUnderline")); + + horizontalLayout_3->addWidget(checkUnderline); + + horizontalSpacer_2 = new QSpacerItem(120, 20, QSizePolicy::Fixed, QSizePolicy::Minimum); + + horizontalLayout_3->addItem(horizontalSpacer_2); + + + verticalLayout->addLayout(horizontalLayout_3); + + horizontalLayout_2 = new QHBoxLayout(); + horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2")); + line = new QFrame(Form); + line->setObjectName(QString::fromUtf8("line")); + line->setFrameShape(QFrame::HLine); + line->setFrameShadow(QFrame::Sunken); + + horizontalLayout_2->addWidget(line); + + + verticalLayout->addLayout(horizontalLayout_2); + + horizontalLayout = new QHBoxLayout(); + horizontalLayout->setSpacing(10); + horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout")); + buttonSave = new QPushButton(Form); + buttonSave->setObjectName(QString::fromUtf8("buttonSave")); + + horizontalLayout->addWidget(buttonSave); + + buttonSaveAs = new QPushButton(Form); + buttonSaveAs->setObjectName(QString::fromUtf8("buttonSaveAs")); + + horizontalLayout->addWidget(buttonSaveAs); + + buttonCopy = new QPushButton(Form); + buttonCopy->setObjectName(QString::fromUtf8("buttonCopy")); + + horizontalLayout->addWidget(buttonCopy); + + buttonApply = new QPushButton(Form); + buttonApply->setObjectName(QString::fromUtf8("buttonApply")); + + horizontalLayout->addWidget(buttonApply); + + buttonClose = new QPushButton(Form); + buttonClose->setObjectName(QString::fromUtf8("buttonClose")); + + horizontalLayout->addWidget(buttonClose); + + + verticalLayout->addLayout(horizontalLayout); + + verticalLayout->setStretch(1, 1); + + gridLayout->addLayout(verticalLayout, 0, 0, 1, 1); + + + retranslateUi(Form); + + QMetaObject::connectSlotsByName(Form); + } // setupUi + + void retranslateUi(QWidget *Form) + { + Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8)); + labelTheme->setText(QApplication::translate("Form", "Theme", 0, QApplication::UnicodeUTF8)); + labelItem->setText(QApplication::translate("Form", "Item", 0, QApplication::UnicodeUTF8)); + buttonColor->setText(QApplication::translate("Form", "Color", 0, QApplication::UnicodeUTF8)); + checkBold->setText(QApplication::translate("Form", "Bold", 0, QApplication::UnicodeUTF8)); + checkItalic->setText(QApplication::translate("Form", "Italic", 0, QApplication::UnicodeUTF8)); + checkUnderline->setText(QApplication::translate("Form", "Underline", 0, QApplication::UnicodeUTF8)); + buttonSave->setText(QApplication::translate("Form", "Save", 0, QApplication::UnicodeUTF8)); + buttonSaveAs->setText(QApplication::translate("Form", "Save As", 0, QApplication::UnicodeUTF8)); + buttonCopy->setText(QApplication::translate("Form", "Copy", 0, QApplication::UnicodeUTF8)); + buttonApply->setText(QApplication::translate("Form", "Apply", 0, QApplication::UnicodeUTF8)); + buttonClose->setText(QApplication::translate("Form", "Close", 0, QApplication::UnicodeUTF8)); + Q_UNUSED(Form); + } // retranslateUi + +}; + +namespace Ui { + class Form: public Ui_Form {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // THEMESEX_H diff --git a/harbour/contrib/hbqt/THbQtUI.prg b/harbour/contrib/hbqt/THbQtUI.prg index eefdb30df6..cda496b3e8 100644 --- a/harbour/contrib/hbqt/THbQtUI.prg +++ b/harbour/contrib/hbqt/THbQtUI.prg @@ -150,24 +150,9 @@ METHOD HbQtUI:destroy() Qt_Events_disConnect( ::pEvents, a_[ 1 ], a_[ 2 ] ) NEXT - #if 0 - FOR EACH qObj IN ::qObj DESCEND - IF qObj:__enumIndex() > 1 -hbide_dbg( "HbQtUI:destroy()", 1, a_[ 1 ], a_[ 2 ] ) - qObj := NIL - ENDIF - NEXT - #endif - FOR EACH a_ IN ::widgets DESCEND IF a_:__enumIndex() > 1 IF type( a_[ 3 ] ) == "UI" -#if 0 - .AND. ; - !( "Layout" $ a_[ 1 ] ) .AND. ; - ! a_[ 2 ] == "tabGeneral" .AND. ; - ! a_[ 1 ] $ "QSizePolicy,QTabWidget" -#endif hbide_dbg( "HbQtUI:destroy()", 1, a_[ 1 ], a_[ 2 ] ) ::qObj[ a_[ 2 ] ] := NIL ENDIF