Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 4.5
  • master
  • 4.4
  • 4.1
  • 4.3
  • 4.2
  • wip/clang-query
  • 4.0
  • 3.6
  • at-master
  • qp-master
  • csa-master
  • at-3.6
  • qp-3.6
  • csa-3.6
  • 3.5
  • at-3.5
  • csa-3.5
  • wip/boostbuildprojectmanager
  • 3.4
  • qp-3.5
  • at-3.4
  • csa-3.4
  • 3.3
  • qp-3.4
  • qp-3.3
  • csa-3.3
  • 3.2
  • qp-3.2
  • 3.1
  • wip/vcproj
  • qp-3.1
  • 3.0
  • qp-3.0
  • 2.8
  • qp-2.8
  • 2.7
  • 2.6
  • 2.5
  • 2.4
  • 2.3
  • 2.2
  • 2.1
  • 2.0
  • 1.3
  • 2.0.1
  • 2.1.0
  • 2.0.0
  • 2.0.0-beta
  • 1.3.1
  • 1.3.0
  • 1.3.0-beta
  • 1.2
  • 1.2.90
  • 1.1
  • 1.0.0
  • 0.9.2-rc1
  • 0.9.1-beta
  • at-v3.4.0
  • at-v3.4.0-beta1
  • at-v3.4.0-rc1
  • at-v3.4.1
  • at-v3.4.2
  • at-v3.5.0
  • at-v3.5.0-beta1
  • at-v3.5.0-rc1
  • at-v3.5.1
  • at-v3.6.0
  • at-v3.6.0-beta1
  • at-v3.6.0-rc1
  • csa-v3.3.0
  • csa-v3.3.0-beta1
  • csa-v3.3.0-rc1
  • csa-v3.3.1
  • csa-v3.3.2
  • csa-v3.4.0
  • csa-v3.4.0-beta1
  • csa-v3.4.0-rc1
  • csa-v3.4.1
  • csa-v3.4.2
  • csa-v3.5.0
  • csa-v3.5.0-beta1
  • csa-v3.5.0-rc1
  • csa-v3.5.1
  • csa-v3.6.0
  • csa-v3.6.0-beta1
  • csa-v3.6.0-rc1
  • qp-v3.1.0
  • qp-v3.1.0-beta1
  • qp-v3.2.0
  • qp-v3.2.0-beta1
  • qp-v3.2.1
  • qp-v3.2.2
  • qp-v3.3.0
  • qp-v3.3.0-beta1
  • qp-v3.3.0-rc1
  • qp-v3.3.1
  • qp-v3.3.2
  • qp-v3.4.0
  • qp-v3.4.0-rc1
  • qp-v3.4.1
  • qp-v3.4.2
  • qp-v3.5.0
  • qp-v3.5.0-beta1
  • qp-v3.5.0-rc1
  • qp-v3.5.1
  • qp-v3.6.0
  • qp-v3.6.0-beta1
  • qp-v3.6.0-rc1
  • tqtc/v2.6.0
  • tqtc/v2.6.0-rc
  • tqtc/v2.6.1
  • tqtc/v2.7.0
  • tqtc/v2.7.0-rc
  • tqtc/v2.7.2
  • tqtc/v2.8.0
  • tqtc/v2.8.0-beta
  • v1.0.0
  • v1.1.0
  • v1.1.0-rc1
  • v1.1.1
  • v1.2.0
  • v1.2.1
  • v1.2.90
  • v1.3.0
  • v1.3.0-beta
  • v1.3.0-rc1
  • v1.3.1
  • v2.0.0
  • v2.0.0-alpha
  • v2.0.0-beta
  • v2.0.0-rc1
  • v2.0.1
  • v2.1.0
  • v2.1.0-beta
  • v2.1.0-beta2
  • v2.1.0-rc1
  • v2.2.0
  • v2.2.0-beta
  • v2.2.0-rc1
  • v2.2.1
  • v2.3.0
  • v2.3.0-beta
  • v2.3.0-rc
  • v2.3.1
  • v2.4.0
  • v2.4.0-beta
  • v2.4.0-rc
  • v2.4.1
  • v2.5.0
  • v2.5.0-beta
  • v2.5.0-rc
  • v2.5.1
  • v2.5.2
  • v2.6.0
  • v2.6.0-beta
  • v2.6.0-rc
  • v2.6.1
158 results

Target

Select target project
  • Tobias Hunger / qt-creator
