aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseb128 <seb128@seb128-laptop>2009-09-08 18:16:10 +0200
committerseb128 <seb128@seb128-laptop>2009-09-08 18:16:10 +0200
commitee56ebc0caaf8a8188e8eb01fbe23478a897a967 (patch)
tree8009e6c1bdce35069608aa21e17f00db35e75130
parent866bdf8a658e660e613f6943e2b23cea318843b5 (diff)
parent5360fce331660e7b94a274bffa125ba8233fbeab (diff)
downloadayatana-indicator-session-ee56ebc0caaf8a8188e8eb01fbe23478a897a967.tar.gz
ayatana-indicator-session-ee56ebc0caaf8a8188e8eb01fbe23478a897a967.tar.bz2
ayatana-indicator-session-ee56ebc0caaf8a8188e8eb01fbe23478a897a967.zip
releasing version 0.1.2-0ubuntu1
-rw-r--r--Makefile.am3
-rw-r--r--configure.ac42
-rw-r--r--data/Makefile.am32
-rw-r--r--data/indicator-session.schemas.in17
-rw-r--r--debian/changelog35
-rw-r--r--debian/control1
-rw-r--r--po/POTFILES.in14
-rw-r--r--src/Makefile.am6
-rw-r--r--src/gtk-dialog/Makefile.am6
-rw-r--r--src/gtk-dialog/gconf-helper.c32
-rw-r--r--src/gtk-dialog/gconf-helper.h33
-rw-r--r--src/gtk-dialog/gtk-logout-helper.c4
-rw-r--r--src/indicator-session.c2
-rw-r--r--src/session-service.c20
14 files changed, 233 insertions, 14 deletions
diff --git a/Makefile.am b/Makefile.am
index f63afb4..0233fbf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,8 @@
SUBDIRS = \
src \
- data
+ data \
+ po
EXTRA_DIST = COPYING.LGPL
diff --git a/configure.ac b/configure.ac
index c2623d1..957a471 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,10 +4,12 @@ AC_INIT(src/indicator-session.c)
AC_PREREQ(2.53)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(indicator-session, 0.1.1)
+AM_INIT_AUTOMAKE(indicator-session, 0.1.2)
AM_MAINTAINER_MODE
+IT_PROG_INTLTOOL([0.35.0])
+
AC_ISC_POSIX
AC_PROG_CC
AM_PROG_CC_C_O
@@ -56,6 +58,16 @@ PKG_CHECK_MODULES(GTKLOGOUTHELPER, gtk+-2.0 >= $GTK_REQUIRED_VERSION
AC_SUBST(GTKLOGOUTHELPER_CFLAGS)
AC_SUBST(GTKLOGOUTHELPER_LIBS)
+AC_PATH_PROG(GCONFTOOL, gconftool-2)
+dnl Specify the gconf configuration source,
+dnl default to xml::$(sysconfdir)/gconf/gconf.xml.defaults
+
+AM_GCONF_SOURCE_2
+
+PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.0)
+AC_SUBST(GCONF_CFLAGS)
+AC_SUBST(GCONF_LIBS)
+
###########################
# Check to see if we're local
###########################
@@ -88,6 +100,33 @@ else
fi
AC_SUBST(DBUSSERVICEDIR)
+##############################
+# Custom Junk
+##############################
+
+AC_DEFUN([AC_DEFINE_PATH], [
+ test "x$prefix" = xNONE && prefix="$ac_default_prefix"
+ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+ ac_define_path=`eval echo [$]$2`
+ ac_define_path=`eval echo [$]ac_define_path`
+ $1="$ac_define_path"
+ AC_SUBST($1)
+ ifelse($3, ,
+ AC_DEFINE_UNQUOTED($1, "$ac_define_path"),
+ AC_DEFINE_UNQUOTED($1, "$ac_define_path", $3))
+])
+
+###########################
+# Internationalization
+###########################
+
+GETTEXT_PACKAGE=indicator-session
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of the default get text domain])
+AC_DEFINE_PATH(GNOMELOCALEDIR, "${datadir}/locale", [locale directory])
+
+AM_GLIB_GNU_GETTEXT
+
###########################
# Files
###########################
@@ -115,6 +154,7 @@ data/icons/48x48/status/Makefile
data/icons/scalable/Makefile
data/icons/scalable/status/Makefile
data/icons/scalable/actions/Makefile
+po/Makefile.in
])
###########################
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
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 @@
+<?xml version="1.0"?>
+<gconfschemafile>
+ <schemalist>
+ <schema>
+ <key>/schemas/apps/indicator-session/suppress_logout_restart_shutdown</key>
+ <applyto>/apps/indicator-session/suppress_logout_restart_shutdown</applyto>
+ <owner>indicator-session</owner>
+ <type>bool</type>
+ <default>FALSE</default>
+ <locale name="C">
+ <short>Suppress the dialog to confirm logout, restart and shutdown action</short>
+ <long>Whether or not to show confirmation dialogs for logout,
+ restart and shutdown actions.</long>
+ </locale>
+ </schema>
+ </schemalist>
+</gconfschemafile>
diff --git a/debian/changelog b/debian/changelog
index 1369e64..0a05fdc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,38 @@
+indicator-session (0.1.2-0ubuntu1) karmic; urgency=low
+
+ * debian/control:
+ - build-depends on libgconf2-dev
+
+ [ Ted Gould ]
+ * Upstream version 0.1.2
+ * Adds translation setup. (fixes LP: #425598)
+ * Packaging fix to use upstream tarball. (fixes LP: #418769)
+ * Shows elipsis when dialogs are enabled (fixes LP: #421693)
+ * Adds GConf key for configure whether dialogs on shutdown and
+ logout are shown. (fixes LP: #422025)
+
+ -- Sebastien Bacher <seb128@ubuntu.com> Tue, 08 Sep 2009 18:15:03 +0200
+
+indicator-session (0.1.2-0ubuntu1~ppa1) karmic; urgency=low
+
+ * Upstream version 0.1.2 fixes LP: #425598, LP: #418769, LP: #421693
+ and LP: #422025.
+
+ -- Ted Gould <ted@ubuntu.com> Tue, 08 Sep 2009 10:51:59 -0500
+
+indicator-session (0.1.1-0ubuntu2~ppa2) karmic; urgency=low
+
+ * Merging in c_korn's branch.
+
+ -- Ted Gould <ted@ubuntu.com> Tue, 08 Sep 2009 10:18:56 -0500
+
+indicator-session (0.1.1-0ubuntu2~ppa1) karmic; urgency=low
+
+ * Removing printing DBus error message as it sometimes isn't
+ valid. (LP: #420238)
+
+ -- Ted Gould <ted@ubuntu.com> Fri, 04 Sep 2009 13:44:45 -0500
+
indicator-session (0.1.1-0ubuntu1) karmic; urgency=low
* set bzr-builddeb merge mode to true for easy tarball build
diff --git a/debian/control b/debian/control
index 43f2150..5ee9afa 100644
--- a/debian/control
+++ b/debian/control
@@ -5,6 +5,7 @@ Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Build-Depends: debhelper (>= 5.0),
cdbs (>= 0.4.41),
libgtk2.0-dev (>= 2.12.0),
+ libgconf2-dev,
libdbus-glib-1-dev,
gnome-doc-utils,
scrollkeeper,
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..e3d4a5e
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,14 @@
+[encoding: UTF-8]
+data/indicator-session.schemas.in
+src/gtk-dialog/ck-pk-helper.c
+src/gtk-dialog/gconf-helper.c
+src/gtk-dialog/gtk-logout-helper.c
+src/gtk-dialog/logout-dialog.c
+src/indicator-session.c
+src/session-service.c
+src/status-provider.c
+src/status-provider-pidgin.c
+src/status-provider-telepathy.c
+src/status-service.c
+src/status-service-dbus.c
+src/users-service.c
diff --git a/src/Makefile.am b/src/Makefile.am
index 599b70a..e2f0008 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -84,9 +84,9 @@ indicator_users_service_LDADD = $(USERSSERVICE_LIBS)
# Session Stuff
#################
-indicator_session_service_SOURCES = session-service.c
-indicator_session_service_CFLAGS = $(SESSIONSERVICE_CFLAGS) -DLIBEXECDIR=\"$(libexecdir)\" -Wall -Werror
-indicator_session_service_LDADD = $(SESSIONSERVICE_LIBS)
+indicator_session_service_SOURCES = session-service.c gtk-dialog/gconf-helper.c
+indicator_session_service_CFLAGS = $(SESSIONSERVICE_CFLAGS) $(GCONF_CFLAGS) -DLIBEXECDIR=\"$(libexecdir)\" -Wall -Werror
+indicator_session_service_LDADD = $(SESSIONSERVICE_LIBS) $(GCONF_LIBS)
###############
# Other Stuff
diff --git a/src/gtk-dialog/Makefile.am b/src/gtk-dialog/Makefile.am
index 9aa0097..90a6209 100644
--- a/src/gtk-dialog/Makefile.am
+++ b/src/gtk-dialog/Makefile.am
@@ -5,9 +5,11 @@ gtk_logout_helper_SOURCES = \
gtk-logout-helper.c \
ck-pk-helper.c \
ck-pk-helper.h \
+ gconf-helper.c \
+ gconf-helper.h \
logout-dialog.c \
logout-dialog.h
-gtk_logout_helper_CFLAGS = $(GTKLOGOUTHELPER_CFLAGS) -Wall -Werror
-gtk_logout_helper_LDADD = $(GTKLOGOUTHELPER_LIBS)
+gtk_logout_helper_CFLAGS = $(GTKLOGOUTHELPER_CFLAGS) $(GCONF_CFLAGS) -Wall -Werror
+gtk_logout_helper_LDADD = $(GTKLOGOUTHELPER_LIBS) $(GCONF_LIBS)
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 <c_korn@gmx.de>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+
+
+#include <gconf/gconf-client.h>
+
+#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 <c_korn@gmx.de>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+
+
+#ifndef __GCONF_HELPER_H__
+#define __GCONF_HELPER_H__ 1
+
+#include <gconf/gconf-client.h>
+
+#define SUPPRESS_KEY "/apps/indicator-session/suppress_logout_restart_shutdown"
+
+gboolean supress_confirmations (void);
+
+#endif /* __GCONF_HELPER__ */
diff --git a/src/gtk-dialog/gtk-logout-helper.c b/src/gtk-dialog/gtk-logout-helper.c
index 5d87148..13991ca 100644
--- a/src/gtk-dialog/gtk-logout-helper.c
+++ b/src/gtk-dialog/gtk-logout-helper.c
@@ -6,6 +6,7 @@ Copyright 2009 Canonical Ltd.
Authors:
Ted Gould <ted@canonical.com>
+ Christoph Korn <c_korn@gmx.de>
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
@@ -26,6 +27,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#include <dbus/dbus-glib.h>
#include "logout-dialog.h"
#include "ck-pk-helper.h"
+#include "gconf-helper.h"
static void
session_action (LogoutDialogAction action)
@@ -132,7 +134,7 @@ main (int argc, char * argv[])
}
GtkWidget * dialog = NULL;
- if (!pk_require_auth(type)) {
+ if (!pk_require_auth(type) && !supress_confirmations()) {
dialog = logout_dialog_new(type);
}
diff --git a/src/indicator-session.c b/src/indicator-session.c
index 43c568f..8a4e298 100644
--- a/src/indicator-session.c
+++ b/src/indicator-session.c
@@ -367,7 +367,7 @@ build_users_menu (gpointer userdata)
}
if (!org_freedesktop_DBus_start_service_by_name (proxy, INDICATOR_USERS_DBUS_NAME, 0, &returnval, &error)) {
- g_error("Unable to send message to DBus to start service: %s", error != NULL ? error->message : "(NULL error)" );
+ g_error("Unable to send message to DBus to start service");
g_error_free(error);
return FALSE;
}
diff --git a/src/session-service.c b/src/session-service.c
index bea26ba..9e5cbb2 100644
--- a/src/session-service.c
+++ b/src/session-service.c
@@ -31,6 +31,8 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#include "dbus-shared-names.h"
+#include "gtk-dialog/gconf-helper.h"
+
#define DKP_ADDRESS "org.freedesktop.DeviceKit.Power"
#define DKP_OBJECT "/org/freedesktop/DeviceKit/Power"
#define DKP_INTERFACE "org.freedesktop.DeviceKit.Power"
@@ -223,7 +225,11 @@ create_items (DbusmenuMenuitem * root) {
DbusmenuMenuitem * mi = NULL;
mi = dbusmenu_menuitem_new();
- dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Log Out"));
+ if (supress_confirmations()) {
+ dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Log Out"));
+ } else {
+ dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Log Out ..."));
+ }
dbusmenu_menuitem_child_append(root, mi);
g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_dialog), "logout");
@@ -240,12 +246,20 @@ create_items (DbusmenuMenuitem * root) {
g_signal_connect(G_OBJECT(hibernate_mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(sleep), "Hibernate");
mi = dbusmenu_menuitem_new();
- dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Restart"));
+ if (supress_confirmations()) {
+ dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Restart"));
+ } else {
+ dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Restart ..."));
+ }
dbusmenu_menuitem_child_append(root, mi);
g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_dialog), "restart");
mi = dbusmenu_menuitem_new();
- dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Shutdown"));
+ if (supress_confirmations()) {
+ dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Shutdown"));
+ } else {
+ dbusmenu_menuitem_property_set(mi, DBUSMENU_MENUITEM_PROP_LABEL, _("Shutdown ..."));
+ }
dbusmenu_menuitem_child_append(root, mi);
g_signal_connect(G_OBJECT(mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(show_dialog), "shutdown");