Show OS X notification center notifications
[quassel.git] / src / qtui / CMakeLists.txt
index f70e465..8d8dce0 100644 (file)
@@ -1,9 +1,20 @@
 # Builds the qtui module
 
-set(QT_DONT_USE_QTGUI 0)
-set(QT_USE_QTNETWORK 1)
-set(QT_USE_QTDBUS 1)
-include(${QT_USE_FILE})
+set(_modules )
+
+if(WITH_QT5)
+  list(APPEND _modules Widgets)
+endif(WITH_QT5)
+
+if(HAVE_DBUS)
+  list(APPEND _modules DBus)
+endif(HAVE_DBUS)
+
+if(HAVE_WEBKIT)
+  list(APPEND _modules Webkit XmlPatterns)
+endif(HAVE_WEBKIT)
+
+setup_qt_variables(Gui Network ${_modules})
 
 set(SOURCES
     aboutdlg.cpp
@@ -25,15 +36,18 @@ set(SOURCES
     columnhandleitem.cpp
     coreconfigwizard.cpp
     coreconnectdlg.cpp
+    coreconnectionstatuswidget.cpp
     coreinfodlg.cpp
+    debugbufferviewoverlay.cpp
     debugconsole.cpp
     debuglogwidget.cpp
     debugmessagemodelfilter.cpp
     inputwidget.cpp
     ircconnectionwizard.cpp
-    jumpkeyhandler.cpp
+    legacysystemtray.cpp
     mainpage.cpp
     mainwin.cpp
+    markerlineitem.cpp
     msgprocessorstatuswidget.cpp
     nicklistwidget.cpp
     qtui.cpp
@@ -41,7 +55,6 @@ set(SOURCES
     qtuimessageprocessor.cpp
     qtuisettings.cpp
     qtuistyle.cpp
-    sessionsettings.cpp
     settingsdlg.cpp
     settingspagedlg.cpp
     simplenetworkeditor.cpp
@@ -49,7 +62,6 @@ set(SOURCES
     systraynotificationbackend.cpp
     taskbarnotificationbackend.cpp
     titlesetter.cpp
-    topiclabel.cpp
     topicwidget.cpp
     verticaldock.cpp
     webpreviewitem.cpp)
@@ -71,20 +83,24 @@ set(MOC_HDRS
     columnhandleitem.h
     coreconfigwizard.h
     coreconnectdlg.h
+    coreconnectionstatuswidget.h
     coreinfodlg.h
+    debugbufferviewoverlay.h
     debugconsole.h
     debuglogwidget.h
     debugmessagemodelfilter.h
     inputwidget.h
     ircconnectionwizard.h
-    jumpkeyhandler.h
+    legacysystemtray.h
     mainpage.h
     mainwin.h
+    markerlineitem.h
     msgprocessorstatuswidget.h
     nicklistwidget.h
     qtui.h
     qtuiapplication.h
     qtuimessageprocessor.h
+    qtuistyle.h
     settingsdlg.h
     settingspagedlg.h
     simplenetworkeditor.h
@@ -92,7 +108,6 @@ set(MOC_HDRS
     systraynotificationbackend.h
     taskbarnotificationbackend.h
     titlesetter.h
-    topiclabel.h
     topicwidget.h
     verticaldock.h)
 
@@ -101,7 +116,6 @@ set(HEADERS
     chatlinemodelitem.h
     chatviewsettings.h
     qtuisettings.h
-    qtuistyle.h
     webpreviewitem.h)
 
 set(FORMS
@@ -110,13 +124,14 @@ set(FORMS
     bufferwidget.ui
     channellistdlg.ui
     chatviewsearchbar.ui
-    coreaccounteditdlg.ui
     coreconfigwizardintropage.ui
     coreconfigwizardadminuserpage.ui
     coreconfigwizardstorageselectionpage.ui
     coreconfigwizardsyncpage.ui
-    coreconnectdlg.ui
+    coreconnectauthdlg.ui
+    coreconnectionstatuswidget.ui
     coreinfodlg.ui
+    debugbufferviewoverlay.ui
     debugconsole.ui
     debuglogwidget.ui
     inputwidget.ui
@@ -131,13 +146,6 @@ if(HAVE_KDE)
   set(SOURCES ${SOURCES} knotificationbackend.cpp)
   set(MOC_HDRS ${MOC_HDRS} knotificationbackend.h)
 else(HAVE_KDE)
-  if(HAVE_DBUS)
-    set(SOURCES ${SOURCES} desktopnotificationbackend.cpp)
-    set(MOC_HDRS ${MOC_HDRS} desktopnotificationbackend.h)
-    set(FORMS ${FORMS} desktopnotificationconfigwidget.ui)
-    qt4_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml desktopnotificationinterface)
-  endif(HAVE_DBUS)
-
   if(HAVE_PHONON)
     set(SOURCES ${SOURCES} phononnotificationbackend.cpp)
     set(MOC_HDRS ${MOC_HDRS} phononnotificationbackend.h)
@@ -146,6 +154,39 @@ else(HAVE_KDE)
   endif(HAVE_PHONON)
 endif(HAVE_KDE)
 
+if(HAVE_DBUS)
+  set(SOURCES ${SOURCES} statusnotifieritem.cpp statusnotifieritemdbus.cpp)
+  set(MOC_HDRS ${MOC_HDRS} statusnotifieritem.h statusnotifieritemdbus.h)
+  set(FORMS ${FORMS})
+  if(WITH_QT5)
+    qt5_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
+    qt5_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
+    qt5_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)
+  else(WITH_QT5)
+    qt4_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
+    qt4_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
+    qt4_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)
+  endif(WITH_QT5)
+endif(HAVE_DBUS)
+
+if(HAVE_SSL)
+  set(SOURCES ${SOURCES} sslinfodlg.cpp)
+  set(MOC_HDRS ${MOC_HDRS} sslinfodlg.h)
+  set(FORMS ${FORMS} sslinfodlg.ui)
+endif(HAVE_SSL)
+
+if(INDICATEQT_FOUND)
+  set(SOURCES ${SOURCES} indicatornotificationbackend.cpp)
+  set(MOC_HDRS ${MOC_HDRS} indicatornotificationbackend.h)
+  set(FORMS ${FORMS} indicatornotificationconfigwidget.ui)
+  include_directories(${INDICATEQT_INCLUDE_DIRS})
+endif(INDICATEQT_FOUND)
+
+if(HAVE_NOTIFICATION_CENTER)
+  set(SOURCES ${SOURCES} osxnotificationbackend.mm)
+  set(MOC_HDRS ${MOC_HDRS} osxnotificationbackend.h)
+endif()
+
 foreach(FORM ${FORMS})
   set(FORMPATH ${FORMPATH} ui/${FORM})
 endforeach(FORM ${FORMS})
@@ -167,15 +208,21 @@ foreach(FRM ${SP_FORMS})
   set(SPFRM ${SPFRM} settingspages/${FRM})
 endforeach(FRM ${SP_FORMS})
 
-qt4_wrap_cpp(MOC ${MOC_HDRS} ${SPHDR})
-qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
-
 include_directories(${CMAKE_SOURCE_DIR}/src/common
                     ${CMAKE_SOURCE_DIR}/src/client
                     ${CMAKE_SOURCE_DIR}/src/qtui
                     ${CMAKE_SOURCE_DIR}/src/qtui/settingspages
                     ${CMAKE_SOURCE_DIR}/src/uisupport
-                    ${CMAKE_CURRENT_BINARY_DIR})
+                    ${CMAKE_CURRENT_BINARY_DIR}
+                    ${QUASSEL_QT_INCLUDES})
+
+if(WITH_QT5)
+  qt5_wrap_ui(UI ${FORMPATH} ${SPFRM})
+else(WITH_QT5)
+  qt4_wrap_cpp(MOC ${MOC_HDRS} ${SPHDR})
+  qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
+endif(WITH_QT5)
 
 add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${MOC} ${DBUS} ${UI} ${HEADERS})
 add_dependencies(mod_qtui mod_common mod_client mod_uisupport)
+set_target_properties(mod_qtui PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_COMPILEFLAGS}")