1 result
Select Git revision
  • 4.5
  • master
  • 4.4
  • 4.1
  • 4.3
  • 4.2
  • wip/clang-query
  • 4.0
  • 3.6
  • at-master
  • qp-master
  • csa-master
  • at-3.6
  • qp-3.6
  • csa-3.6
  • 3.5
  • at-3.5
  • csa-3.5
  • wip/boostbuildprojectmanager
  • 3.4
  • qp-3.5
  • at-3.4
  • csa-3.4
  • 3.3
  • qp-3.4
  • qp-3.3
  • csa-3.3
  • 3.2
  • qp-3.2
  • 3.1
  • wip/vcproj
  • qp-3.1
  • 3.0
  • qp-3.0
  • 2.8
  • qp-2.8
  • 2.7
  • 2.6
  • 2.5
  • 2.4
  • 2.3
  • 2.2
  • 2.1
  • 2.0
  • 1.3
  • 2.0.1
  • 2.1.0
  • 2.0.0
  • 2.0.0-beta
  • 1.3.1
  • 1.3.0
  • 1.3.0-beta
  • 1.2
  • 1.2.90
  • 1.1
  • 1.0.0
  • 0.9.2-rc1
  • 0.9.1-beta
  • at-v3.4.0
  • at-v3.4.0-beta1
  • at-v3.4.0-rc1
  • at-v3.4.1
  • at-v3.4.2
  • at-v3.5.0
  • at-v3.5.0-beta1
  • at-v3.5.0-rc1
  • at-v3.5.1
  • at-v3.6.0
  • at-v3.6.0-beta1
  • at-v3.6.0-rc1
  • csa-v3.3.0
  • csa-v3.3.0-beta1
  • csa-v3.3.0-rc1
  • csa-v3.3.1
  • csa-v3.3.2
  • csa-v3.4.0
  • csa-v3.4.0-beta1
  • csa-v3.4.0-rc1
  • csa-v3.4.1
  • csa-v3.4.2
  • csa-v3.5.0
  • csa-v3.5.0-beta1
  • csa-v3.5.0-rc1
  • csa-v3.5.1
  • csa-v3.6.0
  • csa-v3.6.0-beta1
  • csa-v3.6.0-rc1
  • qp-v3.1.0
  • qp-v3.1.0-beta1
  • qp-v3.2.0
  • qp-v3.2.0-beta1
  • qp-v3.2.1
  • qp-v3.2.2
  • qp-v3.3.0
  • qp-v3.3.0-beta1
  • qp-v3.3.0-rc1
  • qp-v3.3.1
  • qp-v3.3.2
  • qp-v3.4.0
  • qp-v3.4.0-rc1
  • qp-v3.4.1
  • qp-v3.4.2
  • qp-v3.5.0
  • qp-v3.5.0-beta1
  • qp-v3.5.0-rc1
  • qp-v3.5.1
  • qp-v3.6.0
  • qp-v3.6.0-beta1
  • qp-v3.6.0-rc1
  • tqtc/v2.6.0
  • tqtc/v2.6.0-rc
  • tqtc/v2.6.1
  • tqtc/v2.7.0
  • tqtc/v2.7.0-rc
  • tqtc/v2.7.2
  • tqtc/v2.8.0
  • tqtc/v2.8.0-beta
  • v1.0.0
  • v1.1.0
  • v1.1.0-rc1
  • v1.1.1
  • v1.2.0
  • v1.2.1
  • v1.2.90
  • v1.3.0
  • v1.3.0-beta
  • v1.3.0-rc1
  • v1.3.1
  • v2.0.0
  • v2.0.0-alpha
  • v2.0.0-beta
  • v2.0.0-rc1
  • v2.0.1
  • v2.1.0
  • v2.1.0-beta
  • v2.1.0-beta2
  • v2.1.0-rc1
  • v2.2.0
  • v2.2.0-beta
  • v2.2.0-rc1
  • v2.2.1
  • v2.3.0
  • v2.3.0-beta
  • v2.3.0-rc
  • v2.3.1
  • v2.4.0
  • v2.4.0-beta
  • v2.4.0-rc
  • v2.4.1
  • v2.5.0
  • v2.5.0-beta
  • v2.5.0-rc
  • v2.5.1
  • v2.5.2
  • v2.6.0
  • v2.6.0-beta
  • v2.6.0-rc
  • v2.6.1
158 results
Show changes
187 files
+ 29043
10150
Compare changes
  • Side-by-side
  • Inline

Files

Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ General
   * Reworked the projects pane
   * Reworked the projects pane
   * Made the welcome screen tabs into plugins, reimplement IWelcomePage 
   * Made the welcome screen tabs into plugins, reimplement IWelcomePage 
     to add your own welcome screen page
     to add your own welcome screen page
   * Overhauled the project pane.


Editing
Editing
   * Added support for text editor color schemes
   * Added support for text editor color schemes
@@ -36,14 +37,19 @@ Editing
   * Handle block selection in fakevim
   * Handle block selection in fakevim
   * Added Copy full path to the editors combobox
   * Added Copy full path to the editors combobox
   * Added left/right arrow buttons for "Go back/forward" in navigation history
   * Added left/right arrow buttons for "Go back/forward" in navigation history
   * Added smart indentation for pasted text blocks

Refactoring
   * Added rename symbol under cursor
   * Find usages of a symbol


Project support
Project support
   * Added support for adding and removing files from a generic Makefile-based
   * Added support for adding and removing files from a generic Makefile-based
     project
     project
   * Added better control over the environment used for running.
   * Added better control over the environment used for running.
   * Add all cmake files to the project tree (only works with a cvs cmake)
   * Add all cmake files to the project tree (only works with a  cmake 2.8)
   * Support cmake with Microsoft Visual Studio Compiler (only works with cvs
   * Support cmake with Microsoft Visual Studio Compiler (only works with 
     cmake)
     cmake 2.8 )
   * Fix a few cmake wizard bugs, where canceling left creator in a strange
   * Fix a few cmake wizard bugs, where canceling left creator in a strange
     state
     state
   * The qmake and make steps can now be removed.
   * The qmake and make steps can now be removed.
@@ -53,6 +59,9 @@ Project support
   * Show subdirectory structure below .pro/.pri files in project tree
   * Show subdirectory structure below .pro/.pri files in project tree
   * Add "Show file in Finder/Explorer" (Mac/Windows) to context menu.
   * Add "Show file in Finder/Explorer" (Mac/Windows) to context menu.
     On Linux it opens the containing directory.
     On Linux it opens the containing directory.
   * The qmake step and make step can be removed from qt projects now.
   * Made importing build settings for qt projects more robust
   * Only run qmake, if it needs to be run.


Compilation
Compilation
   * Support multi-core compilation on Windows/MSVC via jom
   * Support multi-core compilation on Windows/MSVC via jom
@@ -63,18 +72,24 @@ Debugging
   * CDB: Added more types to the dumpers (QSharedPointer, QVector, common
   * CDB: Added more types to the dumpers (QSharedPointer, QVector, common
     QMap/QSet types), dereference reference and pointer parameters
     QMap/QSet types), dereference reference and pointer parameters
   * CDB: Simplified display of STL types in the locals window
   * CDB: Simplified display of STL types in the locals window
   * CDB: Fixed thread handling
   * CDB: Fixed thread handling, display thread position
   * CDB: Added internal dumpers for string types for debuggee crashes
   * CDB: Added internal dumpers for string types for debuggee crashes
   * CDB: Set symbol paths correctly
   * Improved QObject dumping, print out QRect/QSize, enumerations and flags
   * Improved QObject dumping, print out QRect/QSize, enumerations and flags
   * Made it possible to use the BinEditor plugin for displaying raw memory
   * Made it possible to use the BinEditor plugin for displaying raw memory
   * Replace disassembler window by a real text editor enabling "mixed" output
   * Replace disassembler window by a real text editor enabling "mixed" output
   * Improved dumper building on options page, run in background


