summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2020-08-08 15:44:52 +0100
committerRoy Marples <roy@marples.name>2020-08-08 15:44:52 +0100
commitd60ae1dbb57c14bc569bd342fa1aa0a095e626a6 (patch)
tree55267d38e79f711ee3f25dbef3dd78f147bc3e3e
parent6280f2d25143cd212ad56a6ca6db9033187a82fe (diff)
downloaddhcpcd-ui-d60ae1dbb57c14bc569bd342fa1aa0a095e626a6.tar.xz
dhcpcd-qt: Add support for KDE5 Notifications
-rwxr-xr-xconfigure43
-rw-r--r--src/dhcpcd-qt/dhcpcd-qt.cpp8
2 files changed, 31 insertions, 20 deletions
diff --git a/configure b/configure
index 57b68e5..3a18019 100755
--- a/configure
+++ b/configure
@@ -427,28 +427,35 @@ if [ -z "$WITH_QT" -o "$WITH_QT" != no ]; then
exit 1
fi
fi
- if $DHCPCD_QT; then
- QMAKE_CONFIG="$QMAKE_CONFIG PREFIX=$PREFIX"
- QMAKE_CONFIG="$QMAKE_CONFIG SYSCONFDIR=$SYSCONFDIR"
- QMAKE_CONFIG="$QMAKE_CONFIG MANDIR=$MANDIR"
- if (cd src/dhcpcd-qt; $QMAKE $QMAKE_CONFIG dhcpcd-qt.pro); then
- UI="$UI${UI:+ }dhcpcd-qt"
- else
- echo "Failed to configure dhcpcd-qt" >&2
- [ -n "$WITH_QT" ] && exit 1
- DHCPCD_QT=false
- fi
- fi
fi
NOTIFY="$_NOTIFY"
+if $DHCPCD_QT; then
+ QMAKE_CONFIG="$QMAKE_CONFIG PREFIX=$PREFIX"
+ QMAKE_CONFIG="$QMAKE_CONFIG SYSCONFDIR=$SYSCONFDIR"
+ QMAKE_CONFIG="$QMAKE_CONFIG MANDIR=$MANDIR"
+fi
if $DHCPCD_QT && [ -z "$NOTIFY" -o "$NOTIFY" = yes ]; then
- if kde4-config --path lib --locate libkdeui.so >/dev/null 2>&3; then
- QMAKE_CONFIG="$QMAKE_CONFIG CONFIG+=has_libkdeui"
- echo "Building dhcpcd-qt with notification support"
- elif [ "$NOTIFY" = yes ]; then
- echo "$0: knotify4 not found" >&2
- exit 1
+ printf "Looking for KDE Notification support ... "
+ QT_KNOTE="QT+=KNotifications"
+ if (cd src/dhcpcd-qt; $QMAKE $QMAKE_CONFIG $QT_KNOTE dhcpcd-qt.pro) 2>>config.log; then
+ QMAKE_CONFIG="$QMAKE_CONFIG $QT_KNOTE DEFINES+=KNOTIFY5"
+ echo "KDE5"
+ elif kde4-config --path lib --locate libkdeui.so >/dev/null 2>&3; then
+ QMAKE_CONFIG="$QMAKE_CONFIG CONFIG+=has_libkdeui DEFINES+=KNOTIFY4"
+ echo "KDE4"
+ else
+ echo "none found"
+ [ "$NOTIFY" = yes ] && exit 1
+ fi
+fi
+if $DHCPCD_QT; then
+ if (cd src/dhcpcd-qt; $QMAKE $QMAKE_CONFIG dhcpcd-qt.pro); then
+ UI="$UI${UI:+ }dhcpcd-qt"
+ else
+ echo "Failed to configure dhcpcd-qt" >&2
+ [ -n "$WITH_QT" ] && exit 1
+ DHCPCD_QT=false
fi
fi
diff --git a/src/dhcpcd-qt/dhcpcd-qt.cpp b/src/dhcpcd-qt/dhcpcd-qt.cpp
index 3730c2a..f4d54a3 100644
--- a/src/dhcpcd-qt/dhcpcd-qt.cpp
+++ b/src/dhcpcd-qt/dhcpcd-qt.cpp
@@ -40,7 +40,10 @@
#include "dhcpcd-ifmenu.h"
#include "dhcpcd-ssidmenu.h"
-#ifdef NOTIFY
+
+#if defined(KNOTIFY5)
+#include <KNotification>
+#elif defined(KNOTIFY4)
#include <knotification.h>
#endif
@@ -538,8 +541,9 @@ void DhcpcdQt::notify(const QString &title, const QString &msg,
const QString &icon)
{
-#ifdef NOTIFY
+#if defined(KNOTIFY4) || defined(KNOTIFY5)
KNotification *n = new KNotification("event", this);
+ n->setIconName(icon);
n->setTitle(title);
n->setText(msg);
n->sendEvent();