Commit Graph

55 Commits

Author SHA1 Message Date
Przemysław Czerpak
1b633cd242 2025-08-17 18:27 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    + added support for disabling title and frames of console window by
         hb_gtInfo( HB_GTI_WINTITLE, <lNoFrame> )

  * src/rtl/transfrm.c
    ! fixed bug in "@S<n>" transformation when multibyte CDP is used
2025-08-17 18:27:35 +02:00
Przemysław Czerpak
9b389a97d2 2024-12-15 20:54 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
  * contrib/gtqtc/gtqtc1.cpp
    * updated to compile with Qt6
2024-12-15 20:54:23 +01:00
Przemysław Czerpak
733cf0e675 2024-12-12 21:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/hbzebra/datamtrx.c
  * contrib/sddoci/core.c
  * src/compiler/genc.c
    ! reverted my unintentional commit from dummy branch
2024-12-12 21:18:01 +01:00
Przemysław Czerpak
0ef2032e51 Reapply "2024-12-12 20:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)"
This reverts commit af7b3d23ba.
2024-12-12 20:51:11 +01:00
Przemysław Czerpak
af7b3d23ba Revert "2024-12-12 20:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)"
This reverts commit 72d0775509.
2024-12-12 20:51:02 +01:00
Przemysław Czerpak
72d0775509 2024-12-12 20:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/hbcompat.ch
    ! fixed HSetAACompatibility() #xtranslate

  * contrib/hbzebra/code39.c
    * pacified warning, it's also fix for possible buffer overflow.

  * include/hbcomp.h
  * src/compiler/genc.c
  * src/compiler/hbmain.c
    * replaced function hb_compFunctionMarkStatic() with
      hb_compFunctionSetScope()

  * src/compiler/genc.c
    * detect public prg functions written in C inside
      #pragma BEGINDUMP / #pragma ENDDUMP and mark them as LOCAL ones

  * src/vm/hvm.c
    ! removed my pseudo fix from 2023-01-30 15:18 UTC+0100 Przemyslaw Czerpak.
      It was ugly hack which can work only with some linkers.
      This modification fixes FILE() function used with C functions written
      without own symbol table

  * src/rdd/dbf1.c
    * minor code formatting
2024-12-12 20:46:23 +01:00
Przemysław Czerpak
e11ee84e6a 2023-04-20 15:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    % minor optimization in HB_GTI_PALETTE

  * src/rtl/checkbox.prg
  * src/rtl/listbox.prg
  * src/rtl/pushbtn.prg
  * src/rtl/radiobtn.prg
  * src/rtl/radiogrp.prg
  * src/rtl/scrollbr.prg
  * src/rtl/tbcolumn.prg
  * src/rtl/tbrowse.prg
  * src/rtl/teditor.prg
  * src/rtl/tget.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tpopup.prg
  * src/rtl/treport.prg
  * src/rtl/tsymbol.prg
  * src/rtl/ttextlin.prg
  * src/rtl/ttopbar.prg
    ! use :Init() method instead of :New() to initialize object instance
      variables. In Class(y) :New() is class message not object one.
2023-04-20 15:12:07 +02:00
Przemysław Czerpak
004d53a594 2023-01-23 12:28 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    * replaced depreciated in 5.15 methods for mouse wheel events processing
      by modern ones
    * replaced depreciated in 5.15 methods for accessing screen geometry by
      modern ones

  * contrib/gtqtc/gtqtc1.cpp
    + added support for TAB key processing when other widgets are shown and
      TAB is use to switch focus

  * src/rtl/alert.prg
  * src/rtl/hbgtcore.c
    + added support for hb_Alert() parameters passed in hash array, i.e.
         hb_Alert( { "TXT" => <cMessage>, ;
                     "BTN" => <aButtons>, ;
                   [ "TIM" => <nTimeOut> ] } ) => <nButton>

  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
  * include/hbgtinfo.ch
    + added new hb_gtInfo() action: HB_GTI_MSGBOX
      It opens QMessageBox with given by user text and buttons, i.e.
         hb_gtInfo( HB_GTI_MSGBOX, <cMessage>, <aButtons> ) => <nButton>
      or:
         hb_gtInfo( HB_GTI_MSGBOX, ;
                    { "TXT" => <cMessage>, ;
                      "BTN" => <aButtons>, ;
                    [ "TIM" => <nTimeOut>, ] ;
                    [ "TIT" => <cTitle>, ] ;
                    [ "INF" => <cInfoText>, ] ;
                    [ "DTL" => <cDetailedText> ] } ) => <nButton>
    + added support for redirecting Alert() and hb_Alert() calls to QT GUI
      QMessageBox(). This functionality can be enabled by:
         hb_gtInfo( HB_GTI_MSGBOX, .t. )
      and then
         Alert( <cMessage>, <aButtons> )
      is redirected to QT GUI QMessageBox().

  * include/hbgtinfo.ch
  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
  * contrib/gtqtc/gtqtc1.cpp
    + added new hb_gtInfo() action: HB_QT_SOUND
      It allows to play sound using the low level GUI library, i.e.
         hb_gtInfo( HB_QT_SOUND, <cSoundFile> )
      This modification needs additional QT5 library Qt5Multimedia so I decided
      to enable it conditionally by HB_QT_SOUND=yes environment variable.
