diff options
Diffstat (limited to 'doc/src/porting/qt3to4.qdoc')
-rw-r--r-- | doc/src/porting/qt3to4.qdoc | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/doc/src/porting/qt3to4.qdoc b/doc/src/porting/qt3to4.qdoc new file mode 100644 index 0000000..d788f67 --- /dev/null +++ b/doc/src/porting/qt3to4.qdoc @@ -0,0 +1,179 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at http://qt.nokia.com/contact. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page qt3to4.html + \title qt3to4 - The Qt 3 to 4 Porting Tool + + \ingroup porting + \keyword qt3to4 + + The \c qt3to4 tool provides help when moving a project from Qt 3 + to Qt 4. It is designed to automate the most tedious part of the + porting effort. + + See \l{Porting to Qt 4} and \l{Porting UI Files to Qt 4} for + more information about porting Qt 3 applications to Qt 4. + + \section1 Usage + + \c qt3to4 can be run either on individual C++ source or header + files, or on an entire project specified by a \c qmake \c .pro + file: + + \snippet doc/src/snippets/code/doc_src_qt3to4.qdoc 0 + + In project mode, \c qt3to4 reads the \c .pro file and converts + all files specified in it. The tool modifies the files in place. + You might want to make a copy of your project before you run the + tool. + + \section1 Porting Rules + + The Qt porting tool loads its porting rules from an XML file + called \c q3porting.xml located in Qt's \c tools/porting/src directory. + By editing this file, you can add your own rules or remove some + rules. + + The standard \c q3porting.xml file specifies the following + conversions: + + \list + \o Rename classes that are now part of the Qt 3 support + library (e.g., replace \c QFileDialog with \c{Q3FileDialog}). + \o Prefix or rename enum values that have been moved or + renamed (e.g., replace \c QButton::On with \c{QCheckBox::On}) or + members of the Qt namespace (e.g., replace \c QWidget::red with + \c{Qt::red}). + \o Add \c #include directives that might be needed in Qt 4. + \endlist + + \section2 Location of the qt3porting.xml File + + You can now specify the location of the \c qt3porting.xml file with the + \c{-f} command line option. This is useful if you want to use a modified + file with your own rules. + + If you you don't want to maintain a modified \c qt3porting.xml it is + possible to create a "patch" file that includes the original file and adds + or disables rules. The syntax for this file looks like this: + + \snippet doc/src/snippets/code/doc_src_qt3to4.qdoc 1 + + \section1 Logging + + The porting tool logs all changes to a file called \c + portinglog.txt in the current directory. This file lists all + changes made to the source files. + + \section1 Advanced Usage + + When porting, \c qt3to4 parses the source files and ports the + contents according to the C++ language rules. This C++ parsing + step can be disabled with the \c -disableCppParsing option. + + If C++ parsing is enabled, \c qt3to4 must be able to locate the + headers included from the source files. Necessary headers include + the public Qt headers and any headers that declares names that + may conflict with names in the public Qt headers. The standard + C++ headers and system headers are usually not needed. + + You can tell \c qt3to4 where to look for headers by using the + \c{-I} command-line option. Qt 3.3 header information is built + in, so it is normaly not necessary to specify the location of the + Qt headers. If you are porting from a different version of Qt 3, + you may want to disable the built-in headers with + \c{-disableBuiltInQt3Headers}, and then add the path to the + actual headers with the \c{-I} option. + + When porting a project, \c qt3to4 will read the \c INCLUDEPATH + and \c DEPENDPATH variables from the \c .pro file and add the + paths specified here to the list of include search directories. + + To see which headers that are not found, use the \c{-missingFileWarnings} + option. + + \section1 Limitations + + In some cases, you might get compiler errors because of identifiers + in the global namespace (e.g., \c CTRL). Adding + + \snippet doc/src/snippets/code/doc_src_qt3to4.qdoc 2 + + at the beginning of the source file that contains + the indentifier solves the problem. + + \section1 Legal Notices + + Some source code in \c qt3to4 is licensed under specific highly + permissive licenses from the original authors. Nokia gratefully + acknowledges these contributions to \c qt3to4 and all uses of + \c qt3to4 should also acknowledge these contributions and quote the + following license statements in an appendix to the documentation. + + \list + \o \l{Contributions to the Following qt3to4 Files: treewalker.h, + treedump.cpp, treedump.h, treewalker.cpp} + \endlist +*/ + +/*! + \page qt3to4-treewalker.html + \title Contributions to the Following qt3to4 Files: treewalker.h, treedump.cpp, treedump.h, treewalker.cpp + \ingroup licensing + \brief License information for contributions to the qt3to4 source code. + + \legalese + Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). \BR + Copyright (C) 2005 Roberto Raggi + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, modify, market, reproduce, + grant sublicenses and distribute subject to the following + conditions: The above copyright notice and this permission notice + shall be included in all copies or substantial portions of the + Software. These files are provided AS IS with NO WARRANTY OF ANY + KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTIBILITY AND FITNESS + FOR A PARTICULAR PURPOSE. + \endlegalese +*/ |