2010-02-18 05:58 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)

+ contrib/hbide/resources/searchreplacepanel.ui
  + contrib/hbide/resources/searchreplacepanel.uic

  * contrib/hbide/ideactions.prg
  * contrib/hbide/idedocks.prg
  * contrib/hbide/ideeditor.prg
  * contrib/hbide/idefindreplace.prg
  * contrib/hbide/ideobject.prg
  * contrib/hbide/idestylesheets.prg
    + Prepared to use panel instead of "Replace/Find" dialog.
    ! Vaiables name uniformity for docking widgets.
    ! Simplification and centralization of creation of "Docking" widgets.
    % Fixed to not crash when "Find in Files" was not called before exit.

    ; Press CTRL+F and see a panel appearing inbetween editor and  statusbar.
      This widget has to be matured a little and will facilitate that 
      search and replace action will never hide any part of the 
      editing area. A final ( uptil now ) reform in user-interface.
This commit is contained in:
Pritpal Bedi
2010-02-18 14:06:48 +00:00
parent 2d50d61eac
commit a1e0bdb7a9
9 changed files with 383 additions and 182 deletions

View File

@@ -17,6 +17,26 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-02-18 05:58 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
+ contrib/hbide/resources/searchreplacepanel.ui
+ contrib/hbide/resources/searchreplacepanel.uic
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idestylesheets.prg
+ Prepared to use panel instead of "Replace/Find" dialog.
! Vaiables name uniformity for docking widgets.
! Simplification and centralization of creation of "Docking" widgets.
% Fixed to not crash when "Find in Files" was not called before exit.
; Press CTRL+F and see a panel appearing inbetween editor and statusbar.
This widget has to be matured a little and will facilitate that
search and replace action will never hide any part of the
editing area. A final ( uptil now ) reform in user-interface.
2010-02-18 10:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extrap.c
+ Added OS/2 CPU dump (x86).

View File

@@ -580,7 +580,7 @@ METHOD IdeActions:buildMainMenu()
oSubMenu:addItem( { oSubMenu2, NIL } )
hbide_menuAddSep( oSubMenu )
oMenuBar:addItem( { oSubMenu, NIL } )
oSubMenu:oWidget:addAction_4( ::oSkeltn:oWidget:toggleViewAction() )
oSubMenu:oWidget:addAction_4( ::oSkeltnDock:oWidget:toggleViewAction() )
/*----------------------------------------------------------------------------*/
/* Docks */
@@ -592,9 +592,9 @@ METHOD IdeActions:buildMainMenu()
oSubMenu:oWidget:addAction_4( ::oDockED:oWidget:toggleViewAction() )
oSubMenu:oWidget:addAction_4( ::oDockPT:oWidget:toggleViewAction() )
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( ::oFuncDock:oWidget:toggleViewAction() )
oSubMenu:oWidget:addAction_4( ::oHelpDock:oWidget:toggleViewAction() )
oSubMenu:oWidget:addAction_4( ::oSkeltnDock:oWidget:toggleViewAction() )
oSubMenu:oWidget:addAction_4( ::oThemesDock:oWidget:toggleViewAction() )
oSubMenu:oWidget:addAction_4( ::oEnvironDock:oWidget:toggleViewAction() )
oSubMenu:oWidget:addAction_4( ::oPropertiesDock:oWidget:toggleViewAction() )

View File

