summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets
Commit message (Collapse)AuthorAgeFilesLines
* QtWidgets: mark some constructors explicitMarc Mutz2015-12-075-13/+13
| | | | | | | Non-public API. Change-Id: I68628c51df815f26e8de7522629a611f805673bb Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QMdiArea: replace a QList<int> with a QVectorMarc Mutz2015-12-041-1/+1
| | | | | | | A QVector<int> uses 50% less space on 64-bit platforms. Change-Id: I6a2174b04b362188597bc42cad84b7ce2018ea78 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Give names to enum used in templates.Rolland Dudemaine2015-12-041-1/+1
| | | | | | | | The GHS toolchain needs names for enumerations that are used for template instantiation. Change-Id: I4e184cd77074fd7ece89f21317536e6006ab257d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMdiArea: fix quadratic behaviorMarc Mutz2015-12-031-10/+8
| | | | | | | | | | | Repeatedly calling QVector::erase(it) (via QMutableVectorIterator::remove()) results in quadratic runtime. Use std::stable_partition, which does exactly what the old code tried to do, except in linear time. Change-Id: I6e5911ee781071bbb84d72449c969e3b9907da51 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QMdiArea: fix unintended reallocationsMarc Mutz2015-12-031-1/+1
| | | | | | | | | The capacity of 'result' is reserved, but QVector::clear() always deallocates. Fix by using resize(int) instead, which at least preserves capacity when it has been reserve()d. Change-Id: I198d532661f4f767588c4ce244c2454eb8823e54 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/devLiang Qi2015-12-032-2/+2
|\
| * Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-022-2/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qcoreapplication.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/network/bearer/qnetworkconfiguration.cpp src/plugins/bearer/blackberry/qbbengine.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformtheme.cpp src/plugins/platforms/qnx/qqnxbpseventfilter.cpp src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxnavigatorbps.cpp src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp src/plugins/platforms/qnx/qqnxwindow.cpp src/widgets/kernel/qwidgetwindow.cpp src/widgets/styles/qwindowsvistastyle.cpp src/widgets/styles/qwindowsxpstyle.cpp src/widgets/widgets/qtoolbararealayout.cpp tests/auto/corelib/global/qflags/qflags.pro tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp tests/auto/corelib/tools/qversionnumber/qversionnumber.pro tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp Change-Id: I37be88c6c185bb85404823353e027a0a6acdbce4
| | * QtBase: remove explicit function info from qWarning() etcMarc Mutz2015-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This information is already registered by the QMessageLogger ctor. Where, by dropping the << Q_FUNC_INFO in ostream-style qDebug(), only a string literal remained, converted to printf-style qDebug() on the go. Change-Id: I3f261c98fd7bcfa1fead381a75a82713bb75e6f3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Fix closing a QMenu by pressing Alt.Friedemann Kleint2015-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In QMenuPrivate::hideMenu(), delay clearing of 'causedPopup.widget' to after the QMenu::close() call, so that it is still accessible in QMenu::hideEvent() which calls QMenuBarPrivate::setCurrentAction(0) if the caused widget is a QMenuBar. Task-number: QTBUG-47377 Task-number: QTBUG-49592 Change-Id: Idbda48e918dae799afea84068a60d7383d7b4971 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | QComboBox: don't re-evaluate count()/model->rowCount() all the timeMarc Mutz2015-12-021-8/+12
|/ / | | | | | | | | | | | | | | QAbstractItemModel::rowCount() is a potentially expensive operation, so cache its value whereever possible. Change-Id: Ib2829b20a0fedcbf091a535945b88db323b53fbe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Remove dead code.Jake Petroules2015-11-271-12/+0
| | | | | | | | | | | | Change-Id: Idfaef408536bafbb31444ec8728dbcf289abac8d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-231-4/+3
|\| | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qcoreapplication.cpp src/corelib/thread/qthread_unix.cpp Change-Id: Ia08d613c3f0bd08cb6dc3e3a57257207dfd4a099
| * Replace backwards Java-style iteration with new reverse_iteratorsMarc Mutz2015-11-191-4/+3
| | | | | | | | | | | | | | | | Faster, and, thanks to the new reverse_iterators, just as convenient. Change-Id: Ibc6c64051a8ede4a47428e9271ffbeaa921fc255 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | QtWidgets: use Q_UNLIKELY for every qWarning() (1)Marc Mutz2015-11-2124-60/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If, after checking a condition, we issue a qWarning(), by definition that check is unlikely to be true. Tell the compiler so it can move the error handling code out of the normal code path to increase the effective icache size. This change contains the changes to the util/, dialogs/ and widgets/ subdirs. Moved conditional code around where possible so that we could always use Q_UNLIKELY, instead of having to revert to Q_LIKELY here and there. In QSystemTrayIcon::setVisible(), as a drive-by, I swapped the evaluation order of an &&-expression (newly wrapped in Q_UNLIKELY) to be more readable and more efficient (cheaper check first) at the same time. Change-Id: I3564c5a5deacba49d67d3989fb0b53e680c57fcb Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtWidgets: use new qUtf16Printable() instead of qPrintable()Marc Mutz2015-11-211-2/+2
| | | | | | | | | | | | | | | | This is more efficient and works even with non-US-ASCII QStrings. Change-Id: I4ca19de60347ded03022ef8540a6708c563bc9d7 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-181-0/+4
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess.cpp src/corelib/io/qprocess_unix.cpp src/network/kernel/qnetworkinterface_winrt.cpp tools/configure/configureapp.cpp Change-Id: I47df00a01597d2e63b334b492b3b4221b29f58ea
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-171-0/+4
| |\ | | | | | | | | | Change-Id: I6b1fe0c6c360a0d5285911869f0f4f93d86d822e
| | * QComboBox: Disable wheel events on OS X & iOSAdam Strzelecki2015-11-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is follow-up for QTabBar fix ea47d152b35158ba07a55d009f57df0e4c2a048f. In native OS X applications using mouse wheel on combo boxes have absolutely no effect. We should bring the same behavior to Qt based OS X apps too, as users are complaining of unexpected behavior, eg. randomly switching Qt Creator sidebar mode when scrolling file list and moving mouse pointer little bit above. Moreover inertial mouse behavior on OS X makes combo box usually move several indexes, rather than single one on slight finger slide. This also applies to iOS apps so the change affects all Apple platforms. Task-number: QTBUG-10707 Change-Id: I6582265039198707ad8c2f54de96ee2a0b0e0b47 Reviewed-by: Adam Strzelecki <ono@java.pl> Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
* | | Widgets: enable scroll buttons to be placed anywhere on a QTabBarRichard Moe Gustavsen2015-11-162-88/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a tab bar contain more tabs than it can fit inside its geometry, it will show two scroll buttons that lets the user scroll left or right. From before, those buttons where hard coded to always be placed together on the right side of the tab bar. This patch will make it possible for the style to specify the exact geometry of both scroll buttons. The reason for this is that 3rd party styles has a specific need to place the "scroll left" button on the left side, and the "scroll right" on the right side. Additionally, there is a need to draw fade-out effects on tabs that end up half-way obscured by the buttons. This can already be achieved by extending the tab tear concept to include two tears/fade effects, one for each side of the tab bar. Previous code in QTabBar that hard-coded scroll buttons and related functionality will now be factored out to the style, and the base style (QCommonStyle) will implement the old default logic of placing the buttons together on the right side. Six new style enums will be added: SE_TabBarScrollLeftButton: the rect of the left scroll button SE_TabBarScrollRightButton: the rect of the right scroll button SE_TabBarTearIndicatorLeft: the rect of the left tab tear SE_TabBarTearIndicatorRight: the rect of the right tab tear PE_IndicatorTabTearLeft: draw the left tab tear PE_IndicatorTabTearRight: draw the right tab tear Change-Id: I4cda05c2f7323de5cbd3ca071eb796085257c19b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-0412-90/+78
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/unix/ptrsize.test configure src/corelib/global/qnamespace.h src/network/socket/qabstractsocket.cpp tests/auto/other/networkselftest/networkselftest.pro Change-Id: Ic78abb4a34f9068567cea876861d4220f5a07672
| * | QtWidgets: remove use of obsolete QStyleOption*V<N>Marc Mutz2015-11-046-78/+60
| | | | | | | | | | | | | | | | | | | | | | | | They are obsolete since Qt 5.0. Change-Id: I3a1ee314126bd245a3c788ac7af49905ab50945f Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | QDockAreaLayoutInfo::updateTabBar(): Save and restore current index.Friedemann Kleint2015-11-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | When rebuilding the tab bar after hiding several dock widgets, the index gets offset. Task-number: QTBUG-49045 Change-Id: I05f6a976ca1d8c6f7cdf6532f1a728483398eabc Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | QtWidgets: use printf-style qWarning/qDebug where possible (I)Marc Mutz2015-10-272-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "..."; with qWarning("..."); Change-Id: I1f6869b024103c98262f1deae014e0d7337a541c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-231-3/+3
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qcfsocketnotifier.cpp src/tools/qdoc/qdocindexfiles.cpp Change-Id: Iae365b23afc611de8794f22cceae8b210d25aa8a
| | * QLineEdit: Fix visibility handling of side widgets.Friedemann Kleint2015-10-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compare against isVisibleTo() in QLineEditIconButton::actionEvent() so that action events received before show() are handled correctly. Fix a regression introduced by change 4dccb2ca674e9eafca65da0775254932102c7f4b for handling action events causing side widgets to overlap when added before the widget was shown. Use QAction::isVisible() to determine visibility. Task-number: QTBUG-48806 Task-number: QTBUG-48899 Task-number: QTBUG-39660 Change-Id: I7a39a3b9a094f2c74cde09544f1158deb2b81cf2 Reviewed-by: David Faure <david.faure@kdab.com>
| * | QMenu: Fix a typo EventShouldBePropogated -> EventShouldBePropagatedAlexander Volkov2015-10-232-6/+6
| | | | | | | | | | | | | | | Change-Id: Id9439bd749576d1f7dfcb1653905f5de47b825b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | QWidgetAction: Don't deactivate the current window on MacGabriel de Dietrich2015-10-232-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We check the name of the window class the widget's QNSView changes window and set a flag when the that window is a native Cocoa menu window. Later, only those views not inside a native menu can become first responder, ensuring Qt won't deactivate the main window. We're allowed to reject becoming the first responder mainly because Cocoa itself doesn't support sending key event to menu views and, therefore, it doesn't change what's already possible. This patch also sets the widget action visible, which needs to be done right after reparenting it to the container widget. Besides that, it also contains a few small code cleaning changes related to Cocoa's support of QWidgetAction. Change-Id: Ia2170bdc5e1f40bfa2f1091c05e9e99397c47187 Task-number: QTBUG-44015 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | | QCalendarWidget: replace a QVector by std::vectorMarc Mutz2015-11-041-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to drop the default ctor and isNull() method of SectionToken again, and reduces text size on optimized AMD64 / GCC builds by a further 456 bytes. Change-Id: I7109c9a138dcc27c478c0827d6216a043f592992 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | | QCalendarWidget: replace a QMap<Qt::DayOfWeek,.> with a static assoc arrayMarc Mutz2015-11-041-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Qt::DayOfWeek has such a limited range, it doesn't really make sense to use it as a key in a QMap, which is optimized for much larger key spaces. Replace by a C array of the value type, and, since the value type in question (QTextCharFormat) doesn't have an invalid state, use a bool array to track whether any of the seven possible keys has been inserted. Wrap that in a small helper class which provides only the subset of QMap API that QCalendarModel needs. Saves 1352 bytes of text size on optimized GCC AMD64 builds. Change-Id: Ie51390825d5933739659c4ea8e8da0af68577a9d Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | QCalendarWidget: hold SectionToken by-valueMarc Mutz2015-11-031-46/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There really is no point in allocating a struct containing a pointer and an int on the heap. Allocate by-value instead. Since QList would be inefficient then, switch to QVector. A pointer to the current token was replaced by its index. That saves looking it up on every toPreviousToken()/ toNextToken(). This saves 816 bytes of text size on optimized AMD64 / GCC builds, even though QVector expands to more code than QList. Change-Id: I030ee3f6acabe76168a518495bd4462711519e54 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-10-234-2/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf configure src/corelib/global/qglobal.h src/tools/qdoc/node.cpp src/tools/qdoc/qdocdatabase.cpp tests/auto/corelib/io/qsettings/tst_qsettings.cpp tools/configure/configureapp.cpp Change-Id: I66028ae5e441a06b73ee85ba72a03a3af3e8593f
| * | QMdiSubWindow: Do not close when doubleclicking on disabled Restore action.Friedemann Kleint2015-10-191-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Check whether the action under the mouse is enabled before closing. Task-number: QTBUG-48493 Change-Id: I2a0669840b9b6c81dacdf179325301c02f1c0c35 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| * | QLineEdit: Unable to drag selected text when aligned right or centerDan Cape2015-10-193-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Created local inSelection function to modify the x value (similar to xToPos()) before sending it to the control. Ran the QLineEdit test and manually tested with AlignLeft, AlignRight and AlignCenter. Change-Id: I088430580dc87f3cfff90c4cd9ff90e6ab215f57 Task-number: QTBUG-48495 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-10-147-43/+46
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/tools/qversionnumber/qversionnumber.pro Change-Id: Ia93ce500349d96a2fbf0b4a37b73f088cc505c6e
| * | Clean up cancel operation handling on OS XTor Arne Vestbø2015-09-277-43/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic for handling cancel operations was spread out through the code base and sometimes hard-coded to only include the Escape key shortcut, missing the Command+. shortcut. We now intercept both attempts at cancel operations from the system through cancelOperation, which we forward as normal key events. A new QKeySequence::StandardKey has been added for the Cancel sequence, which maps to Escape on all platforms, and Command+. in addition for OS X. The hard-coded logic in QWidget and subclasses for dealing with closing the dialogs has been replaced with this key sequence, which allows clients to override the behavior. Note that the widget code is not wrapped in checks for QT_NO_SHORTCUT, as we don't care about keeping widgets building and working under that define. The logic in QCocoaWindow to bypass windowShouldClose when delivering IM events has been removed as we now handle that specific case by also forwarding Escape as a cancel operation. Task-number: QTBUG-47557 Task-number: QTBUG-45771 Task-number: QTBUG-44076 Change-Id: Ibe0b3a4819f8659d246a2142dd7d9cd3a826ef78 Reviewed-by: Tim Blechmann <tim@klingt.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | Allow to minimize frameless MDI subwindowsSerge Lysenko2015-09-302-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible to create a frameless QMdiSubWindow to customize its title, but currently we can not minimize it because it disappears in result. This fix turn on minimizing of frameless MDI subwindows and exclude hiding of base widget in this case, so we can display shaded window correctly. Change-Id: I62c417b24e8528cf033fe5edce163d2eb46a4994 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Avoid unnecessary setParent(0) in QMdiSubWindow::removeBaseWidget()Serge Lysenko2015-09-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | QMdiSubWindow should not reset parent of base widget if it has been already changed before. Task-number: QTBUG-47993 Change-Id: I43e3a28481e9ba3026a93850a8cc1246a359852a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Fix building with QT_NO_IMUlf Hermann2015-09-281-0/+2
| | | | | | | | | | | | | | | Change-Id: Ibb5248d6392f6746dcdf398361bd38f9e98a7eb7 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-09-258-23/+61
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/io.pri src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/network/socket/qabstractsocket.cpp src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h src/widgets/styles/qgtkstyle.cpp tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro tests/auto/dbus/qdbusconnection/qdbusconnection.pro tests/auto/dbus/qdbuspendingcall/tst_qdbuspendingcall.cpp tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp Change-Id: I347549a024eb5bfa986699e0a11f96cc55c797a7
| * | QAbstractSpinBox::inputMethodQuery(): Consider input method hints set on the ↵Friedemann Kleint2015-09-221-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | spin box. The derived classes (QSpinBox, QDoubleSpinBox, QDateTimeEdit, QTimeEdit) set various input method hints on the spin box in the init() methods of their private classes which did not have any effect since QAbstractSpinBox::inputMethodQuery() was implemented to return the hints of the embedded QLineEdit only. Change it so that hints set on the QAbstractSpinBox are also considered. Change-Id: I76b7c4d3e0869589c110cf3a0b2c3f94201db5d5 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
| * | QLineEdit: Don't include left and right minimum bearing when drawing textTor Arne Vestbø2015-09-221-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The naturalTextWidth() of the QTextLayout already includes the left and right bearing of the actual text in the line edit, there's no need to shift the text based on the minimum left and right bearings as well. This may result in text that is closer to the edges of the line edit on platforms that relied on this flawed logic, but that should be adjusted back using the corresponding style hints. Change-Id: I1d5edbeda7afe3e69b972841d280eb9e573675f5 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | Fix some doc warnings.Friedemann Kleint2015-09-111-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/gui/text/qzip.cpp:797:warn:Cannot find 'FileInfo::d' specified with '\variable' in any header file qtbase/src/opengl/doc/src/qtopengl-index.qdoc:28:warn:Can't link to 'Qt Gui' qtbase/src/opengl/doc/src/qtopengl-module.qdoc:28:warn:Can't link to 'Qt Gui' qtbase/src/widgets/widgets/qcombobox.cpp:3033:warn:Cannot find base function for '\reimp' in showPopupFromMouseEvent() qtbase/src/corelib/plugin/quuid.cpp:849: warning: Can't link to 'variant()' qtbase/src/corelib/plugin/quuid.cpp:863: warning: Can't link to 'variant()' qtbase/src/widgets/dialogs/qsidebar.cpp:72: warning: Cannot find base function for '\reimp' in mimeTypes() qtbase/src/widgets/dialogs/qsidebar.cpp:80: warning: Cannot find base function for '\reimp' in flags() qtbase/src/widgets/dialogs/qsidebar.cpp:98: warning: Cannot find base function for '\reimp' in mimeData() qtbase/src/widgets/dialogs/qsidebar.cpp:134: warning: Cannot find base function for '\reimp' in dropMimeData() qtbase/src/widgets/dialogs/qsidebar.cpp:151: warning: Cannot find base function for '\reimp' in setData() Change-Id: I39d6494eb8179f0f7532f99458736fa5e30cdc25 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
| * | Fix some qdoc warnings.Friedemann Kleint2015-09-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/corelib/io/qdebug.cpp:698: warning: Class QDebugStateSaver has no \inmodule command; using project name by default: QtCore qtbase/src/gui/opengl/qopenglframebufferobject.cpp:1138: warning: Can't link to 'takeTextures()' qtbase/src/gui/opengl/qopenglframebufferobject.cpp:1159: warning: Can't link to 'takeTextures()' qtbase/src/gui/opengl/qopenglframebufferobject.cpp:953: warning: No such parameter 'height' in QOpenGLFramebufferObject::addColorAttachment() qtbase/src/gui/opengl/qopenglframebufferobject.cpp:953: warning: No such parameter 'width' in QOpenGLFramebufferObject::addColorAttachment() qtbase/src/gui/opengl/qopenglframebufferobject.cpp:953: warning: Undocumented parameter 'size' in QOpenGLFramebufferObject::addColorAttachment() qtbase/src/gui/painting/qpaintdevice.qdoc:80: warning: Undocumented enum item 'PdmDevicePixelRatioScaled' in QPaintDevice::PaintDeviceMetric qtbase/src/testlib/qbenchmarkmetric.cpp:154: warning: Invalid use of '\relates' (already a member of 'QTest') qtbase/src/testlib/qbenchmarkmetric.cpp:81: warning: Invalid use of '\relates' (already a member of 'QTest') qtbase/src/widgets/dialogs/qdialog.cpp:152: warning: Can't link to 'QCloseEvent::ignore()' qtbase/src/widgets/dialogs/qdialog.cpp:557: warning: Can't link to 'QApplication::quit()' qtbase/src/widgets/kernel/qwidget.cpp:8326: warning: Can't link to 'QCloseEvent::accept()' qtbase/src/widgets/kernel/qwidget.cpp:8326: warning: Can't link to 'QCloseEvent::ignore()' qtbase/src/widgets/kernel/qwidget.cpp:9300: warning: Can't link to 'QWheelEvent::accept()' qtbase/src/widgets/kernel/qwidget.cpp:9300: warning: Can't link to 'QWheelEvent::ignore()' qtbase/src/widgets/kernel/qwidget.cpp:9321: warning: Can't link to 'QTabletEvent::accept()' qtbase/src/widgets/kernel/qwidget.cpp:9321: warning: Can't link to 'QTabletEvent::ignore()' qtbase/src/widgets/kernel/qwidget.cpp:9373: warning: Can't link to 'QKeyEvent::ignore()' Change-Id: I97ae85398181645c1054c303e5c8a87deb619409 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Simon Hausmann2015-08-274-5/+42
| |\ \
| | * | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-264-5/+42
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/snippets/code/doc_src_qmake-manual.pro qmake/doc/src/qmake-manual.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qbytearray.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp tests/auto/network/access/qnetworkreply/BLACKLIST Change-Id: I9efcd7e1cce1c394eed425c43aa6fce7d2edf31c
| | | * Handle action events in QLineEditIconButton.Friedemann Kleint2015-08-182-4/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure QAction::setVisible() is handled and reposition if visibility changes. Task-number: QTBUG-39660 Change-Id: I14f0659aedc8dc89ddef3159d3a500b40b1563ff Reviewed-by: David Faure <david.faure@kdab.com>
| | | * Open menu on the third click on QMenuBar on X11Alexander Volkov2015-08-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't replay mouse events after closing popups on X11. This leads to the bug when the menu doesn't show after clicking three times on the menu bar. It can be fixed by reverting 78d7192338e2cbba0c9b53c429d35b9437b7e1cd, but then we need an alternative fix for QTBUG-32807 on Windows. So don't replay mouse events for the menu bar on all platforms. Change-Id: I3db8e24a6de6f35b0a17dffac6a131f1cad42e6d Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
| | | * QComboBox: make editable comboboxes usable with input methodsRichard Moe Gustavsen2015-08-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QComboBox uses a QLineEdit for text editing. But while editing, the combobox is the widget having focus, not the line edit. Instead the combobox forwards all the IM events to the line edit internally. This causes a problem since the line edit will not be able to update the platforms IM state in QWidget::updateMicroFocus() since it doesn't have focus. The result will be that the platforms IM state will get out of sync with the QLineEdit. This patch will add the missing connections that lets QComboBox update the platforms IM state when the inner QLineEdit signals that its needed. Change-Id: Ic3e0fdbf155d4dbeab31e2cd859f6e425ae87375 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| | | * QLineEdit: update IM status after selection changeRichard Moe Gustavsen2015-08-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As it stood, we only told the platform about a selection change if the cursor also changed position. But if you have a selection, and press key left, the selection will be cleared without moving the cursor. And for those cases, we didn't report the selection change back to the platform. The result was that the IM status in the platform plugin got out of sync with the widget. This patch will add the missing connection that updates the platform whenever the selection changes. Change-Id: Iab0848f27207b63ed4fb47f0d4f24a6d02e87db1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * | | Fix some qdoc-warnings.Friedemann Kleint2015-08-271-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/widgets/kernel/qaction.cpp:1257: warning: Can't link to 'QApplication::setAttribute()' qtbase/src/widgets/kernel/qapplication.cpp:519: warning: Can't link to 'arguments()' qtbase/src/widgets/kernel/qapplication.cpp:1939: warning: Can't link to 'quit()' qtbase/src/widgets/kernel/qapplication.cpp:2946: warning: Can't link to 'quit()' qtbase/src/widgets/kernel/qapplication.cpp:2946: warning: Can't link to 'exit()' qtbase/src/widgets/kernel/qapplication.cpp:2946: warning: Can't link to 'processEvents()' qtbase/src/widgets/widgets/qmenu.cpp:1354: warning: Can't link to 'Recent Files Example' qtbase/examples/widgets/doc/src/tetrix.qdoc:28: warning: Can't link to 'QApplication::quit()' qtbase/src/testlib/qtestcase.cpp:268: warning: Undocumented parameter 'timeout' in QTRY_VERIFY2_WITH_TIMEOUT() qtbase/src/corelib/global/qnamespace.qdoc:2427: warning: Can't link to 'QApplication::setLayoutDirection()' qtbase/src/corelib/global/qnamespace.qdoc:751: warning: Can't link to 'QApplication::setDesktopSettingsAware()' Change-Id: Ic8170a40fb1cd84e3fb4dd75d9429f4b485f8bd9 Reviewed-by: Martin Smith <martin.smith@digia.com>