Hello community,

here is the log from the commit of package libdbusmenu-qt for openSUSE:Factory
checked in at Mon Jun 27 13:50:33 CEST 2011.



--------
--- KDE/libdbusmenu-qt/libdbusmenu-qt.changes   2011-05-15 20:04:06.000000000 
+0200
+++ /mounts/work_src_done/STABLE/libdbusmenu-qt/libdbusmenu-qt.changes  
2011-06-25 12:58:44.000000000 +0200
@@ -1,0 +2,8 @@
+Sat Jun 25 10:57:05 UTC 2011 - [email protected]
+
+- Update to 0.8.3:
+  * If DBusMenuExporter is deleted, delete all DBusMenu instances which were
+    working with it
+  * Only show icons in menu if the platform allows them
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  libdbusmenu-qt-0.8.2.tar.bz2

New:
----
  libdbusmenu-qt-0.8.3.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libdbusmenu-qt.spec ++++++
--- /var/tmp/diff_new_pack.LzrIGp/_old  2011-06-27 13:50:05.000000000 +0200
+++ /var/tmp/diff_new_pack.LzrIGp/_new  2011-06-27 13:50:05.000000000 +0200
@@ -19,7 +19,7 @@
 
 
 Name:           libdbusmenu-qt
-Version:        0.8.2
+Version:        0.8.3
 Release:        1
 License:        LGPLv2+
 Url:            https://launchpad.net/libdbusmenu-qt/

++++++ libdbusmenu-qt-0.8.2.tar.bz2 -> libdbusmenu-qt-0.8.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdbusmenu-qt-0.8.2/CMakeLists.txt 
new/libdbusmenu-qt-0.8.3/CMakeLists.txt
--- old/libdbusmenu-qt-0.8.2/CMakeLists.txt     2011-04-12 14:28:50.000000000 
+0200
+++ new/libdbusmenu-qt-0.8.3/CMakeLists.txt     2011-06-21 10:54:36.000000000 
+0200
@@ -9,7 +9,7 @@
 ## Package version
 set(dbusmenu_qt_VERSION_MAJOR 0)
 set(dbusmenu_qt_VERSION_MINOR 8)
-set(dbusmenu_qt_VERSION_PATCH 2)
+set(dbusmenu_qt_VERSION_PATCH 3)
 set(dbusmenu_qt_VERSION 
${dbusmenu_qt_VERSION_MAJOR}.${dbusmenu_qt_VERSION_MINOR}.${dbusmenu_qt_VERSION_PATCH})
 
 ## Lib version
@@ -20,7 +20,7 @@
 set(dbusmenu_qt_lib_API_VERSION 5)
 
 ### Bump this one when changes do not extend the API
-set(dbusmenu_qt_lib_PATCH_VERSION 1)
+set(dbusmenu_qt_lib_PATCH_VERSION 2)
 
 set(dbusmenu_qt_lib_VERSION 
${dbusmenu_qt_lib_SOVERSION}.${dbusmenu_qt_lib_API_VERSION}.${dbusmenu_qt_lib_PATCH_VERSION})
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdbusmenu-qt-0.8.2/NEWS 
new/libdbusmenu-qt-0.8.3/NEWS
--- old/libdbusmenu-qt-0.8.2/NEWS       2011-04-12 14:28:50.000000000 +0200
+++ new/libdbusmenu-qt-0.8.3/NEWS       2011-06-21 10:54:36.000000000 +0200
@@ -1,3 +1,7 @@
+# 0.8.3 - 2011.06.21
+- If DBusMenuExporter is deleted, delete all DBusMenu instances which were 
working with it (Aurelien Gateau)
+- Only show icons in menu if the platform allows them (Michael Terry)
+
 # 0.8.2 - 2011.04.12
 - Shortcut handling: Translate "+" into "plus" and "-" into "minus" (LP BUG 
712565) (Aurelien Gateau)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdbusmenu-qt-0.8.2/src/dbusmenuexporter.cpp 
new/libdbusmenu-qt-0.8.3/src/dbusmenuexporter.cpp
--- old/libdbusmenu-qt-0.8.2/src/dbusmenuexporter.cpp   2011-04-12 
14:28:50.000000000 +0200
+++ new/libdbusmenu-qt-0.8.3/src/dbusmenuexporter.cpp   2011-06-21 
10:54:36.000000000 +0200
@@ -358,7 +358,11 @@
     DMRETURN_VALUE_IF_FAIL(action, QString());
 #ifdef HAVE_QICON_NAME
     QIcon icon = action->icon();
-    return icon.isNull() ? QString() : icon.name();
+    if (action->isIconVisibleInMenu() && !icon.isNull()) {
+        return icon.name();
+    } else {
+        return QString();
+    }
 #else
     return QString();
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdbusmenu-qt-0.8.2/src/dbusmenu_p.cpp 
new/libdbusmenu-qt-0.8.3/src/dbusmenu_p.cpp
--- old/libdbusmenu-qt-0.8.2/src/dbusmenu_p.cpp 2011-04-12 14:28:50.000000000 
+0200
+++ new/libdbusmenu-qt-0.8.3/src/dbusmenu_p.cpp 2011-06-21 10:54:36.000000000 
+0200
@@ -36,6 +36,7 @@
 , m_parentId(parentId)
 {
     menu->installEventFilter(this);
+    connect(m_exporter, SIGNAL(destroyed(QObject*)), SLOT(deleteMe()));
 }
 
 DBusMenu::~DBusMenu()
