2012-03-11 21:53 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)

* contrib/hbide/ideenviron.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idemain.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/idesaveload.prg
  * contrib/hbide/ideuisrcmanager.prg

    ! Improved: how Harbour's root path is detected for .ui Source Manager.
        This is tried in the order below:

          1. If any hbIDE specific environment protocol is used.
              ( It is hbQT specific or not is not verified so can fail )
          2. If entry is present in <Setup><hbIDE Setup><Paths><Harbour Root>.
              ( The most preferred way to avoid any ambiquity )
          3. If HB_INSTALL_PREFIX env variable is detected.
              ( Covers Harbour Developers )
          4. If "harbour.exe" or "harbour" file is detected alongside hbide.exe.
              ( Covers users of Harbour Nightly Builds )

    ! Improved: how Qt path is detected, needed for uic.exe.
        HB_QTPATH is detected and then populated in the temp batch file.

    ; This commit is primarily focussed on tool detection.
      Please try again as per above specifications.
This commit is contained in:
Pritpal Bedi
2012-03-12 05:07:22 +00:00
parent 638fdffa54
commit fe626f46ac
7 changed files with 178 additions and 128 deletions

View File

@@ -16,6 +16,32 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-03-11 21:53 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/ideenviron.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideuisrcmanager.prg
! Improved: how Harbour's root path is detected for .ui Source Manager.
This is tried in the order below:
1. If any hbIDE specific environment protocol is used.
( It is hbQT specific or not is not verified so can fail )
2. If entry is present in <Setup><hbIDE Setup><Paths><Harbour Root>.
( The most preferred way to avoid any ambiquity )
3. If HB_INSTALL_PREFIX env variable is detected.
( Covers Harbour Developers )
4. If "harbour.exe" or "harbour" file is detected alongside hbide.exe.
( Covers users of Harbour Nightly Builds )
! Improved: how Qt path is detected, needed for uic.exe.
HB_QTPATH is detected and then populated in the temp batch file.
; This commit is primarily focussed on tool detection.
Please try again as per above specifications.
2012-03-07 20:25 UTC+0100 Viktor Szakats (harbour syenar.net)
* contrib/hbhpdf/harupdf.ch
! fixed two constants

View File

@@ -211,11 +211,10 @@ METHOD IdeEnvironments:prepareBatch( cEnvName )
ENDIF
NEXT
ELSE
hb_fNameSplit( hb_dirBase(), @cPath )
IF hb_fileExists( cPath + hb_ps() + "hbmk2.exe" )
aadd( aCmd, "SET PATH=" + cPath + ";%PATH%" )
ELSEIF hb_fileExists( cPath + hb_ps() + "hbmk2" )
aadd( aCmd, "SET PATH=" + cPath + ";%PATH%" )
IF ! empty( cPath := ::oINI:getHarbourPath() )
aadd( aCmd, "SET PATH=" + cPath + "bin" + ";%PATH%" )
ELSE
aadd( aCmd, "SET PATH=%PATH%" )
ENDIF
ENDIF

View File

@@ -231,18 +231,18 @@ METHOD IdeHarbourHelp:new( oIde )
METHOD IdeHarbourHelp:create( oIde )
LOCAL cPath
DEFAULT oIde TO ::oIde
::oIde := oIde
::cPathInstall := ::oINI:getHarbourPath()
IF empty( ::cPathInstall )
hb_fNameSplit( hb_dirBase(), @cPath )
IF hb_fileExists( cPath + hb_ps() + "hbmk2.exe" )
IF hb_fileExists( cPath + "hbmk2.exe" )
::cPathInstall := cPath + ".." + hb_ps()
ENDIF
ENDIF
ENDIF
ENDIF
RETURN Self
/*----------------------------------------------------------------------*/
@@ -503,8 +503,8 @@ METHOD IdeHarbourHelp:execEvent( nMode, p, p1 )
HB_SYMBOL_UNUSED( p1 )
IF ::lQuitting
RETURN Self
ENDIF
RETURN Self
ENDIF
SWITCH nMode
@@ -1424,24 +1424,24 @@ METHOD IdeHarbourHelp:exportAsPdfAll()
LOCAL cPdf, qPrinter, cExt, cPath, cFile, aItems
IF empty( ::aNodes )
RETURN Self
ENDIF
RETURN Self
ENDIF
IF !empty( cPdf := hbide_fetchAFile( ::oDlg, "Provide a file name", { { "Pdf Documents", "*.pdf" } } ) )
hb_fNameSplit( cPdf, @cPath, @cFile, @cExt )
qPrinter := QPrinter()
FOR EACH aItems IN ::aNodes
::oUI:q_treeDoc:setCurrentItem( aItems[ 1 ], 0 )
QApplication():processEvents()
IF ::lQuitting
EXIT
ENDIF
EXIT
ENDIF
qPrinter:setOutputFileName( cPath + cFile + "_" + trim( ::oUI:q_browserView:documentTitle() ) + ".pdf" )
qPrinter:setFullPage( .t. )
::oUI:q_browserView:print( qPrinter )
qPrinter:newPage()
NEXT
NEXT
ENDIF
RETURN Self