2023-01-23 12:28:36 +01:00
Przemysław Czerpak
e5ab1e3a46 2020-06-30 18:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbc
    * added default Qt5 path in Ubuntu64

  * contrib/gtqtc/gtqtc1.cpp
    + added support for horizontal wheel events
    * do not try to load image when zero length string is used as image name
      to refresh screen in HB_GTI_DISPIMAGE
2020-06-30 18:01:42 +02:00
Przemysław Czerpak
1b10c22cee 2019-02-11 13:51 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
  * src/rtl/gtxwc/gtxwc.c
    ! added /* fallthrough */ comments to pacify warnings
2019-02-11 13:51:35 +01:00
Przemysław Czerpak
8230fcc258 2018-09-14 15:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * include/hbchksum.h
  * src/harbour.def
  * src/rtl/hbmd5.c
    + added new C function
         void hb_hmac_md5( const void * key, HB_SIZE nKeyLen,
                           const void * message, HB_SIZE nMsgLen,
                           char * digest );
    + added new PRG function
         HB_HMAC_MD5( <cMessage>, <cKey> ) -> <cMAC>
    ; HMAC MD5 is used in some authentication methods i.e. CRAM-MD5
      authentication in SMTP protocol

  * src/rtl/gttrm/gttrm.c
    + enable extended XTERM colors automatically when xterm-16color,
      xterm-256color, xterm+256color, xterm-88color, rxvt-16color,
      rxvt-256color, rxvt-98color or putty terminal is detected
    + added support for HB_GTI_SCREENDEPTH

  * contrib/gtqtc/gtqtc1.cpp
    + set clipboard data also into selection buffer on platforms which
      support it
    + when main clipboard buffer is empty retrieve clipboard data from
      selection buffer and if it's empty too from find buffer

  * include/harbour.hbx
  * src/harbour.def
  * src/vm/memvars.c
    + added new PRG function
         __mvGetDef( <cMemvar> [, <xDefault> ] ) -> <xValue>
      it works in similar way to __mvGet() but if <cMemvar> does
      not exist then it returns <xDefault> or NIL instead of RTE

  * contrib/hbwin/hbwin.hbx
    + added missing declarations for win_osIs10() and win_osIs81()

  * contrib/hbssl/ssl.c
    ! fixed compilation with OpenSSL < 0.9.8k

  * contrib/sddodbc/core.c
    * pacified warning

  * contrib/xhb/hbxml.c
  * contrib/xhb/hbxml.h
    ! fixed CDATA terminator, it should be "]]>" instead of " ]]>"
    + added support for HBXML_STYLE_NONEWLINE flag

  * src/3rd/pcre/Makefile
    ! typo wince -> wce

  * src/main/Makefile
    * use harbour.rc only in MS-Windows builds - it fixes OS2 OpenWatcom
      builds

  * config/global.mk
    ! in DOS builds check if the 'uname' exists before running it

  * include/hbapigt.h
  * include/hbgtcore.h
  * src/rtl/hbgtcore.c
  * src/rtl/inkey.c
  * src/rtl/inkeyapi.c
  * contrib/xhb/xhbfunc.c
    + added 3-rd parameter to hb_inkeySetText() function. When this parameter
      is true then ';' is not translated to Chr( 13 ) but DOS and UNIX EOLs
      are translated to Chr( 13 )
    + added logical parameter to HB_GTI_CLIPBOARDPASTE which allows to set
      text without ';' translation but with platform independent EOLs

  * src/rtl/memoedit.prg
  * utils/hbmk2/hbmk2.prg
  * contrib/hbnetio/utils/hbnetio/_console.prg
  * extras/dbu/dbu52.patch
  * extras/dbu/dbu53.patch
    * use hb_gtInfo( HB_GTI_CLIPBOARDPASTE, .T. ) instead of
      hb_gtInfo( HB_GTI_CLIPBOARDPASTE ) for pasting data from clipboard
      with platform independent EOLs and ';' characters
