* contrib/hbqt/qtcore/hbqtcore.h
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
* contrib/hbqt/qtgui/hbqtgui.h
! Updated: HBQT_TYPE_Q*Class with latest values.
* contrib/hbxbp/xbpbrowse.prg
! Optimized to hold QIcon's and QColor's in hashes.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! QEvent:Close now returns TRUE to the calling loop.
Now this is the responsibility of the user code to
set an event to be accepted or ignored.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! Restore the point of execution when QEvent::Close is set to
ignore(). This might have impact on user code where it is
set to any other value.
* contrib/hbqt/qtgui/qth/QColor.qth
! Fixed constructor.
TODO: to review constructor code in all .qth's.
* harbour/src/common/hbdate.c
! Fixed OS/2 compilation, it was not using gettimeofday() and so
hb_dateMilliSeconds() had a one second resolution effectively
killing thread switching.
* harbour/src/vm/hvm.c
* extended item references created by hb_vmPushItemRef() so they
can be used to create reference chain and detached in executed
PRG code. Such reference chain is cleanly break when original
reference item is removed from HVM stack.
* contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth
! Formatting.
* contrib/hbide/ideprojmanager.prg
! Fixed: to "build a source" witout any environment set.
Now hbmk2 is called from the folder where source
resides. This feature assumes that hbMK2 is
correctly executed, i.e., hbIDE is started from
a console which is tuned to that effect.
Alternatively, if a default project is defined,
current environment overrides the above protocol.
In the process hbmk.hbm residing in that folder
is processed as usual by hbMK2. It means, in a
folder one can keep all the source examples
alongwith a hbmk.hbm and build those sources
just by opening it.
* contrib/hbqt/qtcore/qth/HBQString.qth
* contrib/hbqt/qtcore/qth/QByteArray.qth
* contrib/hbqt/qtcore/qth/QLocale.qth
* contrib/hbqt/qtcore/qth/QVariant.qth
* contrib/hbqt/qtgui/qth/QLabel.qth
* contrib/hbqt/qtgui/qth/QLCDNumber.qth
* contrib/hbqt/qtgui/qth/QMatrix.qth
* contrib/hbqt/qtgui/qth/QPainter.qth
* contrib/hbqt/qtgui/qth/QTransform.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
* contrib/hbqt/qtnetwork/qth/QHttp.qth
- Commented out: methods of duplicating parameters (Harbour types)
to go through the modified generator engine.
* contrib/hbqt/hbmk2_qt.hbs
! Restructured: c++ code which now handles arguments efficiently.
hbIDE seems to be working fine but regression cannot be ruled out.
NOTE: code is now less tolerent to number and type of arguments.
;TOREVIEW: all c++ source files one-by-one to detect wrong
constructs which might be waiting to be fixed.
* harbour/src/rtl/gtxwc/gtxwc.c
% small optimization
! added hack for multiple window resizing when user executes
series of setmode() function. I'll look for cleaner solution
in some spare time.
* contrib/hbqt/qtgui/hbqtgui.ch
+ Added: QFormLayout_* constants.
* contrib/hbqt/qtgui/qth/QWidget.qth
! Modified: :setParent( QWidget * w ) => :setParent( QWidget * w = 0 )
It is undocumented change but perhaps Qt has ommitted. Works fine.
So to set the parent of a widget to nil is now easier.
* contrib/hbqt/hbmk2_qt.hbs
! Code cleanup.
! Minor formatting.
! zimproved handelling of default parameters.
; ROUND # 1: More to follow.
* contrib/hbqt/hbmk2_qt.hbs
! Optimized: hb_itemReturn( hb_stackSelfItem() );
is now inserted at the end of multi-functions methods.
It will produce significantly reduced .cpp in size.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! Minor: class object encapsulated in new item.
* contrib/hbqt/qtcore/hbqt_pointer.cpp
! Minor optimization.
* contrib/hbqt/qtgui/qth/QBrush.qth
+ Added: some HBQT_TYPE_ constants which cannot be included
when generated auto.
* contrib/hbqt/qtgui/qth/QPainter.qth
! Started: to rewrite manually all classes as current
engine is not good enough to do it auto.
* contrib/hbide/hbqreportsmanager.prg
! Achieved: Reports Manager is reworking again.
* contrib/hbqt/hbmk2_qt.hbs
! Changed the way constant HBQT_TYPE_Q*Class was constructed.
Now Q*Class name is taken alone is submitted to hb_crc32().
* harbour/src/vm/itemapi.c
! fixed compilation in MT mode with some C compilers using
HB_STACK_TLS_PRELOAD
* updated also hb_itemParamStore() function to set NIL to item passed
by reference when is called with NULL pItem parameter.
* harbour/src/vm/itemapi.c
* set NIL to item passed by reference when hb_itemParamStoreForward()
or hb_itemParamStoreRelease() is called with NULL pItem parameter.
* harbour/contrib/hbnetio/netiosrv.c
! fixed possible memory leak when
NETIO_SRVSTATUS( ..., NETIO_SRVINFO_PEERADDRESS, ... )
is called without 3-rd parameter passed by reference
* harbour/examples/gtwvw/gtwvw.c
* replaced repeated TONE code with hb_gt_winapi_tone()
+ added MOUSE_GETPOS() method
* harbour/examples/gtwvw/wvwtbar.c
! fixed to compile with Harbour
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/idedocks.prg
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
! Minors.
* contrib/hbqt/qtgui/qth/QPainter.qth
! Rewritten: manually :fillrect() which does not overload
proper method with same number and types of arguments.
TOFIX: hbmk2_qt.hbs to entertain this construct.
* contrib/hbqt/hbmk2_qt.hbs
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth
* contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
* contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth
* contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth
* contrib/hbqt/qtgui/qth/HBQTableView.qth
! Fixed: implemented correct GC memory collection. Thanks to Przemek
to have shown me the way.
! Fixed: some code has been changed
PLEASE be sure to do a full "make clean" before compiling
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/wvgmodal.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgutilities.prg
! Fixed: many artifacts which got broken with GT changes
in a couple of years.
+ Added: a menu option which to execute a modal Harbour Gt
window on top of a GUI window.
+ contrib/gtwvg/tests/demowvg1.prg
+ Added: a highly simplified demo for beginners to understand
the underlying concepts how GUI controls can be exploited
with CUI output. Press F2 which navigaing the GETS.
This demo used GTWVG's inbuilt GUI controls handelling
mechanism instead of devising one's own.
This mechanism was introduced in GTWVG mush later
that demowvg.prg was written. In future I will try to
rewrite the demowvg.prg with in-built protocol.
* utils/hbmk2/hbmk2.prg
+ Continue if there were no input files specified. This
can be useful in some situations.
* Show warning about no input files only when -info option is used.
+ Consider resource files as valid input files when showing
above warning.
* src/rtl/gtwin/gtwin.c
% Replaced kbd modifier readout with a more efficient
version. It contains hack required to make core
low-level function to work correctly with win consoles.
Patch co-developed with Przemek.
* contrib/hbtip/sendmail.prg
! Implemented fix to enclose attachment filenames in
dbl quotes as suggested by George Frehner.
Pls test.
* contrib/hbtip/mail.prg
* Formatting.
* harbour/include/hbgtinfo.ch
! fixed wrong decimal value defined for HB_GTI_KBD_RALT.
* translated HB_GTI_KBD_* values from decimal to hex numbers
to avoid such mistakes in the future.
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideprojmanager.prg
! Optimized: destructors.
* contrib/hbxbp/xbpwindow.prg
! Minor.
* contrib/hbqt/qtcore/qth/QStringList.qth
! Uncommented: many methods, commented one.
* contrib/hbqt/hbmk2_qt.hbs
+ Implemented: QList< * > generating a list of Harbour objects.
Now no more raw pointers generated with hb_retptr() in hbQT.
Please review and test.
WARNING: third party libs should check their sources to
entertain this change.
* src/rtl/gtwin/gtwin.c
- Fully disabled palette setting feature due to bad side effects
reported by Mindaugas.
Maybe it could be reenabled in some cases, pls refine it if you
need this feature. Pls also retest, I have a hard time replicating
this side-effect on my system.
* INSTALL
* Updated. mingw tdm 4.5.2 works fine again.
* examples/hbdoc2/gentpl.prg
! Fixed typo reported on users' list by Emmer.
* harbour/src/rtl/hbznet.c
% use Z_PARTIAL_FLUSH instead of Z_SYNC_FLUSH in hb_znetFlush()
It should reduce a little bit the size of compressed data stream.
* harbour/include/hbapi.h
* harbour/src/rtl/hbrandom.c
added new C functions which fills memory block with random values:
void hb_random_block( void * data, HB_SIZE len )
this function should be used with "good enough" random generator
so in the future it may be changed to use internally sth different
then rand().
* harbour/src/vm/thread.c
* pacified minor warning
* harbour/src/rtl/hbproces.c
! fixed one HB_TRUE wrongly used instead of TRUE
* minor simplification
* harbour/include/hbgtinfo.ch
* harbour/src/rtl/hbgtcore.c
+ added HB_GTI_VERSION - it returns version information just like
hb_gtVersion() - usually the same but can be different in some
multilevel GTs, i.e. when different GT drivers are used locally
and remotely.
* harbour/include/inkey.ch
* harbour/src/rtl/hbgtcore.c
+ added HB_K_CONNECT and HB_K_DISCONNECT inkey codes.
They can be used to signal that remote terminal is connected or
diconnected.
* harbour/tests/gtkeys.prg
+ added HB_K_* keycodes
* harbour/contrib/hbnetio/netiosrv.c
* removed unnecessary casting
* contrib/hbqt/hbmk2_qt.hbs
! Code clean-up.
! Restrored: how the obejcet is addressed in methods.
NOTE: Do not change.
* contrib/hbqt/qtcore/hbqt_misc.prg
! Restored: :disconnect().
! Connect was generating error it obejct was freed prior to execution.
* contrib/hbqt/qtcore/qth/QMimeData.qth
* contrib/hbqt/qtgui/qth/QDropEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth
! Fixed: some manual code which was not taking use of new protocol.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
! Changed: hbqt_create_object() => hbqt_create_objectGC()