Changeset 524


Ignore:
Timestamp:
Feb 4, 2010, 8:58:37 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

README for GA.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/CHANGES.OS2

    r397 r524  
    44
    55CHANGES
     6
     7GA (04-02-2010)
     8
     9  Improvements:
     10
     11  - general: Switched the compiler to the GCC 4.4.2 build provided by Paul
     12    Smeldey. This gives better standard conformance, better code optimization
     13    and provides more compact DLLs and EXEs whose size is greater than ~1M.
     14
     15  - corelib: QSettings: Use IniFormat (plain INI files) when NativeFormat is
     16    requested instead of the Open32 registry which is known to be unstable and
     17    can be easily corrupted. The old behavior may be restored using the
     18    QT_PM_REGISTRY environment variable.
     19
     20  - corelib: Use UniStrcoll for QString::localeAwareCompare() for locale-aware
     21    comparison of NLS strings.
     22
     23  - gui: Implemented full Direct Manipulation (Drag And Drop) support. This
     24    includes dragging text, URLs and files between PM and Qt applications,
     25    dragging any MIME data across Qt applications, setting custom drag pointer
     26    pixmaps, painting in widgets while dragging.
     27
     28  - gui: Implemented session management with the QSessionManager class.
     29
     30  - gui: Fully implemented the QDesktopServices class.
     31
     32  - gui: Added support for numpad keys and for some common multimedia keys
     33    recognized by eCS (volume, home, search, favorites).
     34
     35  - gui: QCursor: Added missing cursor shapes and implemented support for custom
     36    cursor shapes.
     37
     38  - gui: Implemented QFontDatabase::addApplicationFont()/removeApplicationFont()
     39    and friends.
     40
     41  - gui: Implemented proper generation of possible key and modifier combinations
     42    for a given key event. This in particular enables Ctrl+<letter> shortcuts
     43    for non-Latin languages and also makes Ctrl+<letter>, Alt+<letter> and
     44    similar shortcuts language-neutral.
     45
     46  - gui: QWidget: When setting the parent, take the parent's resolve masks to
     47    make sure attributes imposed by the user on the parent won't be overriden
     48    byv the natural palette for this widget if it differs from
     49    QApplication::palette() [vendor bug].
     50
     51  - gui: Use a normal border for top-level Tool widgets since the thin one is
     52    too thin and cannot be resized.
     53
     54  - gui: Implemented delivering of QEvent::NonClientAreaMouse* events to
     55    top-level widgets. This enables undocked dock widgets to be docked back by
     56    a double click on the title bar and also by moving over the dock areas.
     57
     58  - plugins: Enabled the sqlite3 plugin which makes the sql module (and
     59    applications depending on it) actually usable.
     60
     61  - tools: Enabled the Qt Designer application.
     62
     63  - tools: Enabled the following toos: pixeltool, q3toq4, xmplatterns.
     64
     65  - qmake/os2-g++: Recognize the "map" option in the CONFIG variable that allows
     66    to turn the generation of .map files on and off.
     67
     68  Fixes:
     69
     70  - corelib: Created wrappers for all Win* and Gpi* calls that restore the FPU
     71    Control Word to what C/C++ programs expect. This fixes crashes in various
     72    Qt applications (e.g. mp3diags) due to SIGFPE.
     73
     74  - corelib: QLibraryInfo: Fixed: qt.conf would not have been loaded if a
     75    component path was requested before QCoreApplication instance creation.
     76
     77  - corelib: QLibraryInfo: Changed default "Settings" path to %ETC%/xdg.
     78    Also use %ETC%/qtsys.conf as the system-wide qt.conf instead of
     79    %ETC%/qt/qtsys.conf.
     80
     81  - corelib: QFSFileEngine: Fixed: On OS/2, trailing spaces in file names are
     82    ignored ("readme " = "readme") but kLIBC doesn't handle this well so strip
     83    them before passing to LIBC APIs.
     84
     85  - corelib: QFile::copy(): Use DosCopy() instead of read/write.
     86
     87  - corelib: Fixed: QProcess::startDetached() would either crash or fail to
     88    start a process.
     89
     90  - gui: Fixed: Popups shown when another application is active were not
     91    controllable with keyboard and didn't close on an outside mouse click.
     92
     93  - gui: Fixed: Visible title bar and frame of the top-level window after
     94    switching to fullscreen.
     95
     96  - gui: Fixed: Wrong widget-relative mouse position in mouse events. This fixes
     97    problems with dragging widget splitters (separators) in applications using
     98    dock widgets.
     99
     100  - gui: Fixed: QEvent::Enter/Leave events were delivered incorrectly if the
     101    alien child widget belonging to a native parent intersected with a native
     102    child of this parent (this in particular caused extended tool bars to
     103    immediately un-extend once the mouse moves over the extended part).
     104
     105  - gui: Fixed: Mouse press events replayed after closing the popup by clicking
     106    outside it had incorrect coordinates. This resulted into various kinds of
     107    misbehavior including spatial text selection in QTextEdit widgets after
     108    closing popups by clicking inside these widgets.
     109
     110  - gui: Fixed: The default application icon embedded into the executable was
     111    not actually used as the default window icon for top-level widgets.
     112
     113  - qmake/os2-g++: Do not use EXEPACK tool on static libraries.
     114
    6115
    7116Beta 5 (06-12-2009)
  • trunk/README.OS2

    r429 r524  
    22
    33This document contains a brief information on the OS/2 version of the Qt
    4 library. Please visit the project page at
     4library. Please read it carefully before starting your work. You may also
     5visit the project page at
    56
    67  http://svn.netlabs.org/qt4/wiki
     
    2021  - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems.
    2122
    22   - InnoTek GCC compiler version 3.3.5 CSD3 or above (not tested).
    23     You can download a copy of the compiler using the following link:
     23  - InnoTek GCC compiler version 3.3.5 CSD3 or 4.4.2 (recommended).
     24    You can download the GCC 4.4.2 compiler using the following link:
     25
     26      http://download.smedley.info/gcc-4.4.2-os2-20091205.zip
     27
     28    GCC 4.4.2 requires newer binutils available at:
     29
     30      http://download.smedley.info/binutils-2.19.1-os2-20090427.zip
     31
     32    Note that in order to use the above version of GCC, you will also need
     33    to install the previous 3.x version (e.g. 3.3.5 CSD3) available at:
    2434
    2535      ftp://ftp.netlabs.org/pub/gcc/GCC-3.3.5-csd3.zip
     
    4959
    5060After unpacking the GCC archive, you will have to set up the compiler
    51 environment by invoking gccenv.cmd from the bin subdirectory with the correct
     61environment by invoking gccenv.cmd from the "bin" subdirectory with the correct
    5262arguments (type gccenv.cmd -? for help). For the OpenWatcom linker, specify
    5363WLINK as the second argument.
     64
     65Please note that setting up the GCC 4.x environment requires some additional
     66steps. Please look through the README files contained within the OS/2
     67distribution.
    5468
    5569You will also need to perform the following steps:
     
    6377    by doing 'set MAKESHELL=C:\OS2\CMD.EXE' where C: is your boot drive.
    6478
    65   - set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL where C: is your boot drive.
     79  - Do set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL where C: is your boot drive.
    6680
    6781  - Make sure that there are no traces of any other Watcom or OpenWatcom
     
    7084    removing all *WATCOM* environment variables and removing references to those
    7185    Watcom installations from PATH.
     86
     87  - Add the "bin" subdirectory of the directory where you unpacked the Qt4
     88    source tree to PATH and BEGINLIBPATH using its full path, e.g.:
     89
     90      set PATH=D:\Coding\Qt4\bin;%PATH%
     91      set BEGINLIBPATH=D:\Coding\Qt4\bin;%BEGINLIBPATH%
    7292
    7393Note that the QTDIR environment variable used by previous Qt versions is not
     
    191211
    192212Using the "dev" package requires the same environment as the one necessary for
    193 building Qt and described in section SETTING UP THE ENVIRONMET above. The
    194 process of compiling Qt applications using the "dev" package is basically the
    195 same as with the hand made-build of Qt. Note, however, that if you are
     213building Qt and described in section SETTING UP THE ENVIRONMET above with the
     214exception that the "bin" subdirectory of the directory where you installed the
     215"dev" package needs to be added to PATH instead of the "bin" subdirectory of
     216the Qt4 source tree.
     217
     218The process of compiling Qt applications using the "dev" package is basically
     219the same as with the hand made-build of Qt. Note, however, that if you are
    196220developing or porting a Qt application, it is still recommended that you build
    197221the debug version of the Qt library yourself and use it in your daily work since
     
    206230  qt-examples-src-X_Y_Z.wpi  - Demo and example sources ("examples")
    207231
    208 In order to build the demo and example applications, go to the directory where
    209 you installed the respective package (e.g. D:\Coding\Qt4\demos) and type:
     232The "examples" package contains the source code for all demo and example
     233applications shipped with Qt. They serve as a good demonstration of the Qt
     234library features and it is recommended to build them if you plan to write your
     235own applications. In order to build them, go to the directory where you
     236installed the respective package (e.g. D:\Coding\Qt4\examples) and type:
    210237
    211238  qmake
     
    261288CURRENT LIMITATIONS
    262289
    263   1. configure.cmd is not yet capable to generate individual Makefiles for demos
    264      and examples, it only generates the main Makefile that builds the library
    265      and the necessary tools. Demos and examples can be compiled by hand
    266      (as described above).
    267 
    268   2. OS/2 bitmap fonts are not yet supported. Use TTF or Type1 (PFB) fonts with
     290  1. configure.cmd is not yet capable of generating individual Makefiles for
     291     demos and examples, it only generates the main Makefile that builds the
     292     library and the necessary tools. Demos and examples can be compiled by
     293     hand (as described above).
     294
     295  2. configure.cmd does not understand any command line options. If you want
     296     to customize the build of the Qt library (which is not recommended), you
     297     may try to modify configure.cmd itself.
     298
     299  3. OS/2 bitmap fonts are not yet supported. Use TTF or Type1 (PFB) fonts with
    269300     Qt.
    270301
    271   3. In order to let Qt correctly detect the regional settings and choose the
     302  4. In order to let Qt correctly detect the regional settings and choose the
    272303     right language for translating the user interface, the LANG environment
    273304     variable must be set. The format is
     
    281312     detects the encoding automatically based on the system OS/2 settings.
    282313
    283      Later, the correct language will be detected from the system settings and
    284      specifying LANG will be not necessary at all.
    285 
    286   4. Some functionality of the already available Qt classes may be limited or
    287      unimplemented. If you find such a case and there is no ticket for it
    288      in the bug tracker, feel free to add one.
     314     Later, the correct language will be detected from the system settings so
     315     that specifying LANG will be not necessary at all.
    289316
    290317  5. No qt3support module. This functionality is rarely necessary in mature
     
    299326       http://users.socis.ca/~ataylo00/creative/fonts/workplace/
    300327
    301   7. QProcess: when starting PM applications from text-mode applications and
    302      when detaching applications with startDetached(), the returned PID is a
    303      PID of the intermediate cmd.exe process, not the target application.
    304 
    305   8. No QDesigner, no QAssistant.
    306 
    307   9. No Drag&Drop, no printer support. See the project roadmap for more
    308      information on the current progress and future plans:
    309 
    310        http://svn.netlabs.org/qt4/roadmap
     328  7. QProcess: when starting PM applications from text-mode applications, the
     329     returned PID is a PID of the intermediate cmd.exe process, not the target
     330     application.
     331
     332  8. The followign classes are not available due to their rare usage or low
     333     importance on the OS/2 platform: QSharedMemory, QSystemSemaphore,
     334     QInputContext, QAccessible. The following macros are defined to indicate
     335     this: QT_NO_SYSTEMSEMAPHORE, QT_NO_SHAREDMEMORY,
     336     QT_NO_IM, QT_NO_ACCESSIBILITY. Applications normally use them to guard the
     337     relevant parts of code so they should still build.
     338
     339  9. No QAssistant, no printer support (QT_NO_PRINTER and QT_NO_PRINTDIALOG are
     340     defined). No IPV6 support in the network module (QT_NO_IPV6 is defined).
     341
     342  See the project roadmap for more information on the current progress and
     343  future plans:
     344
     345    http://svn.netlabs.org/qt4/roadmap
     346
     347  Feel free to request new features and report bugs using the project bug
     348  tracker abaialble at:
     349
     350    http://svn.netlabs.org/qt4/report
    311351
    312352
Note: See TracChangeset for help on using the changeset viewer.