aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2015-08-27 16:07:19 +0100
committerSebastien Bacher <seb128@ubuntu.com>2015-08-27 16:07:19 +0100
commitbc9f9f5c64648f0385727e64fc18b5abd0afeb21 (patch)
treef067a641586e8b6a5fbbe1dc93b85153d6fbcd59
parentffe4d92c8e76fd8385c5d3ed9907faf9b6bf1617 (diff)
downloadayatana-indicator-session-bc9f9f5c64648f0385727e64fc18b5abd0afeb21.tar.gz
ayatana-indicator-session-bc9f9f5c64648f0385727e64fc18b5abd0afeb21.tar.bz2
ayatana-indicator-session-bc9f9f5c64648f0385727e64fc18b5abd0afeb21.zip
under unity8 start system-settings instead unity-control-center
-rw-r--r--CMakeLists.txt3
-rw-r--r--debian/control1
-rw-r--r--src/backend-dbus/actions.c13
3 files changed, 13 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ed483b..72d9a5a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,7 +29,8 @@ find_package (PkgConfig REQUIRED)
include (FindPkgConfig)
pkg_check_modules (SERVICE REQUIRED
glib-2.0>=2.36
- gio-unix-2.0>=2.36)
+ gio-unix-2.0>=2.36
+ url-dispatcher-1>=1)
include_directories (${SERVICE_INCLUDE_DIRS})
set (CC_WARNING_ARGS " -Wall -pedantic -Wextra -Wno-missing-field-initializers")
diff --git a/debian/control b/debian/control
index 528175c..77de6da 100644
--- a/debian/control
+++ b/debian/control
@@ -9,6 +9,7 @@ Build-Depends: cmake,
intltool,
libglib2.0-dev (>= 2.36),
libgtest-dev,
+ liburl-dispatcher1-dev,
python,
Standards-Version: 3.9.3
Homepage: https://launchpad.net/indicator-session
diff --git a/src/backend-dbus/actions.c b/src/backend-dbus/actions.c
index 10be837..0fcdc08 100644
--- a/src/backend-dbus/actions.c
+++ b/src/backend-dbus/actions.c
@@ -19,6 +19,7 @@
#include <glib.h>
#include <glib/gi18n.h>
+#include <url-dispatcher.h>
#include "dbus-end-session-dialog.h"
#include "dbus-login1-manager.h"
@@ -862,7 +863,9 @@ have_unity_control_center (void)
static void
my_settings (IndicatorSessionActions * self G_GNUC_UNUSED)
{
- if (have_unity_control_center ())
+ if (g_getenv ("MIR_SOCKET") != NULL)
+ url_dispatch_send("settings:///system", NULL, NULL);
+ else if (have_unity_control_center ())
run_outside_app ("unity-control-center");
else
run_outside_app ("gnome-control-center");
@@ -871,7 +874,9 @@ my_settings (IndicatorSessionActions * self G_GNUC_UNUSED)
static void
my_online_accounts (IndicatorSessionActions * self G_GNUC_UNUSED)
{
- if (have_unity_control_center ())
+ if (g_getenv ("MIR_SOCKET") != NULL)
+ url_dispatch_send("settings:///system/online-accounts", NULL, NULL);
+ else if (have_unity_control_center ())
run_outside_app ("unity-control-center credentials");
else
run_outside_app ("gnome-control-center credentials");
@@ -880,7 +885,9 @@ my_online_accounts (IndicatorSessionActions * self G_GNUC_UNUSED)
static void
my_about (IndicatorSessionActions * self G_GNUC_UNUSED)
{
- if (have_unity_control_center ())
+ if (g_getenv ("MIR_SOCKET") != NULL)
+ url_dispatch_send("settings:///system/about", NULL, NULL);
+ else if (have_unity_control_center ())
run_outside_app ("unity-control-center info");
else
run_outside_app ("gnome-control-center info");