Qt 4 beta 4 released

Silvan Scherrer and Dmitry A. Kuminov have released the fourth beta of the port of the Qt 4 application framework to OS/2 and eComStation, i.e., version 4.5.1 beta 4. The new release comes with sound support, speed improvements, and a special system tray widget for the XCenter.

Beta 4 includes the following changes in detail:

Improvements:

Added sound support (implemented QSound class).

Added system tray support (QSystemTrayIcon class). This support requires the Extended system tray XCenter plugin to be installed. See the note above on how to compile and install this plugin.

Enabled QPlugin support on OS/2. This in turn enables SVG support for QIcon (which is built as a Qt plugin DLL by default).

Better widget modality support (widgets blocked by modality cannot be activated and moved using the mouse and the title bar anymore).

Added support for 'console' and 'windows' CONFIG options in .pro files. Now, if 'windows' is present, the target executable will have the WINDOWAPI attribute set which effectively makes it a PM application. This, in particular, disables standard input, output and error streams so that when started, the application will not have a console window attached to it and will not support input/output redirection operators on the command line. By default, 'console' mode is active unless you perform a release build and the application is linked against the QtGui library ('QT = gui' in .pro), in which case the default is 'windows'.

Added LxLite support to provide compression for executables and DLLs. The compression is controlled by the 'exepack' CONFIG option which is turned on by default for release builds if the LxLite executable is present in PATH during the configure.cmd invocation. The compression may be turned off on a per-project basis by adding a 'CONFIG -= exepack' line to the .pro file.

Improved the section of this README.OS2 file that describes how to properly set the LANG variable to have correct national characters in file names and in window titles of Qt applications.

Fixes:

QProcess: The executable's path was not always added to BEGINLIBPATH.

Fixed-size top-level widgets could not be moved.

Application crash after pressing a button in a dialog window that resizes this dialog (for example, makes it bigger to show more information).

Resizing top level windows using the top border broke mouse coordinates so that Qt tought you pressed the mouse button in a different place of the window than where you actually did it.

Events posted with QCoreApplication::postEvent() were only processed upon receiving a next message from the system. This caused funny delays such as controls in a Qt window still indicating the input focus (the dotted rectangle) after the window was deactivated and losing this indication only when the mouse pointer was moved over the window.

Don't replay mouse button press on a push button that is showing a popup menu but instead hide the popup menu and unpress the button to get more native look and feel.

Deactivating the window with a push button showing a popup menu would hide the popup but leave the button pressed.

Fixed incorrect Qt dirty widget region calculation when processing WM_PAINT messages. This fixes a lot of redraw problems (menu items in the main menu bar, text in combo-boxes, various redraw problems in smplayer when switching interfaces and going to/from fullscreen, and similar).

Qt is a cross-platform application development framework, which is widely used as a widget toolkit for developing GUI programs. Availability for OS/2 and eComStation both means that developers can easily port existing Qt applications and create new ones more easily.

This already has been the case with Qt 3. Now that Qt 4 is widely used, the netlabs.org Qt 4 project aims to make the latest version 4.5 available for OS/2 and eComStation. It currently is in beta stage and applications start to become available.