Designer
Designer
   * Added support for rearranging and floating form editor tools
   * Added support for rearranging and floating form editor tools


Version control plugins
Version control plugins
   * Added CVS support
   * Added CVS support
   * Display diff/annotation with correct encoding
   * Added "sync" menu item to the Perforce plugin
   * Added "sync" menu item to the Perforce plugin
   * Fixed locking of temporary submit message files on Windows
   * Use a single, colored output pane for all version control systems
   * Position annotation view of file at current line of editor
   
   
Wizards
Wizards
   * Fixed GUI project and form class wizards to use the same settings.
   * Fixed GUI project and form class wizards to use the same settings.
@@ -88,6 +103,9 @@ Platform Specific
Mac
Mac
   * Make use of system's language settings
   * Make use of system's language settings


Symbian Target
   * Preliminary support for targeting Qt for Symbian applications

Additional credits go to:
Additional credits go to:
   * Christian Hoenig (Locator filter for symbols in current document)
   * Christian Hoenig (Locator filter for symbols in current document)
   * Henrik Abelsson (Configure what to do with externally modified files)
   * Henrik Abelsson (Configure what to do with externally modified files)
Original line number Original line Diff line number Diff line
@@ -348,7 +348,7 @@
    \snippet examples/addressbook-sdk/part2/addressbook.h members
    \snippet examples/addressbook-sdk/part2/addressbook.h members


    We also declare two private QString objects, \c oldName and \c oldAddress.
    We also declare two private QString objects, \c oldName and \c oldAddress.
    These objects are needed to hold the name and address of hte contact that
    These objects are needed to hold the name and address of the contact that
    was last displayed, before the user clicked \gui Add. So, when the user
    was last displayed, before the user clicked \gui Add. So, when the user
    clicks \gui Cancel, we can revert to displaying the details of the last
    clicks \gui Cancel, we can revert to displaying the details of the last
    contact.
    contact.
@@ -529,7 +529,7 @@


    \snippet examples/addressbook-sdk/part3/addressbook.cpp enable navigation
    \snippet examples/addressbook-sdk/part3/addressbook.cpp enable navigation


    We also include these lins of code in the \c cancel() function.
    We also include these lines of code in the \c cancel() function.


    Recall that we intend to emulate a circularly-linked list with our QMap
    Recall that we intend to emulate a circularly-linked list with our QMap
    object, \c contacts. So in the \c next() function, we obtain an iterator
    object, \c contacts. So in the \c next() function, we obtain an iterator
@@ -735,7 +735,7 @@
    In this chapter, we look at ways to locate contacts and addresses in the
    In this chapter, we look at ways to locate contacts and addresses in the
    address book application.
    address book application.


    # image
    \image addressbook-tutorial-part5-screenshot.png


    As we keep adding contacts to our address book, it becomes tedious to
    As we keep adding contacts to our address book, it becomes tedious to
    navigate them with the \gui Next and \gui Previous buttons. In this case,
    navigate them with the \gui Next and \gui Previous buttons. In this case,
@@ -750,13 +750,14 @@


    \section1 Designing The FindDialog
    \section1 Designing The FindDialog


    #image
    \image addressbook-tutorial-part5-finddialog-in-designer.png


    We begin by adding a new \c{.ui} file to our project. Right click on your
    We begin by adding a new \c{.ui} file and a corresponding class to our project. Right click on your
    project and select \gui{Add New...}. In the \gui{New File} dialog, select
    project and select \gui{Add New...}. In the \gui{New File} dialog, select
    \gui{Qt Designer Form}. In the \gui{Qt Designer Form} dialog, select
    \gui{Qt Designer Form Class}. In the \gui{Qt Designer Form Class} dialog, select
    \e{Dialog without buttons}. Name it \c{finddialog.ui} and add it to your
    \e{Dialog without buttons}. Name the class \c{FindDialog} and add the files it to your
    project. The \QD plugin within Qt Creator will now display your new form.
    project. Open your new form in the \QD form editor within Qt Creator by
    double-clicking on the \c{finddialog.ui} file in the \gui{Project Sidebar}.


    To replicate the screenshot above, we need a label, a line edit, and a push
    To replicate the screenshot above, we need a label, a line edit, and a push
    button. Drag these onto your form. Set their text accordingly and name them
    button. Drag these onto your form. Set their text accordingly and name them
@@ -781,17 +782,6 @@


    \snippet examples/addressbook-sdk/part5/finddialog.cpp constructor
    \snippet examples/addressbook-sdk/part5/finddialog.cpp constructor


    We connect our signals to their respective slots. Notice that
    \c{findButton}'s \l{QPushButton:}{clicked()} signal is connected to
    \c findClicked() and \l{QDialog::}{accept()}. The \l{QDialog::}{accept()}
    slot provided by QDialog hides the dialog and sets the result code to
    \l{QDialog::}{Accepted}. We use this function to help \c{AddressBook}'s
    \c findContact() function know when the \c FindDialog object has been
    closed. We will explain this logic in further detail when discussing the
    \c findContact() function.

    \image addressbook-tutorial-part5-signals-and-slots.png

    In \c findClicked(), we validate to ensure that the user did not click the
    In \c findClicked(), we validate to ensure that the user did not click the
    \gui Find button without entering a contact's name. Then, we set
    \gui Find button without entering a contact's name. Then, we set
    \c findText to the search string, extracted from \c lineEdit. After that,
    \c findText to the search string, extracted from \c lineEdit. After that,
