2010-02-10 01:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbide/docs/idemainpage.html
* contrib/hbide/docs/multiviews.html
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesources.prg
+ Extended Find-in-files search to sub-folders.
+ Implemented navigation in "hbIDE Help" under context menu.
% Normalized status-bar panels, added distinct colors where required.
This commit is contained in:
@@ -17,6 +17,22 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2010-02-10 01:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
* contrib/hbide/docs/idemainpage.html
|
||||
* contrib/hbide/docs/multiviews.html
|
||||
|
||||
* contrib/hbide/hbide.ch
|
||||
* contrib/hbide/hbide.prg
|
||||
* contrib/hbide/idedocks.prg
|
||||
* contrib/hbide/ideeditor.prg
|
||||
* contrib/hbide/idefindreplace.prg
|
||||
* contrib/hbide/idemisc.prg
|
||||
* contrib/hbide/ideprojmanager.prg
|
||||
* contrib/hbide/idesources.prg
|
||||
+ Extended Find-in-files search to sub-folders.
|
||||
+ Implemented navigation in "hbIDE Help" under context menu.
|
||||
% Normalized status-bar panels, added distinct colors where required.
|
||||
|
||||
2010-02-09 18:25 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
+ contrib/hbide/docs
|
||||
+ contrib/hbide/docs/idemainpage.html
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
<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:14pt; font-weight:600; text-decoration: underline;">hbIDE Help</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;"><span style=" font-size:14pt; font-weight:600; text-decoration: underline; color:#00aa00;">hbIDE Help</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:14pt; font-weight:600; text-decoration: underline;"></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 effort may not bring desired results but hopefully solve some of the issues supporting the project.</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;"><a href="interfaceelements.html"><span style=" text-decoration: underline; color:#0000ff;">Interface Elements</span></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;"><a href="multiviews.html"><span style=" text-decoration: underline; color:#0000ff;">Multi Views</span></a></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; text-decoration: underline; color:#0000ff;"></p>
|
||||
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="interfaceelements.html"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">Interface Elements</span></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;"><a href="multiviews.html"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">Multi Views</span></a></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; text-decoration: underline; color:#0000ff;"></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;">Please bear with me if things appear to be simple.</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;">Pritpal Bedi</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;"><span style=" font-size:8pt;">_a_student_of_software_analysis_&_design</span></p></body></html>
|
||||
<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></body></html>
|
||||
@@ -2,7 +2,7 @@
|
||||
<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:14pt;">Multi Views</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;"><span style=" font-size:14pt; color:#00aa7f;">Multi Views</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:14pt; font-weight:600; text-decoration: underline;"></p>
|
||||
<p 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 interface provides multiple views to organize your sources in a convenient way. The creation of a panel is a few clicks away. Switching is even simple.</span></p>
|
||||
<p 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>
|
||||
|
||||
@@ -138,14 +138,13 @@
|
||||
#define SB_PNL_INS 5
|
||||
#define SB_PNL_SELECTEDCHARS 6
|
||||
#define SB_PNL_MODIFIED 7
|
||||
#define SB_PNL_M_2 8
|
||||
#define SB_PNL_ENVIRON 8
|
||||
#define SB_PNL_STREAM 9
|
||||
#define SB_PNL_EDIT 10
|
||||
#define SB_PNL_SEARCH 11
|
||||
#define SB_PNL_CODEC 12
|
||||
#define SB_PNL_PROJECT 13
|
||||
#define SB_PNL_VIEW 14
|
||||
#define SB_PNL_STREAM 8
|
||||
#define SB_PNL_EDIT 9
|
||||
#define SB_PNL_SEARCH 10
|
||||
#define SB_PNL_CODEC 11
|
||||
#define SB_PNL_ENVIRON 12
|
||||
#define SB_PNL_VIEW 13
|
||||
#define SB_PNL_PROJECT 14
|
||||
|
||||
#define TAB_OTAB 1
|
||||
#define TAB_OEDITOR 2
|
||||
|
||||
@@ -362,6 +362,7 @@ METHOD HbIde:create( cProjIni )
|
||||
hbide_restSettings( Self )
|
||||
/* Again to be displayed in Statusbar */
|
||||
HbXbp_SetCodec( ::cWrkCodec )
|
||||
::oDK:setStatusText( SB_PNL_CODEC, ::cWrkCodec )
|
||||
|
||||
/* Display cWrkEnvironment in StatusBar */
|
||||
::oDK:dispEnvironment( ::cWrkEnvironment )
|
||||
@@ -1177,7 +1178,8 @@ METHOD HbIde:setCodec( cCodec )
|
||||
|
||||
HbXbp_SetCodec( ::cWrkCodec )
|
||||
|
||||
::oSBar:getItem( SB_PNL_CODEC ):caption := ::cWrkCodec
|
||||
//::oSBar:getItem( SB_PNL_CODEC ):caption := ::cWrkCodec
|
||||
::oDK:setStatusText( SB_PNL_CODEC, ::cWrkCodec )
|
||||
|
||||
RETURN Self
|
||||
|
||||
|
||||
@@ -171,10 +171,10 @@ METHOD IdeDocks:setView( cView )
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:execEvent( nMode, p )
|
||||
LOCAL nIndex
|
||||
LOCAL nIndex, aMenu
|
||||
|
||||
DO CASE
|
||||
CASE nMode == 1
|
||||
CASE nMode == 1 /* StackedWidget:currentChanged(int) */
|
||||
IF p >= 0 .AND. p <= len( ::aViews )
|
||||
::oIde:nCurView := p
|
||||
|
||||
@@ -188,6 +188,20 @@ METHOD IdeDocks:execEvent( nMode, p )
|
||||
ENDIF
|
||||
::setStatusText( SB_PNL_VIEW, iif( p == 0, "Main", ::aINI[ INI_VIEWS, ::nCurView ] ) )
|
||||
ENDIF
|
||||
|
||||
CASE nMode == 2 /* HelpWidget:contextMenuRequested(qPoint) */
|
||||
aMenu := {}
|
||||
|
||||
aadd( aMenu, { "Back" , {|| ::qHelpBrw:backward() } } )
|
||||
aadd( aMenu, { "Forward" , {|| ::qHelpBrw:forward() } } )
|
||||
aadd( aMenu, { "Home" , {|| ::qHelpBrw:home() } } )
|
||||
aadd( aMenu, { "" } )
|
||||
aadd( aMenu, { "Reload" , {|| ::qHelpBrw:reload() } } )
|
||||
aadd( aMenu, { "" } )
|
||||
aadd( aMenu, { "Select All", {|| ::qHelpBrw:selectAll() } } )
|
||||
aadd( aMenu, { "Copy" , {|| ::qHelpBrw:copy() } } )
|
||||
|
||||
hbide_execPopup( aMenu, p, ::qHelpBrw )
|
||||
ENDCASE
|
||||
|
||||
RETURN Self
|
||||
@@ -435,11 +449,12 @@ METHOD IdeDocks:buildFuncList()
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildHelpWidget()
|
||||
STATIC qUrl
|
||||
LOCAL qUrl, qStr
|
||||
|
||||
IF empty( qUrl )
|
||||
qUrl := QUrl():new( "docs/idemainpage.html" )
|
||||
ENDIF
|
||||
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 )
|
||||
@@ -451,12 +466,17 @@ METHOD IdeDocks:buildHelpWidget()
|
||||
::oHelp:oWidget:setFocusPolicy( Qt_NoFocus )
|
||||
|
||||
::oIde:qHelpBrw := QTextBrowser():new( ::oHelp:oWidget )
|
||||
::oIde:qHelpBrw:show()
|
||||
::oIde:qHelpBrw:setOpenExternalLinks( .t. )
|
||||
::qHelpBrw:show()
|
||||
::qHelpBrw:setContextMenuPolicy( Qt_CustomContextMenu )
|
||||
::qHelpBrw:setOpenExternalLinks( .t. )
|
||||
|
||||
::qHelpBrw:setSearchPaths( qStr )
|
||||
::qHelpBrw:setSource( qUrl )
|
||||
|
||||
::oHelp:oWidget:setWidget( ::oIde:qHelpBrw )
|
||||
|
||||
::oHelp:connect( ::qHelpBrw, "customContextMenuRequested(QPoint)", {|p| ::execEvent( 2, p ) } )
|
||||
|
||||
// ::oHelp:connect( ::qHelpBrw )
|
||||
|
||||
::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oHelp:oWidget, Qt_Horizontal )
|
||||
@@ -570,16 +590,16 @@ METHOD IdeDocks:buildStatusBar()
|
||||
::oSBar:addItem( "", , , , "Ready" ):oWidget:setMinimumWidth( 80 )
|
||||
::oSBar:addItem( "", , , , "Line" ):oWidget:setMinimumWidth( 110 )
|
||||
::oSBar:addItem( "", , , , "Column" ):oWidget:setMinimumWidth( 40 )
|
||||
::oSBar:addItem( "", , , , "Ins" ):oWidget:setMinimumWidth( 30 )
|
||||
::oSBar:addItem( "", , , , "M_1" ):oWidget:setMinimumWidth( 30 )
|
||||
::oSBar:addItem( "", , , , "Modified" ):oWidget:setMinimumWidth( 50 )
|
||||
::oSBar:addItem( "", , , , "Environ" ):oWidget:setMinimumWidth( 30 )
|
||||
::oSBar:addItem( "", , , , "Ins" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "SelChar" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "Modified" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "Stream" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "Edit" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "Search" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "Codec" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "Project" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "Environ" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "View" ):oWidget:setMinimumWidth( 20 )
|
||||
::oSBar:addItem( "", , , , "Project" ):oWidget:setMinimumWidth( 20 )
|
||||
|
||||
FOR i := 1 TO 6
|
||||
::oSBar:oWidget:addWidget( ::getMarkWidget( i ) )
|
||||
@@ -588,6 +608,59 @@ METHOD IdeDocks:buildStatusBar()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:setStatusText( nPart, xValue )
|
||||
LOCAL oPanel := ::oSBar:getItem( nPart )
|
||||
|
||||
SWITCH nPart
|
||||
|
||||
CASE SB_PNL_MAIN
|
||||
oPanel:caption := '<font color="2343212"><b>' + xValue + "</b></font>"
|
||||
EXIT
|
||||
CASE SB_PNL_READY
|
||||
EXIT
|
||||
CASE SB_PNL_LINE
|
||||
EXIT
|
||||
CASE SB_PNL_COLUMN
|
||||
EXIT
|
||||
CASE SB_PNL_INS
|
||||
EXIT
|
||||
CASE SB_PNL_SELECTEDCHARS
|
||||
oPanel:caption := iif( xValue == 0, "", "Sel: " + hb_ntos( xValue ) )
|
||||
EXIT
|
||||
CASE SB_PNL_MODIFIED
|
||||
oPanel:caption := xValue
|
||||
EXIT
|
||||
CASE SB_PNL_STREAM
|
||||
EXIT
|
||||
CASE SB_PNL_EDIT
|
||||
EXIT
|
||||
CASE SB_PNL_SEARCH
|
||||
oPanel:caption := "Find: " + xValue
|
||||
EXIT
|
||||
CASE SB_PNL_CODEC
|
||||
oPanel:caption := "<font color = green >Codec: " + xValue + "</font>"
|
||||
EXIT
|
||||
CASE SB_PNL_ENVIRON
|
||||
oPanel:caption := "<font color = blue >Env: " + xValue + "</font>"
|
||||
EXIT
|
||||
CASE SB_PNL_VIEW
|
||||
oPanel:caption := "<font color = brown >View: " + xValue + "</font>"
|
||||
EXIT
|
||||
CASE SB_PNL_PROJECT
|
||||
oPanel:caption := "<font color = darkred >Proj: " + xValue + "</font>"
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:dispEnvironment( cEnviron )
|
||||
::setStatusText( SB_PNL_ENVIRON, cEnviron )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:getMarkWidget( nIndex )
|
||||
LOCAL aColors := { "rgb( 255,255,127 )", "rgb( 175,175,255 )", "rgb( 255,175,175 )", ;
|
||||
"rgb( 175,255,175 )", "rgb( 255,190,125 )", "rgb( 175,255,255 )" }
|
||||
@@ -650,54 +723,6 @@ METHOD IdeDocks:toggleBottomDocks()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:dispEnvironment( cEnviron )
|
||||
::setStatusText( SB_PNL_ENVIRON, cEnviron )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:setStatusText( nPart, xValue )
|
||||
LOCAL oPanel := ::oSBar:getItem( nPart )
|
||||
|
||||
SWITCH nPart
|
||||
CASE SB_PNL_MAIN
|
||||
EXIT
|
||||
CASE SB_PNL_READY
|
||||
EXIT
|
||||
CASE SB_PNL_LINE
|
||||
EXIT
|
||||
CASE SB_PNL_COLUMN
|
||||
EXIT
|
||||
CASE SB_PNL_INS
|
||||
EXIT
|
||||
CASE SB_PNL_SELECTEDCHARS
|
||||
oPanel:caption := iif( xValue == 0, "", "Sel: " + hb_ntos( xValue ) )
|
||||
EXIT
|
||||
CASE SB_PNL_MODIFIED
|
||||
oPanel:caption := iif( xValue, "Modified", "" )
|
||||
EXIT
|
||||
CASE SB_PNL_VIEW
|
||||
oPanel:caption := "<font color = blue>View: " + xValue + "</font>"
|
||||
EXIT
|
||||
CASE SB_PNL_ENVIRON
|
||||
oPanel:caption := "Env: " + xValue
|
||||
EXIT
|
||||
CASE SB_PNL_STREAM
|
||||
EXIT
|
||||
CASE SB_PNL_EDIT
|
||||
EXIT
|
||||
CASE SB_PNL_SEARCH
|
||||
EXIT
|
||||
CASE SB_PNL_CODEC
|
||||
EXIT
|
||||
CASE SB_PNL_PROJECT
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeDocks:buildFindInFiles()
|
||||
LOCAL oXbp
|
||||
|
||||
|
||||
@@ -1163,17 +1163,17 @@ hbide_dbg( "IdeEditor:destroy()", 0 )
|
||||
::oEdit:destroy()
|
||||
|
||||
IF !Empty( ::qDocument )
|
||||
::qDocument := NIL
|
||||
::qDocument := NIL
|
||||
ENDIF
|
||||
|
||||
IF !Empty( ::qHiliter )
|
||||
::qHiliter := NIL
|
||||
::qHiliter := NIL
|
||||
ENDIF
|
||||
|
||||
::oEdit := NIL
|
||||
|
||||
IF !Empty( ::qLayout )
|
||||
::qLayout := NIL
|
||||
::qLayout := NIL
|
||||
ENDIF
|
||||
|
||||
IF ( n := ascan( ::aTabs, {|e_| e_[ TAB_OEDITOR ] == Self } ) ) > 0
|
||||
@@ -1313,7 +1313,7 @@ METHOD IdeEditor:setTabImage( qEdit )
|
||||
ENDIF
|
||||
|
||||
::qTabWidget:setTabIcon( nIndex, ::resPath + cIcon )
|
||||
::oSBar:getItem( SB_PNL_MODIFIED ):caption := iif( lModified, "Modified", iif( lReadOnly, "ReadOnly", " " ) )
|
||||
::oDK:setStatusText( SB_PNL_MODIFIED, iif( lModified, "Modified", iif( lReadOnly, "ReadOnly", " " ) ) )
|
||||
|
||||
RETURN Self
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@ METHOD IdeFindReplace:replace()
|
||||
nFound++
|
||||
::replaceSelection( cReplWith )
|
||||
ENDDO
|
||||
::oSBar:getItem( SB_PNL_MAIN ):caption := '<font color="2343212"><b>Replaced [' + hb_ntos( nFound ) + "] : "+ cReplWith + "</b></font>"
|
||||
::oDK:setStatusText( SB_PNL_MAIN, "Replaced [" + hb_ntos( nFound ) + "] : " + cReplWith )
|
||||
::oUI:q_buttonReplace:setEnabled( .f. )
|
||||
::oUI:q_checkGlobal:setChecked( .f. )
|
||||
::oUI:q_checkNoPrompting:setChecked( .f. )
|
||||
@@ -295,7 +295,7 @@ METHOD IdeFindReplace:updateFindReplaceData( cMode )
|
||||
ENDIF
|
||||
ENDIF
|
||||
//
|
||||
::oSBar:getItem( SB_PNL_SEARCH ):caption := "FIND: " + cData
|
||||
::oDK:setStatusText( SB_PNL_SEARCH, cData )
|
||||
ELSE
|
||||
cData := QLineEdit():configure( ::oUI:q_comboReplaceWith:lineEdit() ):text()
|
||||
IF !empty( cData )
|
||||
@@ -692,6 +692,7 @@ METHOD IdeFindInFiles:find()
|
||||
LOCAL aFolderSrc := {}
|
||||
LOCAL aProjSrc := {}
|
||||
LOCAL aProjs := {}
|
||||
LOCAL aPaths := {}
|
||||
|
||||
IF empty( ::cOrigExpr := ::oUI:q_comboExpr:currentText() )
|
||||
RETURN Self
|
||||
@@ -737,14 +738,15 @@ METHOD IdeFindInFiles:find()
|
||||
|
||||
/* Process Folder */
|
||||
IF ::oUI:q_checkFolders:isChecked() .AND. ! empty( cFolder )
|
||||
IF right( cFolder, 1 ) != hb_osPathSeparator()
|
||||
cFolder += hb_osPathSeparator()
|
||||
ENDIF
|
||||
FOR EACH cExt IN aFilter
|
||||
cMask := hbide_pathToOsPath( cFolder + cExt )
|
||||
aDir := directory( cMask, "D" )
|
||||
FOR EACH a_ IN aDir
|
||||
aadd( aFolderSrc, cFolder + a_[ 1 ] )
|
||||
hbide_fetchSubPaths( @aPaths, cFolder, ::oUI:q_checkSubFolders:isChecked() )
|
||||
|
||||
FOR EACH cFolder IN aPaths
|
||||
FOR EACH cExt IN aFilter
|
||||
cMask := hbide_pathToOsPath( cFolder + cExt )
|
||||
aDir := directory( cMask )
|
||||
FOR EACH a_ IN aDir
|
||||
aadd( aFolderSrc, cFolder + a_[ 1 ] )
|
||||
NEXT
|
||||
NEXT
|
||||
NEXT
|
||||
ENDIF
|
||||
@@ -851,6 +853,31 @@ METHOD IdeFindInFiles:find()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
STATIC FUNCTION hbide_fetchSubPaths( aPaths, cRootPath, lSubs )
|
||||
LOCAL aDir, a_
|
||||
|
||||
DEFAULT lSubs TO .t.
|
||||
|
||||
IF right( cRootPath, 1 ) != hb_osPathSeparator()
|
||||
cRootPath += hb_osPathSeparator()
|
||||
ENDIF
|
||||
cRootPath := hbide_pathToOSPath( cRootPath )
|
||||
|
||||
aadd( aPaths, cRootPath )
|
||||
|
||||
IF lSubs
|
||||
aDir := directory( cRootPath + "*.", "D" )
|
||||
FOR EACH a_ IN aDir
|
||||
IF a_[ 5 ] == "D" .AND. left( a_[ 1 ], 1 ) != "."
|
||||
hbide_fetchSubPaths( @aPaths, cRootPath + a_[ 1 ] )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD IdeFindInFiles:findInABunch( aFiles )
|
||||
LOCAL s, cExpr, nLine, aLines, aBuffer, cLine, nNoMatch, aMatch, regEx
|
||||
|
||||
@@ -888,6 +915,7 @@ METHOD IdeFindInFiles:findInABunch( aFiles )
|
||||
NEXT
|
||||
ELSE
|
||||
cExpr := lower( ::cOrigExpr )
|
||||
hbide_dbg( cExpr, "llllllllllllllllllll" )
|
||||
FOR EACH cLine IN aBuffer
|
||||
nLine++
|
||||
IF cExpr $ lower( cLine )
|
||||
@@ -981,7 +1009,8 @@ METHOD IdeFindInFiles:showLog( nType, cMsg, aLines )
|
||||
FOR EACH a_ IN aLines
|
||||
nL := a_[ 1 ]
|
||||
cL := a_[ 2 ]
|
||||
nB := at( cExp, cL )
|
||||
//nB := at( cExp, cL )
|
||||
nB := at( cExp, iif( ::lMatchCase, cL, lower( cL ) ) )
|
||||
cPre := substr( cL, 1, nB - 1 )
|
||||
cPost := substr( cL, nB + len( cExp ) )
|
||||
cT := substr( cL, nB, len( cExp ) )
|
||||
|
||||
@@ -97,7 +97,7 @@ PROCEDURE hbide_justACall()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
FUNCTION hbide_execPopup( aPops, aPos, qParent )
|
||||
FUNCTION hbide_execPopup( aPops, aqPos, qParent )
|
||||
LOCAL i, qPop, qPoint, qAct, cAct, xRet, pAct, a_, qSub, b_
|
||||
|
||||
qPop := QMenu():new( iif( hb_isObject( qParent ), qParent, NIL ) )
|
||||
@@ -121,7 +121,11 @@ FUNCTION hbide_execPopup( aPops, aPos, qParent )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
qPoint := QPoint():new( aPos[ 1 ], aPos[ 2 ] )
|
||||
IF hb_isArray( aqPos )
|
||||
qPoint := QPoint():new( aqPos[ 1 ], aqPos[ 2 ] )
|
||||
ELSE
|
||||
qPoint := QPoint():configure( qParent:mapToGlobal( aqPos ) )
|
||||
ENDIF
|
||||
pAct := qPop:exec_1( qPoint )
|
||||
IF !hbqt_isEmptyQtPointer( pAct )
|
||||
qAct := QAction():configure( pAct )
|
||||
@@ -148,7 +152,7 @@ FUNCTION hbide_execPopup( aPops, aPos, qParent )
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
qPop:pPtr := NIL
|
||||
qPop := NIL
|
||||
|
||||
RETURN xRet
|
||||
|
||||
|
||||
@@ -1203,7 +1203,7 @@ METHOD IdeProjManager:setCurrentProject( cProjectName )
|
||||
|
||||
IF lValid
|
||||
IF !Empty( ::oSBar )
|
||||
::oSBar:getItem( SB_PNL_PROJECT ):caption := ::cWrkProject
|
||||
::oDK:setStatusText( SB_PNL_PROJECT, ::cWrkProject )
|
||||
ENDIF
|
||||
|
||||
::oIDE:updateTitleBar()
|
||||
|
||||
@@ -195,7 +195,7 @@ METHOD IdeSourcesManager:saveSource( nTab, lCancel, lAs )
|
||||
::createTags()
|
||||
::updateFuncList()
|
||||
::qTabWidget:setTabIcon( nIndex, ::resPath + "tabunmodified.png" )
|
||||
::oSBar:getItem( SB_PNL_MODIFIED ):caption := " "
|
||||
::oDK:setStatusText( SB_PNL_MODIFIED, " " )
|
||||
ENDIF
|
||||
|
||||
RETURN .T.
|
||||
@@ -248,7 +248,7 @@ METHOD IdeSourcesManager:closeSource( nTab, lCanCancel, lCanceled )
|
||||
LOCAL lSave, n, oEditor
|
||||
|
||||
DEFAULT nTab TO ::oEM:getTabCurrent()
|
||||
|
||||
hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 0 )
|
||||
IF !empty( oEditor := ::oEM:getEditorByTabPosition( nTab ) )
|
||||
|
||||
DEFAULT lCanCancel TO .F.
|
||||
@@ -275,8 +275,9 @@ METHOD IdeSourcesManager:closeSource( nTab, lCanCancel, lCanceled )
|
||||
RETURN .F.
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 1 )
|
||||
oEditor:destroy()
|
||||
hbide_dbg( "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", 21 )
|
||||
::oIde:updateTitleBar()
|
||||
ENDIF
|
||||
|
||||
|
||||
Reference in New Issue
Block a user