@@ -72,23 +73,22 @@
 
 void DBusMenu::addAction(QAction *action)
 {
-    if (m_exporter.data()) {
-        m_exporter.data()->d->addAction(action, m_parentId);
-    }
+    m_exporter->d->addAction(action, m_parentId);
 }
 
 void DBusMenu::updateAction(QAction *action)
 {
-    if (m_exporter.data()) {
-        m_exporter.data()->d->updateAction(action);
-    }
+    m_exporter->d->updateAction(action);
 }
 
 void DBusMenu::removeAction(QAction *action)
 {
-    if (m_exporter.data()) {
-        m_exporter.data()->d->removeAction(action, m_parentId);
-    }
+    m_exporter->d->removeAction(action, m_parentId);
+}
+
+void DBusMenu::deleteMe()
+{
+    delete this;
 }
 
 #include "dbusmenu_p.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdbusmenu-qt-0.8.2/src/dbusmenu_p.h 
new/libdbusmenu-qt-0.8.3/src/dbusmenu_p.h
--- old/libdbusmenu-qt-0.8.2/src/dbusmenu_p.h   2011-04-12 14:28:50.000000000 
+0200
+++ new/libdbusmenu-qt-0.8.3/src/dbusmenu_p.h   2011-06-21 10:54:36.000000000 
+0200
@@ -23,7 +23,6 @@
 
 #include <QEvent>
 #include <QObject>
-#include <QWeakPointer>
 
 class QAction;
 class QMenu;
@@ -45,12 +44,15 @@
 protected:
     virtual bool eventFilter(QObject *obj, QEvent *event);
 
+private Q_SLOTS:
+    void deleteMe();
+
 private:
     void addAction(QAction *action);
     void updateAction(QAction *action);
     void removeAction(QAction *action);
 
-    QWeakPointer<DBusMenuExporter> m_exporter;
+    DBusMenuExporter* m_exporter;
     int m_parentId;
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdbusmenu-qt-0.8.2/tests/dbusmenuexportertest.cpp 
new/libdbusmenu-qt-0.8.3/tests/dbusmenuexportertest.cpp
--- old/libdbusmenu-qt-0.8.2/tests/dbusmenuexportertest.cpp     2011-04-12 
14:28:50.000000000 +0200
+++ new/libdbusmenu-qt-0.8.3/tests/dbusmenuexportertest.cpp     2011-06-21 
10:54:36.000000000 +0200
@@ -61,6 +61,7 @@
 void DBusMenuExporterTest::init()
 {
     QVERIFY(QDBusConnection::sessionBus().registerService(TEST_SERVICE));
+    QCoreApplication::setAttribute(Qt::AA_DontShowIconsInMenus, false);
 }
 
 void DBusMenuExporterTest::cleanup()
@@ -599,4 +600,53 @@
     QCOMPARE(trackCount(subMenu), 1);
 }
 
+// If desktop does not want icon in menus, check we do not export them
+void DBusMenuExporterTest::testHonorDontShowIconsInMenusAttribute()
+{
+    QCoreApplication::setAttribute(Qt::AA_DontShowIconsInMenus, true);
+    QMenu inputMenu;
+    DBusMenuExporter exporter(TEST_OBJECT_PATH, &inputMenu);
+
+    QAction *action = new QAction("Undo", &inputMenu);
+    QIcon icon = QIcon::fromTheme("edit-undo");
+    QVERIFY(!icon.isNull());
+    action->setIcon(icon);
+    inputMenu.addAction(action);
+
+    // Check out exporter is on DBus
+    QDBusInterface iface(TEST_SERVICE, TEST_OBJECT_PATH);
+    QVERIFY2(iface.isValid(), qPrintable(iface.lastError().message()));
+
+    // Get exported menu info
+    QStringList propertyNames = QStringList() << "icon-name";
+    DBusMenuLayoutItemList list = getChildren(&iface, /*parentId=*/0, 
propertyNames);
+    DBusMenuLayoutItem item = list.first();
+    QVERIFY(item.id != 0);
+    QVERIFY(!item.properties.contains("icon-name"));
+}
+
+static bool hasInternalDBusMenuObject(QMenu* menu)
+{
+    Q_FOREACH(QObject* obj, menu->children()) {
+        if (obj->inherits("DBusMenu")) {
+            return true;
+        }
+    }
+    return false;
+}
+
+// DBusMenuExporter adds an instance of an internal class named "DBusMenu" to
+// any QMenu it tracks. Check they go away when the exporter is deleted.
+void DBusMenuExporterTest::testDBusMenuObjectIsDeletedWhenExporterIsDeleted()
+{
+    QMenu inputMenu;
+    QVERIFY(QDBusConnection::sessionBus().registerService(TEST_SERVICE));
+    DBusMenuExporter *exporter = new DBusMenuExporter(TEST_OBJECT_PATH, 
&inputMenu);
+
+    QAction *a1 = inputMenu.addAction("a1");
+    QVERIFY2(hasInternalDBusMenuObject(&inputMenu), "Test setup failed");
+    delete exporter;
+    QVERIFY(!hasInternalDBusMenuObject(&inputMenu));
+}
+
 #include "dbusmenuexportertest.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdbusmenu-qt-0.8.2/tests/dbusmenuexportertest.h 
new/libdbusmenu-qt-0.8.3/tests/dbusmenuexportertest.h
--- old/libdbusmenu-qt-0.8.2/tests/dbusmenuexportertest.h       2011-04-12 
14:28:50.000000000 +0200
+++ new/libdbusmenu-qt-0.8.3/tests/dbusmenuexportertest.h       2011-06-21 
10:54:36.000000000 +0200
@@ -49,6 +49,8 @@
     void testGetGroupProperties();
     void testActivateAction();
     void testTrackActionsOnlyOnce();
+    void testHonorDontShowIconsInMenusAttribute();
+    void testDBusMenuObjectIsDeletedWhenExporterIsDeleted();
 
     void init();
     void cleanup();


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to