summaryrefslogtreecommitdiffstats
path: root/src/plugins/platformthemes/gtk3/qgtk3menu.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QGtk3Menu::showPopup(): fix target item selectionJ-P Nurmi2018-03-161-3/+3
| | | | | | | | | | | | | | | | If a target item was passed, QGtk3Menu tried using gtk_menu_set_active() to select the target item. However, the function does not do what you'd imagine. Even the documentation states: This is used by the GtkComboBox and should not be used by anyone else. The correct function, gtk_menu_shell_select_item(), is in the GtkMenuShell "base class". Change-Id: Ia2c03f87bb97f618c041c03011af8c676108aea5 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QGtk3Menu: take GTK's scale factor into accountJ-P Nurmi2018-02-221-0/+3
| | | | | | | | | | | | GTK's scale factor, which can differ from Qt's scale factor, must be taken into account in the native GTK menu positioning function qt_gtk_menu_position_func(). Task-number: QTBUG-55251 Change-Id: I4ad460baab54facd25564ad85ded383c9321d597 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-141-3/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/animation/qvariantanimation.cpp src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/corelib/io/qprocess_win.cpp src/corelib/json/qjsonarray.cpp src/corelib/tools/qsimd_p.h src/corelib/tools/qtimezoneprivate_p.h src/corelib/xml/qxmlstream_p.h src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qsimpledrag_p.h src/plugins/generic/generic.pro src/plugins/platforms/cocoa/qcocoamenu.mm src/widgets/styles/qmacstyle_mac.mm tests/auto/concurrent/qtconcurrentmap/BLACKLIST tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qmessagebox/BLACKLIST Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
| * GTK: fix menu positioning on high-DPIJ-P Nurmi2018-02-071-2/+4
| | | | | | | | | | | | | | | | | | | | The target position is passed in physical native pixels, so call QPlatformWindow::mapToGlobal() instead of QWindow::mapToGlobal(). The latter operates on logical pixels. Task-number: QTBUG-55251 Change-Id: I789128a0a345d4113fced82ed1b215fe14044634 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * QGtk3Menu::showPopup(): fix off by one error in the y-coordinateJ-P Nurmi2018-02-051-1/+2
| | | | | | | | | | | | | | QRect::bottom() != QRect::y() + QRect::height() Change-Id: I83ae19ab588fb9651354999679f5d3c9e294a97e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-05-071-0/+6
|\| | | | | | | | | | | | | | | Conflicts: src/network/access/qnetworkreply.cpp tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp Change-Id: Iadf766269454087e69fb216fc3857d85b0ddfaad
| * Fix build without features.shortcutTasuku Suzuki2017-04-271-0/+6
| | | | | | | | | | | | Change-Id: I87a7ba1a77b0671559616a3ea4722bcc233af32d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Make platform menu tag/setTag not be pure virtualAlbert Astals Cid2017-04-181-22/+0
|/ | | | | | | | | | | | | | | | | | | Reasons: * Tag means nothing to the platform, tag is something the Qt side code will store and then restore, but it's meaningless for the platform, since it can be either the pointer to an action (qmenu.cpp) or an item count (qcombobox.cpp) * Since it's meaningless to the platform you don't know what to do when trying to implement a platform, this shows in how the field was being initialized, some initialized to this, some initialized to 0 On a followup commit we will remove the virtual tag but first need to fix up other QPAs that don't live in the main repo Change-Id: I15ac83f3bf7e4c741153d31ac761dbbe6f4b1b52 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* GTK3 plugin: Replace LGPL21 with LGPL license headerKai Koehne2017-03-031-15/+21
| | | | | | | Also use canonical contact url. Change-Id: I6e925378ef4e82bdc739d23186d2dd6f23370d7a Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix QGtk3Menu::removeMenuItem()J-P Nurmi2016-08-081-1/+1
| | | | | | | | | | | | The if-condition was broken, so items weren't removed from the container as appropriate. Accessing such dangling items caused a crash later on exit. Task-number: QTBUG-54432 Task-number: QTBUG-54462 Change-Id: I98fd9f29a93d72e3e4a8f0fb6bac40ad4728ba6f Reviewed-by: Heikki Halmet <heikki.halmet@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Implement QPA menu for GTK+ 3.xJ-P Nurmi2016-06-151-0/+489
QGtk3Menu provides native stand-alone context menus, which is not covered by the recently introduced QDBusPlatformMenu (limited to global menubars and system trays). Change-Id: Ida42ebaf69444e6b3150dc0ccf9b44e80cf71c20 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>