@@ -799,15 +789,24 @@


    \snippet examples/addressbook-sdk/part5/finddialog.cpp findClicked
    \snippet examples/addressbook-sdk/part5/finddialog.cpp findClicked


    The \c findText variable has a public getter function, \c getFindText(),
    \c findText() is public, which makes it easy for classes instantiating
    associated with it. Since we only ever set \c findText directly in both
    and using \c FindDialog to access the search string that the user has entered
    the constructor and in hte \c findClicked() function, we do not create a
    and accepted.
    setter function to accompany \c getFindText(). Because \c getFindText() is
    public, classes instantiating and using \c FindDialog can always access the
    search string that the user has entered and accepted.


    \snippet examples/addressbook-sdk/part5/finddialog.cpp findText
    \snippet examples/addressbook-sdk/part5/finddialog.cpp findText


    Finally, we connect our signals to their respective slots. Notice that
    \c{findButton}'s \l{QPushButton::}{clicked()} signal is connected to
    \c findClicked(), which calls \l{QDialog::}{accept()} or \l{QDialog::}{reject()}.
    The \l{QDialog::}{accept()} slot provided by QDialog hides the dialog
    and sets the result code to \l{QDialog::}{Accepted}, while \l{QDialog::}{reject()}
    sets it to \l{QDialog::}{Rejected} accordingly.  We use this function to help
    \c{AddressBook}'s \c findContact() function know when the \c FindDialog object has been
    closed. We will explain this logic in further detail when discussing the
    \c findContact() function.

    \image addressbook-tutorial-part5-signals-and-slots.png



    \section1 The AddressBook Class
    \section1 The AddressBook Class


@@ -818,7 +817,7 @@


    So far, all our address book features have a QPushButton and a
    So far, all our address book features have a QPushButton and a
    corresponding slot. Similarly, for the \gui Find feature, we have
    corresponding slot. Similarly, for the \gui Find feature, we have
    \c findButton and \c findContact().
    \c{ui->findButton} and \c findContact().


    \snippet examples/addressbook-sdk/part5/addressbook.h slot definition
    \snippet examples/addressbook-sdk/part5/addressbook.h slot definition


@@ -838,15 +837,17 @@
    We start out by displaying the \c FindDialog instance, \c dialog. This is
    We start out by displaying the \c FindDialog instance, \c dialog. This is
    when the user enters a contact name to look up. Once the user clicks the
    when the user enters a contact name to look up. Once the user clicks the
    dialog's \c findButton, the dialog is hidden and the result code is set to
    dialog's \c findButton, the dialog is hidden and the result code is set to
    QDialog::Accepted. THis ensures that our \c if statement is always true.
    either QDialog::Accepted or QDialog::Rejected by the FindDialog's
    \c findClicked() method. This ensures that we only search for a contact
    if the user typed something in the FindDialog's line edit.


    We then proceed to extract the search string, which in this case is
    We then proceed to extract the search string, which in this case is
    \c contactName, using \c{FindDialog}'s \c getFindText() function. If the
    \c contactName, using \c{FindDialog}'s \c findText() function. If the
    contact exists in our address book, we display it immediately. Otherwise,
    contact exists in our address book, we display it immediately. Otherwise,
    we display the QMessageBox shown below to indicate that their search
    we display the QMessageBox shown below to indicate that their search
    failed.
    failed.


    # image
    \image addressbook-tutorial-part5-dialogbox.png


    The concept behind finding a contact only applies for cases where we have
    The concept behind finding a contact only applies for cases where we have
    more than two contacts in our address book. Hence, we implement this
    more than two contacts in our address book. Hence, we implement this
@@ -870,7 +871,7 @@
    This chapter covers the file handling features of Qt that we used to write
    This chapter covers the file handling features of Qt that we used to write
    loading and saving routines for the address book application.
    loading and saving routines for the address book application.


    # screenshot
    \image addressbook-tutorial-part6-screenshot.png


    Although browsing and searching for contacts are useful features, our
    Although browsing and searching for contacts are useful features, our
    address book is not really ready for use until we can save existing
    address book is not really ready for use until we can save existing
@@ -910,7 +911,7 @@
    the push buttons.
    the push buttons.




    # screenshot of property editor
    \image addressbook-tutorial-part6-propertyeditor.png




    \section1 The AddressBook Class
    \section1 The AddressBook Class
@@ -935,7 +936,7 @@


    The file dialog that pops up is displayed in the screenshot below:
    The file dialog that pops up is displayed in the screenshot below:


    #screenshot
    \image addressbook-tutorial-part6-savedialog.png


    If \c fileName is not empty, we create a QFile object, \c file, with
    If \c fileName is not empty, we create a QFile object, \c file, with
    \c fileName. The QFile object works with QDataStream as QFile is a
    \c fileName. The QFile object works with QDataStream as QFile is a
@@ -967,7 +968,7 @@
    On Windows, for example, this function pops up a native file dialog, as
    On Windows, for example, this function pops up a native file dialog, as
    shown in the following screenshot.
    shown in the following screenshot.


    # screenshot
    \image addressbook-tutorial-part6-opendialog.png


    If \c fileName is not empty, again, we use a QFile object, \c file, and
    If \c fileName is not empty, again, we use a QFile object, \c file, and
    attempt to open it in \l{QIODevice::}{ReadOnly} mode. Similar to our
    attempt to open it in \l{QIODevice::}{ReadOnly} mode. Similar to our
@@ -989,8 +990,10 @@
    validate the data obtained to ensure that the file we read from actually
    validate the data obtained to ensure that the file we read from actually
    contains address book contacts. If it does, we display the first contact;
    contains address book contacts. If it does, we display the first contact;
    otherwise, we display a QMessageBox to inform the user about the problem.
    otherwise, we display a QMessageBox to inform the user about the problem.
    Lastly, we update the interface to enable and disable the push buttons
    Lastly, we connect the \c clicked() signal of the push buttons
    accordingly.
    with the \c loadFromFile() and \c saveToFile():

    \snippet examples/addressbook-sdk/part6/addressbook.cpp connectSlots


*/
*/


@@ -1014,7 +1017,7 @@
    \c exportButton as its \c objectName. The \c toolTip property is set to
    \c exportButton as its \c objectName. The \c toolTip property is set to
    \gui{Export as vCard}.
    \gui{Export as vCard}.


    # screenshot
    \image addressbook-tutorial-part7-screenshot.png


    \section1 The AddressBook Class
    \section1 The AddressBook Class


