summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Remove QWidgetStar.Stephen Kelly2012-08-184-25/+5
| | | | | | | | | | | | This allows us to remove the odd hacks to get the static metaobject for the QWidget* metatype. The QWidget* is still an automatic metatype thanks to the QObject partial template specialization. It is registered as a metatype at runtime automatically in qwidgetsvariant.cpp. Change-Id: Ie01b69eadf2cbe87af1a86c3284550f60dcf9e94 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix most qdoc errors for QMapLars Knoll2012-08-181-18/+10
| | | | | Change-Id: I8cac3b63cab32c655f722aca467489730c3f0a42 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move the statemachine documentation into qtcoreLars Knoll2012-08-1816-0/+1163
| | | | | | | | | Moved the documentation from qtdoc to here, so the statemachine class docs can link to it. Change-Id: I49a10cc7c418d415c64ea538376eb9bd7b031c27 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Move the animation overview doc into QtCoreLars Knoll2012-08-182-0/+364
| | | | | | | Moved here from the qtdoc module. Change-Id: Ib263848e0637204ec3b0cba973076ca79a25a953 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix qdoc erros in qfile and related classesLars Knoll2012-08-185-9/+8
| | | | | Change-Id: I56b66e6eeb06c84e1157a701a814aebb1ddf4845 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Mark simple static methods in QThread as Q_DECL_NOTHROWThiago Macieira2012-08-183-6/+6
| | | | | | | | | | These methods aren't often used, but currentThreadId() gets used in the recursive mutex code to store the identity of the thread with multiple locks. Change-Id: I031cf3893aa6e7fd7a53733fc1088d295bdb9079 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Emit layoutChange signals when changing QPersistentModelIndexes.Stephen Kelly2012-08-181-0/+9
| | | | | | | | | | | | | | | This is necessary whenever QPersistentModelIndexes are changed. Omitting it means that views are not able to react to the change, such as QTreeView clearing its (manually held) QModelIndex cache, and the QItemSelectionModel clearing the item from its storage. It is necessary to change a QSortFilterProxyModel test which assumed setItem does not have any such effect. That test is ported to setData instead. Task-number: QTBUG-18539 Change-Id: Id7a602f18b9773ba4d11019418de886860d26d3e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QAbstractSlider: fix qdoc warningsJ-P Nurmi2012-08-181-1/+1
| | | | | Change-Id: I996d45513a0239d0ed11669ce6e238955ec8a31b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* QSlider: fix qdoc warningsJ-P Nurmi2012-08-181-24/+2
| | | | | | | | Removed some Qt3 support leftovers and docs for qt_qsliderStyleOption() that qdoc wasn't able to tie to anything. Change-Id: I49bb886b639fe11e4923ef8486e0b9f8a966b10c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* QLCDNumber docs: cleanup Qt3 support leftoversJ-P Nurmi2012-08-182-21/+0
| | | | | Change-Id: I22378c5334ac830e94060f20568e200f0ee49280 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Remove docs for removed functions.Frederik Gladhorn2012-08-181-34/+0
| | | | | Change-Id: I75ec0137c56581653ee0dd6fd84f10f0a6c3429c Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
* Reference proper example.Frederik Gladhorn2012-08-182-1/+8
| | | | | Change-Id: Icda7e21f7e1eee8d4a6939ce3a50d1874ecda1e6 Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
* Remove outdated docs.Frederik Gladhorn2012-08-184-149/+1
| | | | | Change-Id: I6eaffdad3b800b7d90478cb7c4044ec27e659ec9 Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
* QMessageLogger: mark noDebug() as nothrowMarc Mutz2012-08-182-2/+2
| | | | | Change-Id: Ib01ad955844e8da376c687876141ad8f21776613 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMessageLogger: make member functions constMarc Mutz2012-08-182-17/+17
| | | | | | | | | | Just because we can :) It looks a bit weird that QMessageLogger has a constexpr constructor, but no const methods... Change-Id: I794dd2b3326c45be17b29decb47c9cac4778d397 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Moved guibooks.qdoc from qtdoc to qtwidgetsJ-P Nurmi2012-08-181-0/+103
| | | | | Change-Id: I69e07b7a343c99ebafc7bf4587041b6f9ddbd37e Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Exclude snippetsJan-Arve Saether2012-08-171-0/+2
| | | | | Change-Id: Ia31d7923e9a121eb7c16a1fe059dc8c9a5b61bd1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Doc: Fix spelling errorsSergio Ahumada2012-08-179-13/+13
| | | | | Change-Id: Ibae8d10183f6b15a16b1499daa2df8802dbb014e Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
* QTabWidget docs: cleanup Qt3 support left oversJ-P Nurmi2012-08-171-2/+0
| | | | | Change-Id: If73848b0b8dc424b3429f845aff383d088a6a367 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QTabBar docs: cleanup Qt3 support left oversJ-P Nurmi2012-08-171-17/+0
| | | | | Change-Id: If2c9245ad454b1f34c44f1d0a0c61700cea53cf3 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QDate/TimeEdit: fix qdoc warningsJ-P Nurmi2012-08-171-0/+12
| | | | | | | | | | | | Warnings caused by c3e1ab: ../widgets/qdatetimeedit.h:208: No documentation for 'QTimeEdit::time' ../widgets/qdatetimeedit.h:220: No documentation for 'QDateEdit::date' Both 'date' and 'time' are declared and documented in QDateTimeEdit. Change-Id: I287b5f20568e4055e6922eb1a70aeedf220de823 Reviewed-by: Shawn Rutledge <shawn.rutledge@nokia.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QMenuBar: fix qdoc warningsJ-P Nurmi2012-08-171-85/+3
| | | | | | | | | Removed Qt3 support left overs, marked QMenuBar::platformMenuBar() as internal, and removed the reference to qt_mac_set_native_menubar() that was removed in 2922f8. Change-Id: Ia6af9bd399c88fafab26789278b4c82312d6d9c7 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QScrollBar: fix qdoc warningsJ-P Nurmi2012-08-171-6/+0
| | | | | | | Removed some Qt3 support leftovers Change-Id: Idd8e05fd96f5eb0816f79e6684293c9477d4d52f Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QFrame docs: cleanup Qt3 support leftoversJ-P Nurmi2012-08-171-10/+0
| | | | | | Change-Id: I8c51f0a379c03e4bdd9dbdccc6cdc98a7013c40e Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix a bug in qdocs handling of excludedirsJan-Arve Saether2012-08-176-13/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug was there because the way qdoc tries to exclude the directories given in the "excludedirs" variable: It did a simple string comparision on the candidate path (to include) with every string in the "excludedirs" variable. However, this did not work for all cases, since the paths are not canonicalized. For instance, the problem I faced was that the following qdocconf fragment: (config file located in doc/qtwidgets.qdocconf) sourcedirs += .. excludedirs += snippets Since qdoc would recursively parse all subfolders of sourcedirs, it would at one point visit the snippets folder, but it would have the relative path "../doc/snippets", which did not match with "snippets", causing snippets to not be excluded. In addition, it seems that qdoc tries hard not to use absolute paths (maybe because of more human-friendly error messages). I therefore chose to canonicalize the relative paths. As a side-effect this also give a better output from qdoc, as ../doc/foo.qdoc:42: Missing link will become foo.qdoc:42: Missing link Change-Id: If9c25fa569abd03542bd12675acd44d8f4e0282c Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Clean up docs for graphicsview.Jan-Arve Saether2012-08-176-10/+128
| | | | | | | | | | | | * doc/snippets/graphicsview.cpp is moved from the qtdoc repo * doc/images/graphicsview-parentchild.png is taken from 4.8 There are still some problems with references to examples, but Casper meant that Jerome was working on that, so I'll leave those fixes out. Change-Id: Ieac8e6564344851fe8e77f2b346b152e57f8485c Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QComboBox docs: cleanup Qt3 support leftoversJ-P Nurmi2012-08-171-79/+2
| | | | | Change-Id: I59352edee99321c6119aee9c0f5e428a5371c997 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QThreadPool: fix race on 'queue' in stealRunnable()Marc Mutz2012-08-171-1/+1
| | | | | | | | The code under mutex protection already implicitly handles the case where queue.empty(), so just removing the pre-lock check suffices. Change-Id: I01467aff62e61bb4efd16359dd64546ff51c6bad Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QThreadPool: use swap() when making a copy of allThreadsMarc Mutz2012-08-171-3/+3
| | | | | | | This is the C++98 version of std::move(). Change-Id: Icb73da16bb05bf07114a38e4fd48732b612e2d51 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QThreadPool: don't loop unless neededMarc Mutz2012-08-171-2/+2
| | | | | | | The resulting code is easier to understand, too. Change-Id: I3cd84d85b3186860dd3ccd67c3771b82695e7f83 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QFutureInterface<void>: const-correct reportFinished()Marc Mutz2012-08-171-1/+1
| | | | | | | | The primary QFutureInterface::reportFinished() takes a const T *, so should the void sepecialisation. Change-Id: I4d3173f4fd4f8d27baecd407369659a42445aed7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix compilation of QThread on QNXSean Harmer2012-08-171-4/+6
| | | | | | | | | | Commit 3ef51efbe75bfb9f1dfbe7df073e9eb745a72ad8 broke compilation of qthread_unix.cpp on QNX. This fixes it by passing in the threadId to setCurrentThreadName(). Change-Id: I24f32d8054baedbd9a65b6a80fb1f6f37e07092d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Allow app to run when spurious 2nd screen is reportedSean Harmer2012-08-171-4/+4
| | | | | | | | | | | | | | On the PlayBook, libscreen always seems to report the presence of a 2nd display even when none is connected. This of course leads to the failure to query this display for its physical size. This patch relaxes the demand for a physical size to being for the primary screen only. Change-Id: If30b1fd704e7a194a426a0a9f0b85557478105f7 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* WinCE: Fix call of GetAncestor in setParent_sys()Kevin Funk2012-08-171-0/+9
| | | | | | | | | | There is no GetAncestor under Windows CE. Use GetParent instead. Change-Id: I87b86961dade0d5c7c8bf6a470f777d32188dcd2 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix setParent_sys() to use native methods when checking for toplevelMiikka Heikkinen2012-08-171-1/+8
| | | | | | | | | | | QWindowsWindow::setParent_sys() was checking if window was toplevel using non-native method, which caused wrong result in some cases involving native windows. Changed the toplevel check to utilize native method instead. Task-number: QTBUG-26826 Change-Id: I72ca17c53c1ed7611f141cee17b2edaaa80c6c17 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix GDI object leakMiikka Heikkinen2012-08-171-1/+1
| | | | | | | | DeleteObject parameter must be a handle, not a pointer to a handle. Task-number: QTBUG-26835 Change-Id: Id5de2b0b067bd9fc45c1c8ead4f7d67f0162f070 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove install/removeEventFilter from QRollEffectJoerg Bornemann2012-08-161-3/+0
| | | | | | | | This class doesn't have an eventFilter method. Change-Id: Ibd7b3b5b954dd2467c9b4dadd85d3613964d9f7c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* QSlotObjectBase: re-enable tail-call optimisation in impl()Marc Mutz2012-08-151-19/+19
| | | | | | | | | | | | | | | | | | | | | Two of the three operations in impl() return void, among them the most common one, call(). Having impl() return bool prevents tail- call optimisations for these. Fix by passing the bool return value for Compare as an out-parameter. Results in a nice decrease in text size (GCC 4.8-pre -O2 -std=c++11, stripped): text data bss dec hex filename 507343 13984 48 521375 7f49f tst_qobject (old) 505551 13984 48 519583 7ed9f tst_qobject (new) Reported-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I7538c5b3f0992970c089e44f07244e6b62794a1d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QSlotObjectBase: combat virtual function "bloat"Marc Mutz2012-08-154-72/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In C++, the compiler creates extra functions and data for classes with virtual functions. This can lead to "virtual function bloat": http://www.boost.org/doc/libs/1_47_0/doc/html/function/misc.html#id1382504 This is especially true when the number of instances is of the same order of magnitute as the number of derived classes, such as is common with type erasure techniques. One such case is the QSlotObjectBase hierarchy, which this patch tackles. The mechanics of this optimisation are simple: re-implement the virtual function call mechanism by hand, with function pointers. But we go one step further and collapse the vtable into a single pointer to a function that implements all three currently-defined operations, swtching on an 'int which' argument. This even allows us to extend this in a BC way, should that become necessary later, by adding a new Operation and using the void** argument to transport arguments, if any. This approach was inspired by: Ulrich Drepper: How To Write Shared Libraries, Section 2.4.4 http://www.akkadia.org/drepper/dsohowto.pdf Also move the QSlotObjectBase hierarchy out of QObject so as not to export all the derived classes. This was pointed out in review by Thiago. Results (Linux amd64, GCC 4.8-pre -O2 -std=c++11, stripped): size tst_qobject* text data bss dec hex filename 523275 21192 48 544515 84f03 tst_qobject (old) 507343 13984 48 521375 7f49f tst_qobject (new) relinfo.pl tst_qobject* (old) tst_qobject: 473 relocations, 0 relative (0%), 240 PLT entries, 240 for local syms (100%), 0 users (new) tst_qobject: 323 relocations, 0 relative (0%), 238 PLT entries, 238 for local syms (100%), 0 users Change-Id: I40ad4744dde8c5c29ef62ed2d82d4b1ede178510 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Avoid an expensive call to toLocal8Bit upon thread creationThiago Macieira2012-08-151-10/+18
| | | | | | | | | | | | | | | QString::toLocal8Bit() will need to call QTextCodec::codecForLocale(), which isn't the cheapest of the functions, at least the first time it's run. So avoid calling it when in most scenarios, the name of the QObject isn't set, and the information is purely for debugging. Additionally, avoid allocating memory when setting the thread name to the class name. The class name coming from the meta object is a static constant string and we can use it directly. Change-Id: Ief643bad87a51487b1d41c0a2f323e80bb53e8a7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Remove trailing comma in enumThiago Macieira2012-08-153-3/+3
| | | | | | | | | | | Spotted by ICC: qfreelist_p.h(127): warning #271: trailing comma is nonstandard BlockCount = 4, ^ Change-Id: Ib64d1d19ca0514e7582a295da48cbf6705aa8c44 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Silence a false-positive warning about uninitialised variable with ICCThiago Macieira2012-08-153-3/+3
| | | | | | | | | | | | | | | | ICC complains like so: harfbuzz-gpos.c(95): warning #592: variable "error" is used before its value is set return error; ^ However, line 95 is never executed because the condition on line 94 is always false. That's why it's a false positive. The same construct happens in the other two places. Still, silence the warning. Change-Id: I168d916d6837d4ac346facfd22b3e5b4e22ef7f0 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Made eglfs work with backing store based applications again.Samuel Rødal2012-08-153-4/+10
| | | | | | | | | Make sure we pick the same config for the context and window surface, and do not create unnecessary window surfaces for the desktop widget. Change-Id: I3c8fb3df9ab8a658196e41dfa1705cfca625a2d7 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Documentation for QWidgetItem::controlTypes.Frederik Gladhorn2012-08-151-0/+6
| | | | | | Change-Id: I673b884ac8513714d733411729a7418c19f05682 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Update docs.Frederik Gladhorn2012-08-151-1/+6
| | | | | Change-Id: I7bd1f1efe2d6ce3aee8cb7454f43cfef2979f525 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove docs for removed enum values.Frederik Gladhorn2012-08-151-5/+0
| | | | | Change-Id: I225ea48606d60894a851c1dd620983b7a65d234d Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Move docs for QSessionManager to the right file.Frederik Gladhorn2012-08-152-293/+256
| | | | | Change-Id: Ia3735ac14fe91de8cfbb58fc68f1a37f04d7b668 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Remove outdated docs.Frederik Gladhorn2012-08-151-35/+0
| | | | | Change-Id: Ic878226c3b627b445ac45f56497a6a4ae77b2d38 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Remove deprecated docs for QActionGroup.Frederik Gladhorn2012-08-151-32/+0
| | | | | Change-Id: If086395d3e1d151324df3cc1c59152715cb4af40 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Add parameter docs for QAbstractEventDispatcher::filterNativeEvent.Frederik Gladhorn2012-08-151-2/+4
| | | | | Change-Id: If028d2560d7bb18c9dd3e0f5fa6677c42fbf7d4b Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>