diff --git a/pri/build_opts.pri b/pri/build_opts.pri index 5f90e676e..0276a6fca 100644 --- a/pri/build_opts.pri +++ b/pri/build_opts.pri @@ -10,7 +10,11 @@ VERSION = $$APP_VERSION QT *= core gui widgets sql network xml qml multimedia greaterThan(QT_MAJOR_VERSION, 5) { - QT*= core5compat + QT *= core5compat +} + +unix:!mac:!android { + QT *= dbus } equals(USE_WEBENGINE, true) { diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp index 25c8df4e2..b7798afef 100755 --- a/src/librssguard/miscellaneous/application.cpp +++ b/src/librssguard/miscellaneous/application.cpp @@ -31,6 +31,11 @@ #include #include +#if defined(Q_OS_LINUX) +#include +#include +#endif + #if defined(USE_WEBENGINE) #include "network-web/adblock/adblockicon.h" #include "network-web/adblock/adblockmanager.h" @@ -101,6 +106,38 @@ Application::Application(const QString& id, int& argc, char** argv) m_notifications->load(settings()); } +#if defined(Q_OS_LINUX) + connect(m_feedReader->feedsModel(), &FeedsModel::messageCountsChanged, this, + [=](int unread_messages, bool any_feed_has_unread_messages) { + QDBusMessage signal = QDBusMessage::createSignal( + "/", + "com.canonical.Unity.LauncherEntry", + "Update"); + + signal << QSL("application://%1").arg(APP_DESKTOP_ENTRY_FILE); + + QVariantMap setProperty; + + setProperty.insert("count", qint64(unread_messages)); + setProperty.insert("count-visible", unread_messages > 0); + + /* + /* progre + * ss bar count must be float between 0 and 1 (mean from 0.00 to 0.100)*/ + setProperty.insert("progress", double(0.80)); + + /* show progress bar */ + setProperty.insert("progress-visible", true); + + /* Tells the launcher to get the users attention */ + setProperty.insert("urgent", true); + * / + + signal << setProperty; + QDBusConnection::sessionBus().send(signal); + }); +#endif + QTimer::singleShot(1000, system(), &SystemFactory::checkForUpdatesOnStartup); qDebugNN << LOGSEC_CORE