doc/eike_doc.patch

0 → 100644
+138 −0
Original line number Original line Diff line number Diff line
diff --git a/doc/addressbook-sdk.qdoc b/doc/addressbook-sdk.qdoc
index 0441666..7012ea6 100644
--- a/doc/addressbook-sdk.qdoc
+++ b/doc/addressbook-sdk.qdoc
@@ -139,7 +139,7 @@
     \section1 Placing Widgets on The Form
 
     In the \gui{Project Sidebar}, double-click on the \c{addressbook.ui} file.
-    The \QD plugin will be launched, allowing you to design your program's user
+    The \QD form editor will be launched, allowing you to design your program's user
     interface.
 
     We require two \l{QLabel}s to label the input fields as well as a QLineEdit
@@ -156,6 +156,7 @@
     diagram below shows the layout cells and the position of our widgets. Place
     your widgets accordingly and save the form by choosing
     \gui{File | Save} or using the \key{Ctrl+S} shortcut.
+    (We have to actually layout the widgets in a grid layout, this step seems to be missing to me?)
 
     \image addressbook-tutorial-part1-labeled-screenshot.png
 
@@ -311,7 +312,7 @@
     \snippet examples/addressbook-sdk/part2/addressbook.h slot definition
 
     Since the \c AddressBook class is a subclass of QWidget, Qt Creator
-    includes QWidget in the hedaer file.
+    includes QWidget in the header file.
 
     \snippet examples/addressbook-sdk/part2/addressbook.h include
 
@@ -323,7 +324,7 @@
     \snippet examples/addressbook-sdk/part2/addressbook.h members
 
     We also declare two private QString objects, \c oldName and \c oldAddress.
-    These objects are needed to hold the name and address of hte contact that
+    These objects are needed to hold the name and address of the contact that
     was last displayed, before the user clicked \gui Add. So, when the user
     clicks \gui Cancel, we can revert to displaying the details of the last
     contact.
@@ -499,7 +500,7 @@
 
     \snippet examples/addressbook-sdk/part3/addressbook.cpp enable navigation
 
-    We also include these lins of code in the \c cancel() function.
+    We also include these lines of code in the \c cancel() function.
 
     Recall that we intend to emulate a circularly-linked list with our QMap
     object, \c contacts. So in the \c next() function, we obtain an iterator
@@ -722,11 +723,12 @@
 
     #image
 
-    We begin by adding a new \c{.ui} file to our project. Right click on your
+    We begin by adding a new \c{.ui} file and a corresponding class to our project. Right click on your
     project and select \gui{Add New...}. In the \gui{New File} dialog, select
-    \gui{Qt Designer Form}. In the \gui{Qt Designer Form} dialog, select
-    \e{Dialog without buttons}. Name it \c{finddialog.ui} and add it to your
-    project. The \QD plugin within Qt Creator will now display your new form.
+    \gui{Qt Designer Form Class}. In the \gui{Qt Designer Form Class} dialog, select
+    \e{Dialog without buttons}. Name the class \c{FindDialog} and add the files it to your
+    project. Open your new form in the \QD form editor within Qt Creator by
+    double-clicking on the \c{finddialog.ui} file in the \gui{Project Sidebar}.
 
     To replicate the screenshot above, we need a label, a line edit, and a push
     button. Drag these onto your form. Set their text accordingly and name them
@@ -759,6 +761,9 @@
     \c findContact() function know when the \c FindDialog object has been
     closed. We will explain this logic in further detail when discussing the
     \c findContact() function.
+    (The above paragraph is not up to date, since clicked() is not connected
+    to accept(). The description of accept() can move below to the implementation
+    of findClicked().)
 
     \image addressbook-tutorial-part5-signals-and-slots.png
 
@@ -766,17 +771,17 @@
     \gui Find button without entering a contact's name. Then, we set
     \c findText to the search string, extracted from \c lineEdit. After that,
     we clear the contents of \c lineEdit and hide the dialog.
+    (There is no findText member. The description of accept() should move here, together
+    with words about reject.)
 
     \snippet examples/addressbook-sdk/part5/finddialog.cpp findClicked
 
-    The \c findText variable has a public getter function, \c getFindText(),
-    associated with it. Since we only ever set \c findText directly in both
-    the constructor and in hte \c findClicked() function, we do not create a
-    setter function to accompany \c getFindText(). Because \c getFindText() is
+    The \c text of the find dialog's line edit has a public getter function, \c findText(),
+    associated with it. Because \c findText() is
     public, classes instantiating and using \c FindDialog can always access the
     search string that the user has entered and accepted.
 
-    \snippet examples/addressbook-sdk/part5/finddialog.cpp getFindText
+    \snippet examples/addressbook-sdk/part5/finddialog.cpp findText
 
 
     \section1 The AddressBook Class
@@ -788,23 +793,9 @@
 
     So far, all our address book features have a QPushButton and a
     corresponding slot. Similarly, for the \gui Find feature, we have
-    \c findButton and \c findContact().
+    \c {ui->findButton} and \c findContact().
 
     \snippet examples/addressbook-sdk/part5/addressbook.h slot definition
-    \dots
-    \snippet examples/addressbook-sdk/part5/addressbook.h private members
-
-    Lastly, we declare the private variable, \c dialog, which we will use to
-    refer to an instance of \c FindDialog.
-
-    Once we have instantiated a dialog, we might want to use it more than once;
-    using a private variable allows us to refer to it from more than one place
-    in the class.
-
-    Within the \c AddressBook class's constructor, we insantiate our private
-    objects, \c findButton and \c dialog:
-
-    \snippet examples/addressbook-sdk/part5/addressbook.cpp private members
 
     Next, we connect the \c{findButton}'s \l{QPushButton::}{clicked()} signal
     to \c findContact().
@@ -818,10 +809,12 @@
     We start out by displaying the \c FindDialog instance, \c dialog. This is
     when the user enters a contact name to look up. Once the user clicks the
     dialog's \c findButton, the dialog is hidden and the result code is set to