@@ -89,6 +89,7 @@ CLASS IdeDocks INHERIT IdeObject
METHOD buildDialog()
METHOD buildViewWidget()
METHOD buildStackedWidget()
METHOD buildSearchReplaceWidget()
METHOD buildDockWidgets()
METHOD buildProjectTree()
METHOD buildEditorTree()
@@ -97,7 +98,6 @@ CLASS IdeDocks INHERIT IdeObject
METHOD buildLinkResults()
METHOD buildOutputResults()
METHOD buildFindInFiles()
METHOD buildGenericDock()
METHOD buildThemesDock()
METHOD buildPropertiesDock()
METHOD buildEnvironDock()
@@ -112,6 +112,7 @@ CLASS IdeDocks INHERIT IdeObject
METHOD execSkeleton( nMode, p )
METHOD addPanelButton( cPanel )
METHOD disblePanelButton( qTBtn )
METHOD getADockWidget( nArea, cObjectName, cWindowTitle )
ENDCLASS
@@ -156,32 +157,61 @@ METHOD IdeDocks:destroy()
qTBtn := NIL
NEXT
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeDocks:buildDockWidgets()
METHOD IdeDocks:getADockWidget( nArea, cObjectName, cWindowTitle )
LOCAL oDock
oDock := XbpWindow():new()
oDock:oWidget := QDockWidget():new( ::oDlg:oWidget )
oDock:oWidget:setObjectName( cObjectName )
::oDlg:addChild( oDock )
oDock:oWidget:setFeatures( QDockWidget_DockWidgetClosable )
oDock:oWidget:setAllowedAreas( nArea )
oDock:oWidget:setWindowTitle( cWindowTitle )
oDock:oWidget:setFocusPolicy( Qt_NoFocus )
oDock:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) )
oDock:hide()
oDock:hbLayout := HBPLAYOUT_TYPE_VERTBOX
oDock:qLayout:setContentsMargins( 2, 2, 2, 2 )
RETURN oDock
/*----------------------------------------------------------------------*/
METHOD IdeDocks:buildDockWidgets()
::buildToolBarPanels()
::buildProjectTree()
::buildEditorTree()
::buildFuncList()
::buildCompileResults()
::buildLinkResults()
::buildOutputResults()
::buildHelpWidget()
::buildSkeletonWidget()
::buildFindInFiles()
::buildGenericDock()
::buildThemesDock()
::buildPropertiesDock()
::buildEnvironDock()
::buildCompileResults()
::buildLinkResults()
::buildOutputResults()
::oDlg:oWidget:tabifyDockWidget( ::oDockB:oWidget , ::oDockB1:oWidget )
::oDlg:oWidget:tabifyDockWidget( ::oDockB1:oWidget, ::oDockB2:oWidget )
::oDlg:oWidget:tabifyDockWidget( ::oHelpDock:oWidget , ::oSkeltnDock:oWidget )
::oDlg:oWidget:tabifyDockWidget( ::oSkeltnDock:oWidget , ::oFindDock:oWidget )
::oDlg:oWidget:tabifyDockWidget( ::oFindDock:oWidget , ::oThemesDock:oWidget )
::oDlg:oWidget:tabifyDockWidget( ::oThemesDock:oWidget , ::oPropertiesDock:oWidget )
::oDlg:oWidget:tabifyDockWidget( ::oPropertiesDock:oWidget, ::oEnvironDock:oWidget )
::oDlg:oWidget:tabifyDockWidget( ::oEnvironDock:oWidget , ::oFuncDock:oWidget )
RETURN Self
/*----------------------------------------------------------------------*/
@@ -226,21 +256,6 @@ METHOD IdeDocks:execEvent( nMode, p )
/*----------------------------------------------------------------------*/
METHOD IdeDocks:buildStackedWidget()
/* Its parent will be drawing area and pages will be XbpTabWidgets() */
::oIde:oStackedWidget := XbpWindow():new( ::oDa )
::oStackedWidget:oWidget := QStackedWidget():new( ::oDa:oWidget )
::oStackedWidget:oWidget:setObjectName( "myStackedWidget" )
::oDa:addChild( ::oStackedWidget )
::oStackedWidget:connect( ::oStackedWidget:oWidget, "currentChanged(int)", {|p| ::execEvent( 1, p ) } )
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeDocks:buildDialog()
LOCAL s
@@ -282,6 +297,8 @@ METHOD IdeDocks:buildDialog()
::buildStackedWidget()
::qLayout:addWidget_1( ::oStackedWidget:oWidget, 0, 0, 1, 1 )
::buildSearchReplaceWidget()
::qLayout:addWidget_1( ::oSearchReplace:oUI, 1, 0, 1, 1 )
/* View Panels */
::buildViewWidget() /* Main */
@@ -296,6 +313,30 @@ METHOD IdeDocks:buildDialog()
/*----------------------------------------------------------------------*/
METHOD IdeDocks:buildStackedWidget()
/* Its parent will be drawing area and pages will be XbpTabWidgets() */
::oIde:oStackedWidget := XbpWindow():new( ::oDa )
::oStackedWidget:oWidget := QStackedWidget():new( ::oDa:oWidget )
::oStackedWidget:oWidget:setObjectName( "myStackedWidget" )
::oDa:addChild( ::oStackedWidget )
::oStackedWidget:connect( ::oStackedWidget:oWidget, "currentChanged(int)", {|p| ::execEvent( 1, p ) } )
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeDocks:buildSearchReplaceWidget()
::oIde:oSearchReplace := IdeSearchReplace():new( ::oIde ):create()
::oSearchReplace:oUI:hide()
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeDocks:buildViewWidget()
LOCAL n := len( ::aViews ) + 1
LOCAL oFrame
@@ -607,35 +648,18 @@ METHOD IdeDocks:buildEditorTree()
METHOD IdeDocks:buildFuncList()
::oIde:oDockR := XbpWindow():new()
::oDockR:oWidget := QDockWidget():new( ::oDlg:oWidget )
::oDockR:oWidget:setObjectName( "dockFuncList" )
::oDlg:addChild( ::oDockR )
::oDockR:oWidget:setFeatures( QDockWidget_DockWidgetClosable + QDockWidget_DockWidgetMovable )
::oDockR:oWidget:setAllowedAreas( Qt_RightDockWidgetArea )
::oDockR:oWidget:setWindowTitle( "Functions List" )
::oDockR:oWidget:setFocusPolicy( Qt_NoFocus )
::oIde:oFuncDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockFuncList", "Functions List" )
::oIde:oFuncList := XbpListBox():new( ::oDockR ):create( , , { 0,0 }, { 100,400 }, , .t. )
::oIde:oFuncList := XbpListBox():new( ::oFuncDock ):create( , , { 0,0 }, { 100,400 }, , .t. )
::oFuncList:oWidget:setEditTriggers( QAbstractItemView_NoEditTriggers )
//::oFuncList:ItemMarked := {|mp1, mp2, oXbp| ::gotoFunction( mp1, mp2, oXbp ) }
::oFuncList:ItemSelected := {|mp1, mp2, oXbp| ::oIde:gotoFunction( mp1, mp2, oXbp ) }
/* Harbour Extension : prefixed with "hb" */
::oFuncList:hbContextMenu := {|mp1, mp2, oXbp| ::oIde:manageFuncContext( mp1, mp2, oXbp ) }
::oFuncList:oWidget:setEditTriggers( QAbstractItemView_NoEditTriggers )
::oDockR:oWidget:setWidget( ::oFuncList:oWidget )
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oDockR:oWidget, Qt_Vertical )
IF ::oIde:aIni[ INI_HBIDE, FunctionListVisible ] == "YES"
::oIde:lDockRVisible := .t.
//::setSizeAndPosByIni( ::oDockR:oWidget, FunctionListGeometry )
ELSE
::oIde:lDockRVisible := .f.
::oDockR:hide()
ENDIF
::oFuncDock:oWidget:setWidget( ::oFuncList:oWidget )
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFuncDock:oWidget, Qt_Vertical )
RETURN Self
@@ -646,20 +670,11 @@ METHOD IdeDocks:buildHelpWidget()
qUrl := QUrl():new( "idemainpage.html" )
qStr := QStringList():new()
//qStr:append( "./" )
qStr:append( hb_dirBase() + "docs" )
::oIde:oHelp := XbpWindow():new()
::oHelp:oWidget := QDockWidget():new( ::oDlg:oWidget )
::oHelp:oWidget:setObjectName( "dockHelp" )
::oDlg:addChild( ::oHelp )
::oHelp:oWidget:setFeatures( QDockWidget_DockWidgetClosable )
::oHelp:oWidget:setAllowedAreas( Qt_RightDockWidgetArea )
::oHelp:oWidget:setWindowTitle( "hbIDE Help" )
::oHelp:oWidget:setFocusPolicy( Qt_NoFocus )
::oHelp:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) )
::oIde:oHelpDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockHelp", "hbIDE Help" )
::oIde:qHelpBrw := QTextBrowser():new( ::oHelp:oWidget )
::oIde:qHelpBrw := QTextBrowser():new( ::oHelpDock:oWidget )
::qHelpBrw:show()
::qHelpBrw:setContextMenuPolicy( Qt_CustomContextMenu )
::qHelpBrw:setOpenExternalLinks( .t. )
@@ -667,14 +682,10 @@ METHOD IdeDocks:buildHelpWidget()
::qHelpBrw:setSearchPaths( qStr )
::qHelpBrw:setSource( qUrl )
::oHelp:oWidget:setWidget( ::oIde:qHelpBrw )
::oHelpDock:oWidget:setWidget( ::oIde:qHelpBrw )
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oHelpDock:oWidget, Qt_Horizontal )
::oHelp:connect( ::qHelpBrw, "customContextMenuRequested(QPoint)", {|p| ::execEvent( 2, p ) } )
// ::oHelp:connect( ::qHelpBrw )
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oHelp:oWidget, Qt_Horizontal )
::oHelp:hide()
::oHelpDock:connect( ::qHelpBrw, "customContextMenuRequested(QPoint)", {|p| ::execEvent( 2, p ) } )
RETURN Self
@@ -732,6 +743,7 @@ METHOD IdeDocks:buildOutputResults()
::oDockB2:oWidget:setAllowedAreas( Qt_BottomDockWidgetArea )
::oDockB2:oWidget:setWindowTitle( "Output Console" )
::oDockB2:oWidget:setFocusPolicy( Qt_NoFocus )
::oDockB2:hide()
::oIde:oOutputResult := XbpRtf():new( ::oDockB2 ):create( , , { 0,0 }, { 100, 400 }, , .T. )
::oOutputResult:oWidget:setAcceptRichText( .T. )
@@ -740,7 +752,6 @@ METHOD IdeDocks:buildOutputResults()
::oDockB2:oWidget:setWidget( ::oOutputResult:oWidget )
::oDlg:oWidget:addDockWidget_1( Qt_BottomDockWidgetArea, ::oDockB2:oWidget, Qt_Horizontal )
::oDockB2:hide()
::connect( ::oIde:oOutputResult:oWidget, "copyAvailable(bool)", {|l| ::outputDoubleClicked( l ) } )
@@ -890,9 +901,9 @@ METHOD IdeDocks:toggleLeftDocks()
METHOD IdeDocks:toggleRightDocks()
IF ::lDockRVisible
::oDockR:hide()
::oFuncDock:hide()
ELSE
::oDockR:show()
::oFuncDock:show()
ENDIF
::oIde:lDockRVisible := !( ::lDockRVisible )
@@ -920,22 +931,22 @@ METHOD IdeDocks:toggleBottomDocks()
METHOD IdeDocks:buildSkeletonWidget()
LOCAL oUI
::oIde:oSkeltn := XbpWindow():new()
::oSkeltn:oWidget := QDockWidget():new( ::oDlg:oWidget )
::oSkeltn:oWidget:setObjectName( "dockSkeleton" )
::oDlg:addChild( ::oSkeltn )
::oSkeltn:oWidget:setFeatures( QDockWidget_DockWidgetClosable + QDockWidget_DockWidgetFloatable + ;
QDockWidget_DockWidgetVerticalTitleBar )
::oSkeltn:oWidget:setAllowedAreas( Qt_RightDockWidgetArea )
::oSkeltn:oWidget:setWindowTitle( "Code Skeletons" )
::oSkeltn:oWidget:setFocusPolicy( Qt_NoFocus )
::oSkeltn:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) )
::oIde:oSkeltnDock := XbpWindow():new()
::oSkeltnDock:oWidget := QDockWidget():new( ::oDlg:oWidget )
::oSkeltnDock:oWidget:setObjectName( "dockSkeleton" )
::oDlg:addChild( ::oSkeltnDock )
::oSkeltnDock:oWidget:setFeatures( QDockWidget_DockWidgetClosable + QDockWidget_DockWidgetFloatable )
::oSkeltnDock:oWidget:setAllowedAreas( Qt_RightDockWidgetArea )
::oSkeltnDock:oWidget:setWindowTitle( "Code Skeletons" )
::oSkeltnDock:oWidget:setFocusPolicy( Qt_NoFocus )
::oSkeltnDock:oWidget:setStyleSheet( getStyleSheet( "QDockWidget" ) )
::oSkeltnDock:hide()
::oIde:oSkeltnUI := HbQtUI():new( ::oIde:resPath + "skeletons.uic", ::oSkeltn:oWidget ):build()
::oIde:oSkeltnUI := HbQtUI():new( ::oIde:resPath + "skeletons.uic", ::oSkeltnDock:oWidget ):build()
::oSkeltn:oWidget:setWidget( ::oIde:oSkeltnUI:oWidget )
::oSkeltnDock:oWidget:setWidget( ::oIde:oSkeltnUI:oWidget )
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oSkeltn:oWidget, Qt_Horizontal )
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oSkeltnDock:oWidget, Qt_Horizontal )
oUI := ::oIde:oSkeltnUI
@@ -953,8 +964,6 @@ METHOD IdeDocks:buildSkeletonWidget()
//::oSkeltnUI:q_editCode:setFont( ::oFont:oWidget )
aeval( ::aSkltns, {|e_| ::oSkeltnUI:q_listNames:addItem( e_[ 1 ] ) } )
::oSkeltn:hide()
RETURN Self
/*----------------------------------------------------------------------*/
@@ -1019,92 +1028,28 @@ METHOD IdeDocks:execSkeleton( nMode, p )
/*----------------------------------------------------------------------*/
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 )
::oIde:oThemesDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockThemes", "Editor Themes" )
::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 )
::oIde:oPropertiesDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockProperties", "Project Properties" )
::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 )
::oIde:oEnvironDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockEnvironments", "Compiler Environments" )
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oEnvironDock:oWidget, Qt_Horizontal )
::oEnvironDock:hide()
RETURN Self
@@ -1112,21 +1057,8 @@ METHOD IdeDocks:buildEnvironDock()
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 )
::oIde:oFindDock := ::getADockWidget( Qt_RightDockWidgetArea, "dockFindInFiles", "Find in Files" )
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oFindDock:oWidget, Qt_Horizontal )
::oFindDock:hide()
RETURN Self

