From 7d1b59482db6ef675b6c73bcdbc99c0fa634d6c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Czerpak?= Date: Mon, 18 Apr 2016 17:33:43 +0200 Subject: [PATCH] 2016-04-18 17:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/gtqtc/gtqtc1.cpp * src/rtl/gtwin/gtwin.c * src/rtl/gtwvt/gtwvt.c ! changed extended keycodes generated for ASCII characters combined with ALT and/or CTRL flags. It fixes problems with code giving the highest priority for: ! hb_keyChar( nKey ) == "" i.e. MemoEdit() * contrib/hbmzip/mziperr.prg % replaced DO CASE / ENDCASE with SWITCH / ENDSWITCH ! fixed repeated error codes --- ChangeLog.txt | 15 ++++++++- contrib/gtqtc/gtqtc1.cpp | 6 +++- contrib/hbmzip/mziperr.prg | 64 ++++++++++++++++++-------------------- src/rtl/gtwin/gtwin.c | 2 ++ src/rtl/gtwvt/gtwvt.c | 4 +++ 5 files changed, 55 insertions(+), 36 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index a8e2c2ab4c..2bfc70e2ed 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,20 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2016-04-18 17:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * contrib/gtqtc/gtqtc1.cpp + * src/rtl/gtwin/gtwin.c + * src/rtl/gtwvt/gtwvt.c + ! changed extended keycodes generated for ASCII characters + combined with ALT and/or CTRL flags. It fixes problems with + code giving the highest priority for: + ! hb_keyChar( nKey ) == "" + i.e. MemoEdit() + + * contrib/hbmzip/mziperr.prg + % replaced DO CASE / ENDCASE with SWITCH / ENDSWITCH + ! fixed repeated error codes + 2016-04-08 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * include/hbsocket.ch * src/rtl/hbsocket.c @@ -26,7 +40,6 @@ * contrib/hbnetio/netiosrv.c * minor optimization - 2016-04-07 18:48 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + tests/pipes.prg + added demonstration/test code for communication between processes diff --git a/contrib/gtqtc/gtqtc1.cpp b/contrib/gtqtc/gtqtc1.cpp index c3a8803a78..7a8a82eec8 100644 --- a/contrib/gtqtc/gtqtc1.cpp +++ b/contrib/gtqtc/gtqtc1.cpp @@ -3209,7 +3209,11 @@ void QTConsole::keyPressEvent( QKeyEvent * evt ) for( i = 0; i < iSize; ++i ) { wc = qStr[ i ].unicode(); - hb_gt_qtc_addKeyToInputQueue( pQTC, HB_INKEY_NEW_UNICODEF( wc, iFlags ) ); + hb_gt_qtc_addKeyToInputQueue( pQTC, + wc < 127 && + ( iFlags && ( HB_KF_CTRL | HB_KF_ALT ) ) ? + HB_INKEY_NEW_KEY( wc, iFlags ) : + HB_INKEY_NEW_UNICODEF( wc, iFlags ) ); } return; } diff --git a/contrib/hbmzip/mziperr.prg b/contrib/hbmzip/mziperr.prg index 2b9e7bb7cb..bc4fc67684 100644 --- a/contrib/hbmzip/mziperr.prg +++ b/contrib/hbmzip/mziperr.prg @@ -52,22 +52,20 @@ FUNCTION hb_zipErrorStr( nStatus ) RETURN "ZIP_INVALID" ENDIF - DO CASE - CASE nStatus == ZIP_OK ; RETURN "ZIP_OK" - CASE nStatus == ZIP_EOF ; RETURN "ZIP_EOF" - CASE nStatus == ZIP_ERRNO ; RETURN "ZIP_ERRNO" - CASE nStatus == ZIP_PARAMERROR ; RETURN "ZIP_PARAMERROR" - CASE nStatus == ZIP_BADZIPFILE ; RETURN "ZIP_BADZIPFILE" - CASE nStatus == ZIP_INTERNALERROR ; RETURN "ZIP_INTERNALERROR" - CASE nStatus == 1 ; RETURN "Z_STREAM_END" - CASE nStatus == 2 ; RETURN "Z_NEED_DICT" - CASE nStatus == -1 ; RETURN "Z_ERRNO" - CASE nStatus == -2 ; RETURN "Z_STREAM_ERROR" - CASE nStatus == -3 ; RETURN "Z_DATA_ERROR" - CASE nStatus == -4 ; RETURN "Z_MEM_ERROR" - CASE nStatus == -5 ; RETURN "Z_BUF_ERROR" - CASE nStatus == -6 ; RETURN "Z_VERSION_ERROR" - ENDCASE + SWITCH nStatus + CASE ZIP_OK ; RETURN "ZIP_OK" + CASE ZIP_PARAMERROR ; RETURN "ZIP_PARAMERROR" + CASE ZIP_BADZIPFILE ; RETURN "ZIP_BADZIPFILE" + CASE ZIP_INTERNALERROR ; RETURN "ZIP_INTERNALERROR" + CASE 1 ; RETURN "Z_STREAM_END" + CASE 2 ; RETURN "Z_NEED_DICT" + CASE -1 ; RETURN "Z_ERRNO" + CASE -2 ; RETURN "Z_STREAM_ERROR" + CASE -3 ; RETURN "Z_DATA_ERROR" + CASE -4 ; RETURN "Z_MEM_ERROR" + CASE -5 ; RETURN "Z_BUF_ERROR" + CASE -6 ; RETURN "Z_VERSION_ERROR" + ENDSWITCH RETURN "ZIP_UNKNOWN_" + hb_ntos( nStatus ) @@ -77,23 +75,21 @@ FUNCTION hb_unzipErrorStr( nStatus ) RETURN "UNZ_INVALID" ENDIF - DO CASE - CASE nStatus == UNZ_OK ; RETURN "UNZ_OK" - CASE nStatus == UNZ_END_OF_LIST_OF_FILE ; RETURN "UNZ_END_OF_LIST_OF_FILE" - CASE nStatus == UNZ_ERRNO ; RETURN "UNZ_ERRNO" - CASE nStatus == UNZ_EOF ; RETURN "UNZ_EOF" - CASE nStatus == UNZ_PARAMERROR ; RETURN "UNZ_PARAMERROR" - CASE nStatus == UNZ_BADZIPFILE ; RETURN "UNZ_BADZIPFILE" - CASE nStatus == UNZ_INTERNALERROR ; RETURN "UNZ_INTERNALERROR" - CASE nStatus == UNZ_CRCERROR ; RETURN "UNZ_CRCERROR" - CASE nStatus == 1 ; RETURN "Z_STREAM_END" - CASE nStatus == 2 ; RETURN "Z_NEED_DICT" - CASE nStatus == -1 ; RETURN "Z_ERRNO" - CASE nStatus == -2 ; RETURN "Z_STREAM_ERROR" - CASE nStatus == -3 ; RETURN "Z_DATA_ERROR" - CASE nStatus == -4 ; RETURN "Z_MEM_ERROR" - CASE nStatus == -5 ; RETURN "Z_BUF_ERROR" - CASE nStatus == -6 ; RETURN "Z_VERSION_ERROR" - ENDCASE + SWITCH nStatus + CASE UNZ_OK ; RETURN "UNZ_OK" + CASE UNZ_END_OF_LIST_OF_FILE ; RETURN "UNZ_END_OF_LIST_OF_FILE" + CASE UNZ_PARAMERROR ; RETURN "UNZ_PARAMERROR" + CASE UNZ_BADZIPFILE ; RETURN "UNZ_BADZIPFILE" + CASE UNZ_INTERNALERROR ; RETURN "UNZ_INTERNALERROR" + CASE UNZ_CRCERROR ; RETURN "UNZ_CRCERROR" + CASE 1 ; RETURN "Z_STREAM_END" + CASE 2 ; RETURN "Z_NEED_DICT" + CASE -1 ; RETURN "Z_ERRNO" + CASE -2 ; RETURN "Z_STREAM_ERROR" + CASE -3 ; RETURN "Z_DATA_ERROR" + CASE -4 ; RETURN "Z_MEM_ERROR" + CASE -5 ; RETURN "Z_BUF_ERROR" + CASE -6 ; RETURN "Z_VERSION_ERROR" + ENDSWITCH RETURN "UNZ_UNKNOWN_" + hb_ntos( nStatus ) diff --git a/src/rtl/gtwin/gtwin.c b/src/rtl/gtwin/gtwin.c index eb0d6b5f09..0880e52f8b 100644 --- a/src/rtl/gtwin/gtwin.c +++ b/src/rtl/gtwin/gtwin.c @@ -1563,6 +1563,8 @@ static int hb_gt_win_ReadKey( PHB_GT pGT, int iEventMask ) iChar += 'A' - 1; iKey = HB_INKEY_NEW_KEY( iChar, iFlags ); } + else if( iKey < 127 && ( iFlags && ( HB_KF_CTRL | HB_KF_ALT ) ) ) + iKey = HB_INKEY_NEW_KEY( iKey, iFlags ); else if( iChar != 0 ) { #if defined( UNICODE ) diff --git a/src/rtl/gtwvt/gtwvt.c b/src/rtl/gtwvt/gtwvt.c index 937aad434e..e66c6b5f1a 100644 --- a/src/rtl/gtwvt/gtwvt.c +++ b/src/rtl/gtwvt/gtwvt.c @@ -2605,12 +2605,16 @@ static HB_BOOL hb_gt_wvt_KeyEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, #if defined( UNICODE ) if( iKey >= 127 ) iKey = HB_INKEY_NEW_UNICODEF( iKey, iFlags ); + else if( iFlags && ( HB_KF_CTRL | HB_KF_ALT ) ) + iKey = HB_INKEY_NEW_KEY( iKey, iFlags ); else iKey = HB_INKEY_NEW_CHARF( iKey, iFlags ); #else int u = HB_GTSELF_KEYTRANS( pWVT->pGT, iKey ); if( u ) iKey = HB_INKEY_NEW_UNICODEF( u, iFlags ); + else if( iKey < 127 && ( iFlags && ( HB_KF_CTRL | HB_KF_ALT ) ) ) + iKey = HB_INKEY_NEW_KEY( iKey, iFlags ); else { if( pWVT->CodePage == OEM_CHARSET )