From 1f0874253406566587d4e42a9ee2f4617a5c66d9 Mon Sep 17 00:00:00 2001 From: Christoph Korn Date: Wed, 2 Sep 2009 16:17:44 +0200 Subject: These patches introduce a gconf key whether the logout/restart/shutdown confirmations should be shown or not. Also the menu items should be suffixed by '...' accordingly. However this only works after a restart. Bugs which get fixed are: https://bugs.launchpad.net/indicator-session/+bug/422025 https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/421693 https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/419472 --- data/Makefile.am | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'data') diff --git a/data/Makefile.am b/data/Makefile.am index 434e7d6..9ba0d97 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -9,9 +9,37 @@ dbus_services_DATA = $(service_in_files:.service.in=.service) %.service: %.service.in sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ +############################## +# GConf Schema +############################## + +schemadir = \ + $(GCONF_SCHEMA_FILE_DIR) + +schema_in_files = \ + indicator-session.schemas.in + +schema_DATA = \ + $(schema_in_files:.schemas.in=.schemas) + +@INTLTOOL_SCHEMAS_RULE@ + + #$(dbus_services_DATA): $(service_in_files) Makefile # sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ -EXTRA_DIST = $(service_in_files) +EXTRA_DIST = \ + $(service_in_files) \ + $(schema_in_files) + +CLEANFILES = \ + $(dbus_services_DATA) \ + $(schema_DATA) -CLEANFILES = $(dbus_services_DATA) +if GCONF_SCHEMAS_INSTALL +install-data-local: + GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \ + gconftool-2 --makefile-install-rule $(schema_DATA) +else +install-data-local: +endif -- cgit v1.2.3 From 1f47c9e8827165634149f6e21a4588fe577479d8 Mon Sep 17 00:00:00 2001 From: Christoph Korn Date: Wed, 2 Sep 2009 17:10:20 +0200 Subject: Added files which were missing in the previous commit. --- data/indicator-session.schemas.in | 17 +++++++++++++++++ src/gtk-dialog/gconf-helper.c | 32 ++++++++++++++++++++++++++++++++ src/gtk-dialog/gconf-helper.h | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 data/indicator-session.schemas.in create mode 100644 src/gtk-dialog/gconf-helper.c create mode 100644 src/gtk-dialog/gconf-helper.h (limited to 'data') diff --git a/data/indicator-session.schemas.in b/data/indicator-session.schemas.in new file mode 100644 index 0000000..1db9226 --- /dev/null +++ b/data/indicator-session.schemas.in @@ -0,0 +1,17 @@ + + + + + /schemas/apps/indicator-session/suppress_logout_restart_shutdown + /apps/indicator-session/suppress_logout_restart_shutdown + indicator-session + bool + FALSE + + Suppress the dialog to confirm logout, restart and shutdown action + Whether or not to show confirmation dialogs for logout, + restart and shutdown actions. + + + + diff --git a/src/gtk-dialog/gconf-helper.c b/src/gtk-dialog/gconf-helper.c new file mode 100644 index 0000000..0bd21ad --- /dev/null +++ b/src/gtk-dialog/gconf-helper.c @@ -0,0 +1,32 @@ +/* +A small wrapper utility to load indicators and put them as menu items +into the gnome-panel using it's applet interface. + +Copyright 2009 Canonical Ltd. + +Authors: + Christoph Korn + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + + +#include + +#include "gconf-helper.h" + +gboolean +supress_confirmations (void) { + GConfClient *client = gconf_client_get_default (); + return gconf_client_get_bool (client, SUPPRESS_KEY, NULL) ; +} diff --git a/src/gtk-dialog/gconf-helper.h b/src/gtk-dialog/gconf-helper.h new file mode 100644 index 0000000..1d78fd8 --- /dev/null +++ b/src/gtk-dialog/gconf-helper.h @@ -0,0 +1,33 @@ +/* +A small wrapper utility to load indicators and put them as menu items +into the gnome-panel using it's applet interface. + +Copyright 2009 Canonical Ltd. + +Authors: + Christoph Korn + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + + +#ifndef __GCONF_HELPER_H__ +#define __GCONF_HELPER_H__ 1 + +#include + +#define SUPPRESS_KEY "/apps/indicator-session/suppress_logout_restart_shutdown" + +gboolean supress_confirmations (void); + +#endif /* __GCONF_HELPER__ */ -- cgit v1.2.3