mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-28 16:13:53 +03:00
Check for service availability
This commit is contained in:
parent
fa62c270e6
commit
8165b83a27
1 changed files with 19 additions and 7 deletions
|
@ -16,19 +16,31 @@
|
||||||
|
|
||||||
#ifdef USE_FDO_NOTIFICATIONS
|
#ifdef USE_FDO_NOTIFICATIONS
|
||||||
#include <QDBusConnection>
|
#include <QDBusConnection>
|
||||||
|
#include <QDBusInterface>
|
||||||
#include <QDBusMessage>
|
#include <QDBusMessage>
|
||||||
#include <QDBusPendingCall>
|
#include <QDBusPendingCall>
|
||||||
|
#define NOTIFICATIONS_SERVICE "org.freedesktop.Notifications"
|
||||||
|
#define NOTIFICATIONS_PATH "/org/freedesktop/Notifications"
|
||||||
|
#define NOTIFICATIONS_IFACE "org.freedesktop.Notifications"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void Systray::showMessage(const QString & title, const QString & message, MessageIcon icon, int millisecondsTimeoutHint)
|
void Systray::showMessage(const QString & title, const QString & message, MessageIcon icon, int millisecondsTimeoutHint)
|
||||||
{
|
{
|
||||||
|
bool useFdoNotifications = false;
|
||||||
|
|
||||||
#ifdef USE_FDO_NOTIFICATIONS
|
#ifdef USE_FDO_NOTIFICATIONS
|
||||||
QList<QVariant> args = QList<QVariant>() << "owncloud" << quint32(0) << "owncloud"
|
if(QDBusInterface(NOTIFICATIONS_SERVICE, NOTIFICATIONS_PATH, NOTIFICATIONS_IFACE).isValid()) {
|
||||||
<< title << message << QStringList () << QVariantMap() << qint32(-1);
|
useFdoNotifications = true;
|
||||||
QDBusMessage method = QDBusMessage::createMethodCall("org.freedesktop.Notifications","/org/freedesktop/Notifications", "", "Notify");
|
}
|
||||||
method.setArguments(args);
|
|
||||||
QDBusConnection::sessionBus().asyncCall(method);
|
|
||||||
#else
|
|
||||||
QSystemTrayIcon::showMessage(title, message, icon, millisecondsTimeoutHint);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (useFdoNotifications) {
|
||||||
|
QList<QVariant> args = QList<QVariant>() << "owncloud" << quint32(0) << "owncloud"
|
||||||
|
<< title << message << QStringList () << QVariantMap() << qint32(-1);
|
||||||
|
QDBusMessage method = QDBusMessage::createMethodCall(NOTIFICATIONS_SERVICE, NOTIFICATIONS_PATH, NOTIFICATIONS_IFACE, "Notify");
|
||||||
|
method.setArguments(args);
|
||||||
|
QDBusConnection::sessionBus().asyncCall(method);
|
||||||
|
} else {
|
||||||
|
QSystemTrayIcon::showMessage(title, message, icon, millisecondsTimeoutHint);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue