Hello community,
here is the log from the commit of package libdbusmenu-qt for openSUSE:Factory
checked in at Fri Sep 2 09:53:17 CEST 2011.
--------
--- KDE/libdbusmenu-qt/libdbusmenu-qt.changes 2011-06-25 12:58:44.000000000 +0200
+++ /mounts/work_src_done/STABLE/libdbusmenu-qt/libdbusmenu-qt.changes 2011-09-01 20:12:30.000000000 +0200
@@ -1,0 +2,12 @@
+Thu Sep 1 18:12:05 UTC 2011 - asterios.dramis@gmail.com
+
+- Update to 0.9.0:
+ * Add support for the "Status" dbusmenu property. Will be used by appmenu-qt
+ for LP BUG 737419
+ - Collapse multiple separators, get rid of starting and trailing separators
+ (LP BUG 793339) (Aurelien Gateau)
+- Spec file updates:
+ * Changed License: to LGPL-2.0+.
+ * Minor other updates.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
libdbusmenu-qt-0.8.3.tar.bz2
New:
----
libdbusmenu-qt-0.9.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdbusmenu-qt.spec ++++++
--- /var/tmp/diff_new_pack.jI3ezi/_old 2011-09-02 09:50:49.000000000 +0200
+++ /var/tmp/diff_new_pack.jI3ezi/_new 2011-09-02 09:50:49.000000000 +0200
@@ -19,9 +19,9 @@
Name: libdbusmenu-qt
-Version: 0.8.3
+Version: 0.9.0
Release: 1
-License: LGPLv2+
+License: LGPL-2.0+
Url: https://launchpad.net/libdbusmenu-qt/
Summary: A Qt implementation of the DBusMenu protocol
Group: System/Libraries
@@ -44,7 +44,7 @@
their menus over DBus.
%package devel
-License: LGPLv2+
+License: LGPL-2.0+
Summary: Development package for libdbusmenu-qt
Group: Development/Libraries/Other
Requires: libdbusmenu-qt2 = %{version}
@@ -55,7 +55,7 @@
This package contains development files for libdbusmenu-qt.
%package -n libdbusmenu-qt2
-License: LGPLv2+
+License: LGPL-2.0+
Summary: Development package for dbusmenu-qt
Group: System/Libraries
%requires_ge libqt4-x11
@@ -70,22 +70,22 @@
%setup -q
%build
- mkdir build
- cd build
- export CFLAGS="%{optflags}"
- export CXXFLAGS="%{optflags}"
- export LDFLAGS="-Wl,-Bsymbolic-functions $LDFLAGS"
- _libsuffix=$(echo %{_lib} | cut -b4-)
- cmake -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
+mkdir build
+cd build
+export CFLAGS="%{optflags}"
+export CXXFLAGS="%{optflags}"
+export LDFLAGS="-Wl,-Bsymbolic-functions $LDFLAGS"
+_libsuffix=$(echo %{_lib} | cut -b4-)
+cmake -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DLIB_SUFFIX="$_libsuffix" \
-DCMAKE_BUILD_TYPE=release ..
- make %{?_smp_mflags} VERBOSE=1
- cd ..
+make %{?_smp_mflags} VERBOSE=1
+cd ..
%install
- cd build
- %makeinstall
- cd ..
+cd build
+%makeinstall
+cd ..
rm -rf %{buildroot}%{_datadir}/doc/dbusmenu-qt/
++++++ libdbusmenu-qt-0.8.3.tar.bz2 -> libdbusmenu-qt-0.9.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/CMakeLists.txt new/libdbusmenu-qt-0.9.0/CMakeLists.txt
--- old/libdbusmenu-qt-0.8.3/CMakeLists.txt 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/CMakeLists.txt 2011-08-30 11:40:07.000000000 +0200
@@ -8,8 +8,8 @@
# Versions
## Package version
set(dbusmenu_qt_VERSION_MAJOR 0)
-set(dbusmenu_qt_VERSION_MINOR 8)
-set(dbusmenu_qt_VERSION_PATCH 3)
+set(dbusmenu_qt_VERSION_MINOR 9)
+set(dbusmenu_qt_VERSION_PATCH 0)
set(dbusmenu_qt_VERSION ${dbusmenu_qt_VERSION_MAJOR}.${dbusmenu_qt_VERSION_MINOR}.${dbusmenu_qt_VERSION_PATCH})
## Lib version
@@ -17,10 +17,10 @@
set(dbusmenu_qt_lib_SOVERSION 2)
### Bump this one when the API is extended in a binary-compatible way
-set(dbusmenu_qt_lib_API_VERSION 5)
+set(dbusmenu_qt_lib_API_VERSION 6)
### Bump this one when changes do not extend the API
-set(dbusmenu_qt_lib_PATCH_VERSION 2)
+set(dbusmenu_qt_lib_PATCH_VERSION 0)
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.3/NEWS new/libdbusmenu-qt-0.9.0/NEWS
--- old/libdbusmenu-qt-0.8.3/NEWS 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/NEWS 2011-08-30 11:40:07.000000000 +0200
@@ -1,3 +1,7 @@
+# 0.9.0 - 2011.08.30
+- Add support for the "Status" dbusmenu property. Will be used by appmenu-qt for LP BUG 737419 (Aurelien Gateau)
+- Collapse multiple separators, get rid of starting and trailing separators (LP BUG 793339) (Aurelien Gateau)
+
# 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)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/RELEASE_CHECK_LIST new/libdbusmenu-qt-0.9.0/RELEASE_CHECK_LIST
--- old/libdbusmenu-qt-0.8.3/RELEASE_CHECK_LIST 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/RELEASE_CHECK_LIST 2011-08-30 11:40:07.000000000 +0200
@@ -10,6 +10,10 @@
- Unpack tarball, build and run tests
- Test with KDE trunk
- Sync the gitorious repository (at least the version number changes)
+ bzr format-patch -r tag:x.y.z-1..
+ mv *.diff $gitorious
+ cd $gitorious
+ git am --reject *.diff
- If ok, create tag
tag=x.y.z
bzr tag $tag
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/src/com.canonical.dbusmenu.xml new/libdbusmenu-qt-0.9.0/src/com.canonical.dbusmenu.xml
--- old/libdbusmenu-qt-0.8.3/src/com.canonical.dbusmenu.xml 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/src/com.canonical.dbusmenu.xml 2011-08-30 11:40:07.000000000 +0200
@@ -171,6 +171,16 @@
</property>
+ <property name="Status" type="s" access="read">
+ dox:d
+ Tells if the menus are in a normal state or they believe that they
+ could use some attention. Cases for showing them would be if help
+ were referring to them or they accessors were being highlighted.
+ This property can have two values: "normal" in almost all cases and
+ "notice" when they should have a higher priority to be shown.
+
+ </property>
+
<!-- Functions -->
<method name="GetLayout">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/src/dbusmenuexporter.cpp new/libdbusmenu-qt-0.9.0/src/dbusmenuexporter.cpp
--- old/libdbusmenu-qt-0.8.3/src/dbusmenuexporter.cpp 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/src/dbusmenuexporter.cpp 2011-08-30 11:40:07.000000000 +0200
@@ -245,6 +245,78 @@
// "icon-data";
}
+static void collapseSeparator(QAction* action)
+{
+ action->setVisible(false);
+}
+
+// Unless the separatorsCollapsible property is set to false, Qt will get rid
+// of separators at the beginning and at the end of menus as well as collapse
+// multiple separators in the middle. For example, a menu like this:
+//
+// ---
+// Open
+// ---
+// ---
+// Quit
+// ---
+//
+// is displayed like this:
+//
+// Open
+// ---
+// Quit
+//
+// We fake this by setting separators invisible before exporting them.
+//
+// cf. https://bugs.launchpad.net/libdbusmenu-qt/+bug/793339
+void DBusMenuExporterPrivate::collapseSeparators(QMenu* menu)
+{
+ QList actions = menu->actions();
+ if (actions.isEmpty()) {
+ return;
+ }
+
+ QList::Iterator it, begin = actions.begin(), end = actions.end();
+
+ // Get rid of separators at end
+ it = end - 1;
+ for (; it != begin; --it) {
+ if ((*it)->isSeparator()) {
+ collapseSeparator(*it);
+ } else {
+ break;
+ }
+ }
+ // end now points after the last visible entry
+ end = it + 1;
+ it = begin;
+
+ // Get rid of separators at beginnning
+ for (; it != end; ++it) {
+ if ((*it)->isSeparator()) {
+ collapseSeparator(*it);
+ } else {
+ break;
+ }
+ }
+
+ // Collapse separators in between
+ bool previousWasSeparator = false;
+ for (; it != end; ++it) {
+ QAction* action = *it;
+ if (action->isSeparator()) {
+ if (previousWasSeparator) {
+ collapseSeparator(action);
+ } else {
+ previousWasSeparator = true;
+ }
+ } else {
+ previousWasSeparator = false;
+ }
+ }
+}
+
//-------------------------------------------------
//
// DBusMenuExporter
@@ -255,6 +327,7 @@
, d(new DBusMenuExporterPrivate)
{
d->q = this;
+ d->m_objectPath = objectPath;
d->m_rootMenu = menu;
d->m_nextId = 1;
d->m_revision = 1;
@@ -348,6 +421,10 @@
void DBusMenuExporter::doEmitLayoutUpdated()
{
Q_FOREACH(int id, d->m_layoutUpdatedIds) {
+ QMenu* menu = d->menuForId(id);
+ if (menu && menu->separatorsCollapsible()) {
+ d->collapseSeparators(menu);
+ }
d->m_dbusObject->LayoutUpdated(d->m_revision, id);
}
d->m_layoutUpdatedIds.clear();
@@ -381,4 +458,14 @@
d->removeActionInternal(object);
}
+void DBusMenuExporter::setStatus(const QString& status)
+{
+ d->m_dbusObject->setStatus(status);
+}
+
+QString DBusMenuExporter::status() const
+{
+ return d->m_dbusObject->status();
+}
+
#include "dbusmenuexporter.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/src/dbusmenuexporter.h new/libdbusmenu-qt-0.9.0/src/dbusmenuexporter.h
--- old/libdbusmenu-qt-0.8.3/src/dbusmenuexporter.h 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/src/dbusmenuexporter.h 2011-08-30 11:40:07.000000000 +0200
@@ -55,6 +55,20 @@
*/
void activateAction(QAction *action);
+ /**
+ * The status of the menu. Can be one of "normal" or "notice". This can be
+ * used to notify the other side the menu should be made more visible.
+ * For example, appmenu uses it to tell Unity panel to show/hide the menubar
+ * when the Alt modifier is pressed/released.
+ */
+ void setStatus(const QString &status);
+
+ /**
+ * Returns the status of the menu.
+ * @ref setStatus
+ */
+ QString status() const;
+
protected:
/**
* Must extract the icon name for action. This is the name which will
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/src/dbusmenuexporterdbus_p.cpp new/libdbusmenu-qt-0.9.0/src/dbusmenuexporterdbus_p.cpp
--- old/libdbusmenu-qt-0.8.3/src/dbusmenuexporterdbus_p.cpp 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/src/dbusmenuexporterdbus_p.cpp 2011-08-30 11:40:07.000000000 +0200
@@ -21,7 +21,9 @@
#include "dbusmenuexporterdbus_p.h"
// Qt
+#include <QDBusMessage>
#include <QMenu>
+#include <QVariant>
// Local
#include "dbusmenuadaptor.h"
@@ -29,9 +31,13 @@
#include "dbusmenushortcut_p.h"
#include "debug_p.h"
+static const char *DBUSMENU_INTERFACE = "com.canonical.dbusmenu";
+static const char *FDO_PROPERTIES_INTERFACE = "org.freedesktop.DBus.Properties";
+
DBusMenuExporterDBus::DBusMenuExporterDBus(DBusMenuExporter *exporter)
: QObject(exporter)
, m_exporter(exporter)
+, m_status("normal")
{
DBusMenuTypes_register();
new DbusmenuAdaptor(this);
@@ -151,5 +157,30 @@
return filter.mChanged;
}
+void DBusMenuExporterDBus::setStatus(const QString& status)
+{
+ if (m_status == status) {
+ return;
+ }
+ m_status = status;
+
+ QVariantMap map;
+ map.insert("Status", QVariant(status));
+
+ QDBusMessage msg = QDBusMessage::createSignal(m_exporter->d->m_objectPath, FDO_PROPERTIES_INTERFACE, "PropertiesChanged");
+ QVariantList args = QVariantList()
+ << DBUSMENU_INTERFACE
+ << map
+ << QStringList() // New properties: none
+ ;
+ msg.setArguments(args);
+ QDBusConnection::sessionBus().send(msg);
+}
+
+QString DBusMenuExporterDBus::status() const
+{
+ return m_status;
+}
+
#include "dbusmenuexporterdbus_p.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/src/dbusmenuexporterdbus_p.h new/libdbusmenu-qt-0.9.0/src/dbusmenuexporterdbus_p.h
--- old/libdbusmenu-qt-0.8.3/src/dbusmenuexporterdbus_p.h 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/src/dbusmenuexporterdbus_p.h 2011-08-30 11:40:07.000000000 +0200
@@ -42,11 +42,15 @@
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "com.canonical.dbusmenu")
Q_PROPERTY(uint Version READ Version)
+ Q_PROPERTY(QString Status READ status)
public:
DBusMenuExporterDBus(DBusMenuExporter *m_exporter);
uint Version() const { return 2; }
+ QString status() const;
+ void setStatus(const QString &status);
+
public Q_SLOTS:
Q_NOREPLY void Event(int id, const QString &eventId, const QDBusVariant &data, uint timestamp);
QDBusVariant GetProperty(int id, const QString &property);
@@ -61,6 +65,7 @@
private:
DBusMenuExporter *m_exporter;
+ QString m_status;
friend class DBusMenuExporter;
friend class DBusMenuExporterPrivate;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/src/dbusmenuexporterprivate_p.h new/libdbusmenu-qt-0.9.0/src/dbusmenuexporterprivate_p.h
--- old/libdbusmenu-qt-0.8.3/src/dbusmenuexporterprivate_p.h 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/src/dbusmenuexporterprivate_p.h 2011-08-30 11:40:07.000000000 +0200
@@ -40,6 +40,8 @@
public:
DBusMenuExporter *q;
+ QString m_objectPath;
+
DBusMenuExporterDBus *m_dbusObject;
QMenu *m_rootMenu;
@@ -80,6 +82,8 @@
void emitLayoutUpdated(int id);
void insertIconProperty(QVariantMap* map, QAction *action) const;
+
+ void collapseSeparators(QMenu*);
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/tests/dbusmenuexportertest.cpp new/libdbusmenu-qt-0.9.0/tests/dbusmenuexportertest.cpp
--- old/libdbusmenu-qt-0.8.3/tests/dbusmenuexportertest.cpp 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/tests/dbusmenuexportertest.cpp 2011-08-30 11:40:07.000000000 +0200
@@ -649,4 +649,118 @@
QVERIFY(!hasInternalDBusMenuObject(&inputMenu));
}
+void DBusMenuExporterTest::testSeparatorCollapsing_data()
+{
+ QTest::addColumn<QString>("input");
+ QTest::addColumn<QString>("expected");
+
+ QTest::newRow("one-separator") << "a-b" << "a-b";
+ QTest::newRow("two-separators") << "a-b-c" << "a-b-c";
+ QTest::newRow("middle-separators") << "a--b" << "a-b";
+ QTest::newRow("separators-at-begin") << "--a-b" << "a-b";
+ QTest::newRow("separators-at-end") << "a-b--" << "a-b";
+ QTest::newRow("separators-everywhere") << "--a---bc--d--" << "a-bc-d";
+ QTest::newRow("empty-menu") << "" << "";
+ QTest::newRow("separators-only") << "---" << "";
+}
+
+void DBusMenuExporterTest::testSeparatorCollapsing()
+{
+ QFETCH(QString, input);
+ QFETCH(QString, expected);
+
+ // Create menu from menu string
+ QMenu inputMenu;
+
+ QVERIFY(QDBusConnection::sessionBus().registerService(TEST_SERVICE));
+ DBusMenuExporter *exporter = new DBusMenuExporter(TEST_OBJECT_PATH, &inputMenu);
+
+ if (input.isEmpty()) {
+ // Pretend there was an action so that doEmitLayoutUpdated() is called
+ // even if the new menu is empty. If we don't do this we don't test
+ // DBusMenuExporterPrivate::collapseSeparators() for empty menus.
+ delete inputMenu.addAction("dummy");
+ }
+
+ Q_FOREACH(QChar ch, input) {
+ if (ch == '-') {
+ inputMenu.addSeparator();
+ } else {
+ inputMenu.addAction(ch);
+ }
+ }
+
+ QTest::qWait(500);
+
+ // 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();
+ DBusMenuLayoutItemList list = getChildren(&iface, /*parentId=*/0, propertyNames);
+
+ // Recreate a menu string from the item list
+ QString output;
+ Q_FOREACH(const DBusMenuLayoutItem& item, list) {
+ QVariantMap properties = item.properties;
+ if (properties.contains("visible") && !properties.value("visible").toBool()) {
+ continue;
+ }
+ QString type = properties.value("type").toString();
+ if (type == "separator") {
+ output += '-';
+ } else {
+ output += properties.value("label").toString();
+ }
+ }
+
+ // Check it matches
+ QCOMPARE(output, expected);
+}
+
+static void checkPropertiesChangedArgs(const QVariantList& args, const QString& name, const QVariant& value)
+{
+ QCOMPARE(args[0].toString(), QString("com.canonical.dbusmenu"));
+ QVariantMap map;
+ map.insert(name, value);
+ QCOMPARE(args[1].toMap(), map);
+ QCOMPARE(args[2].toStringList(), QStringList());
+}
+
+void DBusMenuExporterTest::testSetStatus()
+{
+ QMenu inputMenu;
+ QVERIFY(QDBusConnection::sessionBus().registerService(TEST_SERVICE));
+ DBusMenuExporter *exporter = new DBusMenuExporter(TEST_OBJECT_PATH, &inputMenu);
+ ManualSignalSpy spy;
+ QDBusConnection::sessionBus().connect(TEST_SERVICE, TEST_OBJECT_PATH, "org.freedesktop.DBus.Properties", "PropertiesChanged", "sa{sv}as", &spy, SLOT(receiveCall(QString, QVariantMap, QStringList)));
+
+ QTest::qWait(500);
+
+ // Check our exporter is on DBus
+ QDBusInterface iface(TEST_SERVICE, TEST_OBJECT_PATH);
+ QVERIFY2(iface.isValid(), qPrintable(iface.lastError().message()));
+
+ QCOMPARE(exporter->status(), QString("normal"));
+
+ // Change status, a DBus signal should be emitted
+ exporter->setStatus("notice");
+ QCOMPARE(exporter->status(), QString("notice"));
+ QTest::qWait(500);
+ QCOMPARE(spy.count(), 1);
+ checkPropertiesChangedArgs(spy.takeFirst(), "Status", "notice");
+
+ // Same status => no signal
+ exporter->setStatus("notice");
+ QTest::qWait(500);
+ QCOMPARE(spy.count(), 0);
+
+ // Change status, a DBus signal should be emitted
+ exporter->setStatus("normal");
+ QTest::qWait(500);
+ QCOMPARE(spy.count(), 1);
+ checkPropertiesChangedArgs(spy.takeFirst(), "Status", "normal");
+}
+
#include "dbusmenuexportertest.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/tests/dbusmenuexportertest.h new/libdbusmenu-qt-0.9.0/tests/dbusmenuexportertest.h
--- old/libdbusmenu-qt-0.8.3/tests/dbusmenuexportertest.h 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/tests/dbusmenuexportertest.h 2011-08-30 11:40:07.000000000 +0200
@@ -51,6 +51,9 @@
void testTrackActionsOnlyOnce();
void testHonorDontShowIconsInMenusAttribute();
void testDBusMenuObjectIsDeletedWhenExporterIsDeleted();
+ void testSeparatorCollapsing_data();
+ void testSeparatorCollapsing();
+ void testSetStatus();
void init();
void cleanup();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libdbusmenu-qt-0.8.3/tests/testutils.h new/libdbusmenu-qt-0.9.0/tests/testutils.h
--- old/libdbusmenu-qt-0.8.3/tests/testutils.h 2011-06-21 10:54:36.000000000 +0200
+++ new/libdbusmenu-qt-0.9.0/tests/testutils.h 2011-08-30 11:40:07.000000000 +0200
@@ -65,6 +65,15 @@
args.push_back(removedPropsIds);
append(args);
}
+
+ void receiveCall(const QString& service, const QVariantMap& modifiedProperties, const QStringList& newProperties)
+ {
+ QVariantList args;
+ args.push_back(service);
+ args.push_back(modifiedProperties);
+ args.push_back(newProperties);
+ append(args);
+ }
};
class MenuFiller : public QObject
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org