2018-09-14 15:36:21 +02:00
Viktor Szakats
e00f50079e 2017-09-11 13:12 UTC Viktor Szakats (vszakats users.noreply.github.com)
* contrib/gtqtc/gtqtc1.cpp
  * contrib/gtwvg/gtwgud.c
  * contrib/gtwvw/wvwdraw.c
  * contrib/hbamf/amfdec.c
  * contrib/hbamf/amfstdio.c
  * contrib/hbbz2io/bz2io.c
  * contrib/hbgzio/gzio.c
  * contrib/hbhpdf/core.c
  * contrib/hbmemio/memio.c
  * contrib/hbmisc/irm.c
  * contrib/hbmisc/spd.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbssl/ssl_sock.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_bmpd.c
  * contrib/hbwin/win_misc.c
  * contrib/hbzebra/qrcode.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddsql/sqlmix.c
  * contrib/sddfb/core.c
  * contrib/xhb/cstructc.c
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/hbserv.c
  * include/hbdefs.h
  * include/hbexprb.c
  * include/hbrddcdx.h
  * include/hbthread.h
  * include/hbwmain.c
  * src/common/hbffind.c
  * src/compiler/complex.c
  * src/compiler/hbmain.c
  * src/compiler/hbopt.c
  * src/debug/dbgentry.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/wacore.c
  * src/rdd/workarea.c
  * src/rtl/cputime.c
  * src/rtl/dates.c
  * src/rtl/gtchrmap.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/kbsln.c
  * src/rtl/gtsln/keytrans.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbcom.c
  * src/rtl/hbproces.c
  * src/rtl/itemseri.c
  * src/rtl/langapi.c
  * src/rtl/run.c
  * src/rtl/sha1.c
  * src/rtl/space.c
  * src/vm/classes.c
  * src/vm/hvm.c
  * src/vm/itemapi.c
  * src/vm/set.c
  * src/vm/thread.c
    * convert commented C code to #if 0 blocks, or clean them up in
      different ways
2017-09-11 13:27:12 +00:00
Viktor Szakats
5a2a287752 2017-09-08 16:00 UTC Viktor Szakats (vszakats users.noreply.github.com)
* *
    * partial sync with the 3.4 fork codebase. These are the things
      synces for the most part:
      - copyright headers
      - grammar/typos in comments and some readmes
      - comment/whitespace/decorations
      - variable scoping in C files
      - DO CASE/SWITCH and some other alternate syntax usage
      - minimal amount of human readable text in strings
      - minor code updates
      - HB_TRACE() void * casts for pointers and few other changes to
        avoid C compiler warnings
      - various other, minor code cleanups
      - only Harbour/C code/headers were touched in src, utils, contrib,
        include. No 3rd party code, no make files, and with just a few
        exceptions, no 'tests' code was touched.
      - certain components were not touched were 3.4 diverged too much
        already, like f.e. hbmk2, hbssl, hbcurl, hbexpat
      - the goal was that no actual program logic should be altered by
        these changes. Except some possible minor exceptions, any such
        change is probably a bug in this patch.
      It's a massive patch, if you find anything broken after it, please
      open an Issue with the details. Build test was done on macOS.
      The goal is make it easier to see what actual code/logic was changed
      in 3.4 compared to 3.2 and to make patches easier to apply in both
      ways.
2017-09-08 16:25:13 +00:00
Przemysław Czerpak
459cd1a2c5 2017-02-08 19:36 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! fixed clipboard selection with shift + left mouse button to not report
      mouse events during selection

  * include/hbdate.h
  * src/common/hbdate.c
    + added support for ISO 8601 week dates (YYYY-Www-D) in timestamp
      literals
    + added support for ISO 8601 ordinal dates (YYYY-DDD) in timestamp
      literals
    + added new C functions:
         HB_BOOL hb_dateDecWeek( long lJulian, int * piYear,
                                 int * piWeek, int * piDay );
         long hb_dateEncWeek( int iYear, int iWeek, int iDay );
      to decode/encode ISO 8601 week dates

  * src/rtl/dateshb.c
    + added new PRG function get week number and other parts ISO 8601
      week date:
         hb_Week( <dDate>, [@<nYear>], [@<nDayOfWeek>] ) -> <nWeek>

  * include/harbour.hbx
  * src/harbour.def
    * updated for new functions
2017-02-08 19:36:46 +01:00
Przemysław Czerpak
228b0e8a65 2016-09-23 11:00 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    * removed unnecessary casting after recent modification

  * src/3rd/jpeg/Makefile
  * src/3rd/jpeg/jconfig.h
    ! moved definitions which interacts with 3-rd party code using libjpeg
      header files to jconfig.h
