= Qt 4 Application and UI Framework for eCS (OS/2) = [[PageOutline]] Qt is a cross-platform application and UI framework. Using Qt, you can write applications once and deploy them across many desktop and embedded operating systems without rewriting the source code. (See [http://en.wikipedia.org/wiki/Qt_(toolkit)].) Availability for eCS means being able to port a [http://www.qt-apps.org/ large number of existing applications]. [[br]][[br]] == History == A few years ago netlabs.org hired Dmitriy Kuminov (aka dmik) to port version 3 of the toolkit to the eCS (OS/2) platform. This port is working well and made it possible to port many applications to our platform. Some time ago Qt 4 got introduced. New Qt applications use this version of the toolkit, of course, but also more and more existing Qt 3 applications have been making the switch. To make sure we can port those applications again, we have to invest some more work into the eCS (OS/2) port, as Qt 4 redid a lot of things from scratch. Dmitriy offered us to work on the port again. Our goal would be to hire him for about 5 months, but we cannot do that ourself without help from the community. [[br]][[br]] == Sponsoring == We do have some money in the queue but it's not enough yet. If you would like to contribute to this port, you are welcome to buy a sponsoring unit for that at Mensys. 100% of that money will be transferred to netlabs.org. The Mensys sponsor link is: [http://www.mensys.com/shop/NetlabsQT4] The current donation meter is available at: [http://svn.netlabs.org/qt4/wiki/WikiStart/sponsoring] [[br]][[br]] == Current Status and history == [[Image(wiki:WikiStart:qt4-os2-4.6.2.jpg, 300px, right)]] Right now we are not actively working on Qt4. We plan to update it in the near future. You may find more detailed information about the project progress and future plans on the [http://svn.netlabs.org/qt4/roadmap Roadmap] page. If you are an end-user, there already are some [http://svn.netlabs.org/qtapps/ applications] available for testing. [[br]][[br]] === History === * As of the 22nd of March 2013, Qt 4.7.3 GA2 is available * As of the 15th of September 2011, Qt 4.7.3 is available * As of the 19th of November 2010, Qt 4.6.3 is available * As of the 14th of May 2010, Qt 4.6.2 is available * As of the 5th of February, 2010, the '''Qt framework version 4 for OS/2 is generally available! ''' This means that the major parts of the Qt toolkit have been ported to OS/2 which makes dozens of Qt 4 applications potentially available to the OS/2 platform. Qt 4 for OS/2 is distributed in a convenient way using WarpIn packages which makes it very easy to install and use it. These packages are maintained by netlabs.org and provide a so-called official build of the Qt 4 toolkit which ensures that all Qt applications use the same set of Qt 4 runtime libraries to save system resources and improve general stability. Below you will find download links to the available packages along with their descriptions. [[br]] == Latest Version == The latest version is '''4.7.3 GA2''' released on 22.03.2013. This release brings a series of important OS/2-specific improvements. In particular, support for kLIBC path rewrite feature (paths like /@unixroot) and support for symlinks in file system related classes and in the file dialog UI was added. Also, a bug that could crash applications when loading plugins was fixed. The more detailed list of changes can be found in the [source:/tags/4.7.3.2/CHANGES.OS2 CHANGES.OS2] file. Starting from version '''4.7.3''', the primary way to distribute and install official binary builds of Qt for OS/2 is RPM. This means that all Qt components are provided as RPM packages which may be installed from either the netlabs RPM repositories using the YUM command or directly using the RPM command (the GUI frontend is on the way). In order to install RPM packages on your machine, you need to install the RPM bootstrap package (once) which contains the RPM installer. The installation of RPM is described [http://svn.netlabs.org/rpm/wiki/RpmInstall here] in detail. Once you have RPM installed, you may issue one of following commands to install various parts of Qt: ||'''yum install libqt4''' ||Installs the basic Qt4 runtime needed for console Qt applications ||'''yum install libqt4-gui''' ||Installs the Qt4 GUI runtime needed for Qt GUI applications ||'''yum install libqt4-webkit''' ||Installs the Qt4 WebKit runtime needed for Qt web-related applications ||'''yum install libqt4-sql-mysql''' ||Installs the MySQL driver for the Qt4 SQL runtime (needed for some applications) ||'''yum install libqt4-sql-psql''' ||Installs the Postgres SQL driver for the Qt4 SQL runtime (needed for some applications) ||'''yum install qt4-demos''' ||Installs the Qt Demo application that demonstrates various Qt features ||'''yum install qt4-devel-kit''' ||Installs the complete Qt development environment for compiling Qt applications from sources Note that the first two commands are not normally needed -- if you install a Qt application from the RPM repository, it will install all required Qt runtime variants automatically. These commands are only necessary if you have a Qt application distributed as a ZIP archive. If such an application doesn't work after you install the '''libqt4''' package, then you may need to install some other Qt4 package that contains the required component of the Qt4 framework. In order to see all Qt4 packages available in the RPM repository and their short descriptions, execute the following command: {{{ yum search qt4 }}} --------------- '''Please note that you must remove all previous non-RPM installations of Qt, including the !WarpIn ones, before installing any Qt RPM package! Otherwise, the new RPM installation may be incorrect or even fail.''' If you accidentally forget to de-install the Qt !WarpIn packages before installing one of the the Qt RPMs, then you will definitely get a broken RPM installation because the '''libqt4''' package containing the core DLLs will fail to install (it will give you the corresponding message but it may scroll up before you can read it if you install something big like '''qt4-devel-kit'''). In order to recover from such a failure, do the following: 1. Remove all incorrectly installed Qt RPM packages: {{{ yum remove '*qt4*' }}} 2. De-install Qt 4 WPI packages with !WarpIn. 3. Install the desired RPM package with yum again. --------------- We also provide two ZIP packages of the Qt toolkit for your convenience, if for some reason you cannot use RPM. They are described below. ==== Prerequisites ==== This is a list of prerequisites for the Qt ZIP packages. Note that if you use the RPM packages, these prerequisites, '''except eCUPS and xsystray''', will be installed automatically. eCUPS and xsystray are not in RPM repositories yet so you will need to install them from WPI in either case. ||'''GCC 4 Core Libraries'''||[ftp://ftp.netlabs.org/pub/gcc/gcc4core-1_2_1.wpi WPI]||GCC 4 runtime libraries needed for all Qt 4 installations (required).|| ||'''xsystray widget'''||[ftp://ftp.netlabs.org/pub/qt4/xsystray/xsystray-0_1_1.wpi WPI]||Extended system tray widget for xCenter/eCenter for system tray support In Qt (optional).|| ||'''eCUPS Installer'''||[http://svn.netlabs.org/ecups Wiki]||eCUPS support necessary for printing to work in Qt 4 applications (optional). Please see the wiki for installation steps.|| ||'''OpenSSL Runtime'''||[http://bauxite.sakura.ne.jp/tmp/os2/openssl-1.0.0a-os2knix-20100706-runtime.zip ZIP]||Contains OpenSSL DLLs necessary for OpenSSL support and for MySQL/PostgresSQL plugins to operate (optional).|| ==== Qt 4 ZIP Packages ==== ||'''Qt Runtime Libraries and Plugins'''||[ftp://ftp.netlabs.org/pub/qt4/4.7.3.2/qt4-4.7.3.2-1.zip ZIP]||Qt 4 runtime necessary to run Qt 4 applications.|| ||'''Qt Development Libraries and Tools'''||[ftp://ftp.netlabs.org/pub/qt4/4.7.3.2/qt4-devel-kit-4.7.3.2-1.zip ZIP]||Qt 4 development environment necessary compile applications created using the Qt4 framework. Requires the '''Qt Runtime Libraries and Plugins''' package.|| The full Qt source code can be downloaded from the SVN repository. In order to do so you need to download and install the subversion client for eCS (OS/2) and issue the following command ('''' is a directory where you want to save the sources to): {{{ svn export http://svn.netlabs.org/repos/qt4/tags/4.7.3.2 }}} Alternatively, if you want to play with the latest development version, you can check out the development trunk from the SVN repository using the following command: {{{ svn checkout http://svn.netlabs.org/repos/qt4/trunk }}} The required tools and build instructions are described in the [source:/tags/4.7.3.2/README.OS2 README.OS2] file. The older downloads are available [ftp://ftp.netlabs.org/pub/qt4/ here]. [[br]][[br]] == Reporting Bugs == Reporting bugs and requesting new features is done through the ticket system. You can view existing tickets, add comments to them and create new tickets using the corresponding buttons at the top of every page. If you want to submit a new bug or request a feature, please use the Search function first to make sure there is no ticket for this task already created.[[BR]] We review the tickets regulary and leave comments if we need more info. So please revisit the [http://svn.netlabs.org/qt4/report/11 Feedback analysis] as often as possible. If we leave comment and don't get feedback from the ticket creator, we will close the ticket after some weeks. [[BR]][[BR]] Anonymous access to the ticket system has been restricted due to multiple attacks of stupid spammers we've been suffering from lately. In order to create a new ticket or comment the existing one, you need to login with your Netlabs login id. If you do not have a login id, you can request one at [http://www.netlabs.org/en/site/member/member.xml]. We are sorry for inconvenience, but at the present time this is the only way to avoid extremely annoying spam. [[br]][[br]] == Mailing Lists == Project discussion is done through mailing list conversations. Currently, the following mailing lists are available: * '''{{{qt-user()netlabs.org}}}''' [[mailto:qt-user-subscribe-at-netlabs.org subscribe]|[http://news.gmane.org/gmane.org.netlabs.qt.user read online]] This mailing list is intended to discuss the usage of the eCS (OS/2) version of the Qt Toolkit for creating or porting applications. Announces of new releases are also posted to this list. * '''{{{qt-dev()netlabs.org}}}''' [[mailto:qt-dev-subscribe-at-netlabs.org subscribe]|[http://news.gmane.org/gmane.org.netlabs.qt.devel read online]] This mailing list is for developers of Qt for eCS (OS/2). All ticket changes are automatically posted to this list. Please don't post user questions there! == Credits == * Dmitriy Kuminov (development) * Silvan Scherrer (management) * netlabs.org (hosting & support) * Nokia Corporation (original Qt library) We also want to '''thank''' all individuals and organizations who made the donations to this project and helped to make it happen. Please go to [http://qt.netlabs.org/en/site/index.xml this] page to get the full list of sponsors. == Award == {{{ #!html }}} == Screenshots == The downloadlink for most of the applications below is found on the [http://svn.netlabs.org/qtapps QtApps] page. {{{ #!div style="float:left; margin-right: 10px;" [[Image(wiki:WikiStart:smplayer068.jpg, 200px)]][[BR]] SMPlayer v. 0.6.8 }}} {{{ #!div style="float:left; margin-right: 10px;" [[Image(wiki:WikiStart:smplayer_systray.jpg, 200px)]][[BR]] SMPlayer v. 0.6.8 with SystemTray support (part of Qt beta4) }}} {{{ #!div style="float:left; margin-right: 10px;" [[Image(wiki:WikiStart:kdiff3.jpg, 200px)]][[BR]] KDiff3 v. 0.9.95 }}} {{{ #!div style="clear:left; float:left; margin-right: 10px;" [[Image(wiki:WikiStart:mp3diags.jpg, 200px)]][[BR]] mp3diags }}} {{{ #!div style="float:left; margin-right: 10px;" [[Image(wiki:WikiStart:blubbels.jpg, 200px)]][[BR]] blubbels v. 0.9 }}} {{{ #!div style="float:left; margin-right: 10px;" [[Image(wiki:WikiStart:Gomoku.jpg, 200px)]][[BR]] !CuteGomoku }}} {{{ #!div style="clear:left; float:left; margin-right: 10px;" [[Image(wiki:WikiStart:abby-0.4.3-about.jpg, 200px)]][[BR]] Abby 0.4.3 }}} {{{ #!div style="float:left; margin-right: 10px;" [[Image(wiki:WikiStart:simsu.jpg, 200px)]][[BR]] Simsu 1.2.1 }}} {{{ #!div style="float:left; margin-right: 10px;" [[Image(wiki:WikiStart:tubularix.jpg, 200px)]][[BR]] Tubularix }}} {{{ #!div style="clear:left; float:left; margin-right: 10px;" [[Image(wiki:WikiStart:qbit.jpg, 200px)]][[BR]] QBittorrent 1.5.4 }}} {{{ #!div style="float:left; margin-right: 10px;" [[Image(wiki:WikiStart:psi-015.jpg, 200px)]][[BR]] PSI 0.15 }}} {{{ #!div style="clear:left; margin-bottom: 10px;" }}}