-    QDialog::Accepted. THis ensures that our \c if statement is always true.
+    either QDialog::Accepted or QDialog::Rejected by the FindDialog's
+    \c findClicked() method. This ensures that we only search for a contact
+    if the user typed something in the FindDialog's line edit.
 
     We then proceed to extract the search string, which in this case is
-    \c contactName, using \c{FindDialog}'s \c getFindText() function. If the
+    \c contactName, using \c{FindDialog}'s \c findText() function. If the
     contact exists in our address book, we display it immediately. Otherwise,
     we display the QMessageBox shown below to indicate that their search
     failed.
Original line number Original line Diff line number Diff line
#include <QFileDialog>

#include "addressbook.h"
#include "addressbook.h"
#include "ui_addressbook.h"
#include "ui_addressbook.h"


@@ -31,6 +33,12 @@ AddressBook::AddressBook(QWidget *parent)
                SLOT(removeContact()));
                SLOT(removeContact()));
    connect(ui->findButton, SIGNAL(clicked()), this,
    connect(ui->findButton, SIGNAL(clicked()), this,
                SLOT(findContact()));
                SLOT(findContact()));
    //! [connectSlots]
    connect(ui->loadButton, SIGNAL(clicked()), this,
                SLOT(loadFromFile()));
    connect(ui->saveButton, SIGNAL(clicked()), this,
                SLOT(saveToFile()));
    //! [connectSlots]


    setWindowTitle(tr("Simple Address Book"));
    setWindowTitle(tr("Simple Address Book"));
}
}
@@ -292,7 +300,7 @@ void AddressBook::loadFromFile()


//! [loadFromFile part3]
//! [loadFromFile part3]
        if (contacts.isEmpty()) {
        if (contacts.isEmpty()) {
            QMessagebox::information(this, tr("No contacts in file"),
            QMessageBox::information(this, tr("No contacts in file"),
                tr("The file you are attempting to open contains no contacts."));
                tr("The file you are attempting to open contains no contacts."));
        } else {
        } else {
            QMap<QString, QString>::iterator i = contacts.begin();
            QMap<QString, QString>::iterator i = contacts.begin();
Original line number Original line Diff line number Diff line
#include <QFileDialog>
#include <QTextStream>

#include "addressbook.h"
#include "addressbook.h"
#include "ui_addressbook.h"
#include "ui_addressbook.h"


@@ -348,5 +351,5 @@ void AddressBook::exportAsVCard()
    out << "END;VCARD" << "\n";
    out << "END;VCARD" << "\n";


    QMessageBox::information(this, tr("Export Successful"),
    QMessageBox::information(this, tr("Export Successful"),
        tr("\%1\" has been exported as a vCard.").arg(name));
        tr("\"%1\" has been exported as a vCard.").arg(name));
}
}
+236 −52
Original line number Original line Diff line number Diff line
@@ -5,7 +5,7 @@


    \title Qt Creator Manual
    \title Qt Creator Manual


    \section1 Version 1.2.93
    \section1 Version 1.2.92


    The goal of Qt Creator is to provide a cross-platform, complete Integrated
    The goal of Qt Creator is to provide a cross-platform, complete Integrated
    Development Environment (IDE) to develop Qt projects. It is available for
    Development Environment (IDE) to develop Qt projects. It is available for
