diff -Nru qt4-x11-4.7.0~beta2/debian/changelog qt4-x11-4.7.0~beta2/debian/changelog --- qt4-x11-4.7.0~beta2/debian/changelog 2010-07-23 10:01:31.000000000 +0100 +++ qt4-x11-4.7.0~beta2/debian/changelog 2010-08-11 01:19:53.000000000 +0100 @@ -1,3 +1,9 @@ +qt4-x11 (4:4.7.0~beta2-0ubuntu4) maverick; urgency=low + + * Update kubuntu_15_appmenu.diff to 20100810 + + -- Jonathan Riddell Wed, 11 Aug 2010 01:13:34 +0100 + qt4-x11 (4:4.7.0~beta2-0ubuntu3) maverick; urgency=low * Weekly update to kubuntu_15_appmenu.diff diff -Nru qt4-x11-4.7.0~beta2/debian/patches/kubuntu_15_appmenu.diff qt4-x11-4.7.0~beta2/debian/patches/kubuntu_15_appmenu.diff --- qt4-x11-4.7.0~beta2/debian/patches/kubuntu_15_appmenu.diff 2010-07-23 10:01:31.000000000 +0100 +++ qt4-x11-4.7.0~beta2/debian/patches/kubuntu_15_appmenu.diff 2010-08-11 01:20:42.000000000 +0100 @@ -1,20 +1,20 @@ -Appmenu patch 20100722 +Appmenu patch 20100810 Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/.gitattributes =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/.gitattributes 2010-07-23 09:53:18.912013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/.gitattributes 2010-08-11 01:20:02.974362001 +0100 @@ -0,0 +1 @@ +org.ayatana.dbusmenu.xml -crlf Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/.krazy =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/.krazy 2010-07-23 09:53:18.912013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/.krazy 2010-08-11 01:20:02.974362001 +0100 @@ -0,0 +1 @@ +SKIP /tests/ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/CMakeLists.txt =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/CMakeLists.txt 2010-07-23 09:53:18.912013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/CMakeLists.txt 2010-08-11 01:20:02.974362001 +0100 @@ -0,0 +1,59 @@ +project(dbusmenu-qt) +cmake_minimum_required(VERSION 2.6.0) @@ -78,7 +78,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/COPYING =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/COPYING 2010-07-23 09:53:18.912013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/COPYING 2010-08-11 01:20:02.978362001 +0100 @@ -0,0 +1,481 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 @@ -564,7 +564,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/NEWS =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/NEWS 2010-07-23 09:53:18.922013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/NEWS 2010-08-11 01:20:02.978362001 +0100 @@ -0,0 +1,36 @@ +# 0.3.2 - 2010.04.02 +- Fix some weird positioning of menus and submenus. @@ -605,7 +605,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/README =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/README 2010-07-23 09:53:18.922013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/README 2010-08-11 01:20:02.978362001 +0100 @@ -0,0 +1,10 @@ +# Summary + @@ -620,8 +620,8 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/README.qt =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/README.qt 2010-07-23 09:53:18.942013001 +0100 -@@ -0,0 +1,36 @@ ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/README.qt 2010-08-11 01:20:02.978362001 +0100 +@@ -0,0 +1,37 @@ +# Presentation + +This dir contains a modified copy of dbusmenu-qt, which is maintained here: @@ -654,6 +654,7 @@ + +sha-id are from dbusmenu-qt git repository. + ++- 2010.08.10: 29d5670cbc105b4f60d8d8376cbc72b90218d9e9 +- 2010.07.01: 3a47d355b2291bad865b911a0cdd3cf1e5e1b95e +- 2010.06.24: f3c2fb90e1c2b94e561ccf33e4c2049f96ce45e2 +- 2010.06.17: 6e0a47965f7f6d8cc8e3c9dccfdd9065ec7c831e @@ -661,7 +662,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/RELEASE_CHECK_LIST =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/RELEASE_CHECK_LIST 2010-07-23 09:53:18.942013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/RELEASE_CHECK_LIST 2010-08-11 01:20:02.978362001 +0100 @@ -0,0 +1,12 @@ +- Update NEWS + git log x.y.z-1..HEAD @@ -678,7 +679,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/cmake/modules/FindQJSON.cmake =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/cmake/modules/FindQJSON.cmake 2010-07-23 09:53:18.942013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/cmake/modules/FindQJSON.cmake 2010-08-11 01:20:02.978362001 +0100 @@ -0,0 +1,44 @@ +# Find QJSON - JSON handling library for Qt +# @@ -727,7 +728,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/dbusmenu-qt.pc.in =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/dbusmenu-qt.pc.in 2010-07-23 09:53:18.942013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/dbusmenu-qt.pc.in 2010-08-11 01:20:02.978362001 +0100 @@ -0,0 +1,10 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=@CMAKE_INSTALL_PREFIX@ @@ -742,7 +743,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/dbusmenu-qt.pri =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/dbusmenu-qt.pri 2010-07-23 09:53:18.942013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/dbusmenu-qt.pri 2010-08-11 01:20:02.982362001 +0100 @@ -0,0 +1,32 @@ +QT += dbus + @@ -779,7 +780,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/CMakeLists.txt =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/CMakeLists.txt 2010-07-23 09:53:18.962013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/CMakeLists.txt 2010-08-11 01:20:02.982362001 +0100 @@ -0,0 +1,65 @@ +include (CheckCXXCompilerFlag) +check_cxx_compiler_flag(-fvisibility=hidden __DBUSMENU_HAVE_GCC_VISIBILITY) @@ -849,7 +850,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_config.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_config.h 2010-07-23 09:53:18.972013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_config.h 2010-08-11 01:20:02.982362001 +0100 @@ -0,0 +1,27 @@ +/* This file is part of the KDE libraries + Copyright 2010 Canonical @@ -881,7 +882,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_export.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_export.h 2010-07-23 09:53:18.972013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_export.h 2010-08-11 01:20:02.982362001 +0100 @@ -0,0 +1,28 @@ +/* This file is part of the KDE libraries + Copyright 2010 Canonical @@ -914,7 +915,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_p.cpp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_p.cpp 2010-07-23 09:53:18.972013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_p.cpp 2010-08-11 01:20:02.982362001 +0100 @@ -0,0 +1,93 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical @@ -1012,7 +1013,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_p.h 2010-07-23 09:53:18.972013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenu_p.h 2010-08-11 01:20:02.986362001 +0100 @@ -0,0 +1,57 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical @@ -1074,11 +1075,11 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuadaptor.cpp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuadaptor.cpp 2010-07-23 09:53:18.972013001 +0100 -@@ -0,0 +1,82 @@ ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuadaptor.cpp 2010-08-11 01:20:02.986362001 +0100 +@@ -0,0 +1,84 @@ +/* + * This file was generated by qdbusxml2cpp version 0.7 -+ * Command line was: qdbusxml2cpp -m -a dbusmenuadaptor -i dbusmenu-qt/src/dbusmenuexporterdbus_p.h -l DBusMenuExporterDBus dbusmenu-qt/src/org.ayatana.dbusmenu.xml ++ * Command line was: qdbusxml2cpp -m -a dbusmenuadaptor -i dbusmenuexporterdbus_p.h -l DBusMenuExporterDBus org.ayatana.dbusmenu.xml + * + * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). + * @@ -1135,7 +1136,7 @@ + return parent()->GetChildren(id, propertyNames); +} + -+DBusMenuItemList DbusmenuAdaptor::GetGroupProperties(const QVariantList &ids, const QStringList &propertyNames) ++DBusMenuItemList DbusmenuAdaptor::GetGroupProperties(const QList &ids, const QStringList &propertyNames) +{ + // handle method call org.ayatana.dbusmenu.GetGroupProperties + return parent()->GetGroupProperties(ids, propertyNames); @@ -1158,14 +1159,16 @@ + // handle method call org.ayatana.dbusmenu.GetProperty + return parent()->GetProperty(id, name); +} ++ ++ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuadaptor_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuadaptor_p.h 2010-07-23 09:53:18.982013001 +0100 -@@ -0,0 +1,332 @@ ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuadaptor_p.h 2010-08-11 01:20:02.986362001 +0100 +@@ -0,0 +1,347 @@ +/* + * This file was generated by qdbusxml2cpp version 0.7 -+ * Command line was: qdbusxml2cpp -m -a dbusmenuadaptor -i dbusmenu-qt/src/dbusmenuexporterdbus_p.h -l DBusMenuExporterDBus dbusmenu-qt/src/org.ayatana.dbusmenu.xml ++ * Command line was: qdbusxml2cpp -m -a dbusmenuadaptor -i dbusmenuexporterdbus_p.h -l DBusMenuExporterDBus org.ayatana.dbusmenu.xml + * + * qdbusxml2cpp is Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). + * @@ -1174,8 +1177,8 @@ + * before re-generating it. + */ + -+#ifndef DBUSMENUADAPTOR_H_1273246111 -+#define DBUSMENUADAPTOR_H_1273246111 ++#ifndef DBUSMENUADAPTOR_H_1281435548 ++#define DBUSMENUADAPTOR_H_1281435548 + +#include +#include @@ -1340,7 +1343,7 @@ +" \n" +" \n" +" \n" -+" \n" ++" \" name=\"com.trolltech.QtDBus.QtTypeName.In0\"/>\n" +" \n" +" \n" +" Returns the list of items which are children of @a parentId.\n" @@ -1466,6 +1469,20 @@ +" \n" +" \n" +" \n" ++" \n" ++" \n" ++" The server is requesting that all clients displaying this\n" ++" menu open it to the user. This would be for things like\n" ++" hotkeys that when the user presses them the menu should\n" ++" open and display itself to the user.\n" ++" \n" ++" \n" ++" ID of the menu that should be activated\n" ++" \n" ++" \n" ++" The time that the event occured\n" ++" \n" ++" \n" +" \n" +" \n" + "") @@ -1484,11 +1501,12 @@ + bool AboutToShow(int id); + void Event(int id, const QString &eventId, const QDBusVariant &data, uint timestamp); + DBusMenuItemList GetChildren(int id, const QStringList &propertyNames); -+ DBusMenuItemList GetGroupProperties(const QVariantList &ids, const QStringList &propertyNames); ++ DBusMenuItemList GetGroupProperties(const QList &ids, const QStringList &propertyNames); + uint GetLayout(int parentId, QString &layout); + QVariantMap GetProperties(int id, const QStringList &propertyNames); + QDBusVariant GetProperty(int id, const QString &name); +Q_SIGNALS: // SIGNALS ++ void ItemActivationRequested(int id, uint timestamp); + void ItemPropertyUpdated(int id, const QString &prop, const QDBusVariant &value); + void ItemUpdated(int id); + void LayoutUpdated(uint revision, int parent); @@ -1498,8 +1516,8 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporter.cpp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporter.cpp 2010-07-23 09:53:18.982013001 +0100 -@@ -0,0 +1,289 @@ ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporter.cpp 2010-08-11 01:20:02.986362001 +0100 +@@ -0,0 +1,298 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical + Author: Aurelien Gateau @@ -1523,6 +1541,7 @@ +#include "dbusmenuexporter_p.h" + +// Qt ++#include +#include +#include +#include @@ -1789,11 +1808,19 @@ +#endif +} + ++void DBusMenuExporter::activateAction(QAction *action) ++{ ++ int id = d->idForAction(action); ++ DMRETURN_IF_FAIL(id >= 0); ++ uint timeStamp = QDateTime::currentDateTime().toTime_t(); ++ d->m_dbusObject->ItemActivationRequested(id, timeStamp); ++} ++ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporter_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporter_p.h 2010-07-23 09:53:18.992013001 +0100 -@@ -0,0 +1,73 @@ ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporter_p.h 2010-08-11 01:20:02.986362001 +0100 +@@ -0,0 +1,79 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical + Author: Aurelien Gateau @@ -1845,6 +1872,12 @@ + + ~DBusMenuExporter(); + ++ /** ++ * Asks the matching DBusMenuImporter to activate @p action. For menus it ++ * means popup them, for items it means triggering the associated action. ++ */ ++ void activateAction(QAction *action); ++ +protected: + /** + * Must extract the icon name for action. This is the name which will @@ -1870,7 +1903,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterdbus_p.cpp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterdbus_p.cpp 2010-07-23 09:53:19.002013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterdbus_p.cpp 2010-08-11 01:20:02.990362001 +0100 @@ -0,0 +1,171 @@ +/* This file is part of the KDE libraries + Copyright 2010 Canonical @@ -1989,12 +2022,12 @@ + } +} + -+DBusMenuItemList DBusMenuExporterDBus::GetGroupProperties(const QVariantList &ids, const QStringList &names) ++DBusMenuItemList DBusMenuExporterDBus::GetGroupProperties(const QList &ids, const QStringList &names) +{ + DBusMenuItemList list; -+ Q_FOREACH(const QVariant &id, ids) { ++ Q_FOREACH(int id, ids) { + DBusMenuItem item; -+ item.id = id.toInt(); ++ item.id = id; + item.properties = GetProperties(item.id, names); + list << item; + } @@ -2046,8 +2079,8 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterdbus_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterdbus_p.h 2010-07-23 09:53:19.002013001 +0100 -@@ -0,0 +1,68 @@ ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterdbus_p.h 2010-08-11 01:20:02.990362001 +0100 +@@ -0,0 +1,69 @@ +/* This file is part of the KDE libraries + Copyright 2010 Canonical + Author: Aurelien Gateau @@ -2100,13 +2133,14 @@ + QDBusVariant GetProperty(int id, const QString &property); + QVariantMap GetProperties(int id, const QStringList &names); + uint GetLayout(int parentId, QString &layout); -+ DBusMenuItemList GetGroupProperties(const QVariantList &ids, const QStringList &propertyNames); ++ DBusMenuItemList GetGroupProperties(const QList &ids, const QStringList &propertyNames); + bool AboutToShow(int id); + +Q_SIGNALS: + void ItemUpdated(int); + void ItemPropertyUpdated(int, QString, QVariant); + void LayoutUpdated(uint revision, int parentId); ++ void ItemActivationRequested(int id, uint timeStamp); + +private: + DBusMenuExporter *m_exporter; @@ -2119,7 +2153,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterprivate_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterprivate_p.h 2010-07-23 09:53:19.002013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuexporterprivate_p.h 2010-08-11 01:20:02.990362001 +0100 @@ -0,0 +1,75 @@ +/* This file is part of the KDE libraries + Copyright 2010 Canonical @@ -2199,7 +2233,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuitem_p.cpp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuitem_p.cpp 2010-07-23 09:53:19.012013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuitem_p.cpp 2010-08-11 01:20:02.990362001 +0100 @@ -0,0 +1,40 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical @@ -2244,7 +2278,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuitem_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuitem_p.h 2010-07-23 09:53:19.012013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenuitem_p.h 2010-08-11 01:20:02.990362001 +0100 @@ -0,0 +1,51 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical @@ -2300,7 +2334,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenushortcut_p.cpp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenushortcut_p.cpp 2010-07-23 09:53:19.032013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenushortcut_p.cpp 2010-08-11 01:20:02.990362001 +0100 @@ -0,0 +1,81 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical @@ -2386,7 +2420,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenushortcut_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenushortcut_p.h 2010-07-23 09:53:19.032013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/dbusmenushortcut_p.h 2010-08-11 01:20:02.990362001 +0100 @@ -0,0 +1,47 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical @@ -2438,7 +2472,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/debug_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/debug_p.h 2010-07-23 09:53:19.032013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/debug_p.h 2010-08-11 01:20:02.994362001 +0100 @@ -0,0 +1,48 @@ +/* This file is part of the KDE libraries + Copyright 2009 Canonical @@ -2491,8 +2525,8 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/org.ayatana.dbusmenu.xml =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/org.ayatana.dbusmenu.xml 2010-07-23 09:53:19.032013001 +0100 -@@ -0,0 +1,319 @@ ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/org.ayatana.dbusmenu.xml 2010-08-11 01:20:02.994362001 +0100 +@@ -0,0 +1,333 @@ + + + @@ -2815,7 +2863,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/utils.cpp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/utils.cpp 2010-07-23 09:53:19.032013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/utils.cpp 2010-08-11 01:20:02.994362001 +0100 @@ -0,0 +1,64 @@ +/* This file is part of the KDE libraries + Copyright 2010 Canonical @@ -2884,7 +2932,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/utils_p.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/utils_p.h 2010-07-23 09:53:19.032013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/src/utils_p.h 2010-08-11 01:20:02.994362001 +0100 @@ -0,0 +1,31 @@ +/* This file is part of the KDE libraries + Copyright 2010 Canonical @@ -2920,8 +2968,8 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/update.sh =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/update.sh 2010-07-23 09:53:19.042013001 +0100 -@@ -0,0 +1,82 @@ ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/3rdparty/dbusmenu-qt/update.sh 2010-08-11 01:20:02.994362001 +0100 +@@ -0,0 +1,85 @@ +#!/bin/sh +set -e + @@ -2936,6 +2984,7 @@ +cd $dstdir +cp $srcdir/*.h . +cp $srcdir/*.cpp . ++cp $srcdir/*.xml . +rm dbusmenuimporter* + +cat > dbusmenu_export.h <hide(); +} + +void QMenuBarPrivate::x11DestroyMenuBar() @@ -3209,13 +3257,18 @@ + rootMenu->removeAction(action); +} + ++void QMenuBarPrivate::QX11MenuBarPrivate::popupAction(QAction *action) ++{ ++ exporter->activateAction(action); ++} ++ +QT_END_NAMESPACE + +#endif //QT_NO_MENUBAR Index: qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar.cpp =================================================================== --- qt-everywhere-opensource-src-4.7.0-beta2.orig/src/gui/widgets/qmenubar.cpp 2010-06-30 02:53:14.000000000 +0100 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar.cpp 2010-07-23 09:53:19.042013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar.cpp 2010-08-11 01:20:02.998362001 +0100 @@ -67,6 +67,11 @@ #include "qmenubar_p.h" #include "qdebug.h" @@ -3228,16 +3281,33 @@ #ifdef Q_WS_WINCE extern bool qt_wince_is_mobile(); //defined in qguifunctions_wce.cpp #endif -@@ -195,7 +200,7 @@ - } +@@ -201,8 +206,6 @@ + return; + } + #endif +- calcActionRects(q_width, q_start); +- currentAction = 0; + #ifndef QT_NO_SHORTCUT + if(itemsDirty) { + for(int j = 0; j < shortcutIndexMap.size(); ++j) +@@ -212,6 +215,16 @@ + shortcutIndexMap.append(q->grabShortcut(QKeySequence::mnemonic(actions.at(i)->text()))); } + #endif ++#ifdef Q_WS_X11 ++ // For X11 we only check for nativeMenuBar here because we want ++ // shortcutIndexMap to be updated. ++ if(q->isNativeMenuBar()) {//nothing to see here folks, move along.. ++ itemsDirty = false; ++ return; ++ } ++#endif ++ calcActionRects(q_width, q_start); ++ currentAction = 0; + itemsDirty = false; --#ifdef Q_WS_MAC -+#if defined(Q_WS_MAC) || defined(Q_WS_X11) - if(q->isNativeMenuBar()) {//nothing to see here folks, move along.. - itemsDirty = false; - return; -@@ -743,6 +748,22 @@ + hiddenActions.clear(); +@@ -743,6 +756,22 @@ QApplication::setAttribute(Qt::AA_DontUseNativeMenuBar, true); } #endif @@ -3260,7 +3330,7 @@ q->setBackgroundRole(QPalette::Button); oldWindow = oldParent = 0; #ifdef QT3_SUPPORT -@@ -821,6 +842,10 @@ +@@ -821,6 +850,10 @@ Q_D(QMenuBar); d->symbianDestroyMenuBar(); #endif @@ -3271,16 +3341,17 @@ } /*! -@@ -1072,7 +1097,7 @@ +@@ -1072,6 +1105,9 @@ */ void QMenuBar::setVisible(bool visible) { --#if defined(Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_WS_S60) -+#if defined(Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_WS_S60) || defined(Q_WS_X11) ++ // For Q_WS_X11 we do not want to disable this method even when using a ++ // native menubar because the bar needs to be visible, otherwise shortcuts ++ // for items which are not present in any toolbar do not work. + #if defined(Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_WS_S60) if (isNativeMenuBar()) return; - #endif -@@ -1272,17 +1297,17 @@ +@@ -1272,17 +1308,17 @@ { Q_D(QMenuBar); d->itemsDirty = true; @@ -3303,7 +3374,7 @@ if(e->type() == QEvent::ActionAdded) nativeMenuBar->addAction(e->action(), nativeMenuBar->findAction(e->before())); else if(e->type() == QEvent::ActionRemoved) -@@ -1366,9 +1391,6 @@ +@@ -1366,9 +1402,6 @@ newWindow->installEventFilter(q); } @@ -3313,7 +3384,7 @@ #ifdef Q_WS_MAC if (q->isNativeMenuBar() && !macWidgetHasNativeMenubar(newParent)) { // If the new parent got a native menubar from before, keep that -@@ -1378,6 +1400,17 @@ +@@ -1378,6 +1411,17 @@ macCreateMenuBar(newParent); } #endif @@ -3331,7 +3402,7 @@ #ifdef Q_WS_WINCE if (qt_wince_is_mobile() && wce_menubar) -@@ -1415,6 +1448,9 @@ +@@ -1415,6 +1459,9 @@ } #endif // QT_SOFTKEYS_ENABLED #endif // Q_WS_S60 @@ -3341,7 +3412,7 @@ } #ifdef QT3_SUPPORT -@@ -1563,6 +1599,11 @@ +@@ -1563,6 +1610,11 @@ bool QMenuBar::eventFilter(QObject *object, QEvent *event) { Q_D(QMenuBar); @@ -3353,7 +3424,7 @@ if (object == parent() && object) { #ifdef QT3_SUPPORT if (d->doAutoResize && event->type() == QEvent::Resize) { -@@ -1656,7 +1697,7 @@ +@@ -1656,7 +1708,7 @@ QSize QMenuBar::minimumSizeHint() const { Q_D(const QMenuBar); @@ -3362,7 +3433,7 @@ const bool as_gui_menubar = !isNativeMenuBar(); #else const bool as_gui_menubar = true; -@@ -1712,7 +1753,7 @@ +@@ -1712,7 +1764,7 @@ QSize QMenuBar::sizeHint() const { Q_D(const QMenuBar); @@ -3371,7 +3442,7 @@ const bool as_gui_menubar = !isNativeMenuBar(); #else const bool as_gui_menubar = true; -@@ -1771,7 +1812,7 @@ +@@ -1771,7 +1823,7 @@ int QMenuBar::heightForWidth(int) const { Q_D(const QMenuBar); @@ -3380,7 +3451,24 @@ const bool as_gui_menubar = !isNativeMenuBar(); #else const bool as_gui_menubar = true; -@@ -2000,6 +2041,36 @@ +@@ -1814,7 +1866,15 @@ + { + Q_Q(QMenuBar); + QAction *act = actions.at(id); +- setCurrentAction(act, true, true); ++#ifdef Q_WS_X11 ++ if (act && act->menu() && q->isNativeMenuBar()) { ++ x11_menubar->popupAction(act); ++ } else { ++#endif ++ setCurrentAction(act, true, true); ++#ifdef Q_WS_X11 ++ } ++#endif + if (act && !act->menu()) { + activateAction(act, QAction::Trigger); + //100 is the same as the default value in QPushButton::animateClick +@@ -2000,6 +2060,34 @@ } #endif @@ -3400,9 +3488,7 @@ + } + if (x11_menubar) { + x11_menubar->previousWinId = 0; -+ if (x11_menubar->registerWindow()) { -+ q->hide(); -+ } ++ x11_menubar->registerWindow(); + } else + x11CreateMenuBar(q); +} @@ -3420,7 +3506,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar.h =================================================================== --- qt-everywhere-opensource-src-4.7.0-beta2.orig/src/gui/widgets/qmenubar.h 2010-06-30 02:53:14.000000000 +0100 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar.h 2010-07-23 09:53:19.042013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar.h 2010-08-11 01:20:03.002362001 +0100 @@ -356,6 +356,11 @@ friend class QWidgetPrivate; friend bool qt_mac_activate_action(MenuRef, uint, QAction::ActionEvent, bool); @@ -3436,7 +3522,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar_p.h =================================================================== --- qt-everywhere-opensource-src-4.7.0-beta2.orig/src/gui/widgets/qmenubar_p.h 2010-06-30 02:53:14.000000000 +0100 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar_p.h 2010-07-23 09:53:19.042013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/qmenubar_p.h 2010-08-11 01:20:03.002362001 +0100 @@ -68,6 +68,11 @@ #endif #endif @@ -3481,7 +3567,7 @@ //extra widgets in the menubar QPointer leftWidget, rightWidget; QMenuBarExtension *extension; -@@ -273,6 +289,31 @@ +@@ -273,6 +289,33 @@ QAction *menuBarAction; #endif #endif @@ -3501,6 +3587,8 @@ + + bool registerWindow(); + ++ void popupAction(QAction *); ++ + DBusMenuExporter *exporter; + QMenu *rootMenu; + QMenuBar *menuBar; @@ -3516,7 +3604,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/widgets.pri =================================================================== --- qt-everywhere-opensource-src-4.7.0-beta2.orig/src/gui/widgets/widgets.pri 2010-06-30 02:53:14.000000000 +0100 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/widgets.pri 2010-07-23 09:53:19.042013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/gui/widgets/widgets.pri 2010-08-11 01:20:03.002362001 +0100 @@ -167,3 +167,7 @@ symbian: { SOURCES += widgets/qmenu_symbian.cpp @@ -3528,7 +3616,7 @@ Index: qt-everywhere-opensource-src-4.7.0-beta2/src/src.pro =================================================================== --- qt-everywhere-opensource-src-4.7.0-beta2.orig/src/src.pro 2010-06-30 02:53:14.000000000 +0100 -+++ qt-everywhere-opensource-src-4.7.0-beta2/src/src.pro 2010-07-23 09:53:19.042013001 +0100 ++++ qt-everywhere-opensource-src-4.7.0-beta2/src/src.pro 2010-08-11 01:20:03.006362001 +0100 @@ -86,7 +86,7 @@ #CONFIG += ordered !wince*:!ordered:!symbian-abld:!symbian-sbsv2 {