Dmitry A. Kuminov
2010-02-08 11:15:05 UTC
Hello everyone,
For those who haven't noticed yet, we released version 4.5.1 GA of Ot4 for OS/2.
Here's the change log:
4.5.1 GA (05-02-2010)
Improvements:
- general: Switched the compiler to the GCC 4.4.2 build provided by Paul
Smeldey. This gives better standard conformance, better code optimization
and provides more compact DLLs and EXEs whose size is greater than ~1M.
- corelib: QSettings: Use IniFormat (plain INI files) when NativeFormat is
requested instead of the Open32 registry which is known to be unstable and
can be easily corrupted. The old behavior may be restored using the
QT_PM_REGISTRY environment variable.
- corelib: Use UniStrcoll for QString::localeAwareCompare() for locale-aware
comparison of NLS strings.
- gui: Implemented full Direct Manipulation (Drag And Drop) support. This
includes dragging text, URLs and files between PM and Qt applications,
dragging any MIME data across Qt applications, setting custom drag pointer
pixmaps, painting in widgets while dragging.
- gui: Implemented session management with the QSessionManager class.
- gui: Fully implemented the QDesktopServices class.
- gui: Added support for numpad keys and for some common multimedia keys
recognized by eCS (volume, home, search, favorites).
- gui: QCursor: Added missing cursor shapes and implemented support for custom
cursor shapes.
- gui: Implemented QFontDatabase::addApplicationFont()/removeApplicationFont()
and friends.
- gui: Implemented proper generation of possible key and modifier combinations
for a given key event. This in particular enables Ctrl+<letter> shortcuts
for non-Latin languages and also makes Ctrl+<letter>, Alt+<letter> and
similar shortcuts language-neutral.
- gui: QWidget: When setting the parent, take the parent's resolve masks to
make sure attributes imposed by the user on the parent won't be overriden
byv the natural palette for this widget if it differs from
QApplication::palette() [vendor bug].
- gui: Use a normal border for top-level Tool widgets since the thin one is
too thin and cannot be resized.
- gui: Implemented delivering of QEvent::NonClientAreaMouse* events to
top-level widgets. This enables undocked dock widgets to be docked back by
a double click on the title bar and also by moving over the dock areas.
- plugins: Enabled the sqlite3 plugin which makes the sql module (and
applications depending on it) actually usable.
- tools: Enabled the Qt Designer application.
- tools: Enabled the following toos: pixeltool, q3toq4, xmplatterns.
- qmake/os2-g++: Recognize the "map" option in the CONFIG variable that allows
to turn the generation of .map files on and off. The option is set by
default.
- qmake/os2-g++: Recognize the "highmem" option in the CONFIG variable that
allows to enabled memory support in LIBC for genereated DLLs and
executables. The option is set by default.
Fixes:
- corelib: Created wrappers for all Win* and Gpi* calls that restore the FPU
Control Word to what C/C++ programs expect. This fixes crashes in various
Qt applications (e.g. mp3diags) due to SIGFPE.
- corelib: QLibraryInfo: Fixed: qt.conf would not have been loaded if a
component path was requested before QCoreApplication instance creation.
- corelib: QLibraryInfo: Changed default "Settings" path to %ETC%/xdg.
Also use %ETC%/qtsys.conf as the system-wide qt.conf instead of
%ETC%/qt/qtsys.conf.
- corelib: QFSFileEngine: Fixed: On OS/2, trailing spaces in file names are
ignored ("readme " = "readme") but kLIBC doesn't handle this well so strip
them before passing to LIBC APIs.
- corelib: QFile::copy(): Use DosCopy() instead of read/write.
- corelib: Fixed: QProcess::startDetached() would either crash or fail to
start a process.
- corelib: Fixed: QFileInfo::isExecutable() would return true for all files on
local OS/2 file systems.
- gui: Fixed: Popups shown when another application is active were not
controllable with keyboard and didn't close on an outside mouse click.
- gui: Fixed: Visible title bar and frame of the top-level window after
switching to fullscreen.
- gui: Fixed: Wrong widget-relative mouse position in mouse events. This fixes
problems with dragging widget splitters (separators) in applications using
dock widgets.
- gui: Fixed: QEvent::Enter/Leave events were delivered incorrectly if the
alien child widget belonging to a native parent intersected with a native
child of this parent (this in particular caused extended tool bars to
immediately un-extend once the mouse moves over the extended part).
- gui: Fixed: Mouse press events replayed after closing the popup by clicking
outside it had incorrect coordinates. This resulted into various kinds of
misbehavior including spatial text selection in QTextEdit widgets after
closing popups by clicking inside these widgets.
- gui: Fixed: The default application icon embedded into the executable was
not actually used as the default window icon for top-level widgets.
- qmake/os2-g++: Do not use EXEPACK tool on static libraries.
- qmake: Several fixes to make install targets work correctly.
For those who haven't noticed yet, we released version 4.5.1 GA of Ot4 for OS/2.
Here's the change log:
4.5.1 GA (05-02-2010)
Improvements:
- general: Switched the compiler to the GCC 4.4.2 build provided by Paul
Smeldey. This gives better standard conformance, better code optimization
and provides more compact DLLs and EXEs whose size is greater than ~1M.
- corelib: QSettings: Use IniFormat (plain INI files) when NativeFormat is
requested instead of the Open32 registry which is known to be unstable and
can be easily corrupted. The old behavior may be restored using the
QT_PM_REGISTRY environment variable.
- corelib: Use UniStrcoll for QString::localeAwareCompare() for locale-aware
comparison of NLS strings.
- gui: Implemented full Direct Manipulation (Drag And Drop) support. This
includes dragging text, URLs and files between PM and Qt applications,
dragging any MIME data across Qt applications, setting custom drag pointer
pixmaps, painting in widgets while dragging.
- gui: Implemented session management with the QSessionManager class.
- gui: Fully implemented the QDesktopServices class.
- gui: Added support for numpad keys and for some common multimedia keys
recognized by eCS (volume, home, search, favorites).
- gui: QCursor: Added missing cursor shapes and implemented support for custom
cursor shapes.
- gui: Implemented QFontDatabase::addApplicationFont()/removeApplicationFont()
and friends.
- gui: Implemented proper generation of possible key and modifier combinations
for a given key event. This in particular enables Ctrl+<letter> shortcuts
for non-Latin languages and also makes Ctrl+<letter>, Alt+<letter> and
similar shortcuts language-neutral.
- gui: QWidget: When setting the parent, take the parent's resolve masks to
make sure attributes imposed by the user on the parent won't be overriden
byv the natural palette for this widget if it differs from
QApplication::palette() [vendor bug].
- gui: Use a normal border for top-level Tool widgets since the thin one is
too thin and cannot be resized.
- gui: Implemented delivering of QEvent::NonClientAreaMouse* events to
top-level widgets. This enables undocked dock widgets to be docked back by
a double click on the title bar and also by moving over the dock areas.
- plugins: Enabled the sqlite3 plugin which makes the sql module (and
applications depending on it) actually usable.
- tools: Enabled the Qt Designer application.
- tools: Enabled the following toos: pixeltool, q3toq4, xmplatterns.
- qmake/os2-g++: Recognize the "map" option in the CONFIG variable that allows
to turn the generation of .map files on and off. The option is set by
default.
- qmake/os2-g++: Recognize the "highmem" option in the CONFIG variable that
allows to enabled memory support in LIBC for genereated DLLs and
executables. The option is set by default.
Fixes:
- corelib: Created wrappers for all Win* and Gpi* calls that restore the FPU
Control Word to what C/C++ programs expect. This fixes crashes in various
Qt applications (e.g. mp3diags) due to SIGFPE.
- corelib: QLibraryInfo: Fixed: qt.conf would not have been loaded if a
component path was requested before QCoreApplication instance creation.
- corelib: QLibraryInfo: Changed default "Settings" path to %ETC%/xdg.
Also use %ETC%/qtsys.conf as the system-wide qt.conf instead of
%ETC%/qt/qtsys.conf.
- corelib: QFSFileEngine: Fixed: On OS/2, trailing spaces in file names are
ignored ("readme " = "readme") but kLIBC doesn't handle this well so strip
them before passing to LIBC APIs.
- corelib: QFile::copy(): Use DosCopy() instead of read/write.
- corelib: Fixed: QProcess::startDetached() would either crash or fail to
start a process.
- corelib: Fixed: QFileInfo::isExecutable() would return true for all files on
local OS/2 file systems.
- gui: Fixed: Popups shown when another application is active were not
controllable with keyboard and didn't close on an outside mouse click.
- gui: Fixed: Visible title bar and frame of the top-level window after
switching to fullscreen.
- gui: Fixed: Wrong widget-relative mouse position in mouse events. This fixes
problems with dragging widget splitters (separators) in applications using
dock widgets.
- gui: Fixed: QEvent::Enter/Leave events were delivered incorrectly if the
alien child widget belonging to a native parent intersected with a native
child of this parent (this in particular caused extended tool bars to
immediately un-extend once the mouse moves over the extended part).
- gui: Fixed: Mouse press events replayed after closing the popup by clicking
outside it had incorrect coordinates. This resulted into various kinds of
misbehavior including spatial text selection in QTextEdit widgets after
closing popups by clicking inside these widgets.
- gui: Fixed: The default application icon embedded into the executable was
not actually used as the default window icon for top-level widgets.
- qmake/os2-g++: Do not use EXEPACK tool on static libraries.
- qmake: Several fixes to make install targets work correctly.
--
Keep cool,
dmik
* JID: dmik at jabber ru
Keep cool,
dmik
* JID: dmik at jabber ru