diff --git a/ChangeLog b/ChangeLog index 2c5d1c5..e0200c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ qcma (0.3.7) unstable; urgency=low * Added pre 2.00 protocol versions to the config dialog. * Fixed installation of appindicator plguin on standalone mode. + * Added support for Plasma 5 notifier. -- codestation Fri, 23 Oct 2014 00:00:00 -0000 diff --git a/qcma.pro b/qcma.pro index 68bf92d..4798b23 100644 --- a/qcma.pro +++ b/qcma.pro @@ -20,9 +20,6 @@ unix:!macx:!android { SUBDIRS += qcma_appindicator.pro } ENABLE_KDENOTIFIER { - greaterThan(QT_MAJOR_VERSION, 4) { - error("ENABLE_KDE can only be used with Qt4") - } SUBDIRS += qcma_kdenotifier.pro } } diff --git a/qcma_kdenotifier.pro b/qcma_kdenotifier.pro index 92c9233..0248134 100644 --- a/qcma_kdenotifier.pro +++ b/qcma_kdenotifier.pro @@ -5,9 +5,14 @@ TEMPLATE = lib CONFIG += plugin DEFINES += QCMA_TRAYINDICATOR_LIBRARY PKGCONFIG = -LIBS += -lkdeui INCLUDEPATH += src/ +greaterThan(QT_MAJOR_VERSION, 4) { + QT += KNotifications +} else { + LIBS += -lkdeui +} + SOURCES += \ src/indicator/kdenotifier.cpp \ src/indicator/kdenotifiertray.cpp diff --git a/src/gui/mainwidget.cpp b/src/gui/mainwidget.cpp index a37127e..af0ebb3 100644 --- a/src/gui/mainwidget.cpp +++ b/src/gui/mainwidget.cpp @@ -219,7 +219,6 @@ TrayIndicator *MainWidget::createTrayObject(QWidget *parent) QString desktop = getenv("XDG_CURRENT_DESKTOP"); qDebug() << "Current desktop: " << desktop; -#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) if(desktop.toLower() == "kde") { // KDENotifier @@ -230,7 +229,6 @@ TrayIndicator *MainWidget::createTrayObject(QWidget *parent) qDebug() << "Cannot load libqcma_kdenotifier plugin"; } else -#endif // try to use the appindicator if is available // if(desktop.toLower() == "unity") { diff --git a/src/indicator/kdenotifier.h b/src/indicator/kdenotifier.h index abc87b4..bfec040 100644 --- a/src/indicator/kdenotifier.h +++ b/src/indicator/kdenotifier.h @@ -21,7 +21,9 @@ #define KDENOTIFIER_H #include +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) #include +#endif class KDENotifier : public KStatusNotifierItem { diff --git a/src/indicator/kdenotifiertray.cpp b/src/indicator/kdenotifiertray.cpp index 94f6e5a..3f58296 100644 --- a/src/indicator/kdenotifiertray.cpp +++ b/src/indicator/kdenotifiertray.cpp @@ -18,7 +18,11 @@ */ #include "kdenotifiertray.h" +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) #include +#else +#include +#endif KDENotifierTray::KDENotifierTray(QWidget *parent) : TrayIndicator(parent) @@ -41,7 +45,11 @@ void KDENotifierTray::init() connect(about_qt, SIGNAL(triggered()), this, SIGNAL(showAboutQt())); connect(quit, SIGNAL(triggered()), this, SIGNAL(stopServer())); +#if QT_VERSION < 0x050000 KMenu *tray_icon_menu = new KMenu(this); +#else + QMenu *tray_icon_menu = new QMenu(this); +#endif tray_icon_menu->addAction(options); tray_icon_menu->addAction(reload); @@ -56,7 +64,7 @@ void KDENotifierTray::init() m_notifier_item->setContextMenu(tray_icon_menu); m_notifier_item->setTitle("Qcma"); m_notifier_item->setCategory(KStatusNotifierItem::ApplicationStatus); - m_notifier_item->setIconByPixmap(QIcon(":/main/resources/images/tray/qcma_off.png")); + m_notifier_item->setIconByPixmap(QIcon(":/main/resources/images/qcma_off.png")); m_notifier_item->setStatus(KStatusNotifierItem::Active); m_notifier_item->setToolTipTitle(tr("Qcma status")); m_notifier_item->setToolTipIconByPixmap(QIcon(":/main/resources/images/qcma.png")); @@ -76,7 +84,7 @@ bool KDENotifierTray::isVisible() void KDENotifierTray::setIcon(const QString &icon) { - m_notifier_item->setIconByPixmap(QIcon(":/main/resources/images/tray/" + icon)); + m_notifier_item->setIconByPixmap(QIcon(":/main/resources/images/" + icon)); } void KDENotifierTray::show()