From: Aurelien Gateau Date: Wed, 16 Sep 2009 13:34:59 +0000 (+0200) Subject: Ported to libindicate 0.2.1. X-Git-Tag: 0.5-rc2~32 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=00a296c637fffad2a00b2ae6a4524b6f42a2f46e Ported to libindicate 0.2.1. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index ba4dab88..f44c02ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -237,7 +237,7 @@ endif(NOT HAVE_KDE) if(WITH_LIBINDICATE) find_package(PkgConfig QUIET) if(PKG_CONFIG_FOUND) - pkg_check_modules(INDICATEQT indicate-qt) + pkg_check_modules(INDICATEQT indicate-qt>=0.2.1) if(INDICATEQT_FOUND) add_definitions(-DHAVE_INDICATEQT) endif(INDICATEQT_FOUND) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 01eb0cab..43a853ad 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -34,6 +34,10 @@ qt4_add_resources(CLIENT_DEPS ${CLIENT_RCS}) qt4_add_resources(CORE_DEPS ${CORE_RCS}) qt4_add_resources(COMMON_DEPS ${COMMON_RCS}) +if(INDICATEQT_FOUND) + link_directories(${INDICATEQT_LIBRARY_DIRS}) +endif(INDICATEQT_FOUND) + if(WANT_CORE) setup_qt4_variables(NETWORK SCRIPT SQL) add_executable(quasselcore common/main.cpp ${COMMON_DEPS} ${CORE_DEPS}) diff --git a/src/qtui/CMakeLists.txt b/src/qtui/CMakeLists.txt index 801d8ee3..a0d16654 100644 --- a/src/qtui/CMakeLists.txt +++ b/src/qtui/CMakeLists.txt @@ -7,7 +7,6 @@ include(${QT_USE_FILE}) if(INDICATEQT_FOUND) include_directories(${INDICATEQT_INCLUDE_DIRS}) - link_directories(${INDICATEQT_LIBRARY_DIRS}) endif(INDICATEQT_FOUND) set(SOURCES diff --git a/src/qtui/indicatornotificationbackend.cpp b/src/qtui/indicatornotificationbackend.cpp index 3b808dd2..26d3a4f5 100644 --- a/src/qtui/indicatornotificationbackend.cpp +++ b/src/qtui/indicatornotificationbackend.cpp @@ -21,7 +21,7 @@ #include "indicatornotificationbackend.h" #include -#include +#include #include "client.h" #include "clientsettings.h" @@ -29,7 +29,7 @@ #include "networkmodel.h" #include "qtui.h" -class Indicator : public QIndicate::IndicatorMessage { +class Indicator : public QIndicate::Indicator { public: uint lastNotificationId; }; @@ -43,7 +43,7 @@ IndicatorNotificationBackend::IndicatorNotificationBackend(QObject *parent) notificationSettings.notify("Indicator/Enabled", this, SLOT(enabledChanged(const QVariant &))); _server = QIndicate::Server::defaultInstance(); - _server->setType("message.im"); + _server->setType("messaging"); _server->setDesktopFile(DESKTOP_FILE); connect(_server, SIGNAL(serverDisplay()), QtUi::mainWindow(), SLOT(forceActivated())); @@ -68,31 +68,32 @@ void IndicatorNotificationBackend::notify(const Notification ¬ification) { if(!indicator) { indicator = new Indicator; _indicatorHash.insert(bufferId, indicator); - connect(indicator, SIGNAL(display()), - SLOT(indicatorDisplayed())); + connect(indicator, SIGNAL(display(QIndicate::Indicator*)), + SLOT(indicatorDisplayed(QIndicate::Indicator*))); } indicator->lastNotificationId = notification.notificationId; BufferInfo::Type type = Client::networkModel()->bufferType(bufferId); - QString sender; + QString name; if (type == BufferInfo::QueryBuffer) { - sender = notification.sender; + name = notification.sender; } else { - sender = QString("%1 (%2)") + name = QString("%1 (%2)") .arg(Client::networkModel()->bufferName(bufferId)) .arg(notification.sender); } - indicator->setProperty("sender", sender); + indicator->setNameProperty(name); - indicator->setProperty("time", QTime::currentTime()); + indicator->setTimeProperty(QDateTime::currentDateTime()); QModelIndex index = Client::networkModel()->bufferIndex(bufferId); QVariant icon = QtUi::style()->bufferViewItemData(index, Qt::DecorationRole); if (icon.canConvert()) { QImage image = icon.value().toImage(); - indicator->setProperty("icon", image); + indicator->setIconProperty(image); } + indicator->setDrawAttentionProperty(true); indicator->show(); } @@ -128,8 +129,8 @@ void IndicatorNotificationBackend::enabledChanged(const QVariant &v) { } } -void IndicatorNotificationBackend::indicatorDisplayed() { - Indicator *indicator = static_cast(sender()); +void IndicatorNotificationBackend::indicatorDisplayed(QIndicate::Indicator *_indicator) { + Indicator *indicator = static_cast(_indicator); emit activated(indicator->lastNotificationId); } diff --git a/src/qtui/indicatornotificationbackend.h b/src/qtui/indicatornotificationbackend.h index 2188566d..d187ff12 100644 --- a/src/qtui/indicatornotificationbackend.h +++ b/src/qtui/indicatornotificationbackend.h @@ -30,6 +30,7 @@ namespace QIndicate { class Server; +class Indicator; } class Indicator; @@ -49,7 +50,7 @@ public: private slots: void enabledChanged(const QVariant &); - void indicatorDisplayed(); + void indicatorDisplayed(QIndicate::Indicator *); private: class ConfigWidget;