summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets/qcombobox.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-08-061-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/3rdparty/forkfd/forkfd.c src/corelib/codecs/qtextcodec.cpp src/corelib/kernel/qmetatype.cpp src/corelib/tools/qset.qdoc src/gui/accessible/qaccessible.cpp src/gui/image/qpixmapcache.cpp src/opengl/qgl.cpp src/tools/qdoc/generator.cpp src/widgets/kernel/qwidget.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
| * QLineEdit should inherit the input methods from QComboBox.BogDan Vatra2015-07-301-0/+1
| | | | | | | | | | | | Task-number: QTBUG-39088 Change-Id: I4dfe9a052c20a4cb0a9d6b0d3337cb5095a3694f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge remote-tracking branch 'origin/5.5' into HEADSimon Hausmann2015-07-171-0/+2
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsopengltester.cpp Change-Id: Ia7abeba9395ccf84e2fa81b91a5725a86dedb9fe
| * QComboBox: Fix compilation with QT_NO_COMPLETERChristoph Schleifenbaum2015-07-131-0/+2
| | | | | | | | | | | | | | Change-Id: Ie57b06ebbddaa0801e265e6908da1548fe02085a Task-number: QTBUG-46871 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: André Hartmann <aha_1980@gmx.de>
* | QComboBox::setView only delete the old view if it is a childThorbjørn Martsum2015-07-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | We have ownership for a reason - and there seems to be no good reason not to accept it here. [ChangeLog][QtWidgets][QComboBox] QComboBox::setView no longer deletes the old view directly. It now checks the ownership first. Change-Id: Icb5e5c0a6e9dc93c1d1c1a90ff57fbcc0786aa60 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-011-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * Replace MAC OS X with OS XNico Vertriest2015-06-301-1/+1
| | | | | | | | | | | | Task-number: QTBUG-46374 Change-Id: I7bc633ab551740bd328a24b0ccae1d534af47138 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | widgets: Use QList::reserve(), reduces reallocations.Sérgio Martins2015-06-231-0/+1
|/ | | | | Change-Id: I49cc03f365c77f142f62c8e77505ec09723a44d9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix combobox regression 5.4 -> 5.5Allan Sandfeld Jensen2015-05-301-1/+1
| | | | | | | | | | | | | | | | | | | To avoid a touch release outside the combobox triggering the popup, a check was added that the combobox was hit. This fails if the combox itself is only used for the popup and associated behavior, but does not exist as widget. This patch changes the check so that only touch release checks for a hit, but a generic click still behaves as in 5.4 to avoid regressions. This fixes comboboxes no longer working in QtWebKit, since QtWebKit renders its own comboxes in webpages, and only uses the popup of the QComboBox. Task-number: QTBUG-46152 Change-Id: I74fd57b2e42e77aa4a269d812ca4a6689f254889 Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* QComboBox: also adjust size on model reset, with AdjustToContentsDavid Faure2015-04-041-0/+1
| | | | | | | | | | | | When the size adjust policy is QComboBox::AdjustToContents, the combobox sizeHint was recalculated on dataChanged, rowsInserted, rowsRemoved, and setModel, but not when the model was reset. This led to truncated items in the combobox when models are filled asynchronously. Task-number: QTBUG-5413 Change-Id: I3456c327d680dfffa58d6dcb26c79456c67b2a32 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QComboBox: open popup on touch release if QStyleHints has ↵Richard Moe Gustavsen2015-04-041-16/+30
| | | | | | | | | | | | | | | setFocusOnTouchRelease() If we give focus to the combobox on touch release, we need to await opening the popup until touch release as well. Otherwise we might end up showing a popup for an unfocused combobox. Especially on iOS, there is a strong coupling between focus object and popup menus, which means that we effectively require the combobox to gain focus before it can show the popup. Change-Id: Ifb7ba091bb39b77f325cdbf61e00ab3e8ff2e522 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-1/+4
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * QComboBox: Update completer on setCurrentIndex()Andre Hartmann2015-03-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | When the ComboBox currentText() was changed by key LineUp or LineDown or mouse click, the completer still contained the last inserted characters. If now all text was selected (by Ctrl+A or selectAll()), the old item and index was restored on next Enter press. Task-number: QTBUG-41288 Change-Id: I6916fd31c8b8fbacfb12e1a62c3e46823cf918b4 Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
* | QComboBox: use native popup on iOSRichard Moe Gustavsen2015-03-251-5/+5
| | | | | | | | | | | | | | Enable native popup on iOS as well as OS X Change-Id: If99180a017768d9c94241adf2282ee9b3f69cbc1 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | QComboBox: change showNativePopup to be non-blockingRichard Moe Gustavsen2015-03-251-50/+75
| | | | | | | | | | | | | | | | | | | | QPlatformMenu::showPopup() is supposed to be non-blocking. So ensure that we don't start cleaning up the menu items directly after the call in showNativePopup, but wait until we need to reload the items, or the combobox is destroyed. Change-Id: Ie4c9b6425cec44861af38e517fc5ef226e0903c7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | Fix invocations of static methods of QGuiApplication/QApplication.Friedemann Kleint2015-02-251-1/+1
| | | | | | | | | | | | Change-Id: I99ba58763f6063fa2a6f511adbea0163cce7ea32 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* | QComboBox: use QModelIndex::sibling() instead of index()+parent()Marc Mutz2015-02-041-3/+1
| | | | | | | | | | | | | | | | | | QAIM::sibling() may be more efficient, esp. in cases where only the column number needs to be adjusted. It is a no-op if the column number is already correct. Change-Id: Iabb8d5ef58d083da971a9d2f3702908257e5cc0a Reviewed-by: David Faure <david.faure@kdab.com>
* | Make it more obvious that Q_WS_ is dead code, and should perhaps be portedTor Arne Vestbø2015-02-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | We still have a bunch of Q_WS_ ifdefs in our code, which are easy to mistake for Q_OS_ ifdefs when quickly scanning the code. By renaming the ifdefs we make it clear that the code in question is dead. In incremental follow-ups, we can then selectively either remove, or port, the pieces that are dead code. Change-Id: Ib5ef3e9e0662d321f179f3e25122cacafff0f41f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QComboBox: simplify codeGiuseppe D'Angelo2015-01-161-7/+6
| | | | | | | | | | | | | | | | Remove an useless check and hoist a costly call out of a loop. Change-Id: Ibd1750026af44462a4f0223a9b2f422ebcc7c0e3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | QComboBox: make setModel reset the root model indexGiuseppe D'Angelo2015-01-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | When changing models it makes no sense to keep the old root model index, pointing into a possibly deleted model. Reset it to the root of the new model is the best line of action. [ChangeLog][QtWidgets][QComboBox] QComboBox will now reset its root model index when a new model is set on it. Task-number: QTBUG-43350 Change-Id: I113d558ce19fcaed31f13abfbedc7a24302e28d7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | Make setting twice the very same model on QComboBox a no-opGiuseppe D'Angelo2014-12-201-0/+3
|/ | | | | | | | | | | | | Basically, introduce a small check for this corner-case situation. Setting a model doesn't just store a pointer, but also resets the current index, changes the line edit completion model, and so on, and seems silly to trigger changes in such cases. [ChangeLog][QtWidgets][QComboBox] A QComboBox does not reset itself any more when setting the same model more than once. Change-Id: If028b36cdfaa5552c156dd900e123ca9a04d4e3d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* iOS, QComboBox: don't apply special case for OS X on iOSRichard Moe Gustavsen2014-11-261-2/+2
| | | | | | | | | The special-case that was added for OS X before the iOS port came to be stops the virtual keyboard from working correctly. Task-number: QTBUG-41613 Change-Id: I0b8c83e98584389ea4a8aada16a1ee1a64300400 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Correctly update QComboBox appearance on editable changeEskil Abrahamsen Blomfeldt2014-10-241-2/+1
| | | | | | | | | | | | | | | | The updateDelegate() function checks isEditable() which in turn checks if d->lineEdit != 0, so we need to make the call after the lineEdit has actually been set/unset, otherwise the change to the delegate will not come until the next time you update the delegate. [ChangeLog][QComboBox] Fixed updating appearance of popup menu when changing the editable state of the combo box. Change-Id: Ib32f36cabd53c2c30d6256484a1eae131419960a Task-number: QTBUG-33537 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Fix height of combo popup when the list view has non-zero spacing.Friedemann Kleint2014-10-221-5/+21
| | | | | | | | | | | | QListView::spacing() is the space around the item (layout margin), so the effective spacing is twice as big. This differs conceptionally from QTableView, which has a spacing of 1 and a line on top/bottom. Split up QComboBoxPrivateContainer::spacing() into functions return spacing and top/bottom margins to reflect this. Task-number: QTBUG-37865 Change-Id: I1ff812e7856e00a53f1119ef3304956cbb7cbfca Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* osx: let qcombobox specify target rect when showing popupRichard Moe Gustavsen2014-10-131-1/+1
| | | | | | | | Let qcombobox use the new API for showing a native popup menu (introduced with 1a47595). Change-Id: Id08ef9e59fdd47b2c1df84fa72e3a2c69fe187b0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Removing a few unneeded "? true : false"Alessandro Portale2014-10-091-1/+1
| | | | | | | Change-Id: Ib13f0ddd65fe78f5559f343f2fc30756b1d3ef76 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Fix crash in QCombobox when resetting model during currentIndexChanged()Alex Blasche2014-09-211-1/+1
| | | | | | Task-number: QTBUG-20415 Change-Id: Idffc0f29cc55d834c2736ce7562dd7cfe912d327 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Respect Qt::FontRole for QComboBox items.Mitch Curtis2014-09-161-3/+8
| | | | | | Change-Id: I810ae2d77109a36b457f07e4a7b0489c954279e8 Task-number: QTBUG-41131 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* QComboBox: update focus policy when setting a new line editLiang Qi2014-06-211-8/+16
| | | | | | | | | | On OS X, the focus policy of QComboBox is different when editable or not. Task-number: QTBUG-39650 Change-Id: I394564f8a1a6d462e86d2497fe8874e6107a8a58 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Use QModelIndex to get the data from underlying modelFriedemann Kleint2014-06-191-2/+2
| | | | | | | Change-Id: Ibeb70079afd566c78289168540296b926f36d1af Initial-patch-by: Irfan Omair <irfan.omair@gmail.com> Task-number: QTBUG-27597 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* Fix compilation in under -no-c++11 modeThiago Macieira2014-06-191-7/+10
| | | | | | | | | IndexSetter can't be passed to QObject::connect() since C++98 templates require global types (they can't be function-local). Change-Id: I099322f835661d4679140b7810b50dbeb0e4b9e0 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Accessibility: Update ComboBox text on arrow keysFrederik Gladhorn2014-05-161-6/+6
| | | | | | | | | | Use ValueChanged to notify of changes in the ComboBox. On Linux we need to update name and then send selection-changed for Orca. Task-number: QTBUG-36814 Change-Id: Icdd34adddeac532476a6dd910d1e8bd33bcd590b Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* QComboBox: Set the proper font after a MacSizeChange eventGabriel de Dietrich2014-04-091-0/+12
| | | | | Change-Id: I5c90817e52a3e87d9b06b2bb670d69a6953efd47 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QComboBox: Use native popups on MacGabriel de Dietrich2014-04-071-6/+90
| | | | | | | | | | | | | | This remains an opt-in solution bound to the usage of SH_ComboBox_UseNativePopup in a proxy style. The midterm goal is to make this option on by default, possibly in 5.4. This solution is and will remain a hint in the sense that some exotic use cases of QComboBox (e.g., when setting its view) are inherently incompatible with the native popup idea. Task-number: QTBUG-32731 Change-Id: I2a3d780795c22f9989e44325fcaf314538b1de49 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Handle key release events correctlyPaul Olav Tvete2014-03-141-0/+2
| | | | | | | | Properly ignore key events that we don't actually handle. Task-number: QTBUG-35784 Change-Id: Ibd3e72c76367a1dc3b1f2d39538fcf8441082ff2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-161-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| * QComboBox: Don't do anything if wheel event delta is zeroGabriel de Dietrich2013-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | This is a consequence of us wanting to show the OS X transient scrollbars as soon as the user touches the trackpad with two fingers. Task-number: QTBUG-35120 Change-Id: Icf63b0ec8c32ac66108822804bb06a0762547ef1 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | QComboBox: use QSignalBlockerMarc Mutz2013-11-091-6/+6
|/ | | | | Change-Id: If805652d05007de9206951f09499acf931990df2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-081-3/+3
| | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QComboBox - only react on a mouse-release if we had a mousepressThorbjørn Lund Martsum2013-08-211-2/+17
| | | | | | | | | | | | | | | | In delegates we get into trouble with calling showPopup in setEditorData (edit by double click) - and that is not reasonable. The user has requested edit - and therefore it is natural to save a click for the user and show the popup at once. However that fails since we have the mouse down and as soon as we release the mouse we will call hidePopup. This patch ensures that the mouseReleaseEvent, that caused the problem is only considered if we have had a mousePressEvent. Change-Id: Ibe031fcb9ad2158f6969e41127bbb5f651b9cae6 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-141-5/+26
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-xcode/Info.plist.app mkspecs/macx-xcode/Info.plist.lib qmake/doc/qmake.qdocconf src/corelib/global/qglobal.h tests/auto/other/exceptionsafety/exceptionsafety.pro tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
| * QComboBox: fix item activation via completerJ-P Nurmi2013-08-081-5/+26
| | | | | | | | | | | | | | | | Task-number: QTBUG-31146 Change-Id: I64291f397d80bf934152f63e629810540abf466e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | Merge branch 'stable' into devSergio Ahumada2013-07-111-3/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/json/qjsonwriter.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
| * QComboBox - optimize (improve stupid code at enter-key)Thorbjørn Martsum2013-07-101-3/+2
| | | | | | | | | | | | | | | | There is no need to do a search for an item if we already have the correct index. Change-Id: Iac0e7df7573b71b82aa491acb8e289fe02fb3285 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Add QComboBox::currentDataGiuseppe D'Angelo2013-05-271-0/+14
|/ | | | | | | | | | | | | | | | Convenience function that returns user data for the current item, analogous to currentText(). This avoids to having to write the cumbersome QVariant variant = comboBox->itemData(comboBox->currentIndex()); (It's quite common to put strings as text and the corresponding enum values as user data.) Change-Id: I8c7632c647c5583d18e4e22703aeb4447d73162d Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix license headers stating QtGui for QtWidgets files.Jake Petroules2013-03-191-1/+1
| | | | | Change-Id: I0ca49e3e1f9f603f0b0f7f3553e854b871efe303 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Made QMacStyle internalJ-P Nurmi2012-11-231-1/+1
| | | | | | | | | | | | | We will take this opportynity to remove various QStyle specializations from the public API in Qt5. This gives us much more freedom, for example changing the inheritance hierarchy, pluginizing etc. without worrying about BC. => Use QStyleFactory and/or QProxyStyle instead of creating an instance or inheriting QMacStyle directly. Change-Id: I44a2f5ee3fe08ecc837b593a2a2737eb90e8c267 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>