projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ensure desktop file is found when using quasselclient
[quassel.git]
/
src
/
qtui
/
indicatornotificationbackend.cpp
diff --git
a/src/qtui/indicatornotificationbackend.cpp
b/src/qtui/indicatornotificationbackend.cpp
index
f4bc3ae
..
41fce5c
100644
(file)
--- a/
src/qtui/indicatornotificationbackend.cpp
+++ b/
src/qtui/indicatornotificationbackend.cpp
@@
-21,7
+21,7
@@
#include "indicatornotificationbackend.h"
#include <qindicateserver.h>
#include "indicatornotificationbackend.h"
#include <qindicateserver.h>
-#include <qindicateindicator
message
.h>
+#include <qindicateindicator.h>
#include "client.h"
#include "clientsettings.h"
#include "client.h"
#include "clientsettings.h"
@@
-29,7
+29,10
@@
#include "networkmodel.h"
#include "qtui.h"
#include "networkmodel.h"
#include "qtui.h"
-class Indicator : public QIndicate::IndicatorMessage {
+#define STR(x) #x
+#define XSTR(x) STR(x)
+
+class Indicator : public QIndicate::Indicator {
public:
uint lastNotificationId;
};
public:
uint lastNotificationId;
};
@@
-38,13
+41,16
@@
IndicatorNotificationBackend::IndicatorNotificationBackend(QObject *parent)
: AbstractNotificationBackend(parent)
{
NotificationSettings notificationSettings;
: AbstractNotificationBackend(parent)
{
NotificationSettings notificationSettings;
- _enabled = notificationSettings.value("Indicator/Enabled",
tru
e).toBool();
+ _enabled = notificationSettings.value("Indicator/Enabled",
fals
e).toBool();
notificationSettings.notify("Indicator/Enabled", this, SLOT(enabledChanged(const QVariant &)));
_server = QIndicate::Server::defaultInstance();
notificationSettings.notify("Indicator/Enabled", this, SLOT(enabledChanged(const QVariant &)));
_server = QIndicate::Server::defaultInstance();
- _server->setType("message.im");
- _server->setDesktopFile(DESKTOP_FILE);
+ _server->setType("message.irc");
+ QString desktopFile = QString("%1/%2.desktop")
+ .arg(XSTR(XDG_APPS_INSTALL_DIR))
+ .arg(QCoreApplication::applicationFilePath().section('/', -1));
+ _server->setDesktopFile(desktopFile);
connect(_server, SIGNAL(serverDisplay()), QtUi::mainWindow(), SLOT(forceActivated()));
if (_enabled) {
connect(_server, SIGNAL(serverDisplay()), QtUi::mainWindow(), SLOT(forceActivated()));
if (_enabled) {
@@
-68,29
+74,32
@@
void IndicatorNotificationBackend::notify(const Notification ¬ification) {
if(!indicator) {
indicator = new Indicator;
_indicatorHash.insert(bufferId, indicator);
if(!indicator) {
indicator = new Indicator;
_indicatorHash.insert(bufferId, indicator);
+ connect(indicator, SIGNAL(display(QIndicate::Indicator*)),
+ SLOT(indicatorDisplayed(QIndicate::Indicator*)));
}
indicator->lastNotificationId = notification.notificationId;
BufferInfo::Type type = Client::networkModel()->bufferType(bufferId);
}
indicator->lastNotificationId = notification.notificationId;
BufferInfo::Type type = Client::networkModel()->bufferType(bufferId);
- QString
sender
;
+ QString
name
;
if (type == BufferInfo::QueryBuffer) {
if (type == BufferInfo::QueryBuffer) {
-
sender
= notification.sender;
+
name
= notification.sender;
} else {
} else {
-
sender
= QString("%1 (%2)")
+
name
= QString("%1 (%2)")
.arg(Client::networkModel()->bufferName(bufferId))
.arg(notification.sender);
}
.arg(Client::networkModel()->bufferName(bufferId))
.arg(notification.sender);
}
- indicator->set
Property("sender", sender
);
+ indicator->set
NameProperty(name
);
- indicator->set
Property("time", QTime::current
Time());
+ indicator->set
TimeProperty(QDateTime::currentDate
Time());
QModelIndex index = Client::networkModel()->bufferIndex(bufferId);
QVariant icon = QtUi::style()->bufferViewItemData(index, Qt::DecorationRole);
if (icon.canConvert<QPixmap>()) {
QImage image = icon.value<QPixmap>().toImage();
QModelIndex index = Client::networkModel()->bufferIndex(bufferId);
QVariant icon = QtUi::style()->bufferViewItemData(index, Qt::DecorationRole);
if (icon.canConvert<QPixmap>()) {
QImage image = icon.value<QPixmap>().toImage();
- indicator->set
Property("icon",
image);
+ indicator->set
IconProperty(
image);
}
}
+ indicator->setDrawAttentionProperty(true);
indicator->show();
}
indicator->show();
}
@@
-126,6
+135,11
@@
void IndicatorNotificationBackend::enabledChanged(const QVariant &v) {
}
}
}
}
+void IndicatorNotificationBackend::indicatorDisplayed(QIndicate::Indicator *_indicator) {
+ Indicator *indicator = static_cast<Indicator *>(_indicator);
+ emit activated(indicator->lastNotificationId);
+}
+
SettingsPage *IndicatorNotificationBackend::createConfigWidget() const {
return new ConfigWidget();
}
SettingsPage *IndicatorNotificationBackend::createConfigWidget() const {
return new ConfigWidget();
}