Ensure desktop file is found when using quasselclient
authorAurelien Gateau <aurelien.gateau@canonical.com>
Wed, 6 Jan 2010 09:42:25 +0000 (10:42 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 6 Jan 2010 21:00:08 +0000 (22:00 +0100)
Only pass the XDG_APPS_INSTALL_DIR through #define and compute full desktop file path at runtime

CMakeLists.txt
src/qtui/indicatornotificationbackend.cpp

index de7f3e4..8176e0a 100644 (file)
@@ -303,13 +303,7 @@ if(WIN32)
 endif(WIN32)
 
 if(INDICATEQT_FOUND)
-  if(WANT_QTCLIENT)
-    set(DESKTOP_FILE ${XDG_APPS_INSTALL_DIR}/quasselclient.desktop)
-  endif(WANT_QTCLIENT)
-  if(WANT_MONO)
-    set(DESKTOP_FILE ${XDG_APPS_INSTALL_DIR}/quassel.desktop)
-  endif(WANT_MONO)
-  add_definitions(-DDESKTOP_FILE=${DESKTOP_FILE})
+  add_definitions(-DXDG_APPS_INSTALL_DIR=${XDG_APPS_INSTALL_DIR})
 endif(INDICATEQT_FOUND)
 
 # We need to create a version.gen
index fabe20c..41fce5c 100644 (file)
@@ -47,7 +47,10 @@ IndicatorNotificationBackend::IndicatorNotificationBackend(QObject *parent)
 
   _server = QIndicate::Server::defaultInstance();
   _server->setType("message.irc");
-  _server->setDesktopFile(XSTR(DESKTOP_FILE));
+  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) {