diff --git a/harbour/contrib/gtwvg/tests/wvgmodal.prg b/harbour/contrib/gtwvg/tests/wvgmodal.prg
index fb7d40af41..052ede305f 100644
--- a/harbour/contrib/gtwvg/tests/wvgmodal.prg
+++ b/harbour/contrib/gtwvg/tests/wvgmodal.prg
@@ -162,7 +162,7 @@ FUNCTION DialogAlert( cCaption, aText_, aButtons_, sel, aMessage_, nTop, nTime )
next
ENDIF
- setcursor( 0 )
+ SetCursor( 0 )
SetColor( 'N/W' )
CLS
diff --git a/harbour/contrib/hbide/actions.prg b/harbour/contrib/hbide/actions.prg
index f8436723cc..866aad5377 100644
--- a/harbour/contrib/hbide/actions.prg
+++ b/harbour/contrib/hbide/actions.prg
@@ -259,7 +259,7 @@ METHOD IdeActions:loadActions()
aadd( aAct, { "InsertExternalFile" , "~External File at Cursor" , "insert-external-file", "", "No", "Yes" } )
aadd( aAct, { "InsertSeparator" , "~Separator" , "insert-separator", "F7" , "No", "Yes" } )
aadd( aAct, { "switchReadOnly" , "Switch Read~Only Mode" , "readonly" , "" , "No", "Yes" } )
- aadd( aAct, { "Properties" , "Properties" , "" , "" , "No", "Yes" } )
+ aadd( aAct, { "Properties" , "Properties" , "properties" , "" , "No", "Yes" } )
aadd( aAct, { "ProjAddSource" , "Add Source to Project" , "projectadd" , "" , "No", "Yes" } )
aadd( aAct, { "ProjRemSource" , "Remove Source" , "projectdel" , "" , "No", "Yes" } )
aadd( aAct, { "ProjMainModule" , "Select Main Module" , "setmain" , "" , "No", "Yes" } )
@@ -271,7 +271,7 @@ METHOD IdeActions:loadActions()
aadd( aAct, { "ReBuildLaunch" , "Rebuild and Launch Project" , "rebuildlaunch" , "" , "No", "Yes" } )
aadd( aAct, { "Compile" , "Compile Current Source" , "compile" , "" , "No", "Yes" } )
aadd( aAct, { "CompilePPO" , "Compile Current Source to PPO", "ppo" , "" , "No", "Yes" } )
- aadd( aAct, { "LaunchProject" , "Launch Project" , "" , "^F10" , "No", "Yes" } )
+ aadd( aAct, { "LaunchProject" , "Launch Project" , "launch_r" , "^F10" , "No", "Yes" } )
aadd( aAct, { "ConfigureTools" , "Configure Tools...*" , "" , "" , "No", "Yes" } )
aadd( aAct, { "CuiEditor" , "CUI Screen Edirot" , "cuied" , "" , "No", "Yes" } )
aadd( aAct, { "UISrcManager" , "UI Source Manager" , "fileprg" , "" , "No", "Yes" } )
@@ -325,6 +325,7 @@ METHOD IdeActions:loadActions()
aadd( aAct, { "SplitClose" , "Close Splitted Instance" , "split_close" , "" , "No", "Yes" } )
aadd( aAct, { "SplitH" , "Split Horizontally" , "split_h" , "" , "No", "Yes" } )
aadd( aAct, { "SplitV" , "Split Vertically" , "split_v" , "" , "No", "Yes" } )
+ aadd( aAct, { "Dictionary" , "Create .tag Dictionary" , "dictionary" , "" , "No", "Yes" } )
RETURN aAct
diff --git a/harbour/contrib/hbide/functions.prg b/harbour/contrib/hbide/functions.prg
index bfd985e7ae..c5b90798b8 100644
--- a/harbour/contrib/hbide/functions.prg
+++ b/harbour/contrib/hbide/functions.prg
@@ -111,7 +111,7 @@ CLASS IdeFunctions INHERIT IdeObject
METHOD destroy()
METHOD clear( lHdrAlso )
METHOD show()
- METHOD tagProject( cProjectTitle )
+ METHOD tagProject( cProjectTitle, lGUI )
METHOD populateTable()
METHOD consolidateList()
METHOD buildHeader()
@@ -517,14 +517,18 @@ METHOD IdeFunctions:buildTags()
/*----------------------------------------------------------------------*/
-METHOD IdeFunctions:tagProject( cProjectTitle )
+METHOD IdeFunctions:tagProject( cProjectTitle, lGUI )
LOCAL aSumData := ""
LOCAL cComments, aSummary, cPath, cSource, cExt, aTags, aText, aFuncList, aLines
LOCAL cProjFile, cRoot, aCTags, aSources, cSrc, a_, n
LOCAL qApp := QApplication()
+ hb_default( lGUI, .T. )
+
IF !( ::inAction )
- ::enableControls( .f. )
+ IF lGUI
+ ::enableControls( .f. )
+ ENDIF
cProjFile := ::oPM:getProjectFileNameFromTitle( cProjectTitle )
aSources := ::oPM:getSourcesByProjectTitle( cProjectTitle )
@@ -573,10 +577,12 @@ METHOD IdeFunctions:tagProject( cProjectTitle )
hb_memowrit( hb_FNameExtSet( cProjFile, ".tag" ), hb_serialize( aCTags ) )
- ::consolidateList()
- ::populateTable()
+ IF lGUI
+ ::consolidateList()
+ ::populateTable()
- ::enableControls( .t. )
+ ::enableControls( .t. )
+ ENDIF
ENDIF
RETURN cProjFile
diff --git a/harbour/contrib/hbide/hbide.qrc b/harbour/contrib/hbide/hbide.qrc
index 94c7789501..93dfbc753d 100644
--- a/harbour/contrib/hbide/hbide.qrc
+++ b/harbour/contrib/hbide/hbide.qrc
@@ -325,6 +325,8 @@
resources/dc_class.png
resources/dc_procedure.png
resources/stringify.png
+ resources/dictionary.png
+ resources/launch_r.png
docs/faq.htm
diff --git a/harbour/contrib/hbide/main.prg b/harbour/contrib/hbide/main.prg
index eecee0e10e..d70ba076b9 100644
--- a/harbour/contrib/hbide/main.prg
+++ b/harbour/contrib/hbide/main.prg
@@ -1444,14 +1444,14 @@ METHOD HbIde:manageProjectContext( mp1, mp2, oXbpTreeItem )
IF !( Alltrim( Upper( ::cWrkProject ) ) == Alltrim( Upper( oXbpTreeItem:caption ) ) )
aadd( aPops, { "Set as Current" , {|| ::oPM:setCurrentProject( oXbpTreeItem:caption ) } } )
End
- aadd( aPops, { "Properties" , {|| ::oPM:loadProperties( cHbp, .f., .t., .t. ) } } )
+ aadd( aPops, { ::oAC:getAction( "Properties" ), {|| ::oPM:loadProperties( cHbp, .f., .t., .t. ) } } )
aadd( aPops, { "" } )
aadd( aPops, { ::oAC:getAction( "BuildQt" ), {|| ::oPM:buildProject( oXbpTreeItem:caption, .F., , , .T. ) } } )
aadd( aPops, { ::oAC:getAction( "BuildLaunchQt" ), {|| ::oPM:buildProject( oXbpTreeItem:caption, .T., , , .T. ) } } )
aadd( aPops, { ::oAC:getAction( "ReBuildQt" ), {|| ::oPM:buildProject( oXbpTreeItem:caption, .F., .T., , .T. ) } } )
aadd( aPops, { ::oAC:getAction( "ReBuildLaunchQt" ), {|| ::oPM:buildProject( oXbpTreeItem:caption, .T., .T., , .T. ) } } )
aadd( aPops, { "" } )
- aadd( aPops, { "Launch" , {|| ::oPM:launchProject( oXbpTreeItem:caption ) } } )
+ aadd( aPops, { ::oAC:getAction( "LaunchProject" ), {|| ::oPM:launchProject( oXbpTreeItem:caption ) } } )
aadd( aPops, { "" } )
aadd( aPops, { "Remove Project" , {|| ::oPM:removeProject( oXbpTreeItem:caption ) } } )
IF !empty( ::oEV:getNames() )
@@ -1461,6 +1461,9 @@ METHOD HbIde:manageProjectContext( mp1, mp2, oXbpTreeItem )
NEXT
aadd( aPops, { aSub, "Select an environment" } )
ENDIF
+ aadd( aPops, { "" } )
+ aadd( aPops, { ::oAC:getAction( "Dictionary" ), {|v| v := ::oFN:tagProject( ::aProjData[ n, TRE_ORIGINAL ], .F. ), ;
+ MsgBox( iif( Empty( v ), "Not Succeeded", v ), "Dictionary Creation" ) } } )
hbide_ExecPopup( aPops, mp1, ::oProjTree:oWidget )
diff --git a/harbour/contrib/hbide/resources/dictionary.png b/harbour/contrib/hbide/resources/dictionary.png
new file mode 100644
index 0000000000..4bf557784a
Binary files /dev/null and b/harbour/contrib/hbide/resources/dictionary.png differ
diff --git a/harbour/contrib/hbide/resources/launch_r.png b/harbour/contrib/hbide/resources/launch_r.png
new file mode 100644
index 0000000000..cb777413ba
Binary files /dev/null and b/harbour/contrib/hbide/resources/launch_r.png differ