83c9ebbd66
Previously the method attempted to reset only as a last resort. Now reset() is deprecated and resetting must happen between emitting modelAboutToBeReset() and modelReset(). Since this suffices in all cases to notify views that they must reinterrogate the model, it is no longer necessary to signal explicitly row removals and insertions within the scope of the reset. Additionally, fetchMore() is now called within the scope of the reset so insert signals do not have to be emitted here either. This improved handling of resetting in QSqlQueryModel also allows the cache in QSqlTableModel to be cleared directly at select(). This change may actually allow views to operate more efficiently since they no longer have to react to separate row removal and insert signals. Views can avoid pointless deallocation and reallocation by considering row count only after the reset is finished. The cost is that the columns and horizontal headers must be considered in the view at each setQuery() call. In any case, it is not clear that trying to be smart about this in the model justifies additional complexity. Tests had to be adjusted where they expected explicit row removal and insert signals. Change-Id: I4f7eac1419824361d7d9bdcc6a87092b33e80d7a Task-Id: QTBUG-25419 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com> |
||
---|---|---|
.. | ||
changes-0.92 | ||
changes-0.93 | ||
changes-0.94 | ||
changes-0.95 | ||
changes-0.96 | ||
changes-0.98 | ||
changes-0.99 | ||
changes-1.0 | ||
changes-1.1 | ||
changes-1.2 | ||
changes-1.30 | ||
changes-1.31 | ||
changes-1.39-19980327 | ||
changes-1.39-19980406 | ||
changes-1.39-19980414 | ||
changes-1.39-19980506 | ||
changes-1.39-19980529 | ||
changes-1.39-19980611 | ||
changes-1.39-19980616 | ||
changes-1.39-19980623 | ||
changes-1.39-19980625 | ||
changes-1.39-19980706 | ||
changes-1.40 | ||
changes-1.41 | ||
changes-1.42 | ||
changes-2.0.1 | ||
changes-2.1.0 | ||
changes-2.1.1 | ||
changes-2.2.0 | ||
changes-2.2.1 | ||
changes-2.2.2 | ||
changes-2.00 | ||
changes-2.00beta1 | ||
changes-2.00beta2 | ||
changes-2.00beta3 | ||
changes-3.0.0 | ||
changes-3.0.0-beta1 | ||
changes-3.0.0-beta2 | ||
changes-3.0.0-beta3 | ||
changes-3.0.0-beta4 | ||
changes-3.0.0-beta5 | ||
changes-3.0.0-beta6 | ||
changes-3.0.1 | ||
changes-3.0.2 | ||
changes-3.0.4 | ||
changes-3.0.7 | ||
changes-3.1.0 | ||
changes-3.1.0-b1 | ||
changes-3.1.0-b2 | ||
changes-3.1.1 | ||
changes-3.1.2 | ||
changes-3.2.0 | ||
changes-3.2.0-b1 | ||
changes-3.2.0-b2 | ||
changes-3.2.1 | ||
changes-3.2.2 | ||
changes-3.2.3 | ||
changes-3.3.0 | ||
changes-3.3.0-b1 | ||
changes-3.3.1 | ||
changes-3.3.2 | ||
changes-3.3.3 | ||
changes-3.3.5 | ||
changes-3.3.6 | ||
changes-3.3.7 | ||
changes-3.3.8 | ||
changes-4.0.1 | ||
changes-4.1.0 | ||
changes-4.1.0-rc1 | ||
changes-4.1.1 | ||
changes-4.1.3 | ||
changes-4.1.4 | ||
changes-4.1.5 | ||
changes-4.1.11 | ||
changes-4.2.0 | ||
changes-4.2.0-tp1 | ||
changes-4.2.1 | ||
changes-4.2.2 | ||
changes-4.2.3 | ||
changes-4.2CEping | ||
changes-4.3.0 | ||
changes-4.3.1 | ||
changes-4.3.2 | ||
changes-4.3.3 | ||
changes-4.3.4 | ||
changes-4.3.5 | ||
changes-4.3CE-tp1 | ||
changes-4.3CEconan | ||
changes-4.3CEkicker | ||
changes-4.3CEsweetandsour | ||
changes-4.4.0 | ||
changes-4.4.1 | ||
changes-4.4.2 | ||
changes-4.4.3 | ||
changes-4.4.4-temple | ||
changes-4.5.0 | ||
changes-4.5.0-garden | ||
changes-4.5.1 | ||
changes-4.5.2 | ||
changes-4.5.2-tower | ||
changes-4.5.3 | ||
changes-4.5.4 | ||
changes-4.6.0 | ||
changes-4.6.1 | ||
changes-4.6.2 | ||
changes-4.6.3 | ||
changes-4.6.4 | ||
changes-4.7.0 | ||
changes-4.7.1 | ||
changes-4.7.2 | ||
changes-4.7.3 | ||
changes-4.7.4 | ||
changes-4.8.0 | ||
changes-5.0.0 | ||
README |
This is Qt version %VERSION%. Qt is a comprehensive cross-platform C++ application framework. Qt 4 introduces new features and many improvements over the 3.x series. See http://qt.nokia.com/doc/latest/qt4-intro.html for details. The Qt 4.x series is not binary compatible or source compatible with the 3.x series. For more information on porting from Qt 3 to Qt 4, see http://qt.nokia.com/doc/latest/porting4.html. INSTALLING Qt If you have a source package (a .tar.gz, or .zip file), follow the instructions in the INSTALL file. On Windows and Mac OS X, if you want to install the precompiled binary packages, simply launch the package and follow the instructions in the installation wizard. For Mac OS X Carbon, the binary package requires Mac OS X 10.4 (Tiger) or later and GCC 4.0.1 to develop applications. Its applications will run on Mac OS X 10.4 and above. For Mac OS X Cocoa, the binary package requires Mac OS X 10.5 (Leopard) or later and GCC 4.0.1 to develop applications. Its applications will run on Mac OS X 10.5 and above. If you want to install the precompiled binary package for Symbian, follow these instructions: http://qt.nokia.com/doc/%SHORTVERSION%/install-symbian-installer.html EXAMPLES Once Qt is installed, we suggest that you take a look at the examples to see Qt in action. For desktop computers, run the Qt Examples by opening them in Qt Creator. For embedded devices, launch the Qt 'fluidlauncher' example, either through the platforms filebrowser or the built in menu system. REFERENCE DOCUMENTATION The Qt reference documentation is available locally in Qt's doc/html directory. You can use Qt Assistant to view it; to launch Assistant, type 'assistant' on the command line or use the Start menu. On Mac OS X, you can find it in /Developer/Applications/Qt. The latest documentation is available at http://qt.nokia.com/doc/. SUPPORTED PLATFORMS For a complete list of supported platforms, see http://qt.nokia.com/doc/%SHORTVERSION%/supported-platforms.html. COMMERCIAL EDITIONS Desktop Edition licensees can use all the modules provided with their Qt package. GUI Framework licensees may only use the classes contained in the QtCore, QtGui (except QGraphicsView), QtTest, QtDBus and Qt3Support modules. For a full listing of the contents of each module, please refer to http://qt.nokia.com/doc/%SHORTVERSION%/modules.html HOW TO REPORT A BUG If you think you have found a bug in Qt, we would like to hear about it so that we can fix it. The Qt bug tracking system is open to the public at http://bugreports.qt-project.org/. Before reporting a bug, please use the bug-tracker's search functions and consult http://qt.nokia.com/developer/faqs/ to see if the issue is already known. Always include the following information in your bug report: the name and version number of your compiler; the name and version number of your operating system; the version of Qt you are using, and what configure options it was compiled with. If the problem you are reporting is only visible at run-time, try to create a small test program that shows the problem when run. Often, such a program can be created with some minor changes to one of the many example programs in Qt's examples directory, or to the autotests that are available in the public source repository on http://qt.gitorious.org/. Qt is a trademark of Nokia Corporation and/or its subsidiary(-ies).