summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
ba9fdf3)
Ubuntu's notification system doesn't support actions and shows fugly popups
in case apps still define them. So we check for the capability and disable actions
if they're not supported.
Needless to mention that the Quassel team heartily recommends using a notification daemon
that is action-enabled for added value.
if(_notificationsClient->isValid()) {
QStringList desktopCapabilities = _notificationsClient->GetCapabilities();
_notificationsClientSupportsMarkup = desktopCapabilities.contains("body-markup");
if(_notificationsClient->isValid()) {
QStringList desktopCapabilities = _notificationsClient->GetCapabilities();
_notificationsClientSupportsMarkup = desktopCapabilities.contains("body-markup");
+ _notificationsClientSupportsActions = desktopCapabilities.contains("actions");
}
StatusNotifierItemParent::init();
}
StatusNotifierItemParent::init();
if(_notificationsClientSupportsMarkup)
message = Qt::escape(message);
if(_notificationsClientSupportsMarkup)
message = Qt::escape(message);
- QStringList actions = QStringList() << "activate" << "View";
+ QStringList actions;
+ if(_notificationsClientSupportsActions)
+ actions << "activate" << "View";
// we always queue notifications right now
QDBusReply<uint> reply = _notificationsClient->Notify(title, 0, "quassel", title, message, actions, QVariantMap(), timeout);
// we always queue notifications right now
QDBusReply<uint> reply = _notificationsClient->Notify(title, 0, "quassel", title, message, actions, QVariantMap(), timeout);
org::kde::StatusNotifierWatcher *_statusNotifierWatcher;
org::freedesktop::Notifications *_notificationsClient;
bool _notificationsClientSupportsMarkup;
org::kde::StatusNotifierWatcher *_statusNotifierWatcher;
org::freedesktop::Notifications *_notificationsClient;
bool _notificationsClientSupportsMarkup;
+ bool _notificationsClientSupportsActions;
quint32 _lastNotificationsDBusId;
QHash<uint, uint> _notificationsIdMap; ///< Maps our own notification ID to the D-Bus one
quint32 _lastNotificationsDBusId;
QHash<uint, uint> _notificationsIdMap; ///< Maps our own notification ID to the D-Bus one