* contrib/hbqt/hbmk2_qt.hb
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_init.cpp
- Removed: a hack introduced some months back where
C++ static items were held in a list them released
at exit of an application. This was double work and
now is not needed at all.
* contrib/hbqt/qtcore/hbqt_bind.cpp
- Reverted: last fix where <qtObject> was compared against
a numeric, which, BTW was a stupid implementation.
A pointer casted to a numeric is always true.
* contrib/hbqt/qtgui/hbqt_init.cpp
- Deleted: deleting the QApplication object.
It was breaking such code:
oWnd:connect( QEvent_Close, {|| QApplication():quit() } )
QApplication():exec()
the reason was any code executed after
QApplication():quit() was rendered unexcutable because
appln was forced to stop execution.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
+ Reintroduced: QEvent_Close's return value to true.
It is necessary to intercept this event at appln level.
* contrib/hbqt/qtcore/qth/QLibraryInfo.qth
* contrib/hbqt/qtgui/qth/QDesktopServices.qth
+ Reworked: constructors.
Previous implementation was wrong.
Applied Francesco's thought and it worked, thanks.
* contrib/hbqt/qtgui/qth/QSound.qth
+ Added: two slot methods.
* contrib/hbqt/qtcore/hbqt_bind.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
+ Implemented: DESTRUCTOR FUNCTION <somePrgOrCFunc()>
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqt_init.cpp
! Fixed: some rare signals issued by Qt with NULL pointers.
This fixes regression reported on user-list a few days back.
And probably fixes many-many unexplained GPF's.
* contrib/hbqt/qtcore/hbqt_bind.cpp
+ Enabled: by default to clear all items in the global list.
This has fixed GPF on exit under certain situations.
DemoQt.prg is now fully functional even with multiple
dialogs open at once.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
+ Added: protection against HVM is active or not.
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/qth/QApplication.qth
- Removed: unnecessary code written at early days.
* contrib/hbxbp/xbplistbox.prg
- Commented out: few signals not being used.
* contrib/hbqt/gtqtc/gtqtc.cpp
* contrib/hbqt/hbmk2_qt.hb
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_bind.cpp
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtcore/qth/QLibraryInfo.qth
* contrib/hbqt/qtcore/qth/QMimeData.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/hbqt_init.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
* contrib/hbqt/qtgui/qth/QApplication.qth
* contrib/hbqt/qtgui/qth/QClipboard.qth
* contrib/hbqt/qtgui/qth/QDirModel.qth
* contrib/hbqt/qtgui/qth/QDropEvent.qth
* contrib/hbqt/qtgui/qth/QFileSystemModel.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth
* contrib/hbqt/qtnetwork/hbqt_init.cpp
* contrib/hbqt/tests/draggable.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
+ Implemented: Revamped HBQT.
The complete code base has been cleaned as per new API
and there is no leftover is kept inside the sources.
All demos and hbIDE seems TO be working fine with few
exceptions here and there, but usually all seems fine.
The only issue left, so far I can assess is that no object
is subject to destrution if a connect is issued onto that.
And I have no idea how TO handle this situation. It is the
programmers responsibility to disconnect whenever an object
is supposed to go out of scope.
TODO: still debug tracelog entries ( under HB_TR_DEBUG ) are
retained in hbqt_bind.c which are schduled TO be
removed once code base stabilizes enough.
* contrib/hbqt/hbmk2_qt.hb
! Fixed: some formatting in generated source.
* contrib/hbqt/qtcore/hbqt.h
+ Added: HB_EXPORT PHB_ITEM hbqt_bindSetHbObject( PHB_ITEM pItem, void * qtObject, const char * szClassName, PHBQT_DEL_FUNC pDelFunc, int iFlags );
* contrib/hbqt/qtcore/hbqt_bind.cpp
+ Added: static PHB_DYNS s_dynsym_SETSLOTS = NULL;
Used to initiate __Slots hash to contain code block for slots.
+ Added: PHB_ITEM hbqt_bindSetHbObject( PHB_ITEM pItem, void * qtObject, const char * szClassName, PHBQT_DEL_FUNC pDelFunc, int iFlags )
Used for class inheritance with :new() method.
void hbqt_bindDelSlots( PHB_ITEM pSenderObject );
Used to delete all slots for an object.
+ Added: HB_FUNC( HBQT_PROMOTEWIDGET2 )
Provided by Francesco.
+ Added: HB_FUNC( HBQT_ITEMSONGLOBALLIST )
Provided by Francesco.
- Transferred: some HB_EXPORT prototypes in hbqt.h from hbqt_bind.cpp.
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
+ Transferred: code blocks exploiting slots to PRG level from C++ level.
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_init.cpp
* Formatting.
* contrib/hbqt/qtcore/hbqt_misc.prg
+ Added: VAR __Slots
+ Added: METHOD setSlots()
* contrib/hbqt/qtcore/qth/QObject.qth
+ Uncommented: metaObject() method.
* contrib/hbqt/tests/inherit.prg
+ Added: demo code to exploit inheritance of classes.
This implementation is aimed at transferring signal/slot codeblocks from C++
level to PRG level. This to happen, I am driffting from Przemek's orginal idea
of a separate class, encapsulating the same in exsting superclass HbqtObjectHandeller.
So far has been successful but the concept has introduced a GPF on exit.
* contrib/hbqt/hbmk2_qt.hb
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_bind.cpp
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtcore/qth/QLibraryInfo.qth
* contrib/hbqt/qtcore/qth/QMimeData.qth
* 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/hbqt_init.cpp
* contrib/hbqt/qtgui/qth/QApplication.qth
* contrib/hbqt/qtgui/qth/QClipboard.qth
* contrib/hbqt/qtgui/qth/QDirModel.qth
* contrib/hbqt/qtgui/qth/QDropEvent.qth
* contrib/hbqt/qtgui/qth/QFileSystemModel.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth
! Changed:
PHB_ITEM hbqt_bindGetHbObject( PHB_ITEM pItem, void * qtObject, PHB_SYMB pClassName, PHBQT_DEL_FUNC pDelFunc, int iFlags )
=>
PHB_ITEM hbqt_bindGetHbObject( PHB_ITEM pItem, void * qtObject, const char * szClassName, PHBQT_DEL_FUNC pDelFunc, int iFlags )
This facilitates the easy manipulation of objects and also a central
point to scale its usage. It is much easier to recognize the non-QObject
derived classes, which are in plenty, and hence take corrective actions
in case of some exceptions are buried inside descriptions instead of headers.
* contrib/hbqt/hbmk2_qt.hb
! Guarded: qth_is_QObject() function under __HBQT_REVAMP__.
This facilitates to change how we would like to use this
construct in the future. Also there is a lot which may be
added to this protocol, apart from only detecting if a class
is QObject() derived, and hence is subject to change.
We will do what is proposed after all is settled on new
protocol.
- Removed: QIcon() hack which was exploiting hbqt_par_Qstring()
usage. Also it was not per Qt documantation. Now anywhere
an icon is needed, it has to be constructed explicitily
with a call to QIcon( cFileName ). Earlier QIcon() was passed
as only a <cFileName>
INCOMPATIBLE: 3rd party libs have to modify their code.
* contrib/hbqt/qtcore/qth/QLibraryInfo.qth
* contrib/hbqt/qtcore/qth/QMimeData.qth
* contrib/hbqt/qtgui/qth/QClipboard.qth
* contrib/hbqt/qtgui/qth/QDirModel.qth
* contrib/hbqt/qtgui/qth/QDropEvent.qth
* contrib/hbqt/qtgui/qth/QFileSystemModel.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth
+ Implemented: _HBQT_REVAMP__ specific signal/slot firing objects.
* contrib/hbqt/qtgui/qth/QPushButton.qth
- Removed: <CLASS> PaintEvent = </CLASS> token.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
+ Implemented: _HBQT_REVAMP__ specific signal/slot firing objects.
* contrib/hbqt/qtcore/hbqt_bind.cpp
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtgui/hbqt_init.cpp
+ Implemented: _HBQT_REVAMP__ specific signal/slot/events management.
; NOTE: hbIDE is almost running under __HBQT_REVAMP__ methodoly
with signal/slots/events catched anfired properly.
This implementation is subject to a lot of improvements
but at of current shows up a good promise to achieve
the end-results soon.
* contrib/hbqt/qtgui/hbqt_errorsys.prg
* Guarded: against possible recursive error handler calls
with hbqt_isActiveApplication().
* contrib/hbqt/qtgui/hbqt_init.cpp
+ Added: HB_FUNC( HBQT_ISACTIVEAPPLICATION ).
; NOTE: there may be a better solution, I know, but...
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
+ Added: some methods used internally to provide hbIDE speed advantage.
* contrib/hbide/idesaveload.prg
! Changed: the default behavior of :lTrimTrailingBlanks to FALSE
responsible to strip trailing blanks from saved sources.
Now if this behavior is desired, change the settings from
<Setup><hbIDE Setup><General>.
* contrib/hbide/idethemes.prg
* contrib/hbqt/qtgui/hbqt_init.cpp
+ Added: Slot "QRect$int" for updateRequest(QRect,int) for QPlainTextEdit.
* contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth
* contrib/hbqt/qtgui/qth/HBQSyntaxHighlighter.qth
+ Added: more methods.
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
! Fixed: 2 pixel margin around a document text which was causing a
major visual glich which selecting text in an editing instance.
Now it is 0,0 no matter which font and size is used.
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.h
+ Synchronized: to apply syntax highlighting per page basis.
Qt applies highlighting to the entire document when supplied
which, conceptually, should be onto the page brought forward.
This has rendered hbIDE extremely fast at startup no matter
how many sources are loaded probably making hbIDE the fastest
IDE at startup.
* 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/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_init.cpp
! Transferred logic of destructors from core to gui.
The whole lot should be in one source. We cannot
control the order of execution of _init_ functions.
Francessco, take care of these changes.
NOTE: now hbIDE enters, used with all flavours, exits
without GPF. The remaining issue is to control
memory leaks. Francessco is working onto that.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/qtgui/hbqt_init.cpp
! FIXED: GPF at exit and sometimes along running application.
Harbourearns, it is day to cheer.
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtcore/qth/filelist.hbm
+ contrib/hbqt/qtcore/qth/QChildEvent.qth
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtgui/qth/filelist.hbm
+ contrib/hbqt/qtgui/qth/QActionEvent.qth
+ contrib/hbqt/qtgui/qth/QFileOpenEvent.qth
+ contrib/hbqt/qtgui/qth/QHoverEvent.qth
* contrib/hbqt/qtgui/qth/QMoveEvent.qth
* contrib/hbqt/qtgui/qth/QPaintEvent.qth
+ contrib/hbqt/qtgui/qth/QShortcutEvent.qth
+ Added: more events specific classes.
* contrib/hbqt/hbmk2_qt.hbs
! Rationalized code fragments.
- Deleted: meta object checking as it is now handelled by the generator.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! Rationalized: catching the event.
NOTE: hb_itemNew() should not be called here. The function
returns a hb_stackReturnItem(). Object is already contained
in .prg variable in user application and will be auto
destructed when out of scope.
* contrib/hbqt/qtcore/qth/QCoreApplication.qth
! Reversed previous commit.
* contrib/hbqt/qtgui/hbqt_init.cpp
- Deleted: hbqtgui_eventpush() function, not needed anymore.
* contrib/hbqt/qtgui/qth/QContextMenuEvent.qth
* contrib/hbqt/qtgui/qth/QDragEnterEvent.qth
* contrib/hbqt/qtgui/qth/QDragLeaveEvent.qth
* contrib/hbqt/qtgui/qth/QDragMoveEvent.qth
* contrib/hbqt/qtgui/qth/QDropEvent.qth
* contrib/hbqt/qtgui/qth/QFocusEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneContextMenuEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneDragDropEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneHelpEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneHoverEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneMouseEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneMoveEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneResizeEvent.qth
* contrib/hbqt/qtgui/qth/QGraphicsSceneWheelEvent.qth
* contrib/hbqt/qtgui/qth/QHelpEvent.qth
* contrib/hbqt/qtgui/qth/QHideEvent.qth
* contrib/hbqt/qtgui/qth/QInputMethodEvent.qth
* contrib/hbqt/qtgui/qth/QKeyEvent.qth
* contrib/hbqt/qtgui/qth/QMouseEvent.qth
* contrib/hbqt/qtgui/qth/QMoveEvent.qth
* contrib/hbqt/qtgui/qth/QPaintEvent.qth
* contrib/hbqt/qtgui/qth/QResizeEvent.qth
* contrib/hbqt/qtgui/qth/QShowEvent.qth
* contrib/hbqt/qtgui/qth/QWheelEvent.qth
+ Added: constructors for all events with due parameters.
I do not know why it elluded me so far. And I cannot
recollect what wrong I was doing. May be due to some
problems at initial stages kept unattended with
ongoing development.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
+ Added -pic[-] option and pic= .hbc command to enable PIC.
It's always enabled when using -hbdyn/-hbdynvm.
! Using -fPIC for bsd. (in sync with core make)
+ Added sunos/sparc PIC option, though to really kick in,
CPU detection should be implemented, or it should be
manually supplied using -cpu=sparc option.
Please review these.
* contrib/hblzf/3rd/liblzf/lzf_d.c
* contrib/hblzf/3rd/liblzf/lzfP.h
* contrib/hblzf/3rd/liblzf/LICENSE
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hblzf/3rd/liblzf/liblzf.dif
* contrib/hblzf/3rd/liblzf/Changes
* contrib/hblzf/3rd/liblzf/README
* contrib/hblzf/3rd/liblzf/lzf_c.c
* update lzf to 3.6 [Tamas Tevesz]
* contrib/hbqt/qtgui/hbqt_init.cpp
* Renamed HBQT_PUSHEVENT() to HBQTGUI_EVENTPUSH().
* Commented this new function with a detailed TOFIX note,
with some notes needing more close inspection.
* contrib/hbqt/qtgui/hbqt_init.cpp
+ Added: HBQT_PUSHEVENT( <qObject>, <nQEventType>, <nKey>,
[nKeyboardModifiers], [cKey], [lRepeat=.f.], [ntimes=1] )
Current implementation is only for keyboard events, viz.,
QEvent_KeyPress and QEvent_KeyRelease. Mouse events needs
QPoint() to be present which is in the gtcore namespace,
so needs a different approach as per current hbQT scenario,
do the needful.
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqtinit.h
* contrib/hbqt/qtnetwork/hbqt_init.cpp
! Implementing idea of Francesco.
Object creation split into two versions, one where GC pointer
is used and one where a normal one. Latter is used when dealing
with events (except one place).
Please do tests.
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_init.cpp
+ Adding more signal handlers plus some other mods.
Patch from Francesco (with some minor mods and fixex, pls check)
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqtcore.hbx
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtnetwork/hbqt_init.cpp
* Changed few raw pointers missed in other commits.
Some of them commented because the class wrapper is not implemented yet.
% Deleted unused code.
* Changed object creation according to patch from Francesco. (with my changes)
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_init.cpp
+ Applied (fully manually) Francesco's patch to address inefficiency
(to avoid using macro evaluation and calling back to a .prg stub to
create objects) in recent raw pointer modification.
It contains modifications of mine.
; TOFIX: Add puller code for internally created objects. Or, even better
use pure C++ object creation code, so this is not a problem.
; TODO: Delete remains of old method.
* contrib/hbqt/qtgui/hbqtgui.ch
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/qtcore/hbqt_init.cpp
! Fixed indentation in recent additions.
+ Added new function hbqt_create_objectFromEventType2() which
is supposed to create the object and fill PPTR in C code
(without calling back to .prg)
I didn't make any functional tests so pls do it.
+ Added mechanism to register/unregister event types with
object names.
+ QTGUI will now register its event types on init.
+ Event filter changed to look for registeres event types
and create appropriate object dynamically.
; TODO: Old code is still there, until the new one gets tested.
Please do tests.
! Fixed to pull required class wrappers for object types
associated with events.
; TOFIX: hbqt_create_object()/HBQT_CREATEQTOBJECT() is wrong
because it uses macro expansion to call object instantation,
which means _ALL_ HBQT apps now require to pull and link
every existing QT symbols to work reliably, which is
unacceptable for all apps (except HBIDE which pulls all
these anyway)
We should move to full C++ wrappers to solve this
cleanly.
; TOFIX: Clean code to never use the unsafe hbqt_create_objectFromEventType().
; TOFIX: Just a note: Raw pointers are still used in QLIST f.e.,
so even the raw pointer problem is not fully solved yet.
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtcore/hbqtcore.hbx
* Regenerated automatically.
; !!! FOR HBQT (AND ALL) DEVELOPERS: Please enable HB_REBUILD_EXTERN=yes !!!
* contrib/hbtip/sendmail.prg
+ Encode .xml attachments in base64. Response to sf.net #3192722
+ Set MIME type for .xml (text/xml)
; Pls review this.
* config/postinst.hbs
+ Create dynlib symlinks only if the dynlib was actually created
and exists. (different patch from what we've dicussed on the
list, so pls verify it)
* contrib/hbqt/qtcore/hbqt_init.cpp
* contrib/hbqt/qtgui/hbqt_init.cpp
* contrib/hbqt/qtnetwork/hbqt_init.cpp
! Fixed: to return GC Collectible pointers instead of raw ones.
TODO: add 3 more classes which are required to handle
Qt events. These methods will not work until then.
* contrib/hbqt/qtgui/hbqt_init.cpp
! Fixed missing HB_EXTERN_BEGIN/END from around a new internal function.
* contrib/hbqt/utils/hbqtgen.prg
! Fixed to not spit HB_TR_ALWAYS msgs while running.
% Deleted unnecessary HB_SYMBOL_UNUSED in generated code.
% Minor optimization in generate code.
; TODO: Optimize code generated for GC desctructor.
* contrib/hbqt/*/g/*
* Regenerated.
* utils/hbmk2/hbmk2.prg
+ Will now accepts macros in Harbour options.
(lightly tested)