Also use the system tray backend as default.
else(WITH_PHONON)
message(STATUS "Not enabling Phonon support")
endif(WITH_PHONON)
else(WITH_PHONON)
message(STATUS "Not enabling Phonon support")
endif(WITH_PHONON)
+
+ find_package(Libsnore)
+ if(LIBSNORE_FOUND)
+ add_definitions(-DHAVE_LIBSNORE)
+ set(CLIENT_LIBRARIES ${CLIENT_LIBRARIES} ${LIBSNORE_LIBRARIES})
+ set(HAVE_SNORENOTIFY true)
+ endif(LIBSNORE_FOUND)
endif(NOT HAVE_KDE)
# Setup libindicate-qt support
endif(NOT HAVE_KDE)
# Setup libindicate-qt support
/System/Library/Frameworks/Foundation.framework
)
endif()
/System/Library/Frameworks/Foundation.framework
)
endif()
-
-find_package(Libsnore)
-if(LIBSNORE_FOUND)
- add_definitions(-DHAVE_LIBSNORE -DLIBSNORE_PLUGIN_PATH="${LIBSNORE_PLUGIN_PATH}")
- set(CLIENT_LIBRARIES ${CLIENT_LIBRARIES} ${LIBSNORE_LIBRARIES})
- set(HAVE_SNORENOTIFY true)
-endif(LIBSNORE_FOUND)
endif(BUILD_GUI)
# Core-only deps
endif(BUILD_GUI)
# Core-only deps
# LIBSNORE_FOUND - system has the LIBSNORE library
# LIBSNORE_LIBRARIES - The libraries needed to use LIBSNORE
# LIBSNORE_INCLUDE_DIRS - The includes needed to use LIBSNORE
# LIBSNORE_FOUND - system has the LIBSNORE library
# LIBSNORE_LIBRARIES - The libraries needed to use LIBSNORE
# LIBSNORE_INCLUDE_DIRS - The includes needed to use LIBSNORE
-# LIBSNORE_PLUGIN_PATH - Path of the plugins
-# Copyright 2013 Patrick von Reth <vonreth@kde.org>
+# Copyright 2013-2014 Patrick von Reth <vonreth@kde.org>
find_path(LIBSNORE_INCLUDE_DIR
NAMES snore/core/snore.h
find_path(LIBSNORE_INCLUDE_DIR
NAMES snore/core/snore.h
-find_path(LIBSNORE_PLUGIN_PATH snoreplugins)
-
-if(LIBSNORE_LIBRARY AND LIBSNORE_PLUGIN_PATH)
- set(LIBSNORE_PLUGIN_PATH ${LIBSNORE_PLUGIN_PATH}/snoreplugins)
-endif()
-
set(LIBSNORE_LIBRARIES ${LIBSNORE_LIBRARY})
set(LIBSNORE_INCLUDE_DIRS ${LIBSNORE_INCLUDE_DIR})
set(LIBSNORE_LIBRARIES ${LIBSNORE_LIBRARY})
set(LIBSNORE_INCLUDE_DIRS ${LIBSNORE_INCLUDE_DIR})
SnoreNotificationBackend::SnoreNotificationBackend (QObject *parent)
SnoreNotificationBackend::SnoreNotificationBackend (QObject *parent)
- :AbstractNotificationBackend(parent),
+ : AbstractNotificationBackend(parent),
m_systrayBackend(NULL)
{
NotificationSettings notificationSettings;
m_systrayBackend(NULL)
{
NotificationSettings notificationSettings;
//TODO: try to get an instance of the tray icon to be able to show popups
m_snore = new Snore::SnoreCore();
m_snore->loadPlugins(Snore::SnorePlugin::BACKEND);
//TODO: try to get an instance of the tray icon to be able to show popups
m_snore = new Snore::SnoreCore();
m_snore->loadPlugins(Snore::SnorePlugin::BACKEND);
- m_application = Snore::Application("Quassel", Snore::Icon(DesktopIcon("quassel").toImage()));
+ m_icon = Snore::Icon(DesktopIcon("quassel").toImage());
+ m_application = Snore::Application("Quassel", m_icon);
m_application.hints().setValue("WINDOWS_APP_ID","QuasselProject.QuasselIRC");
connect(m_snore, SIGNAL(actionInvoked(Snore::Notification)), this, SLOT(actionInvoked(Snore::Notification)));
m_application.hints().setValue("WINDOWS_APP_ID","QuasselProject.QuasselIRC");
connect(m_snore, SIGNAL(actionInvoked(Snore::Notification)), this, SLOT(actionInvoked(Snore::Notification)));
- m_icon = Snore::Icon(DesktopIcon("dialog-information").toImage());
m_alert = Snore::Alert(tr("Private Message"), m_icon);
m_application.addAlert(m_alert);
m_alert = Snore::Alert(tr("Private Message"), m_icon);
m_application.addAlert(m_alert);
void SnoreNotificationBackend::backendChanged(const QVariant &v)
{
QString backend = v.toString();
void SnoreNotificationBackend::backendChanged(const QVariant &v)
{
QString backend = v.toString();
- if (backend == "Default") {
- if (m_snore->setPrimaryNotificationBackend()) {//try to find the default backend for the platform
- return;
- }
- }
- else if (backend != "SystemTray") {
+ if (backend != "Default") {
if (setSnoreBackend(backend)) {
return;
}
if (setSnoreBackend(backend)) {
return;
}
m_snore(snore)
{
ui.setupUi(this);
m_snore(snore)
{
ui.setupUi(this);
- ui.backends->insertItem(0, "Default");
- ui.backends->insertItems(1, m_snore->notificationBackends());
+ QStringList backends = m_snore->notificationBackends();
+ backends.append("Default");
+ qSort(backends);
+ ui.backends->insertItems(0, backends);
connect(ui.backends, SIGNAL(currentIndexChanged(QString)), SLOT(backendChanged(QString)));
connect(ui.timeout, SIGNAL(valueChanged(int)), this, SLOT(timeoutChanged(int)));
connect(ui.backends, SIGNAL(currentIndexChanged(QString)), SLOT(backendChanged(QString)));
connect(ui.timeout, SIGNAL(valueChanged(int)), this, SLOT(timeoutChanged(int)));
void SnoreNotificationBackend::ConfigWidget::load()
{
NotificationSettings s;
void SnoreNotificationBackend::ConfigWidget::load()
{
NotificationSettings s;
- QString backend = m_snore->primaryNotificationBackend();
- if (backend.isEmpty()) {
- backend = "SystemTray";
- }
+ QString backend = s.value("Snore/Backend", "Default").toString();
int timeout = s.value("Snore/Timeout", 10).toInt();
ui.backends->setCurrentIndex(ui.backends->findText(backend));
ui.timeout->setValue(timeout);
int timeout = s.value("Snore/Timeout", 10).toInt();
ui.backends->setCurrentIndex(ui.backends->findText(backend));
ui.timeout->setValue(timeout);