[dbusmenu-qt] - dbusmenu-qt-0.6.3 - include kubuntu_00_external_contributions.diff
Rex Dieter
rdieter at fedoraproject.org
Tue Sep 21 16:36:15 UTC 2010
commit a3d8d2f8d841db056661613b324bc68b886797bd
Author: Rex Dieter <rdieter at fedoraproject.org>
Date: Tue Sep 21 11:41:46 2010 -0500
- dbusmenu-qt-0.6.3
- include kubuntu_00_external_contributions.diff
.gitignore | 1 +
dbusmenu-qt-0.3.2-pkgconfig.patch | 11 -
dbusmenu-qt.spec | 11 +-
kubuntu_00_external_contributions.diff | 357 ++++++++++++++++++++++++++++++++
sources | 2 +-
5 files changed, 366 insertions(+), 16 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 8ca730a..5818309 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
libdbusmenu-qt-0.5.2.tar.bz2
+/libdbusmenu-qt-0.6.3.tar.bz2
diff --git a/dbusmenu-qt.spec b/dbusmenu-qt.spec
index acc8fe7..eb8ed00 100644
--- a/dbusmenu-qt.spec
+++ b/dbusmenu-qt.spec
@@ -1,7 +1,7 @@
Summary: A Qt implementation of the DBusMenu protocol
Name: dbusmenu-qt
-Version: 0.5.2
+Version: 0.6.3
Release: 1%{?dist}
Group: System Environment/Libraries
@@ -11,8 +11,7 @@ Source0 http://launchpad.net/libdbusmenu-qt/trunk/%{version}/+download/libdbusm
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
## upstream patches
-# honor LIB_SUFFIX (ie, use /usr/lib64 on 64bit)
-Patch100: dbusmenu-qt-0.3.2-pkgconfig.patch
+Patch100: http://bazaar.launchpad.net/~kubuntu-members/libdbusmenu-qt/ubuntu/download/head:/kubuntu_00_external_-20100920140604-m34bhlve690rhcmm-1/kubuntu_00_external_contributions.diff
BuildRequires: cmake
BuildRequires: pkgconfig
@@ -40,7 +39,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%prep
%setup -q -n libdbusmenu-qt-%{version}
-%patch100 -p1 -b .pkgconfig
+%patch100 -p1 -b .external_contributions
%build
@@ -87,6 +86,10 @@ rm -rf %{buildroot}
%changelog
+* Tue Sep 21 2010 Rex Dieter <rdieter at fedoraproject.org> 0.6.3-1
+- dbusmenu-qt-0.6.3
+- include kubuntu_00_external_contributions.diff
+
* Fri Aug 06 2010 Rex Dieter <rdieter at fedoraproject.org> 0.5.2-1
- dbusmenu-qt-0.5.2
diff --git a/kubuntu_00_external_contributions.diff b/kubuntu_00_external_contributions.diff
new file mode 100644
index 0000000..ed0e2f8
--- /dev/null
+++ b/kubuntu_00_external_contributions.diff
@@ -0,0 +1,357 @@
+This patch puts back external contributions to dbusmenu-qt and will hopefully
+go away when copyright issues in upstream project are resolved.
+
+Index: libdbusmenu-qt-0.6.3/.gitattributes
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdbusmenu-qt-0.6.3/.gitattributes 2010-09-16 17:11:42.000000000 +0200
+@@ -0,0 +1 @@
++org.ayatana.dbusmenu.xml -crlf
+Index: libdbusmenu-qt-0.6.3/.krazy
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdbusmenu-qt-0.6.3/.krazy 2010-09-16 17:11:42.000000000 +0200
+@@ -0,0 +1 @@
++SKIP /tests/
+Index: libdbusmenu-qt-0.6.3/CMakeLists.txt
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/CMakeLists.txt 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/CMakeLists.txt 2010-09-16 17:11:42.000000000 +0200
+@@ -36,7 +36,7 @@
+ set(dbusmenu_qt_lib_PATCH_VERSION 3)
+ set(dbusmenu_qt_lib_VERSION ${dbusmenu_qt_lib_SOVERSION}.${dbusmenu_qt_lib_API_VERSION}.${dbusmenu_qt_lib_PATCH_VERSION})
+
+-find_package(Qt4 REQUIRED)
++find_package(Qt4 4.6.0 REQUIRED)
+
+ include_directories(
+ ${QT_INCLUDE_DIR}
+@@ -52,6 +52,10 @@
+ DESTINATION lib${LIB_SUFFIX}/pkgconfig
+ )
+
++option(BUILD_TESTS "Build tests" ON)
++
+ add_subdirectory(src)
+-add_subdirectory(tests)
++if (BUILD_TESTS)
++ add_subdirectory(tests)
++endif (BUILD_TESTS)
+ add_subdirectory(tools)
+Index: libdbusmenu-qt-0.6.3/cmake/modules/FindQJSON.cmake
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/cmake/modules/FindQJSON.cmake 2010-09-16 17:10:25.000000000 +0200
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+@@ -1,44 +0,0 @@
+-# Find QJSON - JSON handling library for Qt
+-#
+-# This module defines
+-# QJSON_FOUND - whether the qsjon library was found
+-# QJSON_LIBRARIES - the qjson library
+-# QJSON_INCLUDE_DIR - the include path of the qjson library
+-#
+-
+-if (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
+-
+- # Already in cache
+- set (QJSON_FOUND TRUE)
+-
+-else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
+-
+- if (NOT WIN32)
+- # use pkg-config to get the values of QJSON_INCLUDE_DIRS
+- # and QJSON_LIBRARY_DIRS to add as hints to the find commands.
+- include (FindPkgConfig)
+- pkg_check_modules (QJSON QJson>=0.5)
+- endif (NOT WIN32)
+-
+- find_library (QJSON_LIBRARIES
+- NAMES
+- qjson
+- PATHS
+- ${QJSON_LIBRARY_DIRS}
+- ${LIB_INSTALL_DIR}
+- ${KDE4_LIB_DIR}
+- )
+-
+- find_path (QJSON_INCLUDE_DIR
+- NAMES
+- qjson/parser.h
+- PATHS
+- ${QJSON_INCLUDE_DIRS}
+- ${INCLUDE_INSTALL_DIR}
+- ${KDE4_INCLUDE_DIR}
+- )
+-
+- include(FindPackageHandleStandardArgs)
+- find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
+-
+-endif (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
+Index: libdbusmenu-qt-0.6.3/cmake/modules/FindQJson.cmake
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libdbusmenu-qt-0.6.3/cmake/modules/FindQJson.cmake 2010-09-16 17:11:42.000000000 +0200
+@@ -0,0 +1,39 @@
++# - Try to find the QJson library
++# Once done this will define
++#
++# QJSON_FOUND - system has the QJson library
++# QJSON_INCLUDE_DIR - the QJson include directory
++# QJSON_LIBRARY - Link this to use the QJson library
++#
++# Copyright (c) 2010, Pino Toscano, <toscano.pino at tiscali.it>
++#
++# Redistribution and use is allowed according to the terms of the BSD license.
++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
++
++if (QJSON_INCLUDE_DIR AND QJSON_LIBRARY)
++
++ # in cache already
++ set(QJSON_FOUND TRUE)
++
++else (QJSON_INCLUDE_DIR AND QJSON_LIBRARY)
++ if (NOT WIN32)
++ find_package(PkgConfig)
++ pkg_check_modules(PC_QJSON QJson)
++ endif(NOT WIN32)
++
++ find_path(QJSON_INCLUDE_DIR qjson/parser.h
++ HINTS
++ ${PC_QJSON_INCLUDE_DIRS}
++ )
++
++ find_library(QJSON_LIBRARY NAMES qjson
++ HINTS
++ ${PC_QJSON_LIBRARY_DIRS}
++ )
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(QJson DEFAULT_MSG QJSON_LIBRARY QJSON_INCLUDE_DIR)
++
++ mark_as_advanced(QJSON_INCLUDE_DIR QJSON_LIBRARY)
++
++endif (QJSON_INCLUDE_DIR AND QJSON_LIBRARY)
+Index: libdbusmenu-qt-0.6.3/dbusmenu-qt.pc.in
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/dbusmenu-qt.pc.in 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/dbusmenu-qt.pc.in 2010-09-16 17:11:42.000000000 +0200
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@
+-libdir=@CMAKE_INSTALL_PREFIX@/lib
++libdir=@CMAKE_INSTALL_PREFIX@/lib at LIB_SUFFIX@
+ includedir=@CMAKE_INSTALL_PREFIX@/include/dbusmenu-qt
+
+ Name: libdbusmenu-qt
+Index: libdbusmenu-qt-0.6.3/src/CMakeLists.txt
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/src/CMakeLists.txt 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/src/CMakeLists.txt 2010-09-16 17:11:42.000000000 +0200
+@@ -17,6 +17,10 @@
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+ endif (__DBUSMENU_HAVE_W_ALL)
+
++if (MSVC)
++ add_definitions(-D__PRETTY_FUNCTION__=__FUNCTION__)
++endif (MSVC)
++
+ # Check whether QIcon::name() exists. It was added in late Qt 4.7 cycle, and is
+ # not present in betas.
+ set(CMAKE_REQUIRED_INCLUDES "${QT_INCLUDE_DIR}")
+@@ -34,6 +38,7 @@
+ endif()
+ configure_file(dbusmenu_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/dbusmenu_config.h @ONLY)
+
++
+ set(dbusmenu_qt_SRCS
+ dbusmenu_p.cpp
+ dbusmenuexporter.cpp
+@@ -74,7 +79,10 @@
+ )
+
+ install(TARGETS dbusmenu-qt
+- LIBRARY DESTINATION lib${LIB_SUFFIX})
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
++ ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION bin
++)
+
+ install(DIRECTORY .
+ DESTINATION include/dbusmenu-qt
+Index: libdbusmenu-qt-0.6.3/src/dbusmenuexporter.cpp
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/src/dbusmenuexporter.cpp 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/src/dbusmenuexporter.cpp 2010-09-16 17:11:42.000000000 +0200
+@@ -79,6 +79,7 @@
+ {
+ QVariantMap map;
+ map.insert("enabled", false);
++ map.insert("x-kde-title", true);
+
+ const QWidgetAction *widgetAction = qobject_cast<const QWidgetAction *>(action_);
+ DMRETURN_VALUE_IF_FAIL(widgetAction, map);
+Index: libdbusmenu-qt-0.6.3/src/dbusmenuimporter.cpp
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/src/dbusmenuimporter.cpp 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/src/dbusmenuimporter.cpp 2010-09-16 17:11:42.000000000 +0200
+@@ -32,6 +32,8 @@
+ #include <QSignalMapper>
+ #include <QTime>
+ #include <QTimer>
++#include <QToolButton>
++#include <QWidgetAction>
+
+ // Local
+ #include "dbusmenuitem_p.h"
+@@ -41,7 +43,6 @@
+
+ //#define BENCHMARK
+ #ifdef BENCHMARK
+-#include <QTime>
+ static QTime sChrono;
+ #endif
+
+@@ -66,6 +67,29 @@
+ DBusMenuImporterMethod m_method;
+ };
+
++class EventSniffer : public QObject
++{
++public:
++ EventSniffer(QObject *parent = 0)
++ : QObject(parent) { }
++
++ ~EventSniffer() { }
++
++ bool eventFilter(QObject *object, QEvent *event)
++ {
++ Q_UNUSED(object);
++
++ if (event->type() == QEvent::Paint ||
++ event->type() == QEvent::KeyPress ||
++ event->type() == QEvent::KeyRelease) {
++ return false;
++ }
++
++ event->accept();
++ return true;
++ }
++};
++
+ class DBusMenuImporterPrivate
+ {
+ public:
+@@ -143,8 +167,30 @@
+ group->addAction(action);
+ }
+ }
++
++ bool isMenuTitle = map.take("x-kde-title").toBool();
++
+ updateAction(action, map, map.keys());
+
++ if (isMenuTitle) {
++ QAction *buttonAction = action;
++ QFont font = buttonAction->font();
++ font.setBold(true);
++ buttonAction->setFont(font);
++ buttonAction->setEnabled(true);
++
++ QWidgetAction *action = new QWidgetAction(parent);
++ action->setObjectName("kmenu_title");
++ QToolButton *titleButton = new QToolButton(0);
++ EventSniffer *eventSniffer = new EventSniffer(titleButton);
++ titleButton->installEventFilter(eventSniffer); // prevent clicks on the title of the menu
++ titleButton->setDefaultAction(buttonAction);
++ titleButton->setDown(true); // prevent hover style changes in some styles
++ titleButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
++ action->setDefaultWidget(titleButton);
++ return action;
++ }
++
+ return action;
+ }
+
+Index: libdbusmenu-qt-0.6.3/src/dbusmenuimporter.h
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/src/dbusmenuimporter.h 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/src/dbusmenuimporter.h 2010-09-16 17:11:42.000000000 +0200
+@@ -109,12 +109,12 @@
+ void dispatch(QDBusPendingCallWatcher *);
+ void sendClickedEvent(int);
+ void slotItemUpdated(int id);
++ void slotLayoutUpdated(uint revision, int parentId);
+ void slotMenuAboutToShow();
+ void slotAboutToShowDBusCallFinished(QDBusPendingCallWatcher *);
+ void slotItemPropertyUpdated(int id, const QString &key, const QDBusVariant &value);
+ void slotItemActivationRequested(int id, uint timestamp);
+ void processPendingLayoutUpdates();
+- void slotLayoutUpdated(uint revision, int parentId);
+
+ private:
+ Q_DISABLE_COPY(DBusMenuImporter)
+Index: libdbusmenu-qt-0.6.3/src/dbusmenushortcut_p.cpp
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/src/dbusmenushortcut_p.cpp 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/src/dbusmenushortcut_p.cpp 2010-09-16 17:11:42.000000000 +0200
+@@ -29,6 +29,11 @@
+ static const int QT_COLUMN = 0;
+ static const int DM_COLUMN = 1;
+
++#ifdef _MSC_VER
++// dummy implementation to make MSVC happy (due to QList::toSet())
++uint qHash( const QStringList& key ) { return 0; }
++#endif
++
+ static void processKeyTokens(QStringList* tokens, int srcCol, int dstCol)
+ {
+ struct Row {
+Index: libdbusmenu-qt-0.6.3/src/dbusmenushortcut_p.h
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/src/dbusmenushortcut_p.h 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/src/dbusmenushortcut_p.h 2010-09-16 17:11:42.000000000 +0200
+@@ -38,6 +38,10 @@
+ static DBusMenuShortcut fromKeySequence(const QKeySequence&);
+ };
+
++#ifdef _MSC_VER
++uint qHash( const QStringList& key );
++#endif
++
+ Q_DECLARE_METATYPE(DBusMenuShortcut)
+
+ #endif /* DBUSMENUSHORTCUT_H */
+Index: libdbusmenu-qt-0.6.3/tools/CMakeLists.txt
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/tools/CMakeLists.txt 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/tools/CMakeLists.txt 2010-09-16 17:11:42.000000000 +0200
+@@ -1,7 +1,11 @@
+-find_package(QJSON)
+-if (QJSON_FOUND)
+- message(STATUS "QJSON found, testapp will be built")
+- add_subdirectory(testapp)
+-else (QJSON_FOUND)
+- message(STATUS "QJSON not found, testapp will not be built")
+-endif (QJSON_FOUND)
++if (BUILD_TESTS)
++ find_package(QJson)
++ if (QJSON_FOUND)
++ message(STATUS "QJSON found and tests enabled, testapp will be built")
++ add_subdirectory(testapp)
++ else (QJSON_FOUND)
++ message(STATUS "QJSON not found, testapp will not be built")
++ endif (QJSON_FOUND)
++else (BUILD_TESTS)
++ message(STATUS "Tests disabled, testapp will not be built")
++endif (BUILD_TESTS)
+Index: libdbusmenu-qt-0.6.3/tools/testapp/CMakeLists.txt
+===================================================================
+--- libdbusmenu-qt-0.6.3.orig/tools/testapp/CMakeLists.txt 2010-09-16 17:10:25.000000000 +0200
++++ libdbusmenu-qt-0.6.3/tools/testapp/CMakeLists.txt 2010-09-16 17:11:42.000000000 +0200
+@@ -19,5 +19,5 @@
+ ${QT_QTGUI_LIBRARY}
+ ${QT_QTCORE_LIBRARY}
+ ${QT_QTDBUS_LIBRARY}
+- ${QJSON_LIBRARIES}
++ ${QJSON_LIBRARY}
+ )
diff --git a/sources b/sources
index ae5b363..60341cb 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-80203a81447575bda80024b3a9dca7a7 libdbusmenu-qt-0.5.2.tar.bz2
+35c66a2099ab5d43e5e040c6acab219e libdbusmenu-qt-0.6.3.tar.bz2
More information about the scm-commits
mailing list