2016-09-23 11:00:00 +02:00
Przemysław Czerpak
67f26c47c3 2016-09-23 09:47 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! fixed C++ casting in MS-Windows builds
2016-09-23 09:47:21 +02:00
Przemysław Czerpak
72016f2bc3 2016-09-22 15:47 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * include/hbvmpub.h
    * removed casting C style casting from commonly used macros

  * contrib/gtqtc/gtqtc1.cpp
    * use C++ casting instead of C casting

  * contrib/rddads/ads1.c
  * contrib/rddads/adsx.c
  * contrib/rddsql/sqlmix.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbsql.c
  * src/rdd/workarea.c
    * cleaned HB_IT_* usage

  * contrib/rddads/ads1.c
    ! fixed typo in low level code of ordDescend() / DBOI_ISDESC,
      now ordDescend() should work with ADS* RDDs just like with
      native RDDs

  * contrib/hbfoxpro/relfunc.c
    ! fixed typo in Between() function - thanks to Petr Chorney

  * src/rtl/gtwvt/gtwvt.c
    ! added workaround for keyboard drivers which sets CTRL key modifier
      flag when only ALTGR is pressed - thanks to Maurizio la Cecilia
2016-09-22 15:47:08 +02:00
Przemysław Czerpak
7d2caa12d3 2016-04-18 18:41 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
    ! fixed stupid C&P typo in my previous modification - thanks to Lorenzo.
2016-04-18 18:41:39 +02:00
Przemysław Czerpak
7d1b59482d 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-18 17:33:43 +02:00
Przemysław Czerpak
c6316a4578 2016-01-26 15:44 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapierr.h
  * include/hbdefs.h
  * src/debug/dbgentry.c
  * src/rtl/filesys.c
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/gtcrs/gtcrs.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtstd/gtstd.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbhex.c
  * src/rtl/hbproces.c
  * src/rtl/hbsocket.c
  * src/vm/classes.c
  * src/vm/extrap.c
  * src/vm/itemapi.c
  * src/vm/runner.c
  * src/vm/task.c
  * contrib/gtalleg/gtallegd.c
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/gtwvg/gtwgud.c
  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbfbird/firebird.c
  * contrib/hbwin/axcore.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_wingdi.c
  * contrib/hbwin/win_misc.c
  * contrib/hbxdiff/core.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsx.c
  * contrib/xhb/cstructc.c
  * contrib/xhb/freadlin.c
  * extras/gtwvw/gtwvwd.c
  * extras/gtwvw/wvwfuncs.c
    * use HB_PTRUINT instead of HB_PTRDIFF in castings between pointers
      and numbers - it makes some C compilers happy and in few cases it
      also fixed bugs
2016-01-26 15:45:00 +01:00
Przemysław Czerpak
bd92a307f5 2016-01-15 11:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    * renamed few variables to avoid -Wshadow warnings

  * contrib/hbfimage/fi_wrp.c
    * removed unnecessary ;

  * contrib/hbodbc/odbc.c
    ! replaced '\0' with NULL in pointer initialization

  * src/3rd/jpeg/Makefile
    % added missing HAVE_UNSIGNED_CHAR build macro. Without it LIBJPEG
      uses SHORT to hold unsigned 8 bit integers what increases memory
      usage and reduces the speed.

  * src/pp/hbpp.c
    * minor modification to keep string constant C90 comnpatible

  * src/rtl/filesys.c
    * simplified DOS to POSIX file attribute translation
    + respect hidden and system file attribute in DOS builds of hb_fsOpenEx()

  * src/vm/fm.c
    ! added yet another missing HB_STACK_TLS_PRELOAD
2016-01-15 11:15:55 +01:00
Viktor Szakats
3ed9fa0f45 2016-01-14 19:33 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* *
    % remove brandings and homepage from copyright header. Pass 2 - semi-auto.
    * project homepage and name is described in README, amongst others
    ; this should make the diff between 3.4 and 3.2 easier to manage
2016-01-14 19:35:07 +01:00
Przemysław Czerpak
6458e3a963 2015-09-30 10:55 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/vm/hvm.c
    + added internal PRG function to test number of HVM threads and stacks
         __vmCountThreads( [ @<nStacks> ], [ @<nThreads> ] ) -> <nThreads>

  * src/rtl/filesys.c
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgcore.c
  * contrib/hbamf/amfdec.c
  * contrib/xhb/fparse.c
  * contrib/xhb/hbserv.c
  * contrib/xhb/hbxml.c
    * cleaned ;; usage in C code
2015-09-30 10:55:41 +02:00
Przemysław Czerpak
c402ce1350 2015-05-27 13:56 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/Makefile
  * src/rtl/net.c
  + src/rtl/netusr.c
    * moved hb_UserName() to separate file. It uses internally getpwuid()
      in *nix builds and access to this function adds additional library
      dependency which may block static builds in some cases.
      TODO: eliminate hb_UserName() from things like initial random seed
            to not create unnecessary dependency.

  * contrib/gtqtc/gtqtc1.cpp
    + enable software input panel (virtual keyboard) in iOS builds
