* contrib/hbide/ideuisrcmanager.prg
* Completed: minimum required components to materialize some
project based on this protocol.
+ contrib/hbqt/tests/cls_dbstruct.prg
+ contrib/hbqt/tests/dbstruct.prg
+ contrib/hbqt/tests/dbstruct.ui
+ contrib/hbqt/tests/ideui.hbp
+ Added: a small project where cls_dbstruct.prg is created by
hbIDE's UI Src Manager.
; Note: event is define for only first button. Try with other
buttons yourselves and come-out with suggessions.
* harbour/contrib/sddpg/sddpg.c
* harbour/contrib/sddsqlt3/sddsqlt3.c
* harbour/contrib/sddmy/sddmy.c
* harbour/contrib/sddfb/sddfb.c
* harbour/contrib/sddodbc/sddodbc.c
* harbour/contrib/sddoci/sddoci.c
* removed redundant fieldname conversions
; I left one TOFIX note in sddfb.c - It's not critical but I'd like
to ask someone with FB experience to verify it.
* harbour/package/harbour.spec
! added missing attribute for harbour.ld.conf file
! added optional hbhttpds library
* harbour/contrib/hbct/envparam.c
* harbour/contrib/hbct/dummy.c
* harbour/contrib/hbct/hbct.hbp
* harbour/contrib/hbct/hbct.hbx
+ added ENVPARM() - now it's implemented for all platforms but
it should be tested on different *nixes - some of them may not
support 'char * environ' public variable
* harbour/contrib/xhb/hbserv.c
* added missing dummy functions in DOS builds
* harbour/utils/hbmk2/hbmk2.prg
! do not set binding to hb_forceLinkMainWin() when -nohblib and -gui
switches are used together
* harbour/include/hbapicdp.h
* harbour/src/rtl/cdpapi.c
+ added new C functions hb_cdpnDupUpper(), hb_cdpnDupLower(),
hb_cdpnDup2Upper() and hb_cdpnDup2Lower().
They should be used instead of hb_strUpper() and hb_strLower()
functions because they can work well with CPs where upper and
lower characters uses different number of bytes, i.e. UTF8 has
such characters.
* harbour/src/rtl/strcase.c
* harbour/src/rtl/fstemp.c
* harbour/src/rtl/filesys.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
* harbour/src/rdd/hbsix/sxsem.c
* replaced obsolete hb_strUpper() and hb_strLower() functions with
new hb_cdpnDup*Upper()/hb_cdpnDup*Lower() ones.
* harbour/src/rdd/hbsix/sxutil.c
* replaced obsolete hb_charUpper() function with hb_cdpnDupUpper()
* harbour/contrib/sddpg/sddpg.c
* harbour/contrib/sddsqlt3/sddsqlt3.c
* harbour/contrib/sddmy/sddmy.c
* harbour/contrib/sddfb/sddfb.c
* harbour/contrib/sddodbc/sddodbc.c
* harbour/contrib/sddoci/sddoci.c
! fixed memory leaks
* replaced obsolete hb_strUpper() and hb_strLower() functions with
new hb_cdpnDup*Upper()/hb_cdpnDup*Lower() ones.
; TODO: these conversions are redundant - I'll remove them in next
commit.
* contrib/hbide/ideuisrcmanager.prg
- Deleted: hack "HB_QTPATH" embedding in batch file.
I was wrong in my assertion that fired process does not take
over current process's enviroment.
* contrib/hbide/ideenviron.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideuisrcmanager.prg
! Improved: how Harbour's root path is detected for .ui Source Manager.
This is tried in the order below:
1. If any hbIDE specific environment protocol is used.
( It is hbQT specific or not is not verified so can fail )
2. If entry is present in <Setup><hbIDE Setup><Paths><Harbour Root>.
( The most preferred way to avoid any ambiquity )
3. If HB_INSTALL_PREFIX env variable is detected.
( Covers Harbour Developers )
4. If "harbour.exe" or "harbour" file is detected alongside hbide.exe.
( Covers users of Harbour Nightly Builds )
! Improved: how Qt path is detected, needed for uic.exe.
HB_QTPATH is detected and then populated in the temp batch file.
; This commit is primarily focussed on tool detection.
Please try again as per above specifications.
* contrib/hbide/hbide.hbp
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideenviron.prg
* contrib/hbide/idemain.prg
* contrib/hbide/ideobject.prg
+ contrib/hbide/ideuisrcmanager.prg
+ Started: implementation of IDE's next evolution step to
write the upper level code to manipulate Qt Designer
generated ".ui" dialogs.
HOW IT WORKS
1. Click on "UI Source Manager" icon or "View" menu option.
Will open a dock widget at the right docking area.
2. Drop a .ui ( take one from hbide included .ui's ) onto it.
The dialog will show up.
3. Click on "Build Source" icon on top-toolbar of "UI Src Manager"
dock widget. Notice that a new editing instance is initiated
on the current panel with source file prefixed with "cls_"
and suffixed by .ui's filename. For example, if you have
dropped "dbstruct.ui" then source will be "cls_dbstruct.prg".
This .prg will reside in the same folder where .ui is.
4. Examine the class code contained in the .prg.
5. Click on various controls and see a focus rectangle is placed
around that control. Also viaualize the status-bar.
6. If the control happens to be of type QToolButton or QPushButton
( proof of concept is build for these controls only, yet ),
you will see two entries in lower-left tree view.
7. Click on "Activated" tree-node and see the right-side editor
comes into focus. Write some code in this editor, and then
click on some other control or other tree-node.
8. Visualize that editing instance containing "cls_*ui.prg" will
be refreshed and will contain some additional methods.
9. Now change something in the source itself, save, and come out,
then re-drop the same .ui. See that changes will be reflected
in methods represented in the tree-nodes.
PLAY AROUND. Concept is in the making and have to go a long way,
but surely it has a potentiality to reach a mile-stone.
Your suggestions are welcome.
* contrib/hbct/hbct.hbp
* contrib/hbwin/hbwin.hbp
* contrib/xhb/xhb.hbp
+ install .h headers to contrib dir only (and not anymore to
the central Harbour include dir). This means that 3rd party
or user code that uses these C-level contrib headers will now have
to add contrib package using <contrib>.hbc hbmk2 option instead
of manual -l options. INCOMPATIBLE.
* contrib/hbpost.hbm
+ install .hbx files to respective contrib dirs.
; TODO: delete all '-instfile=inc:' options from contrib .hbp files
so that contrib headers are no longer duplicated in central
Harbour include dir. This WILL BE INCOMPATIBLE change requiring
users to use <contrib>.hbc files to add contrib packages
to their projects (as opposed to manual -l options).
* contrib/make.hbs
* contrib/hbpost.hbm
+ implemented contrib-specific public file copy process using
standard hbmk2 logic. (with very minor help from make.hbs)
* contrib/make.hbs
* cleaned up previously added logic, then disabled the whole
thing, now replaced by standard hbmk2 logic.
* config/postinst.hbs
* minor fmt
; TODO: replace global contrib-specific file rules with contrib-local
ones. so that unnecessary files won't be copied and any
extra/special files will be.
* contrib/hbrun/headers.prg
* utils/hbmk2/hbmk2.prg
* changed #include filename references to _CASE-SENSITIVE_. This
is to ensure and enforce that .hbs scripts and hbmk2 plugins are
created in portable form so f.e. once developed on a win
system, they won't crash on a *nix system.
INCOMPATIBLE: Change all your #include references to exactly match
casing of the filename. For Harbour headers, this
means plain lowercase, so f.e. '#include "FileIO.ch"'
is wrong, '#include "fileio.ch"' is right.
* config/global.mk
* minor
* contrib/make.hbs
+ added installation support of contrib specific public files
(.hbc, .hbs, local headers, .def files, readmes and tests)
* config/global.mk
* set install destination for contrib specific public files to
<root>/contrib for non-*nix and /opt/harbour/contrib for *nix
systems.
* utils/hbmk2/hbmk2.prg
* changed HB_INSTALL_CONTRIB to HB_INSTALL_ADDONS
F.e.:
export HB_INSTALL_ADDONS=/usr/local/share/harbour/contrib:/usr/local/share/harbour/addons
* utils/hbmk2/hbmk2.prg
+ show .hbp file reference when .hbc is not found
* config/postinst.hbs
* corrected double dirseps in one case.
* contrib/hbqt/qtgui/hbqtgui.hbx
* contrib/hbqt/qtgui/qth/filelist.hbm
! disabled QDeclarative* wrappers until reported link
problems are fixed.
This allows HB_BUILD_CONTRIB_DYN=yes to work again.
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqt_all.hbp
! disabled hbqtsql until link problems (missing functions
and wrappers) are fixed.
This allows HB_BUILD_CONTRIB_DYN=yes to work again.
* contrib/hbxbp/hbxbp.hbp
* contrib/hbxbp/hbxbp.hbc
* include hbqt.hbc instead of relative references to
hbqt sublib .hbcs. This means hbxbp now includes all
hbqt sublibs.
* contrib/hbxbp/hbxbp.hbc
* deleted reference to qtqtc.hbc.
* contrib/hbide/hbide.hbp
+ removed relative path from .hbc references.
* hbqt sublib reference replace with hbqt.hbc
* contrib/hbxbp/hbxbp.hbp
* contrib/hbide/hbide.hbp
- deleted -prgflag=-D_HB_TR_NOALWAYS_
* contrib/sddpg/sddpg.hbp
* contrib/sddpg/sddpg.hbc
* contrib/hbziparc/hbziparc.hbp
* contrib/hbziparc/hbziparc.hbc
* contrib/hbhttpd/hbhttpd.hbc
* contrib/hbhttpd/hbhttpds.hbp
* contrib/hbhttpd/hbhttpds.hbc
* contrib/gtwvg/gtwvg.hbc
* contrib/gtwvg/gtwvg.hbp
* contrib/sddsqlt3/sddsqlt3.hbp
* contrib/sddsqlt3/sddsqlt3.hbc
* contrib/sddmy/sddmy.hbp
* contrib/sddmy/sddmy.hbc
* contrib/xhb/xhb.hbc
* contrib/xhb/xhb.hbp
* contrib/sddfb/sddfb.hbp
* contrib/sddfb/sddfb.hbc
* contrib/sddodbc/sddodbc.hbp
* contrib/sddodbc/sddodbc.hbc
* contrib/hbgd/hbgd.hbc
* contrib/hbgd/hbgd.hbp
* contrib/sddoci/sddoci.hbc
* contrib/sddoci/sddoci.hbp
* contrib/hbtip/hbtipssl.hbc
* contrib/hbtip/hbtipssl.hbp
* contrib/hbtip/hbtip.hbc
+ removed relative path from .hbc references from contrib area
except: hbqt related cases, which is more complicated
and hbmk.hbm files in test dirs (to avoid this extra point
of failure for now).
; path-free reference to hbc files was pioneered by hbrun
and it works on all systems (except one or two, yet to
be determined why).
* contrib/hbmysql/utils/hbmk.hbm
* contrib/hbnetio/utils/hbnetio/hbnetio.hbp
* contrib/hbnetio/utils/hbnetioq/hbnetioq.hbp
* contrib/hbformat/utils/hbformat.hbp
+ removed relative path from .hbc references
* utils/hbmk2/hbmk2.prg
+ show warning when referenced .hbc file could not be found
* contrib/hbqt/qtcore/qth/QSignalMapper.qth
- Commented-out: QWidget specific method calls.
This is in accordance of our goal to keep modularity of
HbQt libraries intact.
* harbour/contrib/hbct/ctwin.c
* harbour/contrib/hbct/ctwin.h
* harbour/contrib/hbct/ctwfunc.c
* modified CTWLASTKEY() to set optionaly last key value
TODO: finish support for KEYREAD()/KEYSEND()
* harbour/src/3rd/zlib/gzlib.c
! do not use _lseeki64 in MinGWCE builds - such function does not
exists in CTRL
* harbour/contrib/3rd/sqlite3/sqlite3.c
! fixed declaration of 64bit integer constant value in WinCE builds
; TOFIX: in WInCE builds the following error is generated:
implicit declaration of function 'osUnlockFileEx'
and of course such functions does not exists (it's internal
SQLITE3 macro)
* harbour/contrib/3rd/sqlite3/sqlite3.hbp
! fixed declaration of _WIN32_WCE macro - it should be set to
WinCE API version number.
* harbour/contrib/3rd/sqlite3/sqlite3.dif
* rediffed with ../../../bin/hb3rdpat.hbs -rediff
* harbour/contrib/hbzebra/qrcode.c
* pacified warning
* harbour/include/hbcom.ch
* harbour/src/rtl/hbcom.c
+ added new serial error code: HB_COM_ERR_PIPE
It's usable for some devices which use EPIPE error to
signal disconnected state.
* harbour/src/3rd/zlib/zlib.h
+ added missing declarations for exported public functions
* harbour/src/3rd/zlib/gzlib.c
* harbour/src/3rd/zlib/gzguts.h
! fixed POCC and XCC compilation
* enabled support for vsnprintf() in OpenWatcom builds
* harbour/src/3rd/zlib/Makefile
! fixed all non windows and WATCOM builds - critical macro
set by ./configure in ZLIB was not defined
; warning long file support is broken on most of 32bit platforms
so be careful with GZIP functions.
* harbour/contrib/gtwvg/gtwvg.h
+ define WINVER 0x0500 - it's necessary for some macros and
structures used by GTWVG code
* harbour/contrib/gtwvg/wvgwin.c
* removed redundant line with 'break;' instruction
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* Refined: dragging-text image made transparent with respect
to editors background color, current-line highlight color.
The experience now is smoother than before.
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h
+ Implemented: dragging of selected-text off an editing instance
of hbIDE shows up image of text as mouse-trail.
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h
* Fixed: drag & drop behavior. Now hbIDE confirms to standard
Windows norms to select/drag/copy|paste operations.
Additionally it also confirms to hbIDE's column-selected
text and retains its standard behavior.
* contrib/hbhttpd/core.prg
* explicitly set HKEEPORDER to not depend on default setting
* contrib/xhb/hbdll.ch
% replaced huge CASE statment with one-liner. also fixing
typo in CASE statement. UNTESTED.
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h
+ Implemented: Drag & Drop of selected text.
It confirms to the standard Windows behavior per drop protocol,
and in addition, also confirms to the hbIDE's column-selection mode.
* contrib/gtwvg/wvgcrt.prg
* contrib/gtwvg/wvgwnd.prg
* contrib/hbxbp/xbpcrt.prg
* contrib/hbxbp/xbpwindow.prg
* Fixed: ::sSize => ::aSize.
Overlook reported by Miso Pucko on bug-tracker.
* Moved: some methods to PROTECTED: section.
* Fixed: ::isParentCrt() which was preventing the subclassing WvgCRT().
Requested by Miso Pucko on bug-tracker.
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbide/hbqreportsmanager.prg
! neverending cleanup of HB_TR_ALWAYS debug lines
* contrib/hbxbp/xbp.ch
* contrib/hbide/hbide.ch
+ solution to end the neverending cleanup of HB_TR_ALWAYS debug lines
; NOTE: use debug msgs as described in INSTALL
* contrib/hbqt/qtgui/qth/QWidget.qth
+ Restored: PaintEvent = YES
* contrib/hbqt/hbmk2_qt.hbs
+ Implemented: Style-sheets working when current class
is actually a sub-class. Tip and code snippet
forwarded by Francesco Perillo, many thanks.
* contrib/hbide/docviewgenerator.ui
+ Added: toolbar button on Document Viewer dock to "Save All as PDF".
* contrib/hbide/idefunctions.prg
+ Added: ::lQuitting message handelling.
* contrib/hbide/ideharbourhelp.prg
+ Implemented: to save all Harbour help documents to .pdf.
User will be asked to provide a file name which will be
used as prefix to complete .pdf filename. It will be suffixed
with "_" + function name. User is requested to select an
empty sub-folder to get all PDFs which will be over 2000+
as per current SVN.
* contrib/hbide/idemain.prg
+ Reworked: how hbIDE was exiting. It may fix the exit crash.
* contrib/hbide/idesaveload.prg
+ Fixed: a wrongly accesses class variable.
This might potentially be causing hbIDE to generate GPF at
startup on Windows 7, please test.
* contrib/hbide/ideshortcuts.prg
+ Added: ::lQuitting message handelling.
* harbour/contrib/gtwvg/wvgwin.c
! added workaround for possible HVM string corruption and GPF in
WVG_SENDMESSAGE() function. This function is still very danger
when it's used with messages extracting data to passed buffer
and user have to pass string large enough to avoid possible
buffer overflow.