* harbour/contrib/hblzf/3rd/liblzf/lzf_c.c
! use __int64 instead of _int64 in WIN64 builds
Some MinGW64 versions (i.e. tdm64-gcc-4.5.2.exe_ do not support
_int64 as default type.
* harbour/contrib/hblzf/3rd/liblzf/liblzf.dif
* regenerated with: ../../../../bin/hb3rdpat.hbs -rediff
* harbour/include/hbapifs.h
* harbour/src/rtl/filesys.c
% removed unnecessary PID setting in POSIX file lock function.
+ added new C function:
int hb_fsLockTest( HB_FHANDLE hFileHandle, HB_FOFFSET nStart,
HB_FOFFSET nLength, HB_USHORT uiMode );
It allows to test file range lock status.
It returns -1 on error, 0 when lock can be set and value greater
then 0 if part of given range is locked by other process. In POSIX
systems this value is PID of current lock owner. In other systems
it's always 1.
In uiMode only FLX_SHARED bit is significant.
* harbour/include/hbapifs.h
* harbour/src/rtl/filebuf.c
+ added new C function:
int hb_fileLockTest( PHB_FILE pFile, HB_FOFFSET nStart,
HB_FOFFSET nLen, int iType );
It's redirected to hb_fsLockTest()
* harbour/contrib/hbnetio/netio.h
* harbour/contrib/hbnetio/netiocli.c
* harbour/contrib/hbnetio/netiosrv.c
* harbour/contrib/hbmemio/memio.c
+ implemented hb_fileLockTest() low level code
* harbour/include/dbinfo.ch
+ added DBI_LOCKTEST
* harbour/src/rdd/dbf1.c
% small code simplification
+ implemented DBI_LOCKTEST
dbInfo( DBI_LOCKTEST [, <nRecNo> ] ) -> <nStatus>
returns corresponding results to C level hb_fsLockTest() function.
If current workarea is already locked then 0 is returned.
If low level FS is located on POSIX system (accessed directly or by
HBNETIO) then value greater then 0 is PID of current lock owner.
If the lock is hold by aliased area or other thread of calling
process then <nStatus> is current PID. In Other systems 1 is returned
when lock cannot be set in current workarea.
If <nRecNo> is given then the test is for RLOCK() otherwise FLOCK()
operation.
* contrib/hbide/ideactions.prg
* contrib/hbide/idemain.prg
+ Implemented: full list of codepages Harbour supports.
Earlier the list included only unique CPs at the back.
* contrib/hbide/idesaveload.prg
* contrib/hbide/idechangelog.prg
+ Fixed: "Changelog User" was sharing a similar looking
instance variable name.
* contrib/hbide/changelog.ui
* contrib/hbide/idechangelog.prg
* contrib/hbide/idesaveload.prg
+ Added: retaining the user name updating the changelogs.
First time it is asked as before, later it can be modified
in User: edit control at top-right of the dialog.
* contrib/hbide/idechangelog.prg
* Changed: behavior of "Current Log Entry" to scroll to last
after an element is added.
* contrib/hbide/ideactions.prg
* contrib/hbide/idemain.prg
* Changed: "Setup/CodePage" menu to display Harbour recognized
codepage name alsong its unique id.
Let me know if that makes the whole list of Harbour's
code pages.
* contrib/hbide/changelog.ui
* contrib/hbide/idechangelog.prg
* Changed: the way "Current Log Entry" is built. Now user can
edit the contents of built entry.
; NOTE: 1. Action tokens should be preserved as is when editing
built log entry.
2. If a new line be inserted in "Descriptions" start
it from the column 1, hbIDE will auto format when saving.
3. If indentation is needed in "Descriptions" then start
a new line at column 15 or higher only, just below where ": "
seperates action token.
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbide/idechangelog.prg
* Changed: token to represent "Changed" from "&" to "*"
confirming to universal standard for ChangeLogs.
- contrib/hbcurl/core_t1.c
- contrib/hbcurl/hbcurlt1.ch
- deleted half-done implementation of HB_CURLOPT_HTTPPOST.
I hope someone can finish it, it was a good initiative.
* ChangeLog
! remove changelog format examples from recent changelog
entry. they belong to some local standard, not Harbour's,
or general open source software.
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.h
* contrib/hbqt/qtgui/qth/HBQSyntaxHighlighter.qth
+ Implemented: new syntax highlighter for ChangeLog(s)( hbIDE defined ).
* contrib/hbide/changelog.ui
* contrib/hbide/idechangelog.prg
+ Implemented: managing interface to ChangeLog(s) with color highlightings.
An entry will be visible like ( everyline is pre-spaced to align this changelog ):
$<000008> 2011-06-05 07:53 Pritpal
# This is It
* AR/CU.PRG
! Fixed : The standard input method of gets.
IF GetActive() != NIL
GetActive():varPut( "This" )
ENDIF
+ Added : New fields.
Salary N 10 2
Code C 8 0
& Changed: Some redundant features.
$<000007> 2011-06-05 07:39 Pritpal
# This is It
* AR/CU.PRG
! Fixed : This
& Changed: That.
% Optimzd: Nothing.
+ Added : Something.
- Removed: Onething.
; Comment: Nowhere.
@ TODO : Everything.
| Moved : Nothing.
Entry number is auto incremented in entry header.
Entry header is followed by "Title" ( optional ).
Then the "Source(s)" followed by "Action(s)" accompanied by "Description(s)".
Every part is color highlighted.
Invoke with <Setup><Manage Changelog(s)> main menu option, create an empty
Changelog from <New> button at the top-right of presented dialog and play a little.
Waiting for your input as to what can be improved.
* contrib/hbide/idemisc.prg
! Minor.
* contrib/hbide/changelog.ui
+ One more button.
* contrib/hbide/idechangelog.prg
+ Advanced: now you can build a log in real-time.
It is scheduled to be polished a bit more.
* contrib/rddads/tests/datad.prg
! fixed 'field -> id' index expr which wasn't recognized by ADS
* contrib/rddads/tests/datad.prg
* contrib/rddads/tests/testmg.prg
! use hb_libpostfix()
* contrib/hbide/idemain.prg
! use hb_libpostfix() which fixes loading rddads on non-win
systems (untested, I can't wait for HBQT build to finish)
* contrib/hbide/idechangelog.prg
! Advanced: more refinements.
* contrib/hbxbp/xbpfiledialog.prg
! Fixed: XbpFileFialog() is made to open fast, was responding
extremely slow.
* contrib/hbide/changelog.ui
! Changed: QDialog() => QWidget().
* contrib/hbide/setup.ui
+ Added: more constants to control docking widgets appearance.
* contrib/hbide/idechangelog.prg
+ Advanced: few more additions. Last worked ChangeLog file is
saved for next run and is shown opened when activated.
TODO: compose a new syntax-highlighter.
* contrib/hbide/ideedit.prg
+ Added: "WITH" and "REPLACE" as Harbour keywords.
* contrib/hbide/ideplugins.prg
! Fixed: Possible return value bug.
* contrib/hbide/idesaveload.prg
+ Added: "REPLACE" as Harbour keyword.
* contrib/hbide/idemain.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idethemes.prg
+ Implemented: user-controlled dock-widgets tab-position and shape.
! Activated: last state of dock-widgets if visible or not for next run.
This facilitates that now user can arrange dock widgets
once-for-all and bring all in focus or push back if not
required.
* contrib/hbwin/mapi.c
! fixed UNICODE conflict after recent LoadLibrary patch.
this file has forced UNICODE off due to MS idiocy so I had
to add more idiocy to interface with properly UNICODE setting
compliant local API
Note, I didn't test non-UNICODE build, if you're interested
in it, pls do it
* contrib/hbwin/tests/testmapi.prg
+ simpleio
* contrib/hbide/hbide.qrc
* contrib/hbide/resources/hideshow.png
+ Added: image for top-toolbar to activate show/hide of dock widgets.
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idesaveload.prg
+ Implemented: a single-click mechanism to hide or show all managed
dock widgets in all docking areas. This can be accomplished via
"Hide Show Docks" top-toolbar icon or <View> main menu option.
This implementation is extremely usable feature, requested by Massimo.
Just manage docks to the desired position and areas, activate this
option on/off and then see how useful it is. User gets more editing
area and also has the power to do additional tasks by bringing
back the last setup as and when required. The setup is remembered for
the next run even if docks are hidden at the time of previous close.
* contrib/hbide/setup.ui
+ Started: few more user-definable elements to manage docking
widgets to suit one's preferences.
* contrib/hbide/mainwindow.ui
* contrib/hbide/idedocks.prg
+ Enabled: more options for docking widgets.
Now docks can be placed tabifyied, horizonal to each other,
vertical to each other and/or tabified within its group.
Now user can arrange docks in any area with any combination.
TODO: control this behavior via <setup>, slots are already added.
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
! Optimizations.
* contrib/hbide/findinfilesex.ui
* contrib/hbide/themesex.ui
! Changed: user interface. Now it is more appealing and slim.
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idethemes.prg
! Changed: to adopt above changes in user-interfaces.
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
! Fixed: wrong multi-line syntax highlighting in case
multi-line comment indicator "/*" is embedded in a string,
like __run("mdel a:/*.*"). Was a long standing bug in hbIDE.
* contrib/gtwvg/tests/wvgtbrowser.prg
! Reworked: scrollbars of TBrowse. Now these are WvgScrollbar()s
instead of WvtScrollbar()s. WvtScrollbar() are best suited
for WvtCrt() protocol not for WvgCrt() protocol. Now these
are smooth. This concept is pulled from my applications and
slightly adjusted for demowvg.
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgutilities.prg
* contrib/gtwvg/wvgclass.prg
+ Implemented: scrollbars used along TbrowseWVG() in demowvg
as requested by Zoran.
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.qrc
* contrib/hbide/ideactions.prg
+ contrib/hbide/idechangelog.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
+ contrib/hbide/resources/memo.png
+ Added: <Setup><Manage ChangeLog(s)> option.
This is announced ChangeLog Manager which simply constructs
the changelog entry and inserts at the top of specified
ChangeLog file. It is a work-in-progress and this is a just
initial commit, but can faily understand what I mean.
* contrib/gtwvg/wvgpaint.prg
! Fixed: focus was not set to the window from where a modal
dialog was being initiated. Thanks Zoran Sibinovic for code example.
+ contrib/xhb/xhbtedit.prg
* contrib/xhb/xhb.hbp
* contrib/xhb/xhb.hbx
+ borrowed complete extended TEDITOR() class from xhb. The code
looks very unclean and not Clipper compatible, so it will be
part of xhb. Contains fixes to make it compile under vanilla
Harbour with (default) high warning level. Plus some more
basic code cleanups. Class was renamed to XHBEDITOR.
* harbour/src/rtl/arc4.c
! changed size parameter passed by reference to sysctl() to size_t
! fixed WINCE builds
% enable pid checking only in *nix systems.
If system does not support fork() or compatible operation
(i.e. vfork(), clone()) then PID checking is completely useless.
* harbour/src/rtl/gtwvt/gtwvt.c
* pacified WINCE warnings
* harbour/contrib/rddads/adsx.c
! fixed potentially uninitialized pTag variable
* harbour/src/rtl/valtoexp.prg
! fixed typo in recent modifications causing RTE in HB_VALTOEXP()
* harbour/contrib/hbwin/win_prn2.c
! allocate dynamic memory for print buffer in WIN_PRINTFILERAW()
32KB variable on process execution stack is potential source of
random GPFs in programs using deeper recursive calls and killer
for MT mode when smaller thread stack is allocated.
! fixed potential data lost in WIN_PRINTFILERAW() when not all data
is transfered in single WritePrinter() call
! interrupt printing in WIN_PRINTFILERAW() if WritePrinter() returns
error
* harbour/include/harbour.hbx
* harbour/src/rtl/hbrandom.c
! restored my old fix - it was correct and the results over RAND_MAX
range expected
+ added new PRG function:
HB_RANDOMMAX() -> <nRAND_MAX>
* contrib/hbide/idethemes.prg
+ Added: "NOT" as Harbour keyword.
* contrib/hbide/ideactions.prg
+ Added: Toggle actions for MDI editing area's top and left toolbars.
; TODO: to retain these settings for next run.
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idemain.prg
! Fixed: many artifacts when MDI editing is switched off.
! Started: to provide "Stats -> Welcome" a different home.
A difficult job but seems it has to be done anyway.
! Changed: default mimimize to system tray => minimize to task bar.
; TODO: should be user definable.
* contrib/hbexpat/hbexpat.ch
+ added constants for attr array element positions
* contrib/hbexpat/tests/test.prg
* contrib/hbexpat/tests/tohash.prg
+ using them
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/hbmzip/hbmzip.hbp
* C std-level related tweaks [Tamas Tevesz]