[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.5/kdelibs
From:       Marc Mutz <mutz () kde ! org>
Date:       2010-08-16 13:39:10
Message-ID: 20100816133910.1CD83AC854 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1164305 by mutz:

Make DBusMenuQt optional

http://reviewboard.kde.org/r/4898/

MERGE: trunk

 M  +2 -2      CMakeLists.txt  
 M  +2 -0      ConfigureChecks.cmake  
 M  +2 -0      config.h.cmake  
 M  +10 -2     kdeui/CMakeLists.txt  
 M  +10 -0     kdeui/notifications/kstatusnotifieritem.cpp  


--- branches/KDE/4.5/kdelibs/CMakeLists.txt #1164304:1164305
@@ -110,8 +110,8 @@
 macro_optional_find_package(QCA2)
 macro_log_feature(QCA2_FOUND "QCA2" "Qt Cryptographic Architecture" \
"http://delta.affinix.com/qca" FALSE "2.0.0" "Needed for the plasma remote widgets \
functionality.")  
-find_package(DBusMenuQt)
-macro_log_feature(DBUSMENUQT_FOUND "DBusMenuQt" "API to import export QMenu instance \
using DBusMenu protocol" "git clone git://gitorious.org/dbusmenu/dbusmenu-qt.git" \
TRUE "" "dbusmenu-qt is a standalone library providing a way to import and export \
QMenu instances using the DBusMenu protocol.") \
+macro_optional_find_package(DBusMenuQt) +macro_log_feature(DBUSMENUQT_FOUND \
"DBusMenuQt" "API to import export QMenu instance using DBusMenu protocol" \
"http://people.canonical.com/~agateau/dbusmenu/" FALSE "" "dbusmenu-qt is a \
standalone library providing a way to import and export QMenu instances using the \
DBusMenu protocol.")  
 ################# Disallow in-source build #################
 
--- branches/KDE/4.5/kdelibs/ConfigureChecks.cmake #1164304:1164305
@@ -34,6 +34,8 @@
 
 macro_bool_to_01(LIBINTL_FOUND ENABLE_NLS)              # kdecore, khtml, kjs
 
+macro_bool_to_01(DBUSMENUQT_FOUND HAVE_DBUSMENUQT)      # kdeui
+
 # FIXME: Make this changeable!
 # khtml svg support
 set(SVG_SUPPORT 1)              # unused yet, but for the future
--- branches/KDE/4.5/kdelibs/config.h.cmake #1164304:1164305
@@ -187,6 +187,8 @@
 /* Defined to 1 if you have a d_type member in struct dirent */
 #cmakedefine HAVE_DIRENT_D_TYPE 1
 
+/* Defined to 1 if you have the dbusmenuqt library */
+#cmakedefine HAVE_DBUSMENUQT 1
 
 #include "kdecore/kdefakes.h"
 
--- branches/KDE/4.5/kdelibs/kdeui/CMakeLists.txt #1164304:1164305
@@ -1,6 +1,14 @@
 
 project(kdeui)
 
+if ( DBUSMENUQT_FOUND )
+   set( _kdeui_DBUSMENUQT_INCLUDE_DIR ${DBUSMENUQT_INCLUDE_DIR} )
+   set( _kdeui_DBUSMENUQT_LIBRARIES ${DBUSMENUQT_LIBRARIES} )
+else ( DBUSMENUQT_FOUND )
+   set( _kdeui_DBUSMENUQT_INCLUDE_DIR )
+   set( _kdeui_DBUSMENUQT_LIBRARIES )
+endif ( DBUSMENUQT_FOUND )
+
 include_directories(
  ${CMAKE_SOURCE_DIR}/interfaces
  ${CMAKE_SOURCE_DIR}/interfaces/kregexpeditor
@@ -26,7 +34,7 @@
  ${CMAKE_CURRENT_SOURCE_DIR}/widgets
  ${CMAKE_CURRENT_SOURCE_DIR}/windowmanagement
  ${CMAKE_CURRENT_SOURCE_DIR}/xmlgui
- ${DBUSMENUQT_INCLUDE_DIR}
+ ${_kdeui_DBUSMENUQT_INCLUDE_DIR}
 )
 
 add_subdirectory( about )
@@ -352,7 +360,7 @@
 
 kde4_add_library(kdeui SHARED ${kdeui_LIB_SRCS})
 
-target_link_libraries(kdeui  ${QT_QTSVG_LIBRARY} ${KDE4_KDECORE_LIBS} \
${X11_LIBRARIES} ${QT_QTGUI_LIBRARY} ${QT_QTXML_LIBRARY} ${DBUSMENUQT_LIBRARIES}) \
+target_link_libraries(kdeui  ${QT_QTSVG_LIBRARY} ${KDE4_KDECORE_LIBS} \
${X11_LIBRARIES} ${QT_QTGUI_LIBRARY} ${QT_QTXML_LIBRARY} \
${_kdeui_DBUSMENUQT_LIBRARIES})  
 if(MINGW)
    target_link_libraries(kdeui gdi32 oleaut32)
--- branches/KDE/4.5/kdelibs/kdeui/notifications/kstatusnotifieritem.cpp \
#1164304:1164305 @@ -18,6 +18,8 @@
    Boston, MA 02110-1301, USA.
 */
 
+#include "config.h"
+
 #include "kstatusnotifieritem.h"
 #include "kstatusnotifieritemprivate_p.h"
 #include "kstatusnotifieritemdbus_p.h"
@@ -45,12 +47,15 @@
 
 #include <netinet/in.h>
 
+#ifdef HAVE_DBUSMENUQT
 #include <dbusmenuexporter.h>
+#endif
 
 #include "statusnotifieritemadaptor.h"
 
 static const QString \
s_statusNotifierWatcherServiceName("org.kde.StatusNotifierWatcher");  
+#ifdef HAVE_DBUSMENUQT
 /**
  * Specialization to provide access to KDE icon names
  */
@@ -97,6 +102,7 @@
 #endif
     }
 };
+#endif // HAVE_DBUSMENUQT
 
 KStatusNotifierItem::KStatusNotifierItem(QObject *parent)
       : QObject(parent),
@@ -373,17 +379,21 @@
     if (d->systemTrayIcon) {
         d->systemTrayIcon->setContextMenu(menu);
     } else if (d->menu != menu) {
+#ifdef HAVE_DBUSMENUQT
         if (getenv("KSNI_NO_DBUSMENU")) {
+#endif // HAVE_DBUSMENUQT
             // This is a hack to make it possible to disable DBusMenu in an
             // application. The string "/NO_DBUSMENU" must be the same as in
             // DBusSystemTrayWidget::findDBusMenuInterface() in the Plasma
             // systemtray applet.
             d->menuObjectPath = "/NO_DBUSMENU";
             menu->installEventFilter(this);
+#ifdef HAVE_DBUSMENUQT
         } else {
             d->menuObjectPath = "/MenuBar";
             new KDBusMenuExporter(d->menuObjectPath, menu, \
d->statusNotifierItemDBus->dbusConnection());  }
+#endif // HAVE_DBUSMENUQT
 
         connect(menu, SIGNAL(aboutToShow()), this, SLOT(contextMenuAboutToShow()));
     }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic