* contrib/hbqt/qtcore/qth/QStringList.qth
! Commented out: duplicate ( from Harbour's POW ) function
calls which were generating warnings "Unreachable code".
* contrib/xhb/xhbtedit.prg
! fixed to handle some of the "extended" keys without build-time hacks,
so selection/copy/paste should now work (I don't have Ins/Del keys,
so can't test it all)
* formatting
+ contrib/xhb/xhbmemo.prg
* contrib/xhb/xhb.hbp
* contrib/xhb/xhb.hbx
+ added XHB_MEMOEDIT() function, completing commit 2011-05-25 19:35 UTC+0200
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idehome.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idesaveload.prg
* Changed: the way "Stats" window was implemented in the parallel
with edit instances. Now it is an independent "Qt_Sheet" window
which can be activated with "Welcome" main toolbar icon.
This has cleaned the editing environment.
- Removed: non-mdi protocol for editing areas. It is now only one.
This has simplified the code considerably and has also cleaned
the ambiguity.
! Fixed: first-timer visual glitch which was presenting the two
MDI windows side-by-side, "Stats" and "Main".
* contrib/hbide/setup.ui
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idesaveload.prg
+ Implemented: integration with Microsoft Visual SourceSafe for
version control. Current implementation only offers, Checkin,
Checkout, Undocheckout, Get Latest Version. Diff is not funtional
as it should be.
; It is assumed that VSS is already installed on your system
and Project(s) and files are already setup for your sources.
The interface to carry-out these operations is right-click on
editing instance and choosing an action via "Source Control - VSS"
sub-menu. Your input will be highly valuable.
; Probably this will be my last commit before release 3.0.0.
* harbour/include/hbgtinfo.ch
* harbour/src/rtl/gtwvt/gtwvt.c
+ added support for HB_GTI_MAXIMIZED
Patch created by Heinz V. Bergen - thank you.
* harbour/src/common/hbstr.c
% simplified hb_strAt() code and added missing stop condition.
This modification also quite nicely optimized the average speed
of AT() function and $ operator.
* package/winuni/mpkg_win_uni.bat
* package/mpkg_win_nightly.bat
+ added unicows implibs for applicable platforms. these are totally free
files accessible from the internet for anyone, for some Win9x users it's
too much though, so I'm adding them to binary distro.
To be tested
* contrib/xhb/xhb.hbp
! added hbfship to .hbp file too. even though hbfship is included
in .hbc just to offer hbfship functions while they are not actually
called from xhb code, for dynamic xhb lib builds it must be built
beforehand.
Fixes problem reported by Tamas.
* contrib/hbide/ideeditor.prg
! Fixed: relaoding a source now correctly sets the READONLY
attribute associated with the file and also positions the cursor
approximately at the same position as it was before.
This helps in keeping the same session if a file is checked
in/out of some version control systems which sets the attribute
to read-only when checked in.
* contrib/hbide/changelog.ui
* contrib/hbide/idechangelog.prg
* contrib/hbide/idesaveload.prg
* Changed: "Manage ChangeLog(s)" dialog - <Title> and <Sources>
entry fields are now editable drop-down combo boxes. They retain
the entered text for next run. The retained entries are inserted
alphabetically to retreive fast.
* src/rtl/strtran.c
! minor in webpage URL
* src/rtl/gtwvt/gtwvt.c
! Patch from Heinz V. Bergen, fixing full screen and alt-enter
GT features when GTWVT windows was not open yet, also fixing
screen positioning/sizing regression.
* src/rtl/inkey.c
* include/harbour.hbx
+ added HB_KEYLAST() which allows to pass a mask
(I'm not sure if this is ultimate solution, but there is goes
for now. Pls remove it if there is better one)
* package/winuni/RELNOTES
* updated 3rd party version numbers
* 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/src/rtl/strtran.c
! rewritten STRTRAN() to fix incompatibilities with Clipper and fatal
performance of original code.
This implementation is over 3 times faster then the previous code.
* src/rtl/gtwvt/gtwvt.h
* src/rtl/gtwvt/gtwvt.c
* tests/wvtext.prg
+ Massive GTWVT patch from Heinz V. Bergen. Thank you very much.
Details:
- fixed Alt-Enter for full screen, will no longer send the
K_ENTER to the Input queue.
- HB_K_RESIZE only sent if the Rows/Cols size actually changed.
- Clicking Maximize (top right corner) button, will maximize window
and change to Restore button, then clicking Restore button will
restore the window to its previous size.
- Dbl-clicking Title-Bar will maximize, then Dbl-Clicking Title
bar again will restore.
- Resizing window when in RESIZEMODE_FONT, will dynamically display
the resulting size changes in real time.
- All Maximize / Restore / Sizing works in RESIZEMODE_ROWS as would
be expected.
- Windows 7, dragging Window (Title-Bar) to top of screen will maximize,
then dragging maximized window's Title bar down will Restore
to previous size.
- Windows 7, dragging Window (Title-Bar) left or right until mouse
pointer hits the edge of the screen will size and dock to the left
or right half of the screen, then dragging title bar away from docked
position will restore the Window to its previous size.
- Windows 7, resizing top or bottom until edge of screen hit
(or dbl-clicking) will resize for maximum height. Then dragging
title bar away will restore to previous size.
- Before, depending on monitor's resolution, and when using
Courier New or Terminal font, maximizing would fail due to Font
metrics being incompatible with the Window's size or maybe due to
math issues, I was able to resolve by slightly adjusting the Font's
width or height down and then trying again until successful.
- Pressing Alt-Enter (when enabled) for full screen mode and then
pressing Alt-Enter again will restore Window to previous
non-maximized size.
- extended GT test app
; Please make test and report any experiences on devel list
* 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)