2015-05-27 13:56:31 +02:00
Przemysław Czerpak
4617ba29d7 2015-03-03 15:57 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtalleg/gtallegd.c
  * contrib/gtqtc/gtqtc1.cpp
  * contrib/hbblink/blinker.prg
  * contrib/hbbz2/core.c
  * contrib/hbcomio/comio.c
  * contrib/hbsqlit3/core.c
  * contrib/hbtcpio/tcpio.c
  * contrib/rddads/adsfunc.c
    * synced with Viktor's branch
      (formatting, macros instead of constant values, protection against
      wrong paramters, use *EVALITEM macros, use HB_ERR_ARGS_BASEPARAMS, ...)

  * contrib/hbsqlit3/core.c
  * contrib/hbsqlit3/hbsqlit3.hbx
    + add sqlite3_load_extension( <db>, <cModule>, [<cProc>], [@<cError>] )
                  -> <nResult>
      (borowed from Viktor's branch 2015-02-15 19:18 UTC+0100 Viktor Szakats)
2015-03-03 15:57:48 +01:00
Przemysław Czerpak
a10bfbda40 2015-02-06 15:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbsocket.c
    * added support MAC addreses array returned by hb_socketGetIFaces()
      in BSD based systems like FreeBSD or Darwin (Mac OS X)

  * src/vm/hvm.c
    % small simplification i FOR EACH initial code

  * contrib/hbwin/win_bmp.c
  * contrib/hbwin/win_prn2.c
    * use Harbour FILE IO API instead of local file access

  * contrib/hbct/ctstrfil.c
    * formatting

  * contrib/gtqtc/gtqtc1.cpp
    ! fixed possible missing initialization for drawing character images
2015-02-06 15:00:31 +01:00
Przemysław Czerpak
603063cd0d 2015-01-14 13:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/olecore.c
    + added new PRG function to control empty date conversion to OLE variant:
         __oleVariantNullDate( [<lNewNullFlag>] ) -> <lPrevNullFlag>
      This is per thread switch and by default initialized to .F. for each
      new thread. When set to .T. Harbour empty dates are translated to
      VT_NULL.
      Warning: it's possible that this function will be removed or replaced
               by other solution in the future.

  * contrib/gtqtc/gtqtc1.cpp
    * emulate CTRL by setting SHIFT + ALT in Android builds
      (It's temporary solution - my patch with support for CTRL in
      Android QT builds has been accepted so it should be included
      in next Qt releases)
    % set Qt::WA_NoSystemBackground
    * do not change number of rows and cols in maximized and fullscreen mode
      when font is changed and resize mode set to HB_GTI_RESIZEMODE_FONT.
      It was creating problems when user switched to fullscreen/maximized
      mode and application was not ready to dynamically update screen
      dimensions.
    * activate virtual keyboard on double click instead of click.
      It allows to hide virtual keyboard and control program using mouse
      and touch events.

  * src/rtl/gtwvt/gtwvt.c
    + added support for HB_K_MENU

  * src/rtl/gtxwc/gtxwc.c
    * use macros instead of constant values
    + added support for HB_K_MENU
    * reload font after HB_GTI_FONTSIZE (compatible with other graphic GTs)
    * eliminated recursive mutex XLIB locks in HB_GTI_FONTSEL
    * discard existing graphics characters and redraw console window contents
      after HB_GTI_FONTATTRIBUTE

  * tests/gtkeys.prg
    + added support for HB_K_MENU and HB_K_TERMINATE
2015-01-14 13:00:13 +01:00
Przemysław Czerpak
894983e284 2014-12-12 17:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! use window instead of internal image to calculate new console window
      dimensions after dynamic font size modification
2014-12-12 17:23:14 +01:00
Przemysław Czerpak
20ec21c553 2014-12-12 13:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbcompdf.h
  * include/hbexprb.c
  * src/common/funcid.c
  * src/vm/hvm.c
    % optimize Array() function by replacing function call with HB_P_ARRAYDIM
      PCODE. Because this optimization changes RTE and interacts with broken
      code like
         aVal := Array( 10, 0, "A" )
      then it's not enabled by default. User can enable it by -ko switch.

  * utils/hbtest/rt_array.prg
    * use #pragma -ko- to for tests which interacts with above modification

  * src/rtl/hbproces.c
    % optimize memory allocation for redirected STDOUT and STDERR buffers in
      hb_processRun() function.
      The previous implementation was extremly inneficient when
      hb_processRun() was used to extract very long output from
      child process.

  * src/rtl/hbtoken.c
    + added support for dividing text into lines using EOLs used by different
      platform. To enable it it's enough to specify .T. as delimiter.

  * src/rtl/filesys.c
    * pacified MSVC warning - in fact this modification is significant only
      for bugy code which changes current directory in MT programs. It's bug
      on all platforms using current directory as process not thread
      attribute (common behavior).

  * include/inkey.ch
  * src/rtl/hbgtcore.c
    + added new extended keycodes:
         HB_K_TERMINATE
         HB_K_MENU

  * contrib/gtqtc/gtqtc1.cpp
    + center and rescale to console window dimension keeping aspect size ratio
      picture passed to HB_GTI_DISPIMAGE when second parameter is .T.
    + added support for HB_K_MENU key
    ! fixed dynamic font size modification in fullscreen, maximized and
      HB_GTI_RESIZEMODE_ROWS modes
2014-12-12 13:30:56 +01:00
Przemysław Czerpak
c571627e7f 2014-11-12 18:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbgtinfo.ch
    + added HB_GTI_MINIMIZED

  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    + added support for HB_GTI_MINIMIZED

  * src/rtl/gtxwc/gtxwc.c
    + added support for HB_GTI_MINIMIZED and HB_GTI_MAXIMIZED

  ; All above modifications created by Rolf - thanks

  * contrib/hbnetio/netiocli.c
    * updated some RTEs to be a little bit more precise

  * contrib/hbblat/hbblat.hbp
    * disabled unconditional dynamic library build
2014-11-12 18:01:44 +01:00
Przemysław Czerpak
e5897132b8 2014-10-07 10:25 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/langapi.c
    * pacified warnings

  * contrib/hbmlzo/3rd/minilzo/minilzo.hbp
    ! disabled dynamic library
2014-10-07 10:25:57 +02:00
Przemysław Czerpak
748cd589e1 2014-10-04 21:25 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    + added support for decoded image data passed to HB_GTI_DISPIMAGE like
      in GTXWC. Supported formats are RGB32, RGB16 and MONO bitmap.
      Unlike GTXWC GTQTC rescales bitmap to passed cords.

  * src/rdd/wafunc.c
    ! fixed very bad bug introduced in previous modification - in fact
      potential problem existed from the beginning anyhow recent modification
      allow to exploit it in all complex index expressions.
2014-10-04 21:25:28 +02:00
Przemysław Czerpak
daa2a7f0cd 2014-09-23 11:41 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
  * src/rtl/gtwvt/gtwvt.c
  * contrib/gtwvg/gtwvgd.c
    * use hb_vmRequestQuit() instead of hb_vmRequestCancel() when
      close event is received - it is GTXWC compatible behavior and
      allows to execute user EXIT PROCEDUREs.
      Please also remember that all ALWAYS sections are executed too
      regardles of requested event (QUIT, BREAK, CANCEL)

  * src/rtl/gtwvt/gtwvt.c
    ! fixed processing WM_QUERYENDSESSION and WM_ENDSESSION messages.
      Now GTWVT applications do not interrupt system shutdown process
      and do not close application if other process interrupted it.
      In the future we can also add support for blocking system shutdown
      operation, i.e. using HB_GTI_CLOSEMODE as bitfield, anyhow before
      we begin to change it we should agree final version.
    ! applied Rolf's patch which fixes circle and ellipse cords.
      I haven't tested it and I hope that they were verified visually
      on the screen - some of Windows GUI functions do not access
      border points.
2014-09-23 11:41:11 +02:00
Przemysław Czerpak
7a211d052e 2014-04-11 17:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    * overload inputMethodEvent() in console object and insert
      commitString() data into GT keyboard input queue.
      It's necessary for Android working with SoftwareInputPanel
      and it fixes problem with eaten standard characters.
      QT documentation says that QInputMethodEvent are generated
      only when Qt::WA_InputMethodEnabled attribute is set but
      tests shows that it's not true and these events are generated
      instead of keyPress/keyRelease ones for simple text input.
      CTRL modifier, ESC, INS, HOME, END, PGUP, PGDN and Fn keys
      still does not work with GTQTC in Android builds.

  * src/rtl/tbrowse.prg
    ! fixed compilation with HB_BRW_STATICMOUSE
    ! do not cover dummy ivar with HB_COMPAT_C53 macro
    * minor simplification

  * src/vm/arrays.c
    * removed old commented code not used with current GC
2014-04-11 17:36:36 +02:00
Przemysław Czerpak
2c87206db0 2014-01-24 00:12 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    + enable virtual keyboard in Android and WinCE builds on focusOn and
      mouseLeftButton events - just for tests so users can compile and
      try code like tests/gtkeys.prg
    ; Warning in Android builds Fn keys, INS, HOME, END, PgUP and letters
      without modifiers do not work with virtual keyboards. Any solutions
      are greatly welcome. Setting Qt::ImhNoPredictiveText in console widget
      is not sufficient workaround for letters.
      BTW in Android I suggest to install Hacker's Keyboard by Klaus Weidner.
      It supports all PC keys and they works in terminal mode with ATE
      (Android Terminal Emulator) and Harbour GTTRM raw binary applications.
2014-01-24 00:12:35 +01:00
Przemysław Czerpak
5ff00afb8c 2014-01-22 02:57 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! do not set Qt::WA_KeyCompression attribute - farther tests shows
      that on some platforms QT eats characters which incomes from device
      (i.e. from barcode readers) very fast
2014-01-22 02:57:18 +01:00
Przemysław Czerpak
af3b2f9cbd 2014-01-03 12:39 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbc
  * contrib/gtqtc/gtqtc.hbp
    * updated for QT 5.2 builds on Linux and some other *nixes
    ; TODO: update Mac OSX builds.

  * contrib/gtqtc/gtqtc1.cpp
    ! removed Qt::WA_PaintOnScreen
2014-01-03 12:39:03 +01:00
Przemysław Czerpak
3791bab940 2013-11-08 16:50 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
    ! typo in variable type

  * contrib/gtqtc/gtqtc1.cpp
    * minor simplification

  * src/rtl/gtxwc/gtxwc.c
    + added support for disabling close button [x] on HB_GTI_CLOSEMODE==2
      Thanks to Rolf for suggestion removing/adding _NET_WM_ACTION_CLOSE
      to _NET_WM_ALLOWED_ACTIONS property is honored by WMs I tested and
      they hide/show [x] button respectively.
2013-11-08 16:50:59 +01:00
Przemysław Czerpak
fcbfb7a7e8 2013-11-07 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! typo in last commit - flags and state were not changed

  * src/rtl/gtxwc/gtxwc.c
    * added XSync() just after XBell() to reduce a little bit potential
      delay
2013-11-07 15:03:17 +01:00
Przemysław Czerpak
548cc2df3a 2013-11-06 23:09 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbgtinfo.ch
    + added new hb_gtInfo() switch: HB_GTI_CLOSEMODE
      It controls close event (i.e. ALT+F4 and/or [x] button in MS-Windows)
      behavior:
         == 0 - terminate application
         >= 1 - generate HB_K_CLOSE
         == 2 - disable close button

  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    % optimized setWindowFlags() and setWindowState() to not
      execute show() when flags/state are not changed.
    + added support for HB_GTI_CLOSEMODE
    * changed HB_GTI_CLOSABLE to work line in GTXWC and GTWVT

  * src/rtl/gtxwc/gtxwc.c
    ! fixed setting window position by HB_GTI_SETPOS_XY
    + added support for HB_GTI_CLOSEMODE
    ; note: in GTXWC we cannot easy disable close button so
            HB_GTI_CLOSEMODE==2 will work like 1 until we
            do not find some portable way to inform WM that
            is should hide close button

  * src/rtl/gtwin/gtwin.c
    * added type checking in few HB_GTI_* settings
    + added support for HB_GTI_CLOSEMODE
    ; note: in GTWIN we cannot catch close event so
            HB_GTI_CLOSEMODE==1 works like 2
            In this GT HB_GTI_CLOSABLE also has to work like
            HB_GTI_CLOSEMODE==2

  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
    * added range checking in HB_GTI_RESIZEMODE setting
    + added support for HB_GTI_CLOSEMODE
2013-11-06 23:09:59 +01:00
Przemysław Czerpak
858b7fb0e3 2013-10-30 01:56 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    % removed redundant rect() usage
    ! force internal image repainting when font size is changed
2013-10-30 01:56:34 +01:00
Przemysław Czerpak
fb58ea3d40 2013-10-30 01:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    % small simplification: use set{Max,Min}imumSize()
      instead of set{Max,Min}imum{Width,Height}()
2013-10-30 01:15:17 +01:00
Przemysław Czerpak
0d4b5972dc 2013-10-23 14:39 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    * added support for keyevents with multicharacter strings.
      QT documentation says that such feature is enabled by
      Qt::WA_KeyCompression attribute and I left comment about
      it in the QTConsole() constructor but practice showed that
      on some platforms it was enabled even without setting this
      attribute and users using keyboard barcode readers reported
      "eaten" characters.
    * explicitly enabled Qt::WA_KeyCompression and removed comment
      about missing functionality in QTC keyPressEvent() code.
2013-10-23 14:39:26 +02:00
Przemysław Czerpak
df9d3b3bce 2013-08-20 17:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    * accept META key as CTRL key in MacOSX builds.
      This QT Meta key is marked as "control" on Apple keyboards so
      this seems to be less confusing. Anyhow I'm not regular MacOSX
      user so if someone thinks it's bad idea then please inform me.
      "command" key is mapped by QT as CTRL key by default.
    ! disabled Qt::WA_InputMethodEnabled in default builds.
      I disabled it because it was breaking support for national characters
      in few European countries, f.e. Polish characters with ALT in MacOSX.
      Qt::WA_InputMethodEnabled is used for some Asian languages but I have
      no idea if it was working with GTQTC so far and if it's really
      necessary and usable. I'm waiting for information from people who
      lives in countries where it's used. Just let me know if you need
      GTQTC compiled with this window attribute.
2013-08-20 17:32:26 +02:00
Przemysław Czerpak
57fec24a78 2013-08-14 18:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! fixed missing HB_GTI_FONTA_NOSTRETCH in setting range
2013-08-14 18:36:37 +02:00
Przemysław Czerpak
42f22be280 2013-08-14 18:10 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbp
    * do not use system QT directories in android builds

  * include/hbgtinfo.ch
  * contrib/gtqtc/gtqtc1.cpp
    + added new font attributte HB_GTI_FONTA_NOSTRETCH
      It disables font stretching in some GTs like QTC.
      On some platforms (i.e. MacOSX) font stretching
      does not work correctly (at least in my tests) so
      if someone wants to use GTQTC on MACs then I suggest
      to set:
         hb_gtInfo( HB_GTI_FONTATTRIBUTE, ;
               hb_bitOr( HB_GTI_FONTATTRIBUTE ), HB_GTI_FONTA_NOSTRETCH )
    ! do not use QPainter::RasterOp_SourceXorDestination to display
      cursor and selection in MacOSX builds.
      RasterOp operations are not supported in MacOSX.
2013-08-14 18:10:21 +02:00
Przemysław Czerpak
96e7b0159c 2013-06-21 14:58 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    * replaced harbour oriented code with dedicated QT solution
      for XWindow synchronization and clipboard selection.

  * doc/xhb-diff.txt
    * updated section MULTI THREAD SUPPORT to make it more clear
      for users and added information about SETKEY() and GTs.
2013-06-21 14:58:59 +02:00
Przemysław Czerpak
adfcf7ad04 2013-06-17 17:02 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbgtinfo.ch
    + added new hb_gtInfo() action: HB_GTI_RESIZESTEP
      It enables/disables window resize progression.

  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    + added optional code to enable XLib MT mode by XInitThreads()
    + added support for HB_GTI_RESIZESTEP and disabled window resize
      progression in default settings - with some XWindow managers
      it may cause bad side effects.
    * do not center window in SETMODE() if console window dimensions
      (rows and cols) are not changed.

  * contrib/hbhpdf/3rd/libhpdf/hpdfimac.c
    * modified isAligned() to not generate warnings on platforms were
      'unsigned long' is not large enough to hold pointer (Win64).
      It should pacify warnings reported by Maurizio.

  * contrib/hbhpdf/3rd/libhpdf/libhpdf.dif
    * rediffed with:
         hbmk2 ../../../../bin/3rdpatch.hb -rediff
2013-06-17 17:02:31 +02:00
Przemysław Czerpak
d55d57c622 2013-06-10 16:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtwvt/gtwvt.c
    * removed not longer user K_Ctrl[] array

  * contrib/gtqtc/gtqtc1.cpp
    ! fixed MT protection to work with recursive calls
      (such call can appear after ALT+ENTER)

  * doc/xhb-diff.txt
    * updated "HASH ARRAYS" paragraph

  * config/lang2po.hb
  * contrib/hbamf/amfdec.c
  * contrib/hbamf/amfenc.c
  * contrib/hbexpat/tests/tohash.prg
  * contrib/hbmxml/core.c
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
  * contrib/hbwin/hbolesrv.c
  * contrib/hbwin/tests/olesrv1.prg
  * contrib/hbwin/tests/olesrv2.prg
  * contrib/make.hb
  * contrib/xhb/xhbhasha.c
  * src/rtl/hbdoc.prg
  * src/rtl/hbini.prg
  * src/rtl/hbjson.c
  * tests/big5_gen.prg
  * tests/uc16_gen.prg
  * utils/hbmk2/hbmk2.prg
    * removed keeporder setting - now it's default for newly
      created hash arrays

  * contrib/gtwvg/gtwvg.hbx
    * added missing functions
2013-06-10 16:59:13 +02:00
Przemysław Czerpak
622d041bf0 2013-06-05 19:15 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! added workaround for AltGR and German keyboard
2013-06-05 19:15:42 +02:00