* utils/hbrun/hbrun.prg
+ Added support for registering/unregistering .hbs file type
in Windows registry. Based on .reg files provided by Mindaugas
(with modifications and unregister support). I changed the way
defaulticon entry is made, but it still doesn't appear, maybe
I need reboot or something. Pls test it.
Usage (from cmdline):
-r - register for current user
-ra - register for all users (requires admin rights)
-u - unregister for current user
-ua - unregister for all users (requires admin rights)
Tested on Win7 using current user only.
NOTE: regedit (the tool used for registration) doesn't
return errorlevels on error, so it's not possible
to write correct feedback (so hbrun always shows
success).
* package/winuni/mpkg_win_uni.bat
! Added .hbs files in contrib roots to unified windows
package. In practice this means that the hbmk2 qt plugin
will now be shipped with standard distro.
* utils/hbmk2/hbmk2.prg
! Typo in comment.
* contrib/hbqt/qtgui/hbqtgui.ch
+ Added: more constants.
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.h
% Reverted: back to signals previous protocol until new is mature enough.
* contrib/hbqt/qtcore/hbqtcore.hbx
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtnetwork/hbqtnetwork.hbx
* contrib/hbqt/qtuitools/hbqtuitools.hbx
* Re-generated.
* contrib/hbqt/qt*/g/*.prg
* Re-generated after effected changes in hbqtgen.prg.
* contrib/hbqt/qtgui/qth/QMainWindow.qth
! More children detached.
* contrib/hbide/idedocks.prg
! A small fix.
* contrib/hbide/ideprojmanager.prg
! Fixed: Launching a project from main-menu was generating a RTE
when there was no project defined, repoted by Frank.
* contrib/hbide/idemisc.prg
+ Applied: patch from Viktor. Now .hbm files are available inside
list of project files and it also become part of the .hbp if that
is written back on disk plus for editing purposes.
* harbour/src/debug/dbgwa.prg
! added missing REQUEST FIELDGET
+ added support for timestamp, hash and NIL values which
can be extracted from fields in some RDDs
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
! Added uic/rcc tools to install packages.
* QT related runtime/build time files are now installed
unconditionally and independently from HBIDE.
* harbour/src/compiler/hbmain.c
! reset function and class declaration between compiling files included
by SET PROCEDUR TO <name> or DO <name> [ WITH <args,...> ]
This behavior is synced with PP rules resetting.
* harbour/contrib/xhb/xhb.hbp
+ added two .ch files
* harbour/contrib/hbct/hbct.hbx
* regenerated with LF EOL.
I think that these files should be declared in SVN as using native
EOLs
* contrib/hbide/idebrowse.prg
% Changed: one signal to new format.
* contrib/hbide/idemain.prg
% Changed: instance variables to local ones.
* contrib/hbxbp/hbpprocess.prg
% Changed: one signal to new format.
* contrib/hbxbp/xbpbrowse.prg
% Changed: one signal to new format.
* contrib/hbxbp/xbpspinbutton.prg
! Destroy() was misbehaving.
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.h
+ Implemented: Francesco's signal/slot mechanism over older one.
It is a big leap forward, please cheer Francesco Perillo.
TODO: changing signal definitions to exactly that of Qt itself.
It is a challenging job and needs a real concentration.
* contrib/hbqt/qtgui/hbqtgui.hbx
+ contrib/hbqt/qtgui/THbQtUI.prg
* contrib/hbqt/qtgui/hbqtgui.hbm
* contrib/hbqt/qtuitools/hbqtuitools.hbm
* contrib/hbqt/qtuitools/hbqtuitools.hbx
- contrib/hbqt/qtuitools/THbQtUI.prg
+ contrib/hbqt/qtuitools/THbQtUILoader.prg
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
+ Added new HbQtUI class (with temp name HbQtUI2) which
is light version of HbQtUI with no ties to qtuitools/uiloader
components.
New class is inheriting from HBQT root class, it
contains minor optimizations and cleanups.
It works, but it's not yet activated.
* Moved Q__TR() to hbqtgui from hbqtuitools.
; TODO: Clear all TOFIX/QUESTION/TODO items in THbQtUI.prg.
F.e. user code like hbide makes quite many direct
manipulations on HbQtUI internal variables. This should
pbly be fixed.
; TODO: Optimize the OnError way of doing things in HbQtUI class.
* Renamed THbQtUI.prg to THbQtUILoader.prg in hbqtuitools.
* contrib/hbxbp/hbxbp.hbc
* contrib/hbide/hbide.hbp
* Moved inclusion of hbqtuitools from hbxbp to hbide.
Dynamic QUiLoader shall only be needed if app explicitly
requires loading .ui/.uic files dynamically.
; TOFIX: Separate dynamic ui loader code from static one
(pbly HbQtUi class needs to be split into two
parts)
* contrib/hbide/idemain.prg
+ Reenabled puller code, because external scripts may need it.
* contrib/hbide/idemain.prg
% Do not link all HBXBP classes. It's not required now that .ui
files are compiled to .prg at build time.
This will make hbide slightly smaller.
* contrib/hbide/idemain.prg
% Do not link all GUI classes. It's not required now that .ui
files are compiled to .prg at build time.
This will make hbide slightly smaller.
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* Renamed QT license file (now shows "LGPL").
+ Added uic.exe and rcc.exe to Windows unified build.
+ Added QT implibs for mingw compiler.
; It means that now default Windows unified package can
be used to create QT apps without installing QT package
separately. Please someone verify this is in compliance
with LGPL QT license.
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
- Removed support for compatibility setting HB_QT_MOC_BIN.
+ Will now autodetect uic/rcc/moc if present next to hbmk2
(only on win/os2 systems). This will be the case when
using unified Windows package. Only lightly tested.
* contrib/hbide/idemisc.prg
* contrib/hbide/idemain.prg
* contrib/hbide/hbide.ch
* Cleaned/optimized loading of UI.
- Deleted reference to HbQtUi() so that the static lib
QtUiTools is not required to build hbide. (it was not
actively used anyway)
; TOFIX: QUiLoader class should be moved to a separated lib
from hbqtgui.
* contrib/hbqt/utils/qtcore.qtp
! Reenabled recently disabled classes so that these generated
sources will get updated (and not generate false grep hits)
* contrib/hbqt/qtcore/hbqt_misc.prg
- Deleted HbQtObjectHandler:from() method.
If such object "casting" is needed, it should be added on a
per class basis, using something like this code:
---
METHOD <class>:from( oObject )
LOCAL pPtr
IF hbqt_isObject( oObject ) .AND. ;
( oObject:className == "xxx" .OR. oObject:className == "yyy" ... )
IF hbqt_isPointer( pPtr := oObject:pPtr )
::pPtr := pPtr
ENDIF
ELSE
__hbqt_Error()
ENDIF
RETURN Self
---
* contrib/hbqt/utils/hbqtgen.prg
! Fixed to generate doc source for classes without methods.
- Deleted :from() references.
- Do not generate <class>From() function anymore.
(TODO: Need regeneration after that)
* contrib/hbqt/utils/hbqtgen.prg
* contrib/hbqt/qtgui/THbQtUI.prg
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
- Deleted commented references to :from() method.
* contrib/hbqt/qtgui/doc/*
* contrib/hbqt/qtwebkit/doc/*
* contrib/hbqt/qtcore/g/*
* contrib/hbqt/qtcore/doc/*
* contrib/hbqt/qtnetwork/doc/*
* contrib/hbqt/qscintilla/doc/*
* contrib/hbqt/qtdesigner/doc/*
* Regenerated.
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/utils/hbqtgen.prg
* Renamed HBQT_PTR() -> __HBQT_PTR().
(HBQT_PTR() still present and can be renamed once sources were regenerated)
* Renamed QT_[SLOTS|EVENTS]_*() -> __HBQT_[SLOTS|EVENTS]_*()
This also fixes the problem where these were missing from .hbx file.
* Renamed HBQT_ERROR() -> __HBQT_ERROR().
+ Added NOTE about contradiction where :hasValidPointer() will never
return .T. for valid objects created with <class>FromPointer() call.
Another reason to drop this object instantiation method.
+ Added more TODO/NOTE/TOFIX text.
* contrib/hbqt/qtcore/hbqtcore.hbx
* contrib/hbqt/qtnetwork/hbqtnetwork.hbx
* Refreshed.
* contrib/hbqt/tests/dialogqt.prg
* contrib/hbide/plugins/hbide_script_qtgui.hbs
* QT_[SLOTS|EVENTS]_*() -> __HBQT_[SLOTS|EVENTS]_*()
; QUESTION: Should these examples changed to use :connect()/:disconnect()?
* harbour/src/rtl/gtstd/gtstd.c
* updated to compile with WinCE
* harbour/package/harbour.spec
* modified to work with new HBMK2 translations
* harbour/contrib/hbmzip/hbmzip.c
! fixed function order
* harbour/contrib/hbwin/axcore.c
* include <olectl.h>
! fixed buffer sizes in debug function
* removed trailing spaces and tabs
* harbour/contrib/hbwin/hbolesrv.c
* include <tchar.h> - for some compilers which do not make it
with OLE header files
* contrib/hbqt/utils/hbqtgen.prg
! Fixed to pass 'uchar' where QT needs it (instead of current 'char')
; TOFIX: hb_parc() return value is still de-const-ed and passed
to QT which is 100% way to create random GPFs.
See TOFIXes in code.
* utils/hbmk2/hbmk2.prg
* Formatting.
* contrib/rddads/rddads.hbp
! Reordered lookup order for possible .dll (+ COFF .lib) location
to fix implib generation with some ADS releases (7.x, 8.x).
* contrib/hbqt/utils/hbqtgen.prg
+ Changed HB_<class> class instantiation function STATIC.
+ Added <class>FromPointer() function to create class from a raw class pointer.
(this should be eliminated ASAP)
+ Added <class>From() function to create class from another class.
It's now simply calling :from() in base class, which is wrong
and should be fixed for two reasons:
- raw pointer is allowed (all such calls should be changed to <class>FromPointer())
- no object type checking is made.
; NOTE: Please update HBIDE and HBXBP to use these rules:
HB_<class>:from( ptr ) => <class>FromPointer( ptr )
HB_<class>:from( obj ) => <class>From( obj )
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/hbqtcore.hbx
+ HBQT_ISOBJECT() will return .T. is the passed object is a HBQT one.
* contrib/hbqt/qtcore/hbqt_misc.prg
* :isValidObject() -> :hasValidPointer()
+ :fromPointer(): New method used solely to convert raw QT pointers
to HBQT objects. In such case no object type checking can be done,
so it's dangerious, thus raw pointers should eventually be eliminated
from HBQT code and as final step this method removed.
The method will RTE is non-pointer parameter is passed.
+ Added TODOs.
; TODO: Change :from() method to only allow QT object input parameter
and RTE otherwise. At the same time :from() calls with pointer
input should be changed to :fromPointer(). As next step :from()
should be moved to class level and proper object type checking
added to avoid assigning wrong QT object to HBQT object wrapper.
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpwindow.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/ideskeletons.prg
* :isValidObject() -> :hasValidPointer()
* INSTALL
+ Added OS/2 GCC link.
* harbour/utils/hbmk2/hbmk2.prg
+ *nix builds will now use /opt/harbour/contrib and /opt/harbour/addons
dirs to autofind .hbc files. (if /opt/harbour dir exists)
* harbour/contrib/hbwin/axcore.c
! fixed CPP compilation by using compiler macros in method calls
* harbour/contrib/hbwin/hbwinole.h
* harbour/contrib/hbwin/axcore.c
* harbour/contrib/hbwin/olecore.c
+ implemented additional OLE destructors. Added Undavise() call
to :__hSink destructor. This fixes unresponsive OLE server app
behaviour after corresponding Harbour object is freed
; Code proposed by Przemek, some fixes applied
* harbour/src/rtl/gtstd/gtstd.c
* updated to compile with WinCE
* harbour/package/harbour.spec
* modified to work with new HBMK2 translations
* harbour/contrib/hbmzip/hbmzip.c
! fixed function order
* harbour/contrib/hbwin/axcore.c
* include <olectl.h>
! fixed buffer sizes in debug function
* removed trailing spaces and tabs
* harbour/contrib/hbwin/hbolesrv.c
* include <tchar.h> - for some compilers which do not make it
with OLE header files
* harbour/contrib/hbwin/axcore.c
+ added support for obtaining default callback event interface.
__AxRegisterHandler( pDisp, bHandler [, cIID ] ) parameter can be:
- event interface ID, i.e. "{...}";
- event interface name, ex., DWebBrowserEvents;
- otherwise default event interface is tried to obtain.
; NOTE: some regresions are possible. IDispatch is not the default
value for cIID. To force the previous behaviour, you should use
__AxRegisterHandler(,, "{00020420-0000-0000-C000-000000000046}"),
but I guess this should never be required.
; Don't ask me how I've wrote this code :)
* harbour/contrib/hbwin/tests/pdfcreat.prg
* changed to sync with new __AxRegisterHandler() behaviour
* harbour/contrib/hbwin/tests/testole.prg
+ added new Internet Explorer test to show OLE callback events
* harbour/utils/hbmk2/hbmk2.prg
* use "~hbmk" instead of ".hbmk" as temporary directory name in DOS
builds to avoid problem with unsupported file names.
TODO: for better customization we need new function:
HB_FNameCheck( <cFileName> ) -> <lNameOK>
* harbour/contrib/hbmzip/hbmzip.c
! fixed GPF when file datetime is passed as 3-rd argument to
HB_ZipFileCreate()
% eliminated repeated code
* package/winuni/RELNOTES
* pgsql version.
* contrib/xhb/hboutdbg.c
! Fixed missing xhb.h for public function declaration.
* contrib/sddoci/sddoci.c
! Implemented fix based on Przemek's recent commit to sddpg.
(2010-10-04 12:43 UTC+0200)
I made no testing, just tried to copy the method since the
situation looked the same. Please review/test.
+ utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.hbp
+ Added Spanish translation.
Many thanks to Guillermo Varona Silupu (GVS) for the translation
and for making it available to Harbour.
; QUESTION: These are used from xhb lib, yet they are not exported
from harbour dll. Should they be worked around in xhb
or exported?:
hb_stackItem, hb_stackBaseOffset, hb_stackBaseProcOffset,
hb_stackWithObjectOffset
* harbour/contrib/hbwin/tests/pdfcreat.prg
! fixed warning for whose who uses alternatve sample branch #if 0
* harbour/src/rtl/gtstd/gtstd.c
! fixed console input pooling for Windows (you don't need to keep
a key pressed to run application)
* harbour/src/rtl/gttrm/gttrm.c
! added protection against GPF when wrong parameters are
passed to hb_gtInfo( HB_GTI_ADDKEYMAP, ... )
* harbour/src/rtl/hbgtcore.c
! added protection against GPF when wrong parameters are
passed to hb_gtAlert()
* harbour/src/rtl/gtapi.c
* formatting
* harbour/src/rtl/cdpapi.c
! fixed return value in hb_cdpStrAsU16Len()
* harbour/src/rdd/dbf1.c
* harbour/src/rdd/dbffpt/dbffpt1.c
+ added support for UNICODE fields compatible with the one used
by ADS
* harbour/contrib/hbxbp/hbxbp.hbx
+ automatically updated
* harbour/contrib/rddads/ads1.c
* casting
* harbour/doc/xhb-diff.txt
* updated information about PRG level hb_socket*() API
+ added information about serial port support
* contrib/hbide/ideedit.prg
! Fixed: a small glitch in copy operation.
When two lines were copied, where last line was blank,
paste operation was inserting one more blank line.
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.h
- Removed: events synonymous signals, i.e., :mousePressEvent() and
family. These must be trapped via events interface instead of
signals interface.
INCOMPATIBLE: if any third party lib is using them, please update.
* contrib/hbqt/qtgui/g/HBQTableView.cpp
* contrib/hbqt/qtgui/g/THBQTableView.prg
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.h
* contrib/hbqt/qtgui/qth/HBQTableView.qth
- Removed: events synonymous signals.
+ Introduced: :hbSetBlock( bBlock ) method along the
lines of similar mechanism for other sub-classes.
This maybe the building block for thought-of
sub-calling of Qt classes.
* contrib/hbqt/qtgui/hbqtgui.ch
+ Added: HBQT_HBQTABLEVIEW_scrollContentsBy constant.
* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpdataref.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbptabpage.prg
! Fixed: many artifacts which are the results of recent
changes in hbQT structure and implementation. New protocol
surfaced many shortcomings in previous implementation.
* contrib/hbide/hbqtoolbar.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesources.prg
! Fixed: many artifacts, specially in editing area.
Now you may enjoy better editing experience than before.
* contrib/hbxbp/xbpfiledialog.prg
! Fixed: a regression bug surfaced after recent changes.
QDialog() was not setting the focus to original widger at "close".
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
Fixed: "windowStateChanged(Qt::WindowStates,Qt::WindowStates)" signal parameters.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.h
! Minor.
* contrib/hbqt/utils/qtgui.qtp
+ Added: new class QSortFilterProxyModel.qth