View File

@@ -1120,7 +1120,7 @@ hbide_dbg( "IdeEditor:destroy()", 0, ::sourceFile )
IF ::qTabWidget:count() == 0
IF ::lDockRVisible
::oDockR:hide()
::oFuncDock:hide()
::oIde:lDockRVisible := .f.
ENDIF
ENDIF

View File

@@ -71,6 +71,37 @@
/*----------------------------------------------------------------------*/
CLASS IdeSearchReplace INHERIT IdeObject
METHOD new( oIde )
METHOD create( oIde )
ENDCLASS
/*----------------------------------------------------------------------*/
METHOD IdeSearchReplace:new( oIde )
::oIde := oIde
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeSearchReplace:create( oIde )
DEFAULT oIde TO ::oIde
::oIde := oIde
::oUI := HbQtUI():new( ::oIde:resPath + "searchreplacepanel.uic", ::oIde:oDlg:oWidget ):build()
RETURN Self
/*----------------------------------------------------------------------*/
// IdeFindReplace
/*----------------------------------------------------------------------*/
CLASS IdeFindReplace INHERIT IdeObject
METHOD new( oIde )
@@ -126,7 +157,8 @@ METHOD IdeFindReplace:create( oIde )
::oUI:signal( "buttonFind" , "clicked()", {|| ::onClickFind() } )
::oUI:signal( "buttonReplace", "clicked()", {|| ::onClickReplace() } )
::oUI:signal( "buttonClose" , "clicked()", ;
{|| ::oIde:aIni[ INI_HBIDE, FindDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget ), ::oUI:hide() } )
{|| ::oIde:aIni[ INI_HBIDE, FindDialogGeometry ] := hbide_posAndSize( ::oUI:oWidget ), ;
::oUI:hide(), ::oSearchReplace:oUI:hide() } )
::oUI:signal( "comboFindWhat", "editTextChanged(text)", {|| ::oUI:q_radioEntire:setChecked( .t. ) } )
@@ -144,6 +176,8 @@ METHOD IdeFindReplace:create( oIde )
METHOD IdeFindReplace:show()
LOCAL cText, qLineEdit
::oSearchReplace:oUI:show()
::oUI:q_buttonReplace:setEnabled( .f. )
::oUI:q_checkGlobal:setEnabled( .f. )
::oUI:q_checkNoPrompting:setEnabled( .f. )
@@ -667,13 +701,13 @@ METHOD IdeFindInFiles:execContextMenu( p )
METHOD IdeFindInFiles:destroy()
LOCAL qItem
::disconnect( ::oUI:oWidget, "rejected()" )
IF !empty( ::oUI )
::disconnect( ::oUI:oWidget, "rejected()" )
FOR EACH qItem IN ::aItems
qItem := NIL
NEXT
//::oUI:destroy()
FOR EACH qItem IN ::aItems
qItem := NIL
NEXT
ENDIF
RETURN Self
@@ -808,7 +842,7 @@ METHOD IdeFindInFiles:find()
ENDIF
ENDIF
IF !empty( cFolder )
IF ::oUI:q_checkFolders:isChecked() .AND. ! empty( cFolder )
::showLog( LOG_SECTION, "Folders" )
IF !empty( aFolderSrc )
::showLog( LOG_SECTION_ITEM, "Folder: " + cFolder )

