* contrib/gtwvg/tests/demowvg.prg
! Removed all hb_ToOutDebug() calls.
* contrib/gtwvg/tests/demoxbp.prg
! Removed all hb_ToOutDebug() calls.
* contrib/hbide/hbide.prg
! Few more artifacts fixed.
* contrib/xhb/Makefile
! Reverted back to original before my last commit.
* harbour/src/vm/garbage.c
% small improvement in HB_GC_AUTO code
* harbour/include/hbdefs.h
! reverted the hack which casted file handles to unsigned values
I added two weeks ago - it was also converting FS_ERROR value
from -1 to 4294967295. Please remember that on some platforms
negative handles can exist and are valid. Only -1 indicates an
error.
* harbour/utils/hbtest/rt_file.prg
+ added regression test for FOPEN() FS_ERROR value
* harbour/contrib/hbwin/legacycd.c
* harbour/contrib/hbwin/legacyco.c
* added missing EOL at EOF
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/hbqt_slots.h
* contrib/hbqt/qtgui/QLabel.cpp
* contrib/hbqt/qth/QLabel.qth
+ contrib/hbide/resources/tabcmodified.png
+ contrib/hbide/resources/tabmodified.PNG
+ contrib/hbide/resources/tabreadonly.png
+ contrib/hbide/resources/tabunmodified.png
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
+ Implemented "Find" functionality. CTRL_F or <Find> icon can be clicked.
Input some string in "Find what" field and keep on pressing <Enter>.
+ Implemented "Print with Preview" of current source code.
! Document Tab Image is toggled for "Modified and UnModified" states.
! Fixed some more artifacts.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/hbqt.ch
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/qtcore/filelist.mk
+ contrib/hbqt/qtcore/QUiLoader.cpp
+ contrib/hbqt/qtcore/TQUiLoader.prg
+ contrib/hbqt/qth/QUiLoader.qth
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpparthandler.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpwindow.prg
* contrib/hbide/resources/finddialog.ui
+ Implemented some very basic support for "Qt Creator" designer created .ui forms.
+ Based on above implementation hbide now supports "Find" operation. It is set to
search "Harbour" at present and is scheduled to be perfected this week-end.
* harbour/contrib/hbwin/axcore.c
* harbour/contrib/hbwin/olecore.c
* added OLE error code as OS code. Changed subsystem from BASE to OLE
; NOTE: function hb_errRT_OLE() is static and defined in both modules.
I'm not sure about the future parameters of the function, so,
I do not want to make it public.
* harbour/contrib/hbwin/legacycd.c
* harbour/contrib/hbwin/legacyco.c
* moved code inside #ifndef HB_WIN_LEGACY_LEVEL_OFF
* harbour/contrib/rddads/ads1.c
* changed field type mapping of HB_FT_* define, ADS_* define,
DBCREATE()/DBSTRUCT() array type member. Now we have mapping
compatible to DBF files as much as possible.
; INCOMPATIBILITIES to old ads1.c:
* ADS_VARCHAR is mapped to HB_FT_VARLENGTH instead of old mapping
to HB_FT_MEMO. HB_FT_MEMO has a fixed size in DBF (ex., 10),
but ADS_VARCHAR is variable length field, so, HB_FT_VARLENGTH
much more correct
* fieldinfo method (DBSTRUCT() at .prg level) returns one byte
field type if possible. The exceptions are RAW, CICHARACTER,
and VARBINARY fields. So, you'll get a DBF compatible type P
instead of IMAGE, B instead of DOUBLE, T instead of TIME, etc.
Other field mappings are extension to existing code and should
not be seen as incompatibility to end used.
; Current field type mappings are:
C; Character,n HB_FT_STRING,n ADS_STRING
N; Numeric,n,d HB_FT_LONG,n,d ADS_NUMERIC
D; Date,n HB_FT_DATE,3 or 4 or 8 ADS_COMPACTDATE; ADS_DATE
ShortDate HB_FT_DATE,3 ADS_COMPACTDATE
L; Logical HB_FT_LOGICAL,1 ADS_LOGICAL
M; Memo,n HB_FT_MEMO,4 or 9 or 8 ADS_MEMO
B; Double,,d HB_FT_DOUBLE,8,d ADS_DOUBLE
I; Integer,n HB_FT_INTEGER, 2 or 4 or 8 ADS_SHORTINT; ADS_INTEGER; ADS_LONGLONG
ShortInt HB_FT_INTEGER,2 ADS_SHORTINT
Longlong HB_FT_INTEGER,8 ADS_LONGLONG
P; Image HB_FT_IMAGE,9 or 10 ADS_IMAGE
W; Binary HB_FT_BLOB,4 or 9 or 10 ADS_BINARY
Y; Money HB_FT_CURRENCY,8,4 ADS_MONEY
Z; CurDouble,,d HB_FT_CURDOUBLE,8,d ADS_CURDOUBLE
T,4; Time HB_FT_TIME,4 ADS_TIME
@; T,8; TimeStamp HB_FT_TIMESTAMP,8 ADS_TIMESTAMP
+; AutoInc HB_FT_AUTOINC,4 ADS_AUTOINC
^; RowVersion HB_FT_ROWVER,8 ADS_ROWVERSION
=; ModTime HB_FT_MODTIME,8 ADS_MODTIME
Raw,n HB_FT_STRING,n (+HB_FF_BINARY) ADS_RAW
Q; VarChar,n HB_FT_VARLENGTH,n ADS_VARCHAR; ADS_VARCHAR_FOX
VarBinary,n HB_FT_VARLENGTH,n (+HB_FF_BINARY) ADS_VARBINARY_FOX; ADS_RAW
CICharacter,n HB_FT_STRING,n ADS_CISTRING
; ADS help has many ambiguities. Here is the most important I found:
* Both ADS_VARCHAR and ADS_VARCHAR_FOX defines exists, but
VarChar filed type is documented only for VFP DBFs. Does
commom DBF support this field type?
* It is not clear what ADS_* define corresponds to VarBinary
field. Both ADS_VARBINARY_FOX and ADS_RAW does not sound
to be a good choice.
* ADS documents field types CharacterNoCPTrans, MemoNoCPTrans,
VarCharNoCPTrans available in VFP tables, but no corresponding
ADS_* defines exist. These type are not supported by RDDDADS.
* Autoincrement field type in DBF is called "Autoinc", in ADT
"Autoicrement". Test shows that both name are acceptedt by
AdsCreateTable().
* ADS_LONGLONG define exists, but LomgLong field type is not
documented at all. It is not clear how to pass field type to
AdsCreateTable(): "Integer,8" or "LongLong". Test required!
* Can extended DBF types like ShortDate and Image be used with
VFP DBF files? (Some other field typess are defined twice
both in extended DBF and VFP DBF)
* Documented field type ShortInteger generates 5012 ADS error on
AdsCreateTable(). A simple workaround used: "ShortInt" passed
instead of documented field name.
! Some ANSI <-> OEM translations moved under ADS_USE_OEM_TRANSLATION
switch (the other translations was already there)
; Please, test and report bugs.
* contrib/hbwin/Makefile
+ contrib/hbwin/legacycv.c
* contrib/hbwin/win_os.prg
* contrib/hbwin/win_osc.c
* contrib/hbwin/win_tprn.prg
+ Added new names for win version support functions:
WIN_OSISNT() <= OS_ISWINNT()
WIN_OSISNT351() <= OS_ISWINNT351()
WIN_OSISNT4() <= OS_ISWINNT4()
WIN_OSIS2000ORUPPER() <= OS_ISWIN2000_OR_LATER()
WIN_OSIS2000() <= OS_ISWIN2000()
WIN_OSISXP() <= OS_ISWINXP()
WIN_OSIS2003() <= OS_ISWIN2003()
WIN_OSISVISTA() <= OS_ISWINVISTA()
WIN_OSIS7() <= OS_ISWIN7()
WIN_OSIS9X() <= OS_ISWIN9X()
WIN_OSIS95() <= OS_ISWIN95()
WIN_OSIS98() <= OS_ISWIN98()
WIN_OSISME() <= OS_ISWINME()
WIN_OSISTSCLIENT() <= OS_ISWTSCLIENT()
WIN_OSVERSIONINFO() <= OS_VERSIONINFO()
WIN_OSNETREGOK() <= OS_NETREGOK()
WIN_OSNETVREDIROK() <= OS_NETVREDIROK()
; Old names still work, and they are guarded with HB_WIN_LEGACY_LEVEL_OFF
macro, in case someone would like to disable them.
Please use new names, old names may disappear in the future.
* contrib/hbwin/wce_simc.c
* contrib/hbwin/wce_smsc.c
* contrib/hbwin/wce_sim.prg
+ Added new names for WinCE SMS/SIM support functions:
WCE_SIMINITIALIZE() <= SIMINITIALIZE()
WCE_SIMDEINITIALIZE() <= SIMDEINITIALIZE()
WCE_SIMPHONEBOOKSTATUS() <= SIMPHONEBOOKSTATUS()
WCE_SIMREADPHONEBOOKENTRY() <= SIMREADPHONEBOOKENTRY()
WCE_SIMWRITEPHONEBOOKENTRY() <= SIMWRITEPHONEBOOKENTRY()
WCE_SIMDELETEPHONEBOOKENTRY() <= SIMDELETEPHONEBOOKENTRY()
WCE_SMSSENDMESSAGE() <= SMSSENDMESSAGE()
; INCOMPATIBLE.
; NOTE: With these changes hbwin namespace is clean except
for legacy definitions and .dll functions. DLL functions
need a major overhaul anyway (plus there is Xbase++ and
xhb compatibility concerns there), so for now it's OK.
* contrib/hbide/hbide.prg
+ Started <Project Properties> Dialog.
Your comments are welcome. I am interested what else might be required for
peoject management property so that we are comfortable in future.
* contrib/hbxbp/xbplistbox.prg
+ contrib/hbide/resources/zoomin.png
+ contrib/hbide/resources/zoomout.png
* contrib/hbide/ideactions.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/hbide.prg
+ Added ZoomIn, ZoomOut toolbar buttons for in-place zoom-in/out
text decoration. Very handy visualization.
+ Implemented undo/redo/cut/copy/paste/select all/to upper/to lower/invert case/ icons.
! Fixed many artifacts.
Please play with the tool and report back your experiences.
* src/rtl/fscopy.c
! Fixed to use the same file opening method as in __COPYFILE().
This should fix creating zero byte file on OS/2 when the source
and target file is the same.
; Please test.
* contrib/hbwin/win_prn3.c
* Minor.
* contrib/hbwin/hbwin.ch
* contrib/hbwin/win_prn2.c
+ Added support for server name in WIN_PRINTERLIST() (GETPRINTER())
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
* contrib/hbwin/legacycp.c
* ChangeLog
* Some renaming, to keep all functions in the WIN_PRINT*() namespace.
Prev entry updated.
* contrib/hbwin/tests/testprn.prg
* contrib/hbwin/tests/testprn2.prg
* contrib/hbwin/tests/testprn3.prg
* contrib/hbwin/tests/testprn4.prg
* Updated tests to use new function names.
* contrib/hbwin/Makefile
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
+ contrib/hbwin/legacycp.c
+ Added new names for Windows printer support functions:
WIN_PRINTEREXISTS() (old name: PRINTEREXISTS())
WIN_PRINTERSTATUS() (old name: XISPRINTER())
WIN_PRINTERPORTTONAME() (old name: PRINTERPORTTONAME())
WIN_GETPRINTERS() (old name: GETPRINTERS())
WIN_GETDEFAULTPRINTER() (old name: GETDEFAULTPRINTER())
WIN_SETDEFAULTPRINTER() (old name: SETDEFAULTPRINTER())
WIN_PRINTFILERAW() (old name: PRINTFILERAW())
; Old names still work, and they are guarded with HB_WIN_LEGACY_LEVEL_OFF
macro, in case someone would like to disable them.
; Please use new names, old ones will be deleted enventually.
* contrib/hbwin/hbwin.ch
+ Added copy of HB_WINPRN_* constants from .c source.
(Ugly, but currently there is no way to include hbwin.ch
to .c code due to lots of colliding names)
* contrib/hbwin/Makefile
+ contrib/hbwin/win_prn3.c
+ contrib/hbwin/tests/testprn4.prg
+ Added SETDEFAULTPRINTER().
This is Microsoft sample code taken from xhb repository,
formatting, fixes and other modifications applied (like
to use Harbour memory allocation functions),
also added support for UNICODE mode.
* contrib/hbwin/tests/testprn3.prg
* Minor.
* ChangeLog
* Marked change as DONE.
* contrib/hbwin/hbwin.ch
+ Added new macros submitted by Xavi.
Formatting (tab removal/alignment) applied.
* config/detfun.mk
+ Displays "Configure with HB_WITH_*" text on non-*nix systems,
when an external component is not found.
Comments are welcome whether this is useful, it looks a bit
verbose/ugly to me.
* INSTALL
* Minor change in wording.
* contrib/hbwin/win_tprn.prg
* contrib/hbwin/win_prn1.c
! Fixed ::SETPEN() and WIN_SETPEN() to not leak objects.
Patch submitted by Xavi.
* config/wce/poccarm.mk
* config/win/pocc.mk
% Removed some unnecessary logic, thus making it similar to all
other compiler setups.
* ChangeLog
* TODO marked as DONE.
* contrib/hbwin/win_prn2.c
! Commented buggy code dealing with Chr( 256 ) strippage in PRINTFILERAW().
While I can imagine Chr( 26 ) may cause a little inconvenience
when sent to printer, it will just be a small visual one, and it's
very easy to overcome by using HB_MEMOWRIT() instead of MEMOWRIT()
to create the disk file, if the file was created by other means,
the Chr( 26 ) won't be there anyway. Anyhow I opted to have a clear cut
behavior even if it's slightly incompatible because old implementation
was buggy, and IMO such printing function shouldn't do behind-the-scenes
alterations on the data to be printed. After all the function is called
"RAW".
INCOMPATIBLE for files which has an ending Chr( 26 ).
* contrib/hbide/hbide.prg
! Removed CURDRIVE() and CURDIR() usage.
Notice that on *nix platforms there is no such thing as
drive letter, plus some platforms don't even have the
concept of current dir. CURDRIVE() is also an XBase++
specific call, so it may not be available in Harbour core.
! Removed hard-wired Windows specific path from save dialog.
(it was a template yet)
* config/rules.mk
! Deleted CFLAGS from default link rule.
After quick scan through the make files this shouldn't cause
problems. Please test and if it does, we should add missing
options to LDFLAGS.
; TODO: Clean CPPFLAGS vs. CFLAGS usage in all .mk files.
They should all uniformly use CFLAGS now.
* contrib/hbide/hbide.prg
* contrib/hbide/idetags.prg
! Changed the way <Function List> was being populated.
! Fixed to not enter in Editing mode when double-clicked in <Function List>.
* src/rtl/diskspac.c
* src/rtl/disksphb.c
* contrib/hbwin/win_prn2.c
! Fixed to use WIDE version of dynamically called
functions in UNICODE builds.
* ChangeLog
+ TODO marked as DONE.
* contrib/hbwin/win_prn2.c
+ Added support for fifth 'share' element to GETPRINTERS()
returned array. This syncs it with xhb.
- contrib/hbide/hbide.hbm
+ contrib/hbide/hbide.hbp
* Renamed project file to have .hbp extension.
- contrib/hbide/hbmk.hbm
- Not needed anymore. Deleted.
* contrib/hbide/ideparseexpr.c
! strnicmp() -> hb_strnicmp()
* contrib/hbide/hbide.hbm
! Call hbmk2 hbid.hbm which includes all required files.
+ contrib/hbide/idestylesheets.prg
+ Added to implement Qt's powerful feature to apply style sheets to a widget.
+ contrib/hbide/idetags.prg
+ contrib/hbide/ideparseexpr.c
+ Code provided by Andy Wos almost an year back. Never thought
it will be of much use for this purpose. Big thank you Andy.
+ contrib/hbide/freadlin.c
! Pulled from contrib/xhb. There may be a better option.
* contrib/hbqt/hbqt.ch
+ Added more constants.
* contrib/hbqt/hbqt_destruct.cpp
+ New PRG level function HB_FUNC( HBQT_QTPTR_FROM_GCPOINTER ) which
returns Qt pointer sent the GC pointer as only parameter.
* contrib/hbxbp/xbptabpage.prg
! Changed the way callback slots were implemented.
* contrib/hbide/hbide.prg
+ Implemented right-hand <Functions List>.
Just click on it and editor tab will scroll to the begining of function.
It was very tricky and has the potential to improve. Please play.
! Implemented "Save" with <ESC> or via <Save> icon.
You can start real-time editing if you want to.
Open many sources, change the tabs, press <ESC>s or edit and save.
Let me know if this behavior is ok. Note: after last tab is closed, hbide.exe
terminates.
* harbour/config/global.mk
+ added yet another path for cross-mingw compiler detection
* harbour/contrib/hbwin/win_prn2.c
! fixed iResult defined twice by mistake
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prn2.c
* Using HB_BOOL for Harbour variables.
* Few minor cleanups.
; TOFIX: CreateFile() is used in one place instead of Harbour
File I/O. Anyone?
* contrib/hbwin/win_prn1.c
* Renamed some variables to reflect their real type.
! Fixed to use HB_SIZE instead of int and ULONG.
* Using long instead of LONG for non-Windows API related values.
* Synced parn*/retn*/storn* usage with actual types used by
Windows API (l vs. i).
* Added a few cats and removed a few others.
! Fixed WIN_GETPRINTERFONTNAME() for UNICODE mode.
(warning masked by explicit cast).
; Please make tests, I didn't do any functional tests on
any of the above (and I'm also not using them).
* contrib/hbwin/win_tprn.prg
* contrib/hbwin/win_prn1.c
! Fixed HFONT leak in WIN_CREATEFONT(). This also means the
function works a little bit differently, so in case you are
using it directly, be warned that this change is INCOMPATIBLE.
It will now return a font handle instead of boolean value
signaling success.
! Fixed several functions to check for valid HDC.
% Deleted redundant code from WIN_DELETEDC().
; Submitted by Xavi. Thank you.
(plus these small modifications by me:)
! Fixed formatting to use the same coding style as the rest of
the file (and all our sources).
! Fixed to use FALSE instead of 0.
* INSTALL
+ Added note to HOW TO PARTICIPATE section to use the same
coding style as found in original files when adding patches.
* contrib/hbwin/win_prn2.c
% Merged C level functions into Harbour level ones.
(PRINTERPORTTONAME() got simplified a great deal as a result.)
! Fixed to initialize remaining numbers passed by ref to winapi.
* More type cleanup.
+ contrib/hbwin/tests/testprn3.prg
+ Added test for printing support functions.
* contrib/hbwin/win_prn2.c
! Fixed to use hb_xfree() instead of HB_TCHAR_FREE() where
allocation is done using hb_xgrab(). This could pbly
cause leaks in some rare cases.
% PRINTEREXISTS() now uses the same method on NT and Win9x
systems.
* XISPRINTER() will now fall back to default printer also
when an empty string is passed as parameter.
* Some minor variable declaration, initialization and naming
cleanups and optimizations.
* contrib/hbwin/win_prn2.c
+ PRINTFILERAW(): Changed to use Harbour File I/O API instead
of Windows one to read from a disk file.
* More variable name / macro usage cleanup.
! TOFIX: PRINTFILERAW() has suspicious code aiming to delete
Chr( 26 ) from input files. In current implementation it can
strip Chr( 26 ) even from inside the file if the file is
larger than read buffer, which means it will corrupt input
and may cause wrong output to be printed (f.e. if that Chr( 26 )
is part of a printer control char sequence).
* INSTALL
+ Added linux/clang to the target mix.
* contrib/hbwin/win_prn2.c
* Variables renamed to reflect their types.
* Further cleanups.
+ Added TOFIX to use Harbour IO instead of win to read a disk file.
* Changed to use HB_SIZE instead of ULONG for string lengths/sizes.
+ Added HB_SIZE casts to silence 64-bit warnings (to two places).
* contrib/hbwin/win_prn2.c
% GETPRINTERS(): Changed to use printer list retrieving on NT
systems to the one used on Win9x systems. This greatly simplifies
the code.
% GETPRINTERS(): Optimized out one PHB_ITEM variable.
% GETPRINTERS(): Moved variables closer to their user blocks.
* GETPRINTERS(): Using empty strings instead of inconsistent
"Error"/"ERROR" texts on error.
(INCOMPATIBLE).
; Pls test.
* src/common/hbver.c
+ Some changes to the way LLVM/CLang are detected. One
remaining combination was now added also.
Pls review me.
* contrib/hbwin/win_prn2.c
* Further type cleanup.
% Using macro instead of storing static number in variable.
! Fixed GETPRINTER() after recent change on Win9x systems.
* contrib/hbwin/win_prn2.c
! Fixed PRINTEREXISTS() in UNICODE mode (hidden by wrong cast).
% Type cleanup (f.e. not using Windows type where not necessary).
% Cleaned away unnecessary casts.
* contrib/hbwin/win_prn2.c
! Fixed few type mis-uses (BOOL instead of DWORD and vice versa)
% Optimized hb_isLegacyDevice().
% Marked some static strings as static.
% Marked locally used C worker functions as static.
This may cause incompatibility if someone used these via
undocumented ways. They were never officially published
through .h headers.
* contrib/hbwin/win_tprn.prg
* contrib/hbwin/win_prn1.c
+ Added ::GetDocumentProperties() method.
+ Calling ::GetDocumentProperties() from ::New() to setup defaults.
; Patch submitted by Xavi. Thank you.
* contrib/hbwin/win_prn2.c
% Modified GETPRINTERS() code to use optimal array creation code,
use less redundancy and synced functionally similar code
parts with each other, deleted unnecessary code parts.
* Greatly cleaned GETPRINTERS() code (names, layout).
! Fixed GETPRINTERS() code. It had fatal flaw in non-NT
branch, so I seriously wonder how could it work for anyone
in the past. It seems it wasn't even tested by submitter
before commited to xhb repository in year 2005.
Someone pls test it on Win9x, I don't have any printers
installed there.
* contrib/hbwin/win_prn1.c
* contrib/hbwin/legacy.prg
* Moved WIN_GETEXEFILENAME() to legacy function collection,
at the same time rewritten to simply call HB_ARGV( 0 ).
* contrib/hbwin/win_prn1.c
% WIN_FILLRECT(), WIN_ARC(), WIN_ELLIPSE() optimized.
* contrib/hbtip/smtpcli.prg
! Fixed long time SMTP protocol implementation bug reported
(with patch) by Francesco Perillo. Thank you.
The problem manifested itself only with strictly
standard compliant SMTP server (setups?) like recent
Exim versions.
+ Upped timeout from 5000 to 50000.
* contrib/hbxbp/xbplistbox.prg
* contrib/hbide/hbide.prg
+ Implemented prototype of <Project Tree Structure>.
Also play with various icons. Docks at the right and at the bottom can be collapsed.
Please forward suggesstions.