* extras/gtwvw/hbgtwvw.h
* extras/hbvpdf/hbvpdf.prg
* extras/gtwvw/tests/prog0.prg
* extras/gtwvw/tests/prog1.prg
* extras/gtwvw/tests/prog2.prg
! fixed remaining 8-bit ASCII chars. Now they are only
present in hbtest and codepage source files (where they
generate lots of warnings with Xcode 4.4 / clang).
(plus a few in 3rd party code)
+ utils/hbmk2/examples/plug_bis.hb
+ hbmk2 plugin for bison support. Syntax checked but not tested.
* utils/hbmk2/examples/plug_tpl.hb
+ made it display an error message when run in standalone mode
* contrib/hbqt/hbmk2_qt.hb
* formatting
* contrib/hbtinymt/core32.c
* contrib/hbtinymt/core64.c
* contrib/hbtinymt/hbtinymt.hbx
* contrib/hbtinymt/tests/test32.prg
* contrib/hbtinymt/tests/test64.prg
! deleted unnecessary HB_ prefix from wrapper function
names, so now they match the low-level names exactly.
(incompatible with xhb)
* utils/hbmk2/hbmk2.prg
- deleted compatibility plugin API functions starting with
HBMK2_. It was not enabled anyway and I chose not to deal
with as probably there is very few people using these.
So, change all plugin API calls to start with HBMK_*()
instead of HBMK2_*(). INCOMPATIBLE.
+ extras/hbusb/hbusb.hbc
+ extras/hbusb/hbusb.hbp
+ extras/hbusb/hbusb.hbx
+ extras/hbusb/tests/hbmk.hbm
* extras/hbusb/core.c
* extras/hbusb/hbusb.ch
* extras/hbusb/tests/test.prg
+ added hbmk2 make files including detection logic for libusb
(might need more tweaks, I don't know which is the preferred
libusb binary on Windows yet)
Use HB_WITH_LIBUSB envvar to set header location
+ added hbx file
* renamed file references internally
+ reformatted sources with uncrustify and hbformat then manually
! removed non-ANSI comments
! fixed #include
+ added SVN headers
* renamed wrapper functions to match the name in libusb
* renamed macros to have LIBUSB_ prefix
! fixed to use pointer type for pointers instead of numeric,
it fixes the code for non-32-bit builds
! test fixed to compile w/o warnings
* test modified to output to stdout, plus some cleanups
* LIBUSB_INIT() changed to look for 1st param passed by
ref, instead of logical value to indicate that
! C code fixed to fill params passed by ref even in error cases
! some type corrections in C
! fixed (mingw, msvc) warnings in C code
* other minor cleanups
; TOFIX: try to use GC collected pointers
; TOFIX: C code allows .prg code to create GPFs, f.e.
in 'devicelist[ hb_parni( 2 ) ]' the pointer is not
checked for NULL, nor the index is validated to be
inside limits.
; TODO: RTE for invalid parameters
; TODO: testing on various platforms
; NOTE: bcc is not supported for multiple reasons
; NOTE: C++ mode causes warnings in libusb header
; NOTE: Links:
url: http://www.libusb.org/
src: http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.9/libusb-1.0.9.tar.bz2
bin/win: http://sourceforge.net/projects/libusbx/files/releases/1.0.12/Windows/libusbx-1.0.12-win.7z/download
+ extras/hbusb
+ extras/hbusb/core.c
+ extras/hbusb/hbusb.ch
+ extras/hbusb/tests
+ extras/hbusb/tests/test.prg
+ added LIBUSB wrappers
by courtesy of its author Doug (dougf at people dot net dot au)
* renamed some file, more changes will come in separate commit
* contrib/hbqt/qtgui/hbqtgui.ch
+ Added: QSettings_* and QIODevice_* constants.
+ contrib/hbide/env
+ contrib/hbide/env/pritpalsfav.ide
+ contrib/hbide/settings.qrc
+ Added: new folder containing HbIDE settings embedded as a resource.
Only one environment is added, quickly, to review its usefulness.
* contrib/hbide/findreplace.prg
! Formatting.
* contrib/hbide/actions.prg
* contrib/hbide/hbide.hbp
* contrib/hbide/main.prg
* contrib/hbide/misc.prg
* contrib/hbide/saveload.prg
* contrib/hbide/tools.prg
+ Implemented: Multiple-view of HbIDE's application window.
The views take care of toolbars associated with mainwindow and
all the docking widgets. The view remembers their state and dimensions,
whether these are visible, floating, etc.
; How To:
1. Click on <Main Toolbar><HbIDE Views> icon.
2. Opens a FileSave dialog, provide a location and name,
your current view will be saved.
3. Click on <Main Toolbar><HbIDE Views> icon's drop-down menu.
4. You can see, beside others, an entry <Pritpals Favourite>.
5. Click on it and see your view is changed instantly.
6. Repeat #4 and click on the entry representing your view
saved via #2.
7. And you are back with your original settings.
These views are switchable with a click of a key. This also
covers a gread demand from users where it is asked that HbIDE
should be like, Starter, Advanced, Professional, Enterprised, etc.
Or where desk-top territory is compalined. For example, activate
IdeDBU and then make it floatable, adjust windows size to your
taste, save this view. Then at single click you can brought it back.
This is a big productivity boost, believe me.
; REQUEST: send me the useful views you employ in day-to-day needs
and if deemed fit will be included in HbIDE itself for
others to be benefitted.
* src/lang/fr.c
! old typo in month name, by Guy Roussin
* src/lang/uk.c
! old typo in native language name, by Alexey Myronenko
* src/rtl/langcomp.prg
! recent typo in compatibility UAWIN CP, by Grigory Filatov
; Thanks guys
* contrib/rddads/rddads.hbc
* do not force shared mode for host project if HB_DYNLOAD_RDDADS
is enabled. It should fix hbide forced to be built in
-shared mode unconditionally after enabling rddads
support in hbide in 2012-06-14 12:01 UTC+0200
; please test
* src/lang/hu.c
+ translated rest of strings to Hungarian
(though they seem to make much more sense in English)
* contrib/hbide/docks.prg
+ contrib/hbide/docs/faq.htm
* contrib/hbide/hbide.qrc
+ Discovered: how .html resources can be embedded into executable
and brought to service in QTextBrowser.
HbIDE's FAQ is now shown in <HbIde Help> docking widget.
It is scheduled to be extended to bring all the help I could
write over-time under it. The design may be changed.
Now it is much easier to write/edit/embed .htm pages
inside HbIDE.
* src/rtl/langcomp.prg
* src/rtl/langlgcy.prg
! HB_LANGSELECT() fixed to keep compatibiliy with legacy
language module IDs passed in not fully uppercased.
Only two-letter legacy language module IDs needs to
be passed full uppercase to maintain compatibility.
* changed HB_LEGACY_LEVEL5 to HB_LEGACY_LEVEL4 so these
compatibility hacks disappear quicker
* src/rtl/cdpapi.c
+ Extended to accept real codepage names where Harbour
"codepage" names (which are really codepage + collation
combinations, like "HUWIN") are accepted. It makes it
possible to do:
hb_translate( "stuff", "cp1250", "cp852" )
This mod is implemented on the surface in simple way,
which implies some notices and warnings:
- real codepages are accepted also in places where
you're better to specify a Harbour CP tied to a
collation, f.e. in hb_cdpSelect() or Set( _SET_DBCODEPAGE ).
In such case it's important to see that an arbitrary
Harbour CP will be selected from those linked to the
requested real codepage.
- 'hb_cdpSelect( "iso8859-2" ); ? hb_cdpSelect()'
will not show "iso8859-2", but one of the corresponding
Harbour CPs.
- you cannot REQUEST a specific real codepage,
but you can request all of them which are linked
to a Harbour CPs using '#include "hbextcdp.ch"'.
; NOTE: With more deep rework, which I most probably
won't be able to ever do, Harbour's concept of
CPs should be split into real codepages and
collation modules, than interfaces identified
where a collation is expected vs. real codepages,
or both, question how to do that without break
too much compatibility and question how to fit
current HB_CP_RAW CPs into that model. For former
problem, notation like 'HU.cp852' might be possible
solution, where any of the parts can be omitted,
depending on context: 'HU' or 'cp852'.
* contrib/hbide/hbide.qrc
+ contrib/hbide/resources/view_docks.png
+ Added: one more image.
* contrib/hbide/editor.prg
! Removed the source's extension from the editor's tab display
which facilitates more tabs to be visible in the editor's manager.
Good for low resolution monitors. Note that full pathname is
available under tooltip.
* contrib/hbide/actions.prg
+ Added: <HbIDE Views> icon on the <Main> toolbar.
* contrib/hbide/hbqtoolbar.prg
! Changed the toolbar's basic attributes.
* contrib/hbide/misc.prg
! Fixed some dialogs to release memory properly on exit.
* contrib/hbide/tools.prg
+ Started: implementation of user defined views of HbIDE.
It is working but will write the details after applying
finer points. Expression is through <HbIDE View> icon
on <Main> toolbar.
* src/codepage/Makefile
+ src/codepage/cphuutf.c
+ added Hungarian collation module in UTF-8. It's an
experiment and will require low-level changes in the
CP subsystem, since it is not yet possible to use
HB_UNITB_UTF8 for HB_CP_UNITB parameter. The idea is
to make it possible to define collation modules in UTF-8,
which would in turn allow to drop the link to a specific
legacy CP, thus allowing to drop the different CP flavours
of them, then finally simplifying the naming, maintenance
and usage of these modules. We could also finally call
them what they are: 'collations' (and not "codepages" like today)
I understand this may need substantial low-level
modifications, by doing automatic translation on each
HVM CP change, etc.
* ChangeLog
+ added compatibility notes to previous (2012-07-24 15:04 UTC+0200)
entry
* src/rtl/langlgcy.prg
* minor cleanup
* doc/en/lang.txt
* include/hblang.hbx
* src/lang/be.c
* src/lang/bg.c
* src/lang/ca.c
* src/lang/cs.c
* src/lang/de.c
* src/lang/el.c
* src/lang/en_tpl.c
* src/lang/eo.c
* src/lang/es.c
* src/lang/eu.c
* src/lang/fr.c
* src/lang/gl.c
* src/lang/he.c
* src/lang/hr.c
* src/lang/hu.c
* src/lang/id.c
* src/lang/is.c
* src/lang/it.c
* src/lang/ko.c
* src/lang/lt.c
* src/lang/nl.c
* src/lang/pl.c
* src/lang/pt.c
* src/lang/ro.c
* src/lang/ru.c
* src/lang/sk.c
* src/lang/sl.c
* src/lang/sr_cyr.c
* src/lang/sr_lat.c
* src/lang/sv.c
* src/lang/tr.c
* src/lang/uk.c
* src/lang/zh_sim.c
* src/lang/zh_tra.c
* src/rtl/langcomp.prg
* src/rtl/langlgcy.prg
* renamed UTF8 language modules internally. The new
names are the two letter ISO language code in
lowercase. With postfixes where required. For
dialects and variants, it's now possible to use
"LLDD", "LLDD_VVV" or "LL_VVV" formats, too.
See the current list in
doc/en/lang.txt
! Ukrainian had an "UE" prefix before, now it got
corrected to "UK", which is it's official ISO code.
+ HB_LANGSELECT() now accepts second parameter: <cCodepage>
to specify the CP into which the translations should
be converted. This parameter works for legacy lang module
IDs, too. The default is hb_cdpSelect() (or legacy CP
for legacy language module IDs).
+ extended the way compatibility is preserved. The
problem is with legacy language modules with a two
character ID only (ie. without CP specification),
this is the list:
CA, DE, EL, EO, ES, EU, FR, GL, IT, PT, RO, SV
If these language IDs are passed in UPPERCASE as above,
they will be handled in compatibility mode and legacy
default CP selected.
Compatibility code is marked with HB_LEGACY_LEVEL5, which
means it will stay in next two stable releases.
To depart from compatibility (recommended), use the new
lowercase flavor: hb_langSelect( "pl" ), hb_langSelect( "pt" ),
hb_langSelect( "sr_cyr" ), or use standard language
IDs: hb_langSelect( "hu-HU" )
Or simply use this code:
---
#include "hbextlng.ch"
hb_langSelect( hb_UserLang() [, <CP> ] ) /* if <CP> is not specified, hb_cdpSelect() will be used */
---
* contrib/hbide/edit.prg
* contrib/hbide/editor.prg
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h
% An exhaustive commit focused on selctions management,
specially column selection. It also fixes the regression
injected in last commit where I broke few here-and-theres.
The changes are so exhaustive that I lost many to document,
but following are the main points you should know:
1. + Tripple click selection of a line.
Unlike other editors, HbIDE implements tripple-click
like this: double-click selects a word; do-not move
the cusor, click once, line is selected. Standard editors
measure the time between clicks, HbIDE measure the position
of click. This way user is not constrained to quickly
inject the third click. However, double-click carries
standard behavior.
2. + Shift+TAB now behaves as expected. It removes preceeding
<nTabSpaces>. <nTabSpaces> can be configured via
<Setup><Setup HbIDE>. Defaults to 3.
3. + TAB and Shift+TAB are also available in column selection.
4. + Ctrl+Left|Right, TAB/Shift+TAB and Backspace moves the
selection cursor without affecting selected rows in
column-selection mode when starting and ending columns are the
same; which eventually becomes the multiline editing cursor.
In practice there are lot many times when moving to
another column without leaving the multi-line selection
is needed.
5. + Enabled the physical cursor at all times, no matter in
which selection mode the cursor is. Earlier it was disabled
in column selection mode.
6. + TAB keys management is brought to PRG level instead of C++.
This has made it possible to have them working under
multi-line block editing mode ( extended column-selection mode).
;; A good amount of efforts have gone in this direction, and
as I am into it deep, please forward your suggessions as to
how the various behaviors should be.
+ src/lang/msgzhsim.c
- src/lang/msgko.c
- src/lang/msgzhgb.c
* include/hblang.hbx
* src/lang/msgzhutf.c
* src/lang/Makefile
* src/rtl/langcomp.prg
* src/rtl/langlgcy.prg
- deleted language module KO (Korean) using CP949, which
CP is not supported by Harbour. INCOMPATIBLE.
+ readded Chinese Traditional language module, along with
legacy language modul "ZHGB". Notice however that the
CP it now uses is BIG5, not the otherwise unsupported
by Harbour, CP936. INCOMPATIBLE.
; Migration of legacy language modules is now finished.
* utils/hbmk2/hbmk2.prg
+ select Harbour language modul in conjunction with
hbmk2's own language modul. This makes for a little more
localization and also tests and demonstrates the
language modul subsystem.
* src/rtl/langcomp.prg
+ HB_LANGSELECT() extended to understand standard language
codes, f.e. the ones returned by HB_USERLANG().
It means that from now on the recommended way
to select language module is this:
---
#include "hbextlng.ch"
hb_cdpSelect( <CP of choice> )
hb_langSelect( hb_UserLang() )
---
* ChangeLog
* updated previous language selection code sample
in 2012-07-23 21:48 UTC+0200 to work more universally
* src/rtl/cdpdet.prg
+ added Hebrew to mapping list
* src/rtl/cdpdet.prg
* src/rtl/langcomp.prg
+ added Esperanto to language/CP mapping lists
; hopefully in the future Harbour cores will shift to
use standard primary IDs, so all these mappings can
be dropped.
* src/lang/msg_tpl.c
! fixed reference to iso language code lookup doc
* src/lang/msgbeutf.c
! excessive space
* src/lang/msghrutf.c
! replaced month and day names with accented versions
* include/hblang.hbx
* src/lang/Makefile
+ src/lang/msgsrlat.c
* src/lang/msgsrutf.c
* src/rtl/langcomp.prg
+ added Serbian (latin) language module
! fixed SR852 and SRISO legacy lang modules to use latin
Serbian
; NOTE: I'd like to ask everyone to test language files
after these changes. There may be typos,
conversion errors or the original version I did
the conversion from might not have been the best
translation from the multiple ones available.
* include/hblang.hbx
* src/rtl/Makefile
* src/rtl/langcomp.prg
+ src/rtl/langlgcy.prg
+ added emulation for 'REQUEST HB_LANG_<id>' legacy code.
protected with HB_LEGACY_LEVEL5, though until then
probably some more shuffling will be needed to simplify
usage (f.e. remapping UTF-8 language modules to 'LL'
codes as opposed to 'LLUTF' codes used ATM)
% only pull all codepages and base language modules required
for dynamic language modules when user app REQUESTs and
HB_LANG_<id>s.
; TOFIX: HB_LANGMESSAGE() often returns garbage when using
it from hbrun or other dynamic apps. Changing
hb_retc_const() to hb_retc() didn't seem to fix it.
; NOTE: All users are encouraged to use UTF-8 base language
modules and request all CP components manually, then
create their own dynamic language modules, f.e.:
---
REQUEST HB_CODEPAGE_PT850
REQUEST HB_CODEPAGE_UTF8
REQUEST HB_LANG_PTUTF
hb_langNew( "PT", "PT850", "PTUTF", "UTF8" )
hb_langSelect( "PT" )
---
* src/lang/msghuutf.c
! reconverted from a better legacy CP version, fixing
some missing accented chars and translations
* contrib/gtwvg/activex.prg
* contrib/gtwvg/gtwvg.c
! cleaned 1 out of about 4 different debugging method used in
this component
! fixed lib depending on a function implemented in demo code.