View File

@@ -153,7 +153,7 @@ CLASS IdeObject
ACCESS oDockED INLINE ::oIde:oDockED
ACCESS oEditTree INLINE ::oIde:oEditTree
ACCESS oOpenedSources INLINE ::oIde:oOpenedSources
ACCESS oDockR INLINE ::oIde:oDockR
ACCESS oFuncDock INLINE ::oIde:oFuncDock
ACCESS oFuncList INLINE ::oIde:oFuncList
ACCESS oDockB INLINE ::oIde:oDockB
ACCESS oCompileResult INLINE ::oIde:oCompileResult
@@ -163,13 +163,14 @@ CLASS IdeObject
ACCESS oOutputResult INLINE ::oIde:oOutputResult
ACCESS oStackedWidget INLINE ::oIde:oStackedWidget
ACCESS oFrame INLINE ::oIde:oFrame
ACCESS oHelp INLINE ::oIde:oHelp
ACCESS oSkeltn INLINE ::oIde:oSkeltn
ACCESS oHelpDock INLINE ::oIde:oHelpDock
ACCESS oSkeltnDock INLINE ::oIde:oSkeltnDock
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 oSearchReplace INLINE ::oIde:oSearchReplace
ACCESS lProjTreeVisible INLINE ::oIde:lProjTreeVisible
ACCESS lDockRVisible INLINE ::oIde:lDockRVisible

