From a75a616731cb0f0adab5997d4189e8d8e375d8f1 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 13 Oct 2012 09:07:19 +0000 Subject: [PATCH] 2012-10-13 11:03 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg ! fixed to recognize built-in .hbm files even if a dir was present in the name (f.e. when referencing a built-in .hbm from another referenced .hbm) * contrib/hbnf/menu1.prg * contrib/hbnf/popadder.prg ! FT_Adder() fixed to use proper drawing chars for single boxes % changed to use codeblock as achoice() use func % optimized out one THREAD STATIC var in FT_Adder() --- harbour/ChangeLog | 12 ++++++++++++ harbour/contrib/hbnf/menu1.prg | 2 +- harbour/contrib/hbnf/popadder.prg | 19 ++++++++++--------- harbour/utils/hbmk2/hbmk2.prg | 4 +++- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f3d76febe8..35aba3b0d7 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,18 @@ The license applies to all entries newer than 2009-04-28. */ +2012-10-13 11:03 UTC+0200 Viktor Szakats (harbour syenar.net) + * utils/hbmk2/hbmk2.prg + ! fixed to recognize built-in .hbm files even if a dir + was present in the name (f.e. when referencing a + built-in .hbm from another referenced .hbm) + + * contrib/hbnf/menu1.prg + * contrib/hbnf/popadder.prg + ! FT_Adder() fixed to use proper drawing chars for single boxes + % changed to use codeblock as achoice() use func + % optimized out one THREAD STATIC var in FT_Adder() + 2012-10-12 19:52 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbodbc/browodbc.prg * missed two @ commands to convert diff --git a/harbour/contrib/hbnf/menu1.prg b/harbour/contrib/hbnf/menu1.prg index 9c5c7e8e32..4c4ce19ec4 100644 --- a/harbour/contrib/hbnf/menu1.prg +++ b/harbour/contrib/hbnf/menu1.prg @@ -164,7 +164,7 @@ FUNCTION FT_MENU1( aBar, aOptions, aColors, nTopRow, lShadow ) ENDIF hb_DispBox( nTopRow + 1, aBoxLoc[ t_nHPos ], Len( t_aChoices[ t_nHPos, 1 ] ) + nTopRow + 2, aBarWidth[ t_nHPos ] + 3 + aBoxLoc[ t_nHPos ], hb_UTF8ToStrBox( "╔═╗║╝═╚║ " ), cBorder ) SetColor( cBox + "," + cCurrent + ",,," + cUnselec ) - t_nVPos := AChoice( nTopRow + 2, aBoxLoc[ t_nHPos ] + 2, Len( t_aChoices[ t_nHPos, 1 ] ) + nTopRow + 2, aBarWidth[ t_nHPos ] + 1 + aBoxLoc[ t_nHPos ], t_aChoices[ t_nHPos, 1 ], t_aChoices[ t_nHPos, 3 ], "__ftAcUdf", aLastSel[ t_nHPos ] ) + t_nVPos := AChoice( nTopRow + 2, aBoxLoc[ t_nHPos ] + 2, Len( t_aChoices[ t_nHPos, 1 ] ) + nTopRow + 2, aBarWidth[ t_nHPos ] + 1 + aBoxLoc[ t_nHPos ], t_aChoices[ t_nHPos, 1 ], t_aChoices[ t_nHPos, 3 ], {| nMode | __ftAcUdf( nMode ) }, aLastSel[ t_nHPos ] ) DO CASE CASE LastKey() == K_RIGHT .OR. LastKey() == K_TAB t_nHPos := iif( t_nHPos == Len( t_aChoices ), 1, t_nHPos + 1 ) diff --git a/harbour/contrib/hbnf/popadder.prg b/harbour/contrib/hbnf/popadder.prg index a5abe89498..fa102766d4 100644 --- a/harbour/contrib/hbnf/popadder.prg +++ b/harbour/contrib/hbnf/popadder.prg @@ -54,8 +54,8 @@ #define STD_VARIABLE 6 #define STD_BORDER 7 -#define FT_B_DOUBLE hb_UTF8ToStrBox( "╔═╗║╝═╚║ " ) -#define FT_B_SINGLE "+-+|+-+| " +#define FT_B_DOUBLE HB_B_DOUBLE_UNI + " " +#define FT_B_SINGLE HB_B_SINGLE_UNI + " " #define nTotTran Len( aTrans ) @@ -142,6 +142,8 @@ FUNCTION FT_Adder() LOCAL aAdder := Array( 23 ) LOCAL tmp, tmp1 + LOCAL lAC_exit_ok + // Must prevent recursive calls IF t_lAdderOpen RETURN NIL @@ -252,8 +254,9 @@ FUNCTION FT_Adder() SetColor( "GR+/W" ) hb_DispOutAt( 21 + nTopOS, 8 + nTapeSpace, " " + /* LOW-ASCII "↑↓" */ Chr( 24 ) + Chr( 25 ) + "-SCROLL -QUIT " ) SetColor( "N/W,W+/N" ) + lAC_exit_ok := .F. AChoice( 5 + nTopOS, 7 + nTapeSpace, 20 + nTopOS, 32 + nTapeSpace, aTrans, .T. , ; - "_ftAdderTapeUDF", nTotTran, 20 ) + {| nMode, cur_elem, rel_pos | _ftAdderTapeUDF( nMode, cur_elem, rel_pos, @lAC_exit_ok ) }, nTotTran, 20 ) SetColor( "R+/W" ) hb_DispBox( 21 + nTopOS, 8 + nTapeSpace, 21 + nTopOS, 30 + nTapeSpace, HB_B_SINGLE_UNI ) _ftSetWinColor( W_CURR, W_PROMPT ) @@ -1245,12 +1248,10 @@ STATIC FUNCTION _ftQuest( cMessage, xVarVal, cPict, bValid, lNoESC, nWinColor, n +--------------------------------------------------------------------------+ */ -FUNCTION _ftAdderTapeUDF( mode, cur_elem, rel_pos ) +FUNCTION _ftAdderTapeUDF( mode, cur_elem, rel_pos, /* @ */ lAC_exit_ok ) LOCAL nKey, nRtnVal - THREAD STATIC ac_exit_ok := .F. - HB_SYMBOL_UNUSED( cur_elem ) HB_SYMBOL_UNUSED( rel_pos ) @@ -1262,11 +1263,11 @@ FUNCTION _ftAdderTapeUDF( mode, cur_elem, rel_pos ) nRtnVal := AC_CONT CASE nKey == K_ESC hb_keyPut( { K_CTRL_PGDN, K_RETURN } ) // Go to last item - ac_exit_ok := .T. + lAC_exit_ok := .T. nRtnVal := AC_CONT - CASE ac_exit_ok + CASE lAC_exit_ok nRtnVal := AC_ABORT - ac_exit_ok := .F. + lAC_exit_ok := .F. OTHERWISE nRtnVal := AC_CONT ENDCASE diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index e676b6ce2d..2ffc93e0b6 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -10224,14 +10224,16 @@ STATIC FUNCTION hbmk_builtin_List() RETURN s_hHBM_BuildIn STATIC FUNCTION hbmk_builtin_Is( cFileName ) + cFileName := hb_FNameNameExt( cFileName ) RETURN LEFTEQUAL( cFileName, _HBMK_BUILDIN_FILENAME_MARKER_ ) .AND. ; Len( cFileName ) > Len( _HBMK_BUILDIN_FILENAME_MARKER_ ) STATIC FUNCTION hbmk_builtin_Exists( cFileName ) + cFileName := hb_FNameNameExt( cFileName ) RETURN hbmk_builtin_Is( cFileName ) .AND. cFileName $ hbmk_builtin_List() STATIC FUNCTION hbmk_builtin_Load( cFileName ) - RETURN Eval( hbmk_builtin_List()[ cFileName ] ) + RETURN Eval( hbmk_builtin_List()[ hb_FNameNameExt( cFileName ) ] ) /* ; */