View File

@@ -105,7 +105,7 @@ REQUEST ADS
FUNCTION Main( ... )
LOCAL oTmp
LOCAL oIde
//LOCAL oIde
#ifdef __HBDYNLOAD__RDDADS__
LOCAL hRDDADS, tmp
@@ -138,11 +138,15 @@ FUNCTION Main( ... )
QResource():registerResource_1( hbqtres_HbIde(), ":/resource" )
oTmp := HbIde():new( hb_aParams() )
#if 0
oIde := oTmp:create()
oIde:destroy()
#else
oTmp:create()
#endif
oTmp := NIL
RETURN NIL
RETURN NIL
/*----------------------------------------------------------------------*/
@@ -574,7 +578,7 @@ METHOD HbIde:create( aParams )
/* Initiate UI Source Manager */
::oUiS := IdeUISrcManager():new( Self ):create()
/* Initialte Project Manager */
::oPM := IdeProjManager():new( Self ):create()
@@ -671,7 +675,7 @@ METHOD HbIde:create( aParams )
/* Console Editor */
::oCUI := IdeConsole():new():create( Self )
::oDlg:show() /* Shifted here - it gives the effect that time opening hbIDE is much less */
qSplash:raise()

View File

@@ -1218,7 +1218,7 @@ FUNCTION hbide_getShellCommandsTempFile( aCmd )
cCmdFile := ""
FOR EACH tmp IN aCmd
tmp := hbide_parseMacros( tmp )
cCmdFile += tmp + hb_eol()
cCmdFile += tmp + hb_osNewLine()
NEXT
IF ( fhnd := hb_FTempCreateEx( @cCmdFileName, NIL, NIL, cExt ) ) != F_ERROR

View File

@@ -256,7 +256,24 @@ METHOD IdeINI:getResourcesPath()
/*------------------------------------------------------------------------*/
METHOD IdeINI:getHarbourPath()
RETURN iif( empty( ::cPathHrbRoot ), ::cPathHrbRoot, hbide_pathToOSPath( hbide_pathAppendLastSlash( ::cPathHrbRoot ) ) )
LOCAL cPath := ::cPathHrbRoot
IF empty( cPath )
IF empty( cPath := hb_getEnv( "HB_INSTALL_PREFIX" ) ) /* This covers Harbour developers */
hb_fNameSplit( hb_dirBase(), @cPath ) /* This covers USERS of nightly builds */
IF ! hb_fileExists( cPath + "harbour.exe" )
IF ! hb_fileExists( cPath + "harbour" )
cPath := ""
ENDIF
ENDIF
IF ! empty( cPath )
cPath := hbide_pathAppendLastSlash( cPath ) + ".." + hb_ps()
ENDIF
ENDIF
ENDIF
::cPathHrbRoot := iif( empty( cPath ), "", hbide_pathToOSPath( hbide_pathAppendLastSlash( cPath ) ) )
RETURN ::cPathHrbRoot
/*------------------------------------------------------------------------*/
@@ -1567,9 +1584,9 @@ METHOD IdeSetup:execEvent( cEvent, p, p1 )
HB_SYMBOL_UNUSED( p1 )
IF ::lQuitting
RETURN Self
ENDIF
RETURN Self
ENDIF
SWITCH cEvent
CASE "buttonSelFont_clicked"

View File