View File

@@ -309,11 +309,12 @@ FUNCTION GetStyleSheet( cWidget )
aadd( txt_, 'QDockWidget { ' )
aadd( txt_, ' border: 1px solid darkgray; ' )
aadd( txt_, ' } ' )
//aadd( txt_, 'QDockWidget::title { ' )
//aadd( txt_, ' text-align: left; /* align the text to the left */ ' )
//aadd( txt_, ' background: darkgray; ' )
//aadd( txt_, ' padding-left: 5px; ' )
//aadd( txt_, ' } ' )
aadd( txt_, 'QDockWidget::title { ' )
aadd( txt_, ' background-color: qlineargradient(x1:0, y1:1, x2:0, y2:0, ' )
aadd( txt_, ' stop:0 lightgray, stop:1 darkgray); ' )
aadd( txt_, ' padding-left: 10px; ' )
aadd( txt_, ' padding-top: 3px; ' )
aadd( txt_, ' } ' )
ENDCASE

View File

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>572</width>
<height>38</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true">border-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 255), stop:1 rgba(255, 255, 255, 255));</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QToolButton" name="buttonClose">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="maximumSize">
<size>
<width>25</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Find:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox">
<property name="minimumSize">
<size>
<width>200</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButton_2">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButton_3">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QComboBox" name="comboBox_2">
<property name="minimumSize">
<size>
<width>200</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@@ -0,0 +1,110 @@
/********************************************************************************
** Form generated from reading ui file 'searchreplacepanel.ui'
**
** Created: Thu Feb 18 05:42:14 2010
** by: Qt User Interface Compiler version 4.5.2
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/
#ifndef SEARCHREPLACEPANEL_H
#define SEARCHREPLACEPANEL_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QComboBox>
#include <QtGui/QHBoxLayout>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QSpacerItem>
#include <QtGui/QToolButton>
#include <QtGui/QWidget>
QT_BEGIN_NAMESPACE
class Ui_Form
{
public:
QHBoxLayout *horizontalLayout;
QToolButton *buttonClose;
QLabel *label;
QComboBox *comboBox;
QToolButton *toolButton_2;
QToolButton *toolButton_3;
QSpacerItem *horizontalSpacer;
QComboBox *comboBox_2;
void setupUi(QWidget *Form)
{
if (Form->objectName().isEmpty())
Form->setObjectName(QString::fromUtf8("Form"));
Form->resize(572, 38);
Form->setStyleSheet(QString::fromUtf8("border-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 255), stop:1 rgba(255, 255, 255, 255));"));
horizontalLayout = new QHBoxLayout(Form);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
buttonClose = new QToolButton(Form);
buttonClose->setObjectName(QString::fromUtf8("buttonClose"));
horizontalLayout->addWidget(buttonClose);
label = new QLabel(Form);
label->setObjectName(QString::fromUtf8("label"));
label->setMaximumSize(QSize(25, 16777215));
horizontalLayout->addWidget(label);
comboBox = new QComboBox(Form);
comboBox->setObjectName(QString::fromUtf8("comboBox"));
comboBox->setMinimumSize(QSize(200, 0));
comboBox->setMaximumSize(QSize(100, 16777215));
horizontalLayout->addWidget(comboBox);
toolButton_2 = new QToolButton(Form);
toolButton_2->setObjectName(QString::fromUtf8("toolButton_2"));
horizontalLayout->addWidget(toolButton_2);
toolButton_3 = new QToolButton(Form);
toolButton_3->setObjectName(QString::fromUtf8("toolButton_3"));
horizontalLayout->addWidget(toolButton_3);
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer);
comboBox_2 = new QComboBox(Form);
comboBox_2->setObjectName(QString::fromUtf8("comboBox_2"));
comboBox_2->setMinimumSize(QSize(200, 0));
comboBox_2->setMaximumSize(QSize(200, 16777215));
horizontalLayout->addWidget(comboBox_2);
retranslateUi(Form);
QMetaObject::connectSlotsByName(Form);
} // setupUi
void retranslateUi(QWidget *Form)
{
Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8));
buttonClose->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8));
label->setText(QApplication::translate("Form", "Find:", 0, QApplication::UnicodeUTF8));
toolButton_2->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8));
toolButton_3->setText(QApplication::translate("Form", "...", 0, QApplication::UnicodeUTF8));
Q_UNUSED(Form);
} // retranslateUi
};
namespace Ui {
class Form: public Ui_Form {};
} // namespace Ui
QT_END_NAMESPACE
#endif // SEARCHREPLACEPANEL_H