@@ -19,30 +19,6 @@
    {qt-creator-request@trolltech.com}. For more information on Qt mailing
    {qt-creator-request@trolltech.com}. For more information on Qt mailing
    lists, visit \l{http://lists.trolltech.com}{http://lists.trolltech.com}.
    lists, visit \l{http://lists.trolltech.com}{http://lists.trolltech.com}.


    Qt Creator includes a wide range of useful features. Among them are:
    \list 1
        \o \bold{Smart Code Editor}: The code editor provides syntax
            highlighting as well as code completion.
        \o \bold{Qt4 Project Generating Wizard}: This wizard allows the user
           to generate a project for a console application, a GUI application,
           or a C++ library.
        \o \bold{Qt Help Integration}: Qt's entire documentation can be
           accessed easily by clicking on the \gui{Help} button.
        \o \bold{Qt Designer Integration}: User interface forms can be designed
           within Qt Creator. Simply double-click on a \c{.ui} file within the
           \gui{Project Explorer} to launch the integration.
        \o \bold{Locator}: A powerful navigation tool that lets the user locate
           files and classes using minimal keystrokes.
        \o \bold{Support for qmake's .pro file format}: The project's \c{.pro}
           file is used as a project description file.
        \o \bold{Debugging Interface}: Applications can be debugged
           within Qt Creator using a graphical frontend to the GNU symbolic
           debugger (GDB) and the Microsoft Console Debugger (CDB).
    \endlist

    To learn more about the Qt Creator, click on one of the links below:


    \raw HTML
    \raw HTML
    <img border="0" style="float:right;" src="images/qtcreator-screenshots.png" />
    <img border="0" style="float:right;" src="images/qtcreator-screenshots.png" />
    \endraw 
    \endraw 
@@ -60,6 +36,7 @@
       \o   \l{Debugging with Qt Creator}
       \o   \l{Debugging with Qt Creator}
       \o   \l{CMake Support in Qt Creator}
       \o   \l{CMake Support in Qt Creator}
       \o   \l{Support for Generic Projects in Qt Creator}
       \o   \l{Support for Generic Projects in Qt Creator}
       \o   \l{Development of Qt for Symbian Based Applications}
       \o   \l{Handling External Libraries}
       \o   \l{Handling External Libraries}
       \o   \l{Tips and Tricks}
       \o   \l{Tips and Tricks}
       \o   \l{Keyboard Shortcuts}
       \o   \l{Keyboard Shortcuts}
@@ -171,7 +148,8 @@
    to the \gui{Help} mode. To obtain context sensitive help, move your text
    to the \gui{Help} mode. To obtain context sensitive help, move your text
    cursor to a Qt class or function and press \key{F1}. The documentation
    cursor to a Qt class or function and press \key{F1}. The documentation
    will be displayed within a panel on the right, as shown in the screenshot
    will be displayed within a panel on the right, as shown in the screenshot
    below.
    below. If there is enough vertical space, it will be shown in the 
    fullscreen help mode.


    External Documentation provided by the user can be used to augment or
    External Documentation provided by the user can be used to augment or
    replace the documentation shipped with Qt Creator and Qt.
    replace the documentation shipped with Qt Creator and Qt.
@@ -417,13 +395,57 @@
    not need to manually configure your Qt version.
    not need to manually configure your Qt version.


    Otherwise, you can add your Qt version in
    Otherwise, you can add your Qt version in
    \gui{Tools -> Options... -> Qt Versions}. If you are on the Windows
    \gui{Tools -> Options... -> Qt Versions} on Windows and Linux or
    platform and use MinGW to compile Qt, you need to tell Qt Creator where
    in \gui{Qt Creator -> Preferences... -> Qt Versions} on Mac OS X.
    MinGW is installed. This is done by setting the \gui{MinGW Directory}
    
    under \gui{Tools -> Options... -> Qt4 -> Qt Versions -> MinGw Directory}.
    The detailed settings depend on your Operating system and on the targeted
    If your Qt version is compiled with Microsoft Visual C++'s compiler, Qt
    tool chain
    Creator will automatically set the correct environment variables for
    
    compilation.
        \table
        \row
            \i \image qtcreator-qt4-qtversions.png
               On Linux and Mac OS X, simply set the \gui{Path to QMake}
               to the \c qmake binary of the Qt installation. If a Qt is
               found in the \c PATH environment variable, it will show up.
               
               On both platforms, the platforms Gnu Compiler Collection (GCC)
               is used to compile Qt. On Mac OS, the GCC compiler is part of XCode.
               On Linux, the Intel Compiler (ICC) is supported as a drop-in replacement
               for GCC.
               
        \row
            \i \image qtcreator-qt4-qtversions-win-mingw.png
               If you are on the Windows platform and used MinGW 
               to compile Qt, you need to additionally tell Qt Creator
               where MinGW is installed.  This is done by setting the 
               \gui{MinGW Directory}.
        \row
            \i \image qtcreator-qt4-qtversions-win-msvc.png
               If your Qt version is compiled with Microsoft Visual C++'s
               compiler, Qt Creator will automatically set the correct 
               environment variables for compilation. The \gui{MSVC}
               dropdown box indicates the internal Version Number of the 
               installed Microsoft Visual C++ tool chains:
               
               \list
                   \o  \bold{7.1}: Visual Studio 2003
                   \o  \bold{8.0}: Visual Studio 2005
                   \o  \bold{9.0}: Visual Studio 2008
               \endlist
               
               If you are using the \c{Windows SDK for Windows Server 2008}
               instead of Visual Studio, it will identify as version 9.0.
        \row
            \i \image qtcreator-qt4-qtversions-win-symbian.png
               If you are using Qt for Symbian and your S60 SDK is registered
               with \c devices.exe, Qt Creator will detect the Qt version automatically.
               A known issue is that you cannot just point Creator to \c qmake.exe of Qt for Symbian.
               You can add the path to the Metrowerks Compiler (\gui {MWC Directory})
               if you want to use to build for the emulator. This requires Carbide 2.0
               to be installed. the MWC directory should then point to the directory 
               of your Carbide installation. However, this not needed for compiling for
               the device.
        \endtable
    
    
    \note By default projects are compiled with the
    \note By default projects are compiled with the
    \l{glossary-default-qt}{default Qt version}. You can override this in the
    \l{glossary-default-qt}{default Qt version}. You can override this in the
@@ -700,6 +722,10 @@
            \i  \bold{Perforce}
            \i  \bold{Perforce}
            \i  \l{http://www.perforce.com}
            \i  \l{http://www.perforce.com}
            \i  Server version 2006.1 and later
            \i  Server version 2006.1 and later
        \row
            \i  \bold{CVS}
            \i  \l{http://www.cvshome.org}
            \i
    \endtable
    \endtable




@@ -867,11 +893,11 @@
    \image qtcreator-locator.png
    \image qtcreator-locator.png


    Suppose you would like to open your project's \c{main.cpp} file, click on
    Suppose you would like to open your project's \c{main.cpp} file, click on
    \gui Locator or use \key{Ctrl+K}, type in the file name and then press
    \gui Locator or use \key{Ctrl+K} (Mac OS X: \key{Cmd+K}), type in the file 
    \key Return. The file will be opened in the editor. You can also type
    name and then press \key Return. The file will be opened in the editor.
    part of a file name and use the wildcard characters \c{*} and \c{?} to
    You can also type part of a file name and use the wildcard characters
    match \e{any} number of \e{any} characters. A list of all files matching
    \c{*} and \c{?} to match \e{any} number of \e{any} characters. A list 
    your criteria will be displayed.
    of all files matching  your criteria will be displayed.


    \gui Locator not only allows you to navigate files on disk but also other
    \gui Locator not only allows you to navigate files on disk but also other
    "locations", which are organized with \bold{Filters}. Currently there are
    "locations", which are organized with \bold{Filters}. Currently there are
@@ -894,8 +920,8 @@
    \e prefix. This prefix is usually a single character followed by
    \e prefix. This prefix is usually a single character followed by
    \key{Space}. For example, to jump to the definition of the class
    \key{Space}. For example, to jump to the definition of the class
    \l{http://doc.trolltech.com/qdatastream.html}{QDataStream}, type:
    \l{http://doc.trolltech.com/qdatastream.html}{QDataStream}, type:
    \key{Ctrl+K} to activate \gui Locator. Then type colon (\key{:}) followed
    \key{Ctrl+K} (Mac OS X: \key{Cmd+K}) to activate \gui Locator. 
    by \key{Space} and the class name.
    Then type colon (\key{:}) followed by \key{Space} and the class name.




    Below is a full list of \l{http://doc.trolltech.com/qdatastream.html}
    Below is a full list of \l{http://doc.trolltech.com/qdatastream.html}
@@ -973,6 +999,8 @@
    \note By default, if you press \key{Ctrl+K} and do not use a prefix to
    \note By default, if you press \key{Ctrl+K} and do not use a prefix to
    specify a filter, three filters will be enabled: \c{o}, \c{l}, and \c{a}.
    specify a filter, three filters will be enabled: \c{o}, \c{l}, and \c{a}.
    
    
    \note On Mac OS X, use \key{Cmd+K} instead of \key{Ctrl+K}.

*/
*/




@@ -1080,7 +1108,7 @@
               \l{http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx}{32-bit}
               \l{http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx}{32-bit}
               or
               or
               \l{http://www.microsoft.com/whdc/devtools/debugging/install64bit.Mspx}{64-bit}
               \l{http://www.microsoft.com/whdc/devtools/debugging/install64bit.Mspx}{64-bit}
               package (Version 6.10 for the 32-bit or the 64-bit version of Qt Creator, respectively),
               package (Version 6.11.1.404 for the 32-bit or the 64-bit version of Qt Creator, respectively),
               which is freely available for download from the
               which is freely available for download from the
               \l{http://msdn.microsoft.com/en-us/default.aspx}
               \l{http://msdn.microsoft.com/en-us/default.aspx}
               {Microsoft Developer Network}.
               {Microsoft Developer Network}.
@@ -1436,7 +1464,7 @@
    specified in the \c CMake project file.
    specified in the \c CMake project file.


    Known issues for the current version can be found
    Known issues for the current version can be found
    \l{Known Issues of Version 1.1.0}{here}.
    \l{Known Issues of Version 1.2.93}{here}.
*/
*/




@@ -1444,7 +1472,7 @@
    \contentspage index.html
    \contentspage index.html
    \previouspage creator-cmake-support.html
    \previouspage creator-cmake-support.html
    \page creator-generic-projects.html
    \page creator-generic-projects.html
    \nextpage creator-external-library-handling.html
    \nextpage creator-qt-for-symbian.html


    \title Support for Generic Projects in Qt Creator
    \title Support for Generic Projects in Qt Creator


@@ -1503,10 +1531,151 @@
    \c{$BUILDDIR} which should work fine.
    \c{$BUILDDIR} which should work fine.
*/
*/



/*!
/*!
    \contentspage index.html
    \contentspage index.html
    \previouspage creator-generic-projects.html
    \previouspage creator-generic-projects.html
    \page creator-qt-for-symbian.html
    \nextpage creator-external-library-handling.html

    \title Development of Qt for Symbian Based Applications

    Qt Creator 1.3 comes with preliminary support for development of
    applications using Qt for the Symbian Platform.

    \e{Note that this is highly experimental, and not intended for production use.
    The primary aim is to allow Symbian developers to familiarize themselves with Qt Creator
    and provide feedback that will help us improve Symbian support in future versions of
    Qt Creator.}

    Please provide us with feedback, using the mailing list or IRC, as described on the
    \l{http://qt.gitorious.org/qt-creator/pages/Home}{Qt Creator Development Wiki}.

    \section2 Getting Started

    You need the following software installed on your PC.
    Only Windows development is supported.

    \list
        \o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/S60SDK/}
            {S60 Platform SDK 3rd Edition FP1 or higher}
        \o \l{http://www.forum.nokia.com/main/resources/technologies/openc_cpp/}
            {Open C/C++ v1.6.0 or higher.} Install this to all S60 SDKs you plan to use Qt with.
            This is included in the Qt for Symbian binary installers.
        \o Either the GCCE Arm Toolchain that is included in the S60 Platform SDKs, or
            RVCT 2.2 [build 686] or later (which is not available free of charge).
            Your environment needs to find the compiler in the PATH.
        \o Qt for Symbian 4.6.0, installed into the S60 SDKs you want to use.

    \endlist

    And for deploying and running applications on the device
    \list
        \o The Nokia USB drivers that come e.g. with PC Suite.
        \o The \l{http://tools.ext.nokia.com/trk/}{App TRK} application for your device.
    \endlist

    Running Qt based applications on real devices requires the following packages to be installed on
    your device. The packages can be found in the S60 SDK where you installed Open C/C++:
    \list
        \o nokia_plugin\\openc\\s60opencsis\\pips_s60_\<version\>.sis
        \o nokia_plugin\\openc\\s60opencsis\\openc_ssl_s60_\<version\>.sis
        \o nokia_plugin\\opencpp\\s60opencppsis\\stdcpp_s60_\<version\>.sis
    \endlist

    If you want to run your applications in the Symbian Emulator, you also need to install
    Carbide.c++ v2.0.0 or higher.

    \section2 Setting up Qt Creator

    When you run Qt Creator after installing the S60 Platform SDK and Qt for Symbian,
    the installed SDKs and their corresponding Qt versions are automatically detected.
    For each detected S60 SDK with Qt, a special entry is made in the Qt Version Management settings
    \gui{Tools -> Options... -> Qt4 -> Qt Versions}.

    \e{Note that you must use one of these special Qt version entries for building projects
    for the emulator or devices. You can not just point Qt Creator to the qmake executable
    like you would do for a desktop version of Qt.}

    \image qtcreator-qt4-qtversions-win-symbian.png

    If you want to run your applications in the Symbian Emulator, you need to point Qt Creator
    to the Metrowerks Compiler that you want to use, by setting the \gui{MWC Directory}
    of the Qt version to the corresponding Carbide.c++ installation directory.

    You can check what S60 SDKs and corresponding Qt versions are found in the
    \gui{Tools -> Options... -> Qt4 -> S60 SDKs} preference page.
    At the moment it is not possible to override the autodetected settings.

    \image qtcreator-qt4-s60sdks.png

    \section2 Setting up Your Project

    After installing all the prerequisites and checking the setup in Qt Creator as described
    above, you need to make some settings for your project.
    \e{Note that the only supported build system for Qt for Symbian applications in Qt Creator
    is qmake.}

    \section3 Building your Project