@@ -67,6 +67,7 @@
#include "common.ch"
#include "hbclass.ch"
#include "hbqtgui.ch"
#include "fileio.ch"
#include "hbide.ch"
#include "hbhrb.ch"
@@ -142,9 +143,7 @@ CLASS IdeUISrcManager INHERIT IdeObject
DATA cSrcFile INIT ""
DATA cSource INIT ""
DATA aSource INIT {}
DATA cBatch INIT ""
DATA oProcess
DATA lFinished
DATA cCurAction INIT ""
METHOD new( oIde )
@@ -254,7 +253,6 @@ METHOD IdeUISrcManager:show()
::qTree := QTreeWidget()
::qTree:setMaximumWidth( 150 )
::qTree:setHeaderHidden( .t. )
::qTree:setAlternatingRowColors( .t. )
::qTree:connect( "itemSelectionChanged()", {|| ::exposeAction() } )
::qHBLayout:addWidget( ::qTree )
@@ -299,7 +297,7 @@ METHOD IdeUISrcManager:execEvent( cEvent, p, p1 )
EXIT
CASE "buttonOpen_clicked"
IF ! empty( cUI := hbide_fetchAFile( ::oIde:oDlg, "Select a .UIC", { { "Qt Designer .UIC File", "*.uic" } }, ::oIde:cWrkFolderLast ) )
IF ! empty( cUI := hbide_fetchAFile( ::oIde:oDlg, "Select a .UI", { { "Qt Designer .UI File", "*.ui" } }, ::oIde:cWrkFolderLast ) )
::buildUiWidget( cUI )
ENDIF
EXIT
@@ -314,9 +312,7 @@ METHOD IdeUISrcManager:execEvent( cEvent, p, p1 )
qList := qMime:urls()
qUrl := qList:at( 0 )
hb_fNameSplit( qUrl:toLocalFile(), , , @cExt )
IF lower( cExt ) == ".uic"
::buildUicWidget( qUrl:toLocalFile() )
ELSEIF lower( cExt ) == ".ui"
IF lower( cExt ) == ".ui"
::buildUiWidget( qUrl:toLocalFile() )
ENDIF
ENDIF
@@ -325,8 +321,8 @@ METHOD IdeUISrcManager:execEvent( cEvent, p, p1 )
CASE "child_object"
IF empty( ::qCurrent ) .OR. ! ( ::qCurrent == p )
IF ! empty( ::cCurAction )
::saveMethod( ::qCurrent:objectName(), ::cCurAction )
ENDIF
::saveMethod( ::qCurrent:objectName(), ::cCurAction )
ENDIF
::qCurrent := p
::qFocus:setWidget( p )
::aStatusPnls[ PNL_OBJECTS ]:setText( "<font color = blue>OBJ: " + p1 + "</font>" )
@@ -348,71 +344,71 @@ METHOD IdeUISrcManager:execEvent( cEvent, p, p1 )
METHOD IdeUISrcManager:saveMethod( cObjName, cAction )
LOCAL cSrc, n, n0, n1, n2, n3, cMtd, i, aSrc
LOCAL cMethod := cObjName + "_" + upper( left( cAction,1 ) ) + lower( substr( cAction, 2 ) )
cMtd := "METHOD " + "ui_" + ::cName + ":" + cMethod + "( ... )"
cSrc := ::qEdit:toPlainText()
n0 := ascan( ::aSource, {|e| "<METHODSEVENTS>" $ e } )
n1 := ascan( ::aSource, {|e| "</METHODSEVENTS>" $ e } )
n2 := ascan( ::aSource, {|e| "METHOD " + cMethod $ e }, n0, n1 )
IF n2 > 0 .AND. empty( cSrc )
hb_adel( ::aSource, n2, .t. )
hb_adel( ::aSource, n2, .t. )
ELSEIF n2 == 0 .AND. ! empty( cSrc )
::aSource := hb_aIns( ::aSource, n0+1, " " + "METHOD " + cMethod + "( ... )", .t. )
ENDIF
::aSource := hb_aIns( ::aSource, n0+1, " " + "METHOD " + cMethod + "( ... )", .t. )
ENDIF
n2 := ascan( ::aSource, {|e| cMtd $ e } )
n3 := ascan( ::aSource, {|e| "RETURN Self" $ e }, n2 )
IF empty( cSrc )
IF n2 > 0
IF n2 > 0
FOR i := n3 + 1 TO n2 STEP - 1
hb_adel( ::aSource, i, .t. )
NEXT
ENDIF
ELSE
NEXT
ENDIF
ELSE
cSrc := strtran( cSrc, chr( 13 ) + chr( 10 ), chr( 10 ) )
aSrc := hb_aTokens( cSrc, chr( 10 ) )
IF n2 > 0
IF n2 > 0
FOR i := n3-1 TO n2 + 1 STEP - 1
hb_adel( ::aSource, i, .t. )
NEXT
NEXT
FOR i := 1 TO len( aSrc )
::aSource := hb_ains( ::aSource, n2 + i, " " + aSrc[ i ], .t. )
NEXT
ELSE
n := ascan( ::aSource, {|e| "<EVENTSMETHODAREA>" $ e } )
NEXT
ELSE
n := ascan( ::aSource, {|e| "<EVENTSMETHODAREA>" $ e } )
::aSource := hb_ains( ::aSource, ++n, cMtd, .t. )
FOR i := 1 TO len( aSrc )
::aSource := hb_ains( ::aSource, ++n, " " + aSrc[ i ], .t. )
NEXT
::aSource := hb_ains( ::aSource, ++n, " ", .t. )
::aSource := hb_ains( ::aSource, ++n, " RETURN Self", .t. )
::aSource := hb_ains( ::aSource, ++n, " ", .t. )
ENDIF
ENDIF
#if 0
::aSource := hb_ains( ::aSource, ++n, " " + aSrc[ i ], .t. )
NEXT
::aSource := hb_ains( ::aSource, ++n, " ", .t. )
::aSource := hb_ains( ::aSource, ++n, " RETURN Self", .t. )
::aSource := hb_ains( ::aSource, ++n, " ", .t. )
ENDIF
ENDIF
#if 0
n0 := ascan( ::aSource, {|e| "<CONNECTS>" $ e } )
n1 := ascan( ::aSource, {|e| "</CONNECTS>" $ e } )
IF empty( cSrc )
ELSE
ENDIF
#endif
ELSE
ENDIF
#endif
::qEdit:document():clear()
::buildSource() /* Temporary */
RETURN Self
RETURN Self
/*----------------------------------------------------------------------*/
METHOD IdeUISrcManager:loadMethod( cObjName, cAction )
LOCAL cSrc := "", n0, n1, n2, n3, cMtd, i
LOCAL cMethod := cObjName + "_" + upper( left( cAction,1 ) ) + lower( substr( cAction, 2 ) )
n0 := ascan( ::aSource, {|e| "<METHODSEVENTS>" $ e } )
n1 := ascan( ::aSource, {|e| "</METHODSEVENTS>" $ e } )
@@ -421,17 +417,17 @@ METHOD IdeUISrcManager:loadMethod( cObjName, cAction )
cMtd := "METHOD " + "ui_" + ::cName + ":" + cMethod + "( ... )"
IF ( n2 := ascan( ::aSource, {|e| cMtd $ e } ) ) > 0
n3 := ascan( ::aSource, {|e| "RETURN Self" $ e }, n2 )
FOR i := n2 + 1 TO n3 - 1
FOR i := n2 + 1 TO n3 - 1
cSrc += substr( ::aSource[ i ], 4 ) + chr( 10 )
NEXT
cSrc := substr( cSrc, 1, len( cSrc ) - 1 )
ENDIF
ENDIF
RETURN cSrc
NEXT
cSrc := substr( cSrc, 1, len( cSrc ) - 1 )
ENDIF
ENDIF
RETURN cSrc
/*----------------------------------------------------------------------*/
METHOD IdeUISrcManager:exposeAction()
LOCAL qItem := ::qTree:currentItem()
LOCAL cText := qItem:text( 0 )
@@ -441,9 +437,9 @@ METHOD IdeUISrcManager:exposeAction()
ENDIF
IF ! empty( ::cCurAction )
::saveMethod( ::qCurrent:objectName(), ::cCurAction )
ENDIF
::saveMethod( ::qCurrent:objectName(), ::cCurAction )
ENDIF
SWITCH __objGetClsName( ::qCurrent )
CASE "QPUSHBUTTON"
CASE "QTOOLBUTTON"
@@ -451,11 +447,11 @@ METHOD IdeUISrcManager:exposeAction()
CASE "Activated"
::qEdit:setPlainText( ::loadMethod( ::qCurrent:objectName(), "Activated" ) )
::qEdit:setFocus()
EXIT
CASE "Tooltip"
::qEdit:setPlainText( ::loadMethod( ::qCurrent:objectName(), "Tooltip" ) )
EXIT
CASE "Icon"
::qEdit:setPlainText( ::loadMethod( ::qCurrent:objectName(), "Icon" ) )
::qEdit:setFocus()
EXIT
EXIT
ENDSWITCH
EXIT
@@ -481,7 +477,7 @@ METHOD IdeUISrcManager:loadActions( oWidget, cName )
qItem:setText( 0, "Activated" )
::qTree:addTopLevelItem( qItem )
qItem := QTreeWidgetItem()
qItem:setText( 0, "Tooltip" )
qItem:setText( 0, "Icon" )
::qTree:addTopLevelItem( qItem )
EXIT
@@ -501,11 +497,12 @@ METHOD IdeUISrcManager:clear()
::qEdit:document():clear()
::qTree:clear()
::aObjByName := {}
::aPrg := {}
::qFocus := NIL
::qFocus := QFocusFrame()
::qFocus:setStyleSheet( "border: 2px red;" )
IF ! empty( ::pHrb )
hb_hrbUnload( ::pHrb )
@@ -524,7 +521,7 @@ METHOD IdeUISrcManager:clear()
::cSource := ""
::cSrcFile := ""
::aSource := {}
RETURN Self
/*----------------------------------------------------------------------*/
@@ -534,11 +531,7 @@ METHOD IdeUISrcManager:buildUiWidget( cUI )
hb_fNameSplit( cUI, @cPath, @cName, @cExt )
::lFinished := .f.
::runHbmk2( cUI )
DO WHILE ! ::lFinished
QApplication():processEvents()
ENDDO
cPrg := cPath + "uic_" + cName + ".prg"
IF ! hb_fileExists( cPrg )
@@ -566,7 +559,7 @@ METHOD IdeUISrcManager:buildUiWidget( cUI )
METHOD IdeUISrcManager:buildWidget( cBuffer, cPath, cName, cExt, aPrg )
LOCAL cCode, s, n, cObj, cCls, i, pHrb, oObj
cBuffer := hb_compileFromBuf( cBuffer, "-n2", "-w3", "-es2", "-q0", "-i" + ::oHL:cPathInstall + "include" )
cBuffer := hb_compileFromBuf( cBuffer, "-n2", "-w3", "-es2", "-q0", "-i" + ::oINI:getHarbourPath() + "include" )
IF ! empty( cBuffer )
pHrb := hb_hrbLoad( HB_HRB_BIND_OVERLOAD, cBuffer )
IF ! empty( pHrb )
@@ -606,7 +599,7 @@ METHOD IdeUISrcManager:buildWidget( cBuffer, cPath, cName, cExt, aPrg )
IF ! ( cCls $ "QSIZEPOLICY,QFONT,QGRIDLAYOUT,QHBOXLAYOUT,QVBOXLAYOUT,QSPACERITEM,QLAYOUT,QSPLITTER,QSCROLLAREA,QTREEWIDGETITEM,QLISTWIDGETITEM" )
aadd( ::aObjByName, cObj )
oObj:setObjectName( cObj )
IF ( cCls $ "QLINEEDIT" )
oObj:setFocusPolicy( Qt_NoFocus )
ENDIF
@@ -635,33 +628,42 @@ METHOD IdeUISrcManager:buildWidget( cBuffer, cPath, cName, cExt, aPrg )
/*----------------------------------------------------------------------*/
METHOD IdeUISrcManager:runHbmk2( cUI )
LOCAL cPath, cName, cExt, cExeHbMk2, cCmdParams, cCmd, cC, cBuf
LOCAL aHbp := {}
LOCAL cPath, cName, cExt, cExeHbMk2, cCmdParams, cCmd, cC, cBuf, fhnd, cHbpFileName, cHbpFile, cBatch
LOCAL aHbp := {}, aHbp0 := {}
LOCAL cbRed := "<font color=blue>", ceRed := "</font>"
hb_fNameSplit( cUI, @cPath, @cName, @cExt )
aadd( aHbp, "-q" )
aadd( aHbp, "-trace" )
aadd( aHbp, "-info" )
aadd( aHbp, "-lang=en" )
aadd( aHbp, "-width=512" )
aadd( aHbp, "-rebuild" )
aadd( aHbp, "-s" )
aadd( aHbp, "-hblib" )
aadd( aHbp, "-hbraw" )
aadd( aHbp, "-workdir=" + cPath )
aadd( aHbp, "hbqt.hbc" )
aadd( aHbp, cUI )
aadd( aHbp, "-trace" )
aadd( aHbp0, "-q" )
aadd( aHbp0, "-info" )
aadd( aHbp0, "-rebuild" )
aadd( aHbp0, "-s" )
aadd( aHbp0, "-hblib" )
aadd( aHbp0, "-workdir=" + cPath )
aadd( aHbp0, "hbqt.hbc" )
aadd( aHbp0, cUI )
::oDockB2:show()
::oOutputResult:oWidget:clear()
IF .t.
::oOutputResult:oWidget:append( hbide_outputLine() )
IF ( fhnd := hb_FTempCreateEx( @cHbpFileName, NIL, NIL, ".hbp" ) ) != F_ERROR
cHbpFile := ""
FOR EACH cBuf IN aHbp0
cHbpFile += cBuf + hb_osNewLine()
NEXT
FWrite( fhnd, cHbpFile )
FClose( fhnd )
ELSE
RETURN Self
ENDIF
::oIDE:oEV := IdeEnvironments():new():create( ::oIDE )
::cBatch := ::oEV:prepareBatch( ::cWrkEnvironment )
cBatch := ::oEV:prepareBatch( ::cWrkEnvironment )
aeval( ::oEV:getHbmk2Commands( ::cWrkEnvironment ), {|e| aadd( aHbp, e ) } )
cExeHbMk2 := ::oINI:getHbmk2File()
@@ -674,23 +676,29 @@ METHOD IdeUISrcManager:runHbmk2( cUI )
::oProcess:workingPath := cPath
//
cCmd := hbide_getShellCommand()
cC := iif( hbide_getOS() == "nix", "", "/C " )
cC := iif( hbide_getOS() == "nix", "", "/E:20000 /C " )
IF hb_fileExists( ::cBatch )
cBuf := memoread( ::cBatch )
cBuf += hb_eol() + cExeHbMk2 + " " + cCmdParams + hb_eol()
hb_memowrit( ::cBatch, cBuf )
IF hb_fileExists( cBatch )
cBuf := memoread( cBatch )
IF ! empty( hb_getEnv( "HB_QTPATH" ) )
cBuf := "SET HB_QTPATH=" + hb_getEnv( "HB_QTPATH" ) + hb_osNewLine() + cBuf
ENDIF
cBuf += hb_osNewLine() + cExeHbMk2 + " " + cHbpFileName + " " + cCmdParams + hb_osNewLine()
hb_memowrit( cBatch, cBuf )
ENDIF
//
::outputText( cbRed + "Batch File " + iif( hb_fileExists( ::cBatch ), " Exists", " : doesn't Exist" ) + " => " + ceRed + trim( ::cBatch ) )
::outputText( cbRed + "Batch File " + iif( hb_fileExists( cBatch ), " : Exists", " : doesn't Exist" ) + " => " + ceRed + trim( cBatch ) )
::outputText( cbRed + "Batch File Contents => " + ceRed )
::outputText( memoread( ::cBatch ) )
::outputText( memoread( cBatch ) )
::outputText( cbRed + "Command => " + ceRed + cCmd )
::outputText( cbRed + "Arguments => " + ceRed + cC + ::cBatch )
::outputText( cbRed + "Arguments => " + ceRed + cC + cBatch )
::outputText( hbide_outputLine() )
//
::oProcess:addArg( cC + ::cBatch )
::oProcess:addArg( cC + cBatch )
::oProcess:start( cCmd )
::oProcess:waitForFinished()
ferase( cHbpFileName )
ferase( cBatch )
ENDIF
RETURN Self
@@ -706,10 +714,6 @@ METHOD IdeUISrcManager:finished( nExitCode, nExitStatus )
::outputText( cTmp )
::outputText( hbide_outputLine() )
ferase( ::cBatch )
::lFinished := .t.
::oDockB2:hide()
RETURN Self
/*----------------------------------------------------------------------*/
@@ -789,11 +793,11 @@ STATIC FUNCTION getObject( oSelf, oHbQtUi, cObj )
/*----------------------------------------------------------------------*/
METHOD IdeUISrcManager:loadSource()
IF hb_fileExists( ::cSrcFile )
::aSource := hbide_readSource( ::cSrcFile )
ELSE
::buildSource()
ELSE
::buildSource()
ENDIF
RETURN Self
@@ -938,7 +942,7 @@ METHOD IdeUISrcManager:buildSource()
::cSource := ""
aeval( ::aSource, {|e| ::cSource += e + hb_osNewLine() } )
hb_memowrit( ::cSrcFile, ::cSource )
::oSM:editSource( ::cSrcFile, 0, 0, 0, NIL, NIL, .f., .t. )