diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2017-04-27 11:04:51 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-08-31 10:18:33 +0200 |
commit | ec9e5ed06256ad92c818474cdb490dc0d3a0d0a3 (patch) | |
tree | e16d2a838f4561d5538928a58f805e5f1373225a /meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch | |
parent | 6775acb048dabd624c5c8197b683aba45ed91569 (diff) | |
download | meta-openembedded-contrib-ec9e5ed06256ad92c818474cdb490dc0d3a0d0a3.tar.gz |
recipes: remove blacklisted recipes
* as PNBLACKLIST message says, these recipes are blacklisted for long
time and nobody showed any interest to fix them
* remove all unused .patch and .inc files as well
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch')
-rw-r--r-- | meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch | 2281 |
1 files changed, 0 insertions, 2281 deletions
diff --git a/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch b/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch deleted file mode 100644 index 75aff5d7c4..0000000000 --- a/meta-gnome/recipes-gnome/gdm/gdm/0001-Remove-user-switch-applet.patch +++ /dev/null @@ -1,2281 +0,0 @@ -From 0a4fe802edbd2e8a016161f08283e4b467c6762e Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Tue, 21 Jun 2011 12:48:39 +0200 -Subject: [PATCH] Remove user switch applet - -This hasn't been updated to work with gnome-panel > 2.30.0, so just drop it - -Upstream-Status: unacceptable, backport - -Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> ---- - configure.ac | 8 - - gui/Makefile.am | 2 - - .../GNOME_FastUserSwitchApplet.server.in.in | 38 - - .../GNOME_FastUserSwitchApplet.xml | 20 - - gui/user-switch-applet/Makefile.am | 67 - - gui/user-switch-applet/applet.c | 1662 -------------------- - gui/user-switch-applet/gdm-entry-menu-item.c | 304 ---- - gui/user-switch-applet/gdm-entry-menu-item.h | 51 - - po/POTFILES.in | 4 - - po/POTFILES.skip | 1 - - 10 files changed, 0 insertions(+), 2157 deletions(-) - delete mode 100644 gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in - delete mode 100644 gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml - delete mode 100644 gui/user-switch-applet/Makefile.am - delete mode 100644 gui/user-switch-applet/applet.c - delete mode 100644 gui/user-switch-applet/gdm-entry-menu-item.c - delete mode 100644 gui/user-switch-applet/gdm-entry-menu-item.h - -diff --git a/configure.ac b/configure.ac -index 841efe0..a834110 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -149,13 +149,6 @@ PKG_CHECK_MODULES(SIMPLE_CHOOSER, - AC_SUBST(SIMPLE_CHOOSER_CFLAGS) - AC_SUBST(SIMPLE_CHOOSER_LIBS) - --PKG_CHECK_MODULES(APPLET, -- dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION -- gtk+-2.0 >= $GTK_REQUIRED_VERSION -- libpanelapplet-2.0 >= $GNOME_PANEL_REQUIRED_VERSION) --AC_SUBST(APPLET_CFLAGS) --AC_SUBST(APPLET_LIBS) -- - PLUGIN_LIBTOOL_FLAGS="-export_dynamic -module -avoid-version" - AC_SUBST(PLUGIN_LIBTOOL_FLAGS) - -@@ -1340,7 +1333,6 @@ gui/Makefile - gui/simple-greeter/Makefile - gui/simple-greeter/libnotificationarea/Makefile - gui/simple-chooser/Makefile --gui/user-switch-applet/Makefile - utils/Makefile - data/gdm.conf - data/Makefile -diff --git a/gui/Makefile.am b/gui/Makefile.am -index 326239f..bda3f7a 100644 ---- a/gui/Makefile.am -+++ b/gui/Makefile.am -@@ -2,7 +2,6 @@ NULL = - - SUBDIRS = \ - simple-greeter \ -- user-switch-applet \ - $(NULL) - - if XDMCP_SUPPORT -@@ -12,5 +11,4 @@ endif - DIST_SUBDIRS = \ - simple-chooser \ - simple-greeter \ -- user-switch-applet \ - $(NULL) -diff --git a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in b/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in -deleted file mode 100644 -index a9b775f..0000000 ---- a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in -+++ /dev/null -@@ -1,38 +0,0 @@ --<oaf_info> -- <oaf_server iid="OAFIID:GNOME_FastUserSwitchApplet_Factory" type="exe" -- location="@LIBEXECDIR@/gdm-user-switch-applet"> -- -- <oaf_attribute name="repo_ids" type="stringv"> -- <item value="IDL:Bonobo/GenericFactory:1.0"/> -- <item value="IDL:Bonobo/Unknown:1.0"/> -- </oaf_attribute> -- <oaf_attribute name="name" type="string" _value="User Switcher Applet Factory"/> -- <oaf_attribute name="description" type="string" _value="User Switcher Applet Factory"/> -- <oaf_attribute name="bonobo:environment" type="stringv"> -- <item value="DBUS_SESSION_BUS_ADDRESS"/> -- <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/> -- <oaf_attribute name="bugzilla:product" type="string" value="gdm"/> -- <oaf_attribute name="bugzilla:component" type="string" value="general"/> -- <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/> -- <oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/> -- </oaf_attribute> -- </oaf_server> -- -- <oaf_server iid="OAFIID:GNOME_FastUserSwitchApplet" type="factory" -- location="OAFIID:GNOME_FastUserSwitchApplet_Factory"> -- -- <oaf_attribute name="repo_ids" type="stringv"> -- <item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/> -- <item value="IDL:Bonobo/Control:1.0"/> -- <item value="IDL:Bonobo/Unknown:1.0"/> -- </oaf_attribute> -- <oaf_attribute name="name" type="string" _value="User Switcher"/> -- <oaf_attribute name="description" type="string" _value="A menu to quickly switch between users"/> -- <oaf_attribute name="panel:icon" type="string" value="stock_people"/> -- <oaf_attribute name="bugzilla:bugzilla" type="string" value="GNOME"/> -- <oaf_attribute name="bugzilla:product" type="string" value="gdm"/> -- <oaf_attribute name="bugzilla:component" type="string" value="general"/> -- <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/> -- <oaf_attribute name="bugzilla:other_binaries" type="string" value="gdm-user-switch-applet"/> -- </oaf_server> --</oaf_info> -diff --git a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml b/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml -deleted file mode 100644 -index e1845c8..0000000 ---- a/gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml -+++ /dev/null -@@ -1,20 +0,0 @@ --<Root> -- <popups> -- <popup name="button3"> -- <menuitem -- name="About Me Item" -- verb="GdmAboutMe" -- _label="Edit Personal _Information"/> -- <menuitem -- name="Users and Groups Admin Item" -- verb="GdmUsersGroupsAdmin" -- _label="_Edit Users and Groups"/> -- <menuitem -- name="About Item" -- verb="GdmAbout" -- _label="_About" -- pixtype="stock" -- pixname="gtk-about"/> -- </popup> -- </popups> --</Root> -diff --git a/gui/user-switch-applet/Makefile.am b/gui/user-switch-applet/Makefile.am -deleted file mode 100644 -index 2d2cdc0..0000000 ---- a/gui/user-switch-applet/Makefile.am -+++ /dev/null -@@ -1,67 +0,0 @@ --NULL = -- --AM_CPPFLAGS = \ -- -I$(top_srcdir)/gui/simple-greeter \ -- -I$(top_srcdir)/common \ -- -DPREFIX=\""$(prefix)"\" \ -- -DLIBDIR=\""$(libdir)"\" \ -- -DDATADIR=\""$(datadir)"\" \ -- -DSYSCONFDIR=\""$(sysconfdir)"\" \ -- -DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \ -- -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ -- -DGLADEDIR=\""$(pkgdatadir)"\" \ -- -DLIBEXECDIR=\""$(libexecdir)"\" \ -- -DSBINDIR=\""$(sbindir)"\" \ -- -DGDMCONFDIR=\"$(gdmconfdir)\" \ -- $(GTK_CFLAGS) \ -- $(APPLET_CFLAGS) \ -- $(NULL) -- --libexec_PROGRAMS = \ -- gdm-user-switch-applet \ -- $(NULL) -- --gdm_user_switch_applet_SOURCES = \ -- applet.c \ -- gdm-entry-menu-item.h \ -- gdm-entry-menu-item.c \ -- $(NULL) -- --gdm_user_switch_applet_LDADD = \ -- $(top_builddir)/gui/simple-greeter/libgdmuser.la \ -- $(top_builddir)/common/libgdmcommon.la \ -- $(COMMON_LIBS) \ -- $(APPLET_LIBS) \ -- $(NULL) -- --# Bonobo UI --uidir = $(datadir)/gnome-2.0/ui --ui_DATA = \ -- GNOME_FastUserSwitchApplet.xml \ -- $(NULL) -- --# Bonobo .server --serverdir = $(libdir)/bonobo/servers --server_in_files = \ -- GNOME_FastUserSwitchApplet.server.in \ -- $(NULL) --server_DATA = $(server_in_files:.server.in=.server) -- --$(server_in_files): $(server_in_files:.server.in=.server.in.in) -- sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@VERSION\@|$(VERSION)|" $< > $@ -- --@INTLTOOL_SERVER_RULE@ -- --EXTRA_DIST = \ -- $(ui_DATA) \ -- GNOME_FastUserSwitchApplet.server.in.in \ -- $(NULL) -- --DISTCLEANFILES = \ -- $(server_in_files) \ -- $(server_DATA) \ -- $(NULL) -- --MAINTAINERCLEANFILES = \ -- *~ \ -- Makefile.in -diff --git a/gui/user-switch-applet/applet.c b/gui/user-switch-applet/applet.c -deleted file mode 100644 -index b4f944c..0000000 ---- a/gui/user-switch-applet/applet.c -+++ /dev/null -@@ -1,1662 +0,0 @@ --/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- -- * -- * Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>. -- * Copyright (C) 2008 Red Hat, Inc. -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 2 of the License, or -- * (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY 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, write to the Free Software -- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- */ -- --#include "config.h" -- --#include <string.h> --#include <unistd.h> --#include <stdlib.h> --#include <sys/types.h> -- --#include <glib/gi18n.h> --#include <gdk/gdkkeysyms.h> --#include <gtk/gtk.h> -- --#include <gconf/gconf.h> --#include <gconf/gconf-client.h> -- --#include <dbus/dbus-glib.h> -- --#include <bonobo/bonobo-main.h> --#include <bonobo/bonobo-ui-util.h> -- --#include <panel-applet.h> --#include <panel-applet-gconf.h> -- --#include "gdm-user-manager.h" --#include "gdm-entry-menu-item.h" --#include "gdm-settings-client.h" -- --#define LOCKDOWN_DIR "/desktop/gnome/lockdown" --#define LOCKDOWN_USER_SWITCHING_KEY LOCKDOWN_DIR "/disable_user_switching" --#define LOCKDOWN_LOCK_SCREEN_KEY LOCKDOWN_DIR "/disable_lock_screen" --#define LOCKDOWN_COMMAND_LINE_KEY LOCKDOWN_DIR "/disable_command_line" -- --typedef enum { -- GSM_PRESENCE_STATUS_AVAILABLE = 0, -- GSM_PRESENCE_STATUS_INVISIBLE, -- GSM_PRESENCE_STATUS_BUSY, -- GSM_PRESENCE_STATUS_IDLE, --} GsmPresenceStatus; -- --typedef struct _GdmAppletData --{ -- PanelApplet *applet; -- -- GConfClient *client; -- GdmUserManager *manager; -- GdmUser *user; -- -- GtkWidget *menubar; -- GtkWidget *menuitem; -- GtkWidget *menu; --#ifdef BUILD_PRESENSE_STUFF -- GtkWidget *user_item; --#endif -- GtkWidget *control_panel_item; -- GtkWidget *account_item; -- GtkWidget *lock_screen_item; -- GtkWidget *login_screen_item; -- GtkWidget *quit_session_item; -- -- guint client_notify_lockdown_id; -- -- guint current_status; -- guint user_loaded_notify_id; -- guint user_changed_notify_id; -- gint8 pixel_size; -- gint panel_size; -- GtkIconSize icon_size; --#ifdef BUILD_PRESENSE_STUFF -- DBusGProxy *presence_proxy; --#endif --} GdmAppletData; -- --typedef struct _SelectorResponseData --{ -- GdmAppletData *adata; -- GtkRadioButton *radio; --} SelectorResponseData; -- --static void reset_icon (GdmAppletData *adata); --static void update_label (GdmAppletData *adata); -- --static gboolean applet_factory (PanelApplet *applet, -- const char *iid, -- gpointer data); -- --PANEL_APPLET_BONOBO_FACTORY ("OAFIID:GNOME_FastUserSwitchApplet_Factory", -- PANEL_TYPE_APPLET, -- "gdm-user-switch-applet", "0", -- (PanelAppletFactoryCallback)applet_factory, -- NULL) -- --static void --about_me_cb (BonoboUIComponent *ui_container, -- gpointer data, -- const char *cname) --{ -- GError *err; -- -- err = NULL; -- if (! g_spawn_command_line_async ("gnome-about-me", &err)) { -- g_critical ("Could not run `gnome-about-me': %s", -- err->message); -- g_error_free (err); -- bonobo_ui_component_set_prop (ui_container, -- "/commands/GdmAboutMe", -- "hidden", "1", -- NULL); -- } --} -- --/* -- * gnome-panel/applets/wncklet/window-menu.c:window_filter_button_press() -- * -- * Copyright (C) 2005 James M. Cape. -- * Copyright (C) 2003 Sun Microsystems, Inc. -- * Copyright (C) 2001 Free Software Foundation, Inc. -- * Copyright (C) 2000 Helix Code, Inc. -- */ --static gboolean --menubar_button_press_event_cb (GtkWidget *menubar, -- GdkEventButton *event, -- GdmAppletData *adata) --{ -- if (event->button != 1) { -- g_signal_stop_emission_by_name (menubar, "button-press-event"); -- /* Reset the login window item */ -- } -- -- return FALSE; --} -- --static void --about_cb (BonoboUIComponent *ui_container, -- gpointer data, -- const char *cname) --{ -- static const char *authors[] = { -- "James M. Cape <jcape@ignore-your.tv>", -- "Thomas Thurman <thomas@thurman.org.uk>", -- "William Jon McCann <jmccann@redhat.com>", -- NULL -- }; -- static char *license[] = { -- N_("The User Switch Applet is free software; you can redistribute it and/or modify " -- "it under the terms of the GNU General Public License as published by " -- "the Free Software Foundation; either version 2 of the License, or " -- "(at your option) any later version."), -- N_("This program is distributed in the hope that it will be useful, " -- "but WITHOUT ANY WARRANTY; without even the implied warranty of " -- "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " -- "GNU General Public License for more details."), -- N_("You should have received a copy of the GNU General Public License " -- "along with this program; if not, write to the Free Software " -- "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA "), -- NULL -- }; -- char *license_i18n; -- -- license_i18n = g_strconcat (_(license[0]), "\n\n", _(license[1]), "\n\n", _(license[2]), NULL); -- -- gtk_show_about_dialog (NULL, -- "version", VERSION, -- "copyright", "Copyright \xc2\xa9 2004-2005 James M. Cape.\n" -- "Copyright \xc2\xa9 2006 Thomas Thurman.\n" -- "Copyright \xc2\xa9 2008 Red Hat, Inc.", -- "comments", _("A menu to quickly switch between users."), -- "authors", authors, -- "license", license_i18n, -- "wrap-license", TRUE, -- "translator-credits", _("translator-credits"), -- "logo-icon-name", "stock_people", -- NULL); -- -- g_free (license_i18n); --} -- -- --static void --admin_cb (BonoboUIComponent *ui_container, -- gpointer data, -- const char *cname) --{ --#ifdef USERS_ADMIN -- char **args; -- gboolean res; -- GError *err; -- -- err = NULL; -- if (!g_shell_parse_argv (USERS_ADMIN, NULL, &args, &err)) { -- g_critical ("Could not parse users and groups management command line `%s': %s", -- USERS_ADMIN, err->message); -- return; -- } -- -- res = g_spawn_async (g_get_home_dir (), -- args, -- NULL, -- (G_SPAWN_STDOUT_TO_DEV_NULL | -- G_SPAWN_STDERR_TO_DEV_NULL | -- G_SPAWN_SEARCH_PATH), -- NULL, -- NULL, -- NULL, -- &err); -- if (! res) { -- g_critical ("Could not run `%s' to manage users and groups: %s", -- USERS_ADMIN, err->message); -- g_error_free (err); -- } -- g_strfreev (args); --#endif /* USERS_ADMIN */ --} -- --static void --set_menuitem_icon (BonoboUIComponent *component, -- const char *item_path, -- GtkIconTheme *theme, -- const char *icon_name, -- gint icon_size) --{ -- GdkPixbuf *pixbuf; -- int width; -- int height; -- -- pixbuf = gtk_icon_theme_load_icon (theme, icon_name, icon_size, 0, NULL); -- if (pixbuf == NULL) { -- return; -- } -- -- width = gdk_pixbuf_get_width (pixbuf); -- height = gdk_pixbuf_get_height (pixbuf); -- if (width > icon_size + 4 || height > icon_size + 4) { -- GdkPixbuf *tmp; -- if (height > width) { -- width *= (gdouble) icon_size / (gdouble) height; -- height = icon_size; -- } else { -- height *= (gdouble) icon_size / (gdouble) width; -- width = icon_size; -- } -- tmp = gdk_pixbuf_scale_simple (pixbuf, width, height, GDK_INTERP_BILINEAR); -- g_object_unref (pixbuf); -- pixbuf = tmp; -- } -- -- bonobo_ui_util_set_pixbuf (component, item_path, pixbuf, NULL); -- g_object_unref (pixbuf); --} -- --static void --applet_style_set_cb (GtkWidget *widget, -- GtkStyle *old_style, -- gpointer data) --{ -- BonoboUIComponent *component; -- GdkScreen *screen; -- GtkIconTheme *theme; -- int width; -- int height; -- int icon_size; -- -- if (gtk_widget_has_screen (widget)) { -- screen = gtk_widget_get_screen (widget); -- } else { -- screen = gdk_screen_get_default (); -- } -- -- if (gtk_icon_size_lookup_for_settings (gtk_settings_get_for_screen (screen), -- GTK_ICON_SIZE_MENU, &width, &height)) { -- icon_size = MAX (width, height); -- } else { -- icon_size = 16; -- } -- -- theme = gtk_icon_theme_get_for_screen (screen); -- component = panel_applet_get_popup_component (PANEL_APPLET (widget)); -- -- set_menuitem_icon (component, -- "/commands/GdmAboutMe", -- theme, -- "user-info", -- icon_size); -- set_menuitem_icon (component, -- "/commands/GdmUsersGroupsAdmin", -- theme, -- "stock_people", -- icon_size); --} -- --static void --applet_change_background_cb (PanelApplet *applet, -- PanelAppletBackgroundType type, -- GdkColor *color, -- GdkPixmap *pixmap, -- GdmAppletData *adata) --{ -- GtkRcStyle *rc_style; -- GtkStyle *style; -- -- gtk_widget_set_style (adata->menubar, NULL); -- rc_style = gtk_rc_style_new (); -- gtk_widget_modify_style (GTK_WIDGET (adata->menubar), rc_style); -- g_object_unref (rc_style); -- -- switch (type) { -- case PANEL_NO_BACKGROUND: -- break; -- case PANEL_COLOR_BACKGROUND: -- gtk_widget_modify_bg (adata->menubar, GTK_STATE_NORMAL, color); -- break; -- case PANEL_PIXMAP_BACKGROUND: -- style = gtk_style_copy (gtk_widget_get_style (adata->menubar)); -- if (style->bg_pixmap[GTK_STATE_NORMAL]) { -- g_object_unref (style->bg_pixmap[GTK_STATE_NORMAL]); -- } -- -- style->bg_pixmap[GTK_STATE_NORMAL] = g_object_ref (pixmap); -- gtk_widget_set_style (adata->menubar, style); -- g_object_unref (style); -- break; -- } --} -- --/* -- * gnome-panel/applets/wncklet/window-menu.c:window_menu_key_press_event() -- * -- * Copyright (C) 2003 Sun Microsystems, Inc. -- * Copyright (C) 2001 Free Software Foundation, Inc. -- * Copyright (C) 2000 Helix Code, Inc. -- */ --static gboolean --applet_key_press_event_cb (GtkWidget *widget, -- GdkEventKey *event, -- GdmAppletData *adata) --{ -- GtkMenuShell *menu_shell; -- -- switch (event->keyval) { -- case GDK_KP_Enter: -- case GDK_ISO_Enter: -- case GDK_3270_Enter: -- case GDK_Return: -- case GDK_space: -- case GDK_KP_Space: -- menu_shell = GTK_MENU_SHELL (adata->menubar); -- /* -- * We need to call _gtk_menu_shell_activate() here as is done in -- * window_key_press_handler in gtkmenubar.c which pops up menu -- * when F10 is pressed. -- * -- * As that function is private its code is replicated here. -- */ -- if (!menu_shell->active) { -- gtk_grab_add (GTK_WIDGET (menu_shell)); -- menu_shell->have_grab = TRUE; -- menu_shell->active = TRUE; -- } -- -- gtk_menu_shell_select_first (menu_shell, FALSE); -- return TRUE; -- default: -- break; -- } -- -- return FALSE; --} -- --static void --set_item_text_angle_and_alignment (GtkWidget *item, -- double text_angle, -- float xalign, -- float yalign) --{ -- GtkWidget *label; -- -- label = gtk_bin_get_child (GTK_BIN (item)); -- -- gtk_label_set_angle (GTK_LABEL (label), text_angle); -- -- gtk_misc_set_alignment (GTK_MISC (label), xalign, yalign); --} -- --/* -- * gnome-panel/applets/wncklet/window-menu.c:window_menu_size_allocate() -- * -- * Copyright (C) 2003 Sun Microsystems, Inc. -- * Copyright (C) 2001 Free Software Foundation, Inc. -- * Copyright (C) 2000 Helix Code, Inc. -- */ --static void --applet_size_allocate_cb (GtkWidget *widget, -- GtkAllocation *allocation, -- GdmAppletData *adata) --{ -- GList *children; -- GtkWidget *top_item; -- PanelAppletOrient orient; -- gint pixel_size; -- gdouble text_angle; -- GtkPackDirection pack_direction; -- float text_xalign; -- float text_yalign; -- -- pack_direction = GTK_PACK_DIRECTION_LTR; -- text_angle = 0.0; -- text_xalign = 0.0; -- text_yalign = 0.5; -- -- children = gtk_container_get_children (GTK_CONTAINER (adata->menubar)); -- top_item = GTK_WIDGET (children->data); -- g_list_free (children); -- -- orient = panel_applet_get_orient (PANEL_APPLET (widget)); -- -- switch (orient) { -- case PANEL_APPLET_ORIENT_UP: -- case PANEL_APPLET_ORIENT_DOWN: -- gtk_widget_set_size_request (top_item, -1, allocation->height); -- pixel_size = allocation->height - gtk_widget_get_style (top_item)->ythickness * 2; -- break; -- case PANEL_APPLET_ORIENT_LEFT: -- gtk_widget_set_size_request (top_item, allocation->width, -1); -- pixel_size = allocation->width - gtk_widget_get_style (top_item)->xthickness * 2; -- pack_direction = GTK_PACK_DIRECTION_TTB; -- text_angle = 270.0; -- text_xalign = 0.5; -- text_yalign = 0.0; -- break; -- case PANEL_APPLET_ORIENT_RIGHT: -- gtk_widget_set_size_request (top_item, allocation->width, -1); -- pixel_size = allocation->width - gtk_widget_get_style (top_item)->xthickness * 2; -- pack_direction = GTK_PACK_DIRECTION_BTT; -- text_angle = 90.0; -- text_xalign = 0.5; -- text_yalign = 0.0; -- break; -- default: -- g_assert_not_reached (); -- break; -- } -- -- gtk_menu_bar_set_pack_direction (GTK_MENU_BAR (adata->menubar), -- pack_direction); -- gtk_menu_bar_set_child_pack_direction (GTK_MENU_BAR (adata->menubar), -- pack_direction); -- -- set_item_text_angle_and_alignment (adata->menuitem, -- text_angle, -- text_xalign, -- text_yalign); -- -- if (adata->panel_size != pixel_size) { -- adata->panel_size = pixel_size; -- reset_icon (adata); -- } --} -- -- --static void --gdm_applet_data_free (GdmAppletData *adata) --{ -- gconf_client_notify_remove (adata->client, adata->client_notify_lockdown_id); -- -- if (adata->user_loaded_notify_id != 0) { -- g_signal_handler_disconnect (adata->user, adata->user_loaded_notify_id); -- } -- -- if (adata->user_changed_notify_id != 0) { -- g_signal_handler_disconnect (adata->user, adata->user_changed_notify_id); -- } -- --#ifdef BUILD_PRESENSE_STUFF -- if (adata->presence_proxy != NULL) { -- g_object_unref (adata->presence_proxy); -- } --#endif -- -- if (adata->user != NULL) { -- g_object_unref (adata->user); -- } -- g_object_unref (adata->client); -- g_object_unref (adata->manager); -- -- g_free (adata); --} -- -- --/* -- * gnome-panel/applets/wncklet/window-menu.c:window_menu_on_expose() -- * -- * Copyright (C) 2003 Sun Microsystems, Inc. -- * Copyright (C) 2001 Free Software Foundation, Inc. -- * Copyright (C) 2000 Helix Code, Inc. -- */ --static gboolean --menubar_expose_event_cb (GtkWidget *widget, -- GdkEventExpose *event, -- GdmAppletData *adata) --{ -- if (gtk_widget_has_focus (GTK_WIDGET (adata->applet))) -- gtk_paint_focus (gtk_widget_get_style (widget), -- gtk_widget_get_window (widget), -- gtk_widget_get_state (widget), -- NULL, widget, "menu-applet", 0, 0, -1, -1); -- -- return FALSE; --} -- --static void --menu_style_set_cb (GtkWidget *menu, -- GtkStyle *old_style, -- GdmAppletData *adata) --{ -- GtkSettings *settings; -- int width; -- int height; -- -- adata->icon_size = gtk_icon_size_from_name ("panel-menu"); -- -- if (adata->icon_size == GTK_ICON_SIZE_INVALID) { -- adata->icon_size = gtk_icon_size_register ("panel-menu", 24, 24); -- } -- -- if (gtk_widget_has_screen (menu)) { -- settings = gtk_settings_get_for_screen (gtk_widget_get_screen (menu)); -- } else { -- settings = gtk_settings_get_default (); -- } -- -- if (!gtk_icon_size_lookup_for_settings (settings, adata->icon_size, -- &width, &height)) { -- adata->pixel_size = -1; -- } else { -- adata->pixel_size = MAX (width, height); -- } --} -- --static void --menuitem_style_set_cb (GtkWidget *menuitem, -- GtkStyle *old_style, -- GdmAppletData *adata) --{ -- GtkWidget *image; -- -- if (GDM_IS_ENTRY_MENU_ITEM (menuitem)) { -- } else { -- const char *icon_name; -- -- if (menuitem == adata->login_screen_item) { -- icon_name = "system-users"; -- } else if (menuitem == adata->lock_screen_item) { -- icon_name = "system-lock-screen"; -- } else if (menuitem == adata->quit_session_item) { -- icon_name = "system-log-out"; -- } else if (menuitem == adata->account_item) { -- icon_name = "user-info"; -- } else if (menuitem == adata->control_panel_item) { -- icon_name = "preferences-desktop"; -- } else { -- icon_name = GTK_STOCK_MISSING_IMAGE; -- } -- -- image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (menuitem)); -- gtk_image_set_pixel_size (GTK_IMAGE (image), adata->pixel_size); -- gtk_image_set_from_icon_name (GTK_IMAGE (image), icon_name, -- adata->icon_size); -- } --} -- --static void --on_user_changed (GdmUser *user, -- GdmAppletData *adata) --{ -- g_debug ("user changed"); -- update_label (adata); -- reset_icon (adata); --} -- --/* Called every time the menu is displayed (and also for some reason -- * immediately it's created, which does no harm). All we have to do -- * here is kick off a request to GDM to let us know which users are -- * logged in, so we can display check marks next to their names. -- */ --static gboolean --menu_expose_cb (GtkWidget *menu, -- gpointer data) --{ -- char *program; -- GdmAppletData *adata = data; -- -- program = g_find_program_in_path ("gnome-control-center"); -- if (program != NULL) { -- gtk_widget_show (adata->control_panel_item); -- } else { -- gtk_widget_hide (adata->control_panel_item); -- } -- g_free (program); -- return FALSE; --} -- --static void --maybe_lock_screen (GdmAppletData *adata) --{ -- char *args[3]; -- GError *err; -- GdkScreen *screen; -- gboolean use_gscreensaver = TRUE; -- gboolean res; -- -- g_debug ("Attempting to lock screen"); -- -- args[0] = g_find_program_in_path ("gnome-screensaver-command"); -- if (args[0] == NULL) { -- args[0] = g_find_program_in_path ("xscreensaver-command"); -- use_gscreensaver = FALSE; -- } -- -- if (args[0] == NULL) { -- return; -- } -- -- if (use_gscreensaver) { -- args[1] = "--lock"; -- } else { -- args[1] = "-lock"; -- } -- args[2] = NULL; -- -- if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) { -- screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet)); -- } else { -- screen = gdk_screen_get_default (); -- } -- -- err = NULL; -- res = gdk_spawn_on_screen (screen, -- g_get_home_dir (), -- args, -- NULL, -- 0, -- NULL, -- NULL, -- NULL, -- &err); -- if (! res) { -- g_warning (_("Can't lock screen: %s"), err->message); -- g_error_free (err); -- } -- -- if (use_gscreensaver) { -- args[1] = "--throttle"; -- } else { -- args[1] = "-throttle"; -- } -- -- err = NULL; -- res = gdk_spawn_on_screen (screen, -- g_get_home_dir (), -- args, -- NULL, -- (G_SPAWN_STDERR_TO_DEV_NULL -- | G_SPAWN_STDOUT_TO_DEV_NULL), -- NULL, -- NULL, -- NULL, -- &err); -- if (! res) { -- g_warning (_("Can't temporarily set screensaver to blank screen: %s"), -- err->message); -- g_error_free (err); -- } -- -- g_free (args[0]); --} -- --static void --do_switch (GdmAppletData *adata, -- GdmUser *user) --{ -- guint num_sessions; -- -- g_debug ("Do user switch"); -- -- if (user == NULL) { -- gdm_user_manager_goto_login_session (adata->manager); -- goto out; -- } -- -- num_sessions = gdm_user_get_num_sessions (user); -- if (num_sessions > 0) { -- gdm_user_manager_activate_user_session (adata->manager, user); -- } else { -- gdm_user_manager_goto_login_session (adata->manager); -- } -- out: -- maybe_lock_screen (adata); --} -- --static void --update_switch_user (GdmAppletData *adata) --{ -- gboolean can_switch; -- gboolean has_other_users; -- -- can_switch = gdm_user_manager_can_switch (adata->manager); -- g_object_get (adata->manager, -- "has-multiple-users", &has_other_users, -- NULL); -- -- if (can_switch && has_other_users) { -- gtk_widget_show (adata->login_screen_item); -- } else { -- -- gtk_widget_hide (adata->login_screen_item); -- } --} -- --static void --on_manager_is_loaded_changed (GdmUserManager *manager, -- GParamSpec *pspec, -- GdmAppletData *adata) --{ -- update_switch_user (adata); --} -- --static void --on_manager_has_multiple_users_changed (GdmUserManager *manager, -- GParamSpec *pspec, -- GdmAppletData *adata) --{ -- update_switch_user (adata); --} -- --#ifdef BUILD_PRESENSE_STUFF --static void --on_user_item_activate (GtkMenuItem *item, -- GdmAppletData *adata) --{ -- g_signal_stop_emission_by_name (item, "activate"); --} --#endif -- --static void --on_control_panel_activate (GtkMenuItem *item, -- GdmAppletData *adata) --{ -- char *args[2]; -- GError *error; -- GdkScreen *screen; -- gboolean res; -- -- args[0] = g_find_program_in_path ("gnome-control-center"); -- if (args[0] == NULL) { -- return; -- } -- args[1] = NULL; -- -- if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) { -- screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet)); -- } else { -- screen = gdk_screen_get_default (); -- } -- -- error = NULL; -- res = gdk_spawn_on_screen (screen, -- g_get_home_dir (), -- args, -- NULL, -- 0, -- NULL, -- NULL, -- NULL, -- &error); -- if (! res) { -- g_warning (_("Can't lock screen: %s"), error->message); -- g_error_free (error); -- } -- -- g_free (args[0]); --} -- --static void --on_account_activate (GtkMenuItem *item, -- GdmAppletData *adata) --{ -- char *args[2]; -- GError *error; -- GdkScreen *screen; -- gboolean res; -- -- args[0] = g_find_program_in_path ("accounts-dialog"); -- if (args[0] == NULL) { -- args[0] = g_find_program_in_path ("gnome-about-me"); -- if (args[0] == NULL) { -- return; -- } -- } -- args[1] = NULL; -- -- if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) { -- screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet)); -- } else { -- screen = gdk_screen_get_default (); -- } -- -- error = NULL; -- res = gdk_spawn_on_screen (screen, -- g_get_home_dir (), -- args, -- NULL, -- 0, -- NULL, -- NULL, -- NULL, -- &error); -- if (! res) { -- g_warning (_("Can't lock screen: %s"), error->message); -- g_error_free (error); -- } -- -- g_free (args[0]); --} -- --static void --on_lock_screen_activate (GtkMenuItem *item, -- GdmAppletData *adata) --{ -- maybe_lock_screen (adata); --} -- --static void --on_login_screen_activate (GtkMenuItem *item, -- GdmAppletData *adata) --{ -- GdmUser *user; -- -- user = NULL; -- -- do_switch (adata, user); --} -- --static void --on_quit_session_activate (GtkMenuItem *item, -- GdmAppletData *adata) --{ -- char *args[3]; -- GError *error; -- GdkScreen *screen; -- gboolean res; -- -- args[0] = g_find_program_in_path ("gnome-session-save"); -- if (args[0] == NULL) { -- return; -- } -- -- args[1] = "--logout-dialog"; -- args[2] = NULL; -- -- if (gtk_widget_has_screen (GTK_WIDGET (adata->applet))) { -- screen = gtk_widget_get_screen (GTK_WIDGET (adata->applet)); -- } else { -- screen = gdk_screen_get_default (); -- } -- -- error = NULL; -- res = gdk_spawn_on_screen (screen, -- g_get_home_dir (), -- args, -- NULL, -- 0, -- NULL, -- NULL, -- NULL, -- &error); -- if (! res) { -- g_warning (_("Can't log out: %s"), error->message); -- g_error_free (error); -- } -- -- g_free (args[0]); --} -- --#ifdef BUILD_PRESENSE_STUFF --static gboolean --on_menu_key_press_event (GtkWidget *widget, -- GdkEventKey *event, -- GdmAppletData *adata) --{ -- GtkWidget *entry; -- -- entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item)); -- -- if (GTK_WIDGET_HAS_FOCUS (entry)) { -- gtk_widget_event (entry, (GdkEvent *)event); -- return TRUE; -- } else { -- return FALSE; -- } --} -- --static void --save_status (GdmAppletData *adata, -- guint status) --{ -- if (adata->current_status != status) { -- GError *error; -- -- adata->current_status = status; -- -- g_debug ("Saving status: %u", status); -- error = NULL; -- dbus_g_proxy_call (adata->presence_proxy, -- "SetStatus", -- &error, -- G_TYPE_UINT, status, -- G_TYPE_INVALID, -- G_TYPE_INVALID); -- -- if (error != NULL) { -- g_warning ("Couldn't save presence status: %s", error->message); -- g_error_free (error); -- } -- } --} -- --static void --on_status_available_activate (GtkWidget *widget, -- GdmAppletData *adata) --{ -- -- if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) { -- save_status (adata, GSM_PRESENCE_STATUS_AVAILABLE); -- } --} -- --static void --on_status_busy_activate (GtkWidget *widget, -- GdmAppletData *adata) --{ -- if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) { -- save_status (adata, GSM_PRESENCE_STATUS_BUSY); -- } --} -- --static void --on_status_invisible_activate (GtkWidget *widget, -- GdmAppletData *adata) --{ -- if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget))) { -- save_status (adata, GSM_PRESENCE_STATUS_INVISIBLE); -- } --} -- --static struct { -- char *icon_name; -- char *display_name; -- void *menu_callback; -- GtkWidget *widget; --} statuses[] = { -- { "user-online", N_("Available"), on_status_available_activate, NULL }, -- { "user-invisible", N_("Invisible"), on_status_invisible_activate, NULL }, -- { "user-busy", N_("Busy"), on_status_busy_activate, NULL }, -- { "user-away", N_("Away"), NULL, NULL }, --}; --#endif -- --static void --update_label (GdmAppletData *adata) --{ -- GtkWidget *label; -- char *markup; -- -- label = gtk_bin_get_child (GTK_BIN (adata->menuitem)); -- --#ifdef BUILD_PRESENSE_STUFF -- markup = g_strdup_printf ("<b>%s</b> <small>(%s)</small>", -- gdm_user_get_real_name (GDM_USER (adata->user)), -- _(statuses[adata->current_status].display_name)); --#else -- markup = g_strdup_printf ("<b>%s</b>", -- gdm_user_get_real_name (GDM_USER (adata->user))); --#endif -- gtk_label_set_markup (GTK_LABEL (label), markup); -- g_free (markup); --} -- --#ifdef BUILD_PRESENSE_STUFF --static void --save_status_text (GdmAppletData *adata) --{ -- GtkWidget *entry; -- GtkTextBuffer *buffer; -- char *escaped_text; -- char *text; -- GtkTextIter start, end; -- -- entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item)); -- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry)); -- gtk_text_buffer_get_bounds (buffer, &start, &end); -- text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); -- escaped_text = g_markup_escape_text (text, -1); -- -- if (escaped_text != NULL) { -- GError *error; -- -- error = NULL; -- dbus_g_proxy_call (adata->presence_proxy, -- "SetStatusText", -- &error, -- G_TYPE_STRING, escaped_text, -- G_TYPE_INVALID, -- G_TYPE_INVALID); -- -- if (error != NULL) { -- g_warning ("Couldn't set presence status text: %s", error->message); -- g_error_free (error); -- } -- } -- -- g_free (text); -- g_free (escaped_text); --} -- --static void --on_user_item_deselect (GtkWidget *item, -- GdmAppletData *adata) --{ -- save_status_text (adata); --} --#endif -- --static void --create_sub_menu (GdmAppletData *adata) --{ -- GtkWidget *item; --#ifdef BUILD_PRESENSE_STUFF -- int i; -- GSList *radio_group; --#endif -- -- adata->menu = gtk_menu_new (); --#ifdef BUILD_PRESENSE_STUFF -- g_signal_connect (adata->menu, -- "key-press-event", -- G_CALLBACK (on_menu_key_press_event), -- adata); --#endif -- gtk_menu_item_set_submenu (GTK_MENU_ITEM (adata->menuitem), adata->menu); -- g_signal_connect (adata->menu, "style-set", -- G_CALLBACK (menu_style_set_cb), adata); -- g_signal_connect (adata->menu, "show", -- G_CALLBACK (menu_expose_cb), adata); -- --#ifdef BUILD_PRESENSE_STUFF -- adata->user_item = gdm_entry_menu_item_new (); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), -- adata->user_item); -- gtk_widget_show (adata->user_item); -- g_signal_connect (adata->user_item, "activate", -- G_CALLBACK (on_user_item_activate), adata); -- g_signal_connect (adata->user_item, -- "deselect", -- G_CALLBACK (on_user_item_deselect), -- adata); -- -- item = gtk_separator_menu_item_new (); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item); -- gtk_widget_show (item); -- -- radio_group = NULL; -- for (i = 0; i < G_N_ELEMENTS (statuses); i++) { -- GtkWidget *hbox; -- GtkWidget *label; -- GtkWidget *image; -- GtkWidget *item; -- -- if (statuses[i].menu_callback == NULL) { -- continue; -- } -- -- item = gtk_radio_menu_item_new (radio_group); -- radio_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (item)); -- hbox = gtk_hbox_new (FALSE, 3); -- label = gtk_label_new (_(statuses[i].display_name)); -- gtk_label_set_justify (GTK_LABEL(label), GTK_JUSTIFY_LEFT); -- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); -- gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); -- gtk_widget_show (label); -- image = gtk_image_new_from_icon_name (statuses[i].icon_name, GTK_ICON_SIZE_MENU); -- gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0); -- gtk_widget_show (image); -- gtk_widget_show (hbox); -- gtk_container_add (GTK_CONTAINER (item), hbox); -- -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), -- item); -- g_signal_connect (item, "activate", -- G_CALLBACK (statuses[i].menu_callback), adata); -- gtk_widget_show (item); -- -- statuses[i].widget = item; -- } -- -- item = gtk_separator_menu_item_new (); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item); -- gtk_widget_show (item); --#endif -- -- adata->account_item = gtk_image_menu_item_new_with_label (_("Account Information")); -- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->account_item), -- gtk_image_new ()); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), -- adata->account_item); -- g_signal_connect (adata->account_item, "style-set", -- G_CALLBACK (menuitem_style_set_cb), adata); -- g_signal_connect (adata->account_item, "activate", -- G_CALLBACK (on_account_activate), adata); -- gtk_widget_show (adata->account_item); -- -- -- adata->control_panel_item = gtk_image_menu_item_new_with_label (_("System Preferences")); -- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->control_panel_item), -- gtk_image_new ()); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), -- adata->control_panel_item); -- g_signal_connect (adata->control_panel_item, "style-set", -- G_CALLBACK (menuitem_style_set_cb), adata); -- g_signal_connect (adata->control_panel_item, "activate", -- G_CALLBACK (on_control_panel_activate), adata); -- -- item = gtk_separator_menu_item_new (); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), item); -- gtk_widget_show (item); -- -- adata->lock_screen_item = gtk_image_menu_item_new_with_label (_("Lock Screen")); -- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->lock_screen_item), -- gtk_image_new ()); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), -- adata->lock_screen_item); -- g_signal_connect (adata->lock_screen_item, "style-set", -- G_CALLBACK (menuitem_style_set_cb), adata); -- g_signal_connect (adata->lock_screen_item, "activate", -- G_CALLBACK (on_lock_screen_activate), adata); -- /* Only show if not locked down */ -- -- adata->login_screen_item = gtk_image_menu_item_new_with_label (_("Switch User")); -- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->login_screen_item), -- gtk_image_new ()); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), -- adata->login_screen_item); -- g_signal_connect (adata->login_screen_item, "style-set", -- G_CALLBACK (menuitem_style_set_cb), adata); -- g_signal_connect (adata->login_screen_item, "activate", -- G_CALLBACK (on_login_screen_activate), adata); -- /* Only show switch user if there are other users */ -- -- adata->quit_session_item = gtk_image_menu_item_new_with_label (_("Quit…")); -- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->quit_session_item), -- gtk_image_new ()); -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menu), -- adata->quit_session_item); -- g_signal_connect (adata->quit_session_item, "style-set", -- G_CALLBACK (menuitem_style_set_cb), adata); -- g_signal_connect (adata->quit_session_item, "activate", -- G_CALLBACK (on_quit_session_activate), adata); -- gtk_widget_show (adata->quit_session_item); -- gtk_widget_show (adata->menu); --} -- --static void --destroy_sub_menu (GdmAppletData *adata) --{ -- gtk_menu_item_set_submenu (GTK_MENU_ITEM (adata->menuitem), NULL); --} -- --static void --set_menu_visibility (GdmAppletData *adata, -- gboolean visible) --{ -- -- if (visible) { -- create_sub_menu (adata); -- } else { -- destroy_sub_menu (adata); -- } --} -- --static void --client_notify_lockdown_func (GConfClient *client, -- guint cnxn_id, -- GConfEntry *entry, -- GdmAppletData *adata) --{ -- GConfValue *value; -- const char *key; -- -- value = gconf_entry_get_value (entry); -- key = gconf_entry_get_key (entry); -- -- if (value == NULL || key == NULL) { -- return; -- } -- -- if (strcmp (key, LOCKDOWN_USER_SWITCHING_KEY) == 0) { -- if (gconf_value_get_bool (value)) { -- set_menu_visibility (adata, FALSE); -- } else { -- set_menu_visibility (adata, TRUE); -- } -- } else if (strcmp (key, LOCKDOWN_LOCK_SCREEN_KEY) == 0) { -- if (gconf_value_get_bool (value)) { -- gtk_widget_hide (adata->lock_screen_item); -- } else { -- gtk_widget_show (adata->lock_screen_item); -- } -- } --} -- --static void --reset_icon (GdmAppletData *adata) --{ -- GdkPixbuf *pixbuf; -- GtkWidget *image; -- -- if (adata->user == NULL || !gtk_widget_has_screen (GTK_WIDGET (adata->menuitem))) { -- return; -- } -- --#ifdef BUILD_PRESENSE_STUFF -- if (adata->user_item != NULL) { -- image = gdm_entry_menu_item_get_image (GDM_ENTRY_MENU_ITEM (adata->user_item)); -- pixbuf = gdm_user_render_icon (adata->user, adata->panel_size * 3); -- if (pixbuf == NULL) { -- return; -- } -- -- gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); -- g_object_unref (pixbuf); -- } --#else -- pixbuf = gdm_user_render_icon (adata->user, adata->panel_size); -- -- if (pixbuf == NULL) { -- return; -- } -- -- image = gtk_image_menu_item_get_image (GTK_IMAGE_MENU_ITEM (adata->menuitem)); -- gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); -- g_object_unref (pixbuf); --#endif --} -- --static void --setup_current_user_now (GdmAppletData *adata) --{ -- g_assert (adata->user != NULL); -- -- if (adata->user_loaded_notify_id != 0) { -- g_signal_handler_disconnect (adata->user, adata->user_loaded_notify_id); -- } -- adata->user_loaded_notify_id = 0; -- -- update_label (adata); -- reset_icon (adata); -- adata->user_changed_notify_id = -- g_signal_connect (adata->user, -- "changed", -- G_CALLBACK (on_user_changed), -- adata); --} -- --static void --on_current_user_loaded (GdmUser *user, -- GParamSpec *pspec, -- GdmAppletData *adata) --{ -- if (!gdm_user_is_loaded (user)) { -- return; -- } -- -- setup_current_user_now (adata); --} -- --static void --setup_current_user (GdmAppletData *adata) --{ -- adata->user = gdm_user_manager_get_user_by_uid (adata->manager, getuid ()); -- -- if (adata->user == NULL) { -- g_warning ("Could not setup current user"); -- return; -- } -- -- g_object_ref (adata->user); -- -- adata->menuitem = gtk_image_menu_item_new_with_label (""); --#ifndef BUILD_PRESENSE_STUFF -- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (adata->menuitem), -- gtk_image_new ()); --#endif -- gtk_menu_shell_append (GTK_MENU_SHELL (adata->menubar), adata->menuitem); -- gtk_widget_show (adata->menuitem); -- -- if (gdm_user_is_loaded (adata->user)) { -- setup_current_user_now (adata); -- return; -- } -- -- adata->user_loaded_notify_id = g_signal_connect (adata->user, -- "notify::is-loaded", -- G_CALLBACK (on_current_user_loaded), -- adata); --} -- --#ifdef BUILD_PRESENSE_STUFF --static void --set_status (GdmAppletData *adata, -- guint status) --{ -- int i; -- -- g_debug ("Setting current status: %u", status); -- adata->current_status = status; -- for (i = 0; i < G_N_ELEMENTS (statuses); i++) { -- if (statuses[i].widget == NULL) { -- continue; -- } -- if (i == status) { -- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (statuses[i].widget), -- TRUE); -- } -- } -- -- update_label (adata); --} -- --static void --on_presence_status_changed (DBusGProxy *presence_proxy, -- guint status, -- GdmAppletData *adata) --{ -- g_debug ("Status changed: %u", status); -- -- set_status (adata, status); --} -- --static void --set_status_text (GdmAppletData *adata, -- const char *status_text) --{ -- GtkWidget *entry; -- GtkTextBuffer *buffer; -- -- g_debug ("Status text changed: %s", status_text); -- -- entry = gdm_entry_menu_item_get_entry (GDM_ENTRY_MENU_ITEM (adata->user_item)); -- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (entry)); -- gtk_text_buffer_set_text (buffer, status_text, -1); --} -- --static void --on_presence_status_text_changed (DBusGProxy *presence_proxy, -- const char *status_text, -- GdmAppletData *adata) --{ -- set_status_text (adata, status_text); --} --#endif -- --static gboolean --fill_applet (PanelApplet *applet) --{ -- static const BonoboUIVerb menu_verbs[] = { -- BONOBO_UI_VERB ("GdmAboutMe", about_me_cb), -- BONOBO_UI_VERB ("GdmUsersGroupsAdmin", admin_cb), -- BONOBO_UI_VERB ("GdmAbout", about_cb), -- BONOBO_UI_VERB_END -- }; -- static gboolean first_time = FALSE; -- char *tmp; -- BonoboUIComponent *popup_component; -- GdmAppletData *adata; -- GError *error; -- DBusGConnection *bus; -- -- if (!first_time) { -- first_time = TRUE; -- -- /* Do this here so it's only done once. */ -- gtk_rc_parse_string ("style \"gdm-user-switch-menubar-style\"\n" -- "{\n" -- "GtkMenuBar::shadow-type = none\n" -- "GtkMenuBar::internal-padding = 0\n" -- "}\n" -- "style \"gdm-user-switch-applet-style\"\n" -- "{\n" -- "GtkWidget::focus-line-width = 0\n" -- "GtkWidget::focus-padding = 0\n" -- "}\n" -- "widget \"*.gdm-user-switch-menubar\" style \"gdm-user-switch-menubar-style\"\n" -- "widget \"*.gdm-user-switch-applet\" style \"gdm-user-switch-applet-style\"\n"); -- gtk_window_set_default_icon_name ("stock_people"); -- g_set_application_name (_("User Switch Applet")); -- -- if (! gdm_settings_client_init (DATADIR "/gdm/gdm.schemas", "/")) { -- g_critical ("Unable to initialize settings client"); -- exit (1); -- } -- -- } -- -- adata = g_new0 (GdmAppletData, 1); -- adata->applet = applet; -- adata->panel_size = 24; -- -- adata->client = gconf_client_get_default (); -- -- gtk_widget_set_tooltip_text (GTK_WIDGET (applet), _("Change account settings and status")); -- gtk_container_set_border_width (GTK_CONTAINER (applet), 0); -- gtk_widget_set_name (GTK_WIDGET (applet), "gdm-user-switch-applet"); -- panel_applet_set_flags (applet, PANEL_APPLET_EXPAND_MINOR); -- panel_applet_setup_menu_from_file (applet, NULL, -- DATADIR "/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml", -- NULL, menu_verbs, adata); -- -- popup_component = panel_applet_get_popup_component (applet); -- -- /* Hide the admin context menu items if locked down or no cmd-line */ -- if (gconf_client_get_bool (adata->client, -- LOCKDOWN_COMMAND_LINE_KEY, -- NULL) || -- panel_applet_get_locked_down (applet)) { -- bonobo_ui_component_set_prop (popup_component, -- "/popups/button3/GdmSeparator", -- "hidden", "1", NULL); -- bonobo_ui_component_set_prop (popup_component, -- "/commands/GdmUsersGroupsAdmin", -- "hidden", "1", NULL); -- } else { --#ifndef USERS_ADMIN --# ifdef GDM_SETUP -- bonobo_ui_component_set_prop (popup_component, -- "/popups/button3/GdmSeparator", -- "hidden", "1", -- NULL); --# endif /* !GDM_SETUP */ -- bonobo_ui_component_set_prop (popup_component, -- "/commands/GdmUsersGroupsAdmin", -- "hidden", "1", -- NULL); --#endif /* !USERS_ADMIN */ -- } -- -- /* Hide the gdmphotosetup item if it can't be found in the path. */ -- tmp = g_find_program_in_path ("gnome-about-me"); -- if (!tmp) { -- bonobo_ui_component_set_prop (popup_component, -- "/commands/GdmAboutMe", -- "hidden", "1", -- NULL); -- } else { -- g_free (tmp); -- } -- -- g_signal_connect (adata->applet, -- "style-set", -- G_CALLBACK (applet_style_set_cb), adata); -- g_signal_connect (applet, -- "change-background", -- G_CALLBACK (applet_change_background_cb), adata); -- g_signal_connect (applet, -- "size-allocate", -- G_CALLBACK (applet_size_allocate_cb), adata); -- g_signal_connect (applet, -- "key-press-event", -- G_CALLBACK (applet_key_press_event_cb), adata); -- g_signal_connect_after (applet, -- "focus-in-event", -- G_CALLBACK (gtk_widget_queue_draw), NULL); -- g_signal_connect_after (applet, -- "focus-out-event", -- G_CALLBACK (gtk_widget_queue_draw), NULL); -- g_object_set_data_full (G_OBJECT (applet), -- "gdm-applet-data", -- adata, -- (GDestroyNotify) gdm_applet_data_free); -- -- adata->menubar = gtk_menu_bar_new (); -- gtk_widget_set_name (adata->menubar, "gdm-user-switch-menubar"); -- gtk_widget_set_can_focus (adata->menubar, TRUE); -- g_signal_connect (adata->menubar, "button-press-event", -- G_CALLBACK (menubar_button_press_event_cb), adata); -- g_signal_connect_after (adata->menubar, "expose-event", -- G_CALLBACK (menubar_expose_event_cb), adata); -- gtk_container_add (GTK_CONTAINER (applet), adata->menubar); -- gtk_widget_show (adata->menubar); -- -- adata->manager = gdm_user_manager_ref_default (); -- g_object_set (adata->manager, "include-all", TRUE, NULL); -- g_signal_connect (adata->manager, -- "notify::is-loaded", -- G_CALLBACK (on_manager_is_loaded_changed), -- adata); -- g_signal_connect (adata->manager, -- "notify::has-multiple-users", -- G_CALLBACK (on_manager_has_multiple_users_changed), -- adata); -- -- gdm_user_manager_queue_load (adata->manager); -- setup_current_user (adata); -- -- gconf_client_add_dir (adata->client, -- LOCKDOWN_DIR, -- GCONF_CLIENT_PRELOAD_ONELEVEL, -- NULL); -- -- adata->client_notify_lockdown_id = gconf_client_notify_add (adata->client, -- LOCKDOWN_DIR, -- (GConfClientNotifyFunc)client_notify_lockdown_func, -- adata, -- NULL, -- NULL); -- -- if (gconf_client_get_bool (adata->client, LOCKDOWN_USER_SWITCHING_KEY, NULL)) { -- set_menu_visibility (adata, FALSE); -- } else { -- set_menu_visibility (adata, TRUE); -- } -- if (gconf_client_get_bool (adata->client, LOCKDOWN_LOCK_SCREEN_KEY, NULL)) { -- gtk_widget_hide (adata->lock_screen_item); -- } else { -- gtk_widget_show (adata->lock_screen_item); -- } -- -- error = NULL; -- bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error); -- if (bus == NULL) { -- g_warning ("Unable to get session bus: %s", error->message); -- g_error_free (error); -- goto done; -- } -- --#ifdef BUILD_PRESENSE_STUFF -- adata->presence_proxy = dbus_g_proxy_new_for_name (bus, -- "org.gnome.SessionManager", -- "/org/gnome/SessionManager/Presence", -- "org.gnome.SessionManager.Presence"); -- if (adata->presence_proxy != NULL) { -- DBusGProxy *proxy; -- -- dbus_g_proxy_add_signal (adata->presence_proxy, -- "StatusChanged", -- G_TYPE_UINT, -- G_TYPE_INVALID); -- dbus_g_proxy_connect_signal (adata->presence_proxy, -- "StatusChanged", -- G_CALLBACK (on_presence_status_changed), -- adata, -- NULL); -- dbus_g_proxy_add_signal (adata->presence_proxy, -- "StatusTextChanged", -- G_TYPE_STRING, -- G_TYPE_INVALID); -- dbus_g_proxy_connect_signal (adata->presence_proxy, -- "StatusTextChanged", -- G_CALLBACK (on_presence_status_text_changed), -- adata, -- NULL); -- -- -- proxy = dbus_g_proxy_new_from_proxy (adata->presence_proxy, -- "org.freedesktop.DBus.Properties", -- "/org/gnome/SessionManager/Presence"); -- if (proxy != NULL) { -- guint status; -- const char *status_text; -- GValue value = { 0, }; -- -- status = 0; -- status_text = NULL; -- -- error = NULL; -- dbus_g_proxy_call (proxy, -- "Get", -- &error, -- G_TYPE_STRING, "org.gnome.SessionManager.Presence", -- G_TYPE_STRING, "status", -- G_TYPE_INVALID, -- G_TYPE_VALUE, &value, -- G_TYPE_INVALID); -- -- if (error != NULL) { -- g_warning ("Couldn't get presence status: %s", error->message); -- g_error_free (error); -- } else { -- status = g_value_get_uint (&value); -- } -- -- g_value_unset (&value); -- -- error = NULL; -- dbus_g_proxy_call (proxy, -- "Get", -- &error, -- G_TYPE_STRING, "org.gnome.SessionManager.Presence", -- G_TYPE_STRING, "status-text", -- G_TYPE_INVALID, -- G_TYPE_VALUE, &value, -- G_TYPE_INVALID); -- -- if (error != NULL) { -- g_warning ("Couldn't get presence status text: %s", error->message); -- g_error_free (error); -- } else { -- status_text = g_value_get_string (&value); -- } -- -- set_status (adata, status); -- set_status_text (adata, status_text); -- } -- } else { -- g_warning ("Failed to get session presence proxy"); -- } --#endif -- -- done: -- gtk_widget_show (GTK_WIDGET (adata->applet)); -- -- return TRUE; --} -- --static gboolean --applet_factory (PanelApplet *applet, -- const char *iid, -- gpointer data) --{ -- gboolean ret; -- ret = FALSE; -- if (strcmp (iid, "OAFIID:GNOME_FastUserSwitchApplet") == 0) { -- ret = fill_applet (applet); -- } -- return ret; --} -diff --git a/gui/user-switch-applet/gdm-entry-menu-item.c b/gui/user-switch-applet/gdm-entry-menu-item.c -deleted file mode 100644 -index d657e7a..0000000 ---- a/gui/user-switch-applet/gdm-entry-menu-item.c -+++ /dev/null -@@ -1,304 +0,0 @@ --/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- -- * -- * Copyright (C) 2008 Red Hat, Inc. -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 2 of the License, or -- * (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY 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, write to the Free Software -- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- */ -- --#include "config.h" -- --#include <unistd.h> --#include <sys/types.h> -- --#include <string.h> -- --#include <glib/gi18n.h> --#include <gtk/gtk.h> -- --#include "gdm-entry-menu-item.h" -- --/* same as twitter */ --#define TEXT_BUFFER_MAX_CHARS 64 -- --enum --{ -- PROP_0, --}; -- --struct _GdmEntryMenuItem --{ -- GtkMenuItem parent; -- -- GtkWidget *hbox; -- GtkWidget *image; -- GtkWidget *entry; --}; -- --struct _GdmEntryMenuItemClass --{ -- GtkMenuItemClass parent_class; --}; -- --G_DEFINE_TYPE (GdmEntryMenuItem, gdm_entry_menu_item, GTK_TYPE_MENU_ITEM) -- --static void --gdm_entry_menu_item_set_property (GObject *object, -- guint param_id, -- const GValue *value, -- GParamSpec *pspec) --{ -- GdmEntryMenuItem *item; -- -- item = GDM_ENTRY_MENU_ITEM (object); -- -- switch (param_id) { -- default: -- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); -- break; -- } --} -- --static void --gdm_entry_menu_item_get_property (GObject *object, -- guint param_id, -- GValue *value, -- GParamSpec *pspec) --{ -- GdmEntryMenuItem *item; -- -- item = GDM_ENTRY_MENU_ITEM (object); -- -- switch (param_id) { -- default: -- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); -- break; -- } --} -- --static void --gdm_entry_menu_item_dispose (GObject *object) --{ -- -- (*G_OBJECT_CLASS (gdm_entry_menu_item_parent_class)->dispose) (object); --} -- --static gboolean --gdm_entry_menu_item_button_release (GtkWidget *widget, -- GdkEventButton *event) --{ -- return TRUE; --} -- --/* Cut and paste from gtkwindow.c */ --static void --send_focus_change (GtkWidget *widget, -- gboolean in) --{ -- GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE); -- -- g_object_ref (widget); -- -- gtk_widget_set_can_focus (widget, in); -- -- fevent->focus_change.type = GDK_FOCUS_CHANGE; -- fevent->focus_change.window = g_object_ref (gtk_widget_get_window (widget)); -- fevent->focus_change.in = in; -- -- gtk_widget_event (widget, fevent); -- -- g_object_notify (G_OBJECT (widget), "has-focus"); -- -- g_object_unref (widget); -- gdk_event_free (fevent); --} -- --static gboolean --gdm_entry_menu_item_button_press (GtkWidget *widget, -- GdkEventButton *event) --{ -- GtkWidget *entry; -- -- entry = GDM_ENTRY_MENU_ITEM (widget)->entry; -- -- if (gtk_widget_get_window (entry) != NULL) { -- gdk_window_raise (gtk_widget_get_window (entry)); -- } -- -- if (!gtk_widget_has_focus (entry)) { -- gtk_widget_grab_focus (entry); -- } -- -- return FALSE; --} -- --static void --gdm_entry_menu_item_realize (GtkWidget *widget) --{ -- if (GTK_WIDGET_CLASS (gdm_entry_menu_item_parent_class)->realize) { -- GTK_WIDGET_CLASS (gdm_entry_menu_item_parent_class)->realize (widget); -- } --} -- --static void --gdm_entry_menu_item_select (GtkItem *item) --{ -- g_return_if_fail (GDM_IS_ENTRY_MENU_ITEM (item)); -- send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), TRUE); --} -- --static void --gdm_entry_menu_item_deselect (GtkItem *item) --{ -- g_return_if_fail (GDM_IS_ENTRY_MENU_ITEM (item)); -- -- send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), FALSE); --} -- --static void --gdm_entry_menu_item_class_init (GdmEntryMenuItemClass *klass) --{ -- GObjectClass *gobject_class; -- GtkWidgetClass *widget_class; -- GtkMenuItemClass *menu_item_class; -- GtkItemClass *item_class; -- -- gobject_class = G_OBJECT_CLASS (klass); -- widget_class = GTK_WIDGET_CLASS (klass); -- menu_item_class = GTK_MENU_ITEM_CLASS (klass); -- item_class = GTK_ITEM_CLASS (klass); -- -- gobject_class->set_property = gdm_entry_menu_item_set_property; -- gobject_class->get_property = gdm_entry_menu_item_get_property; -- gobject_class->dispose = gdm_entry_menu_item_dispose; -- -- widget_class->button_release_event = gdm_entry_menu_item_button_release; -- widget_class->button_press_event = gdm_entry_menu_item_button_press; -- widget_class->realize = gdm_entry_menu_item_realize; -- -- item_class->select = gdm_entry_menu_item_select; -- item_class->deselect = gdm_entry_menu_item_deselect; -- -- menu_item_class->hide_on_activate = FALSE; --} -- --static void --on_entry_show (GtkWidget *widget, -- GdmEntryMenuItem *item) --{ -- if (gtk_widget_get_window (widget) != NULL) { -- gdk_window_raise (gtk_widget_get_window (widget)); -- } -- send_focus_change (widget, TRUE); --} -- --static void --on_text_buffer_changed (GtkTextBuffer *buffer, -- GdmEntryMenuItem *item) --{ -- int len; -- -- len = gtk_text_buffer_get_char_count (buffer); -- if (len > TEXT_BUFFER_MAX_CHARS) { -- gdk_window_beep (gtk_widget_get_window (GTK_WIDGET (item))); -- } --} -- --static void --on_entry_move_focus (GtkWidget *widget, -- GtkDirectionType direction, -- GdmEntryMenuItem *item) --{ -- g_debug ("focus move"); -- send_focus_change (GTK_WIDGET (GDM_ENTRY_MENU_ITEM (item)->entry), FALSE); -- g_signal_emit_by_name (item, -- "move-focus", -- GTK_DIR_TAB_FORWARD); --} -- --static void --gdm_entry_menu_item_init (GdmEntryMenuItem *item) --{ -- PangoFontDescription *fontdesc; -- PangoFontMetrics *metrics; -- PangoContext *context; -- PangoLanguage *lang; -- int ascent; -- GtkTextBuffer *buffer; -- -- item->hbox = gtk_hbox_new (FALSE, 6); -- gtk_container_add (GTK_CONTAINER (item), item->hbox); -- -- item->image = gtk_image_new (); -- gtk_box_pack_start (GTK_BOX (item->hbox), item->image, FALSE, FALSE, 0); -- -- item->entry = gtk_text_view_new (); -- gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (item->entry), FALSE); -- gtk_text_view_set_editable (GTK_TEXT_VIEW (item->entry), TRUE); -- gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (item->entry), -- GTK_WRAP_WORD); -- g_signal_connect (item->entry, -- "show", -- G_CALLBACK (on_entry_show), -- item); -- g_signal_connect (item->entry, -- "move-focus", -- G_CALLBACK (on_entry_move_focus), -- item); -- -- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (item->entry)); -- g_signal_connect (buffer, -- "changed", -- G_CALLBACK (on_text_buffer_changed), -- item); -- -- /* get the font ascent for the current font and language */ -- context = gtk_widget_get_pango_context (item->entry); -- fontdesc = pango_context_get_font_description (context); -- lang = pango_context_get_language (context); -- metrics = pango_context_get_metrics (context, fontdesc, lang); -- ascent = pango_font_metrics_get_ascent (metrics) * 1.5 / PANGO_SCALE; -- pango_font_metrics_unref (metrics); -- -- /* size our progress bar to be five ascents long */ -- gtk_widget_set_size_request (item->entry, ascent * 5, -1); -- -- gtk_box_pack_start (GTK_BOX (item->hbox), item->entry, TRUE, TRUE, 0); -- -- gtk_widget_show (item->hbox); -- gtk_widget_show (item->image); -- gtk_widget_show (item->entry); --} -- --GtkWidget * --gdm_entry_menu_item_new (void) --{ -- return g_object_new (GDM_TYPE_ENTRY_MENU_ITEM, NULL); --} -- --GtkWidget * --gdm_entry_menu_item_get_entry (GdmEntryMenuItem *item) --{ -- g_return_val_if_fail (GDM_IS_ENTRY_MENU_ITEM (item), NULL); -- -- return item->entry; --} -- --GtkWidget * --gdm_entry_menu_item_get_image (GdmEntryMenuItem *item) --{ -- g_return_val_if_fail (GDM_IS_ENTRY_MENU_ITEM (item), NULL); -- -- return item->image; --} -diff --git a/gui/user-switch-applet/gdm-entry-menu-item.h b/gui/user-switch-applet/gdm-entry-menu-item.h -deleted file mode 100644 -index 3031609..0000000 ---- a/gui/user-switch-applet/gdm-entry-menu-item.h -+++ /dev/null -@@ -1,51 +0,0 @@ --/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- -- * -- * Copyright (C) 2004-2005 James M. Cape <jcape@ignore-your.tv>. -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 2 of the License, or -- * (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY 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, write to the Free Software -- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- */ -- --#ifndef __GDM_ENTRY_MENU_ITEM__ --#define __GDM_ENTRY_MENU_ITEM__ -- --#include <gtk/gtk.h> -- --G_BEGIN_DECLS -- --#define GDM_TYPE_ENTRY_MENU_ITEM \ -- (gdm_entry_menu_item_get_type ()) --#define GDM_ENTRY_MENU_ITEM(object) \ -- (G_TYPE_CHECK_INSTANCE_CAST ((object), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItem)) --#define GDM_ENTRY_MENU_ITEM_CLASS(klass) \ -- (G_TYPE_CHECK_CLASS_CAST ((klass), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItemClass)) --#define GDM_IS_ENTRY_MENU_ITEM(object) \ -- (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDM_TYPE_ENTRY_MENU_ITEM)) --#define GDM_IS_ENTRY_MENU_ITEM_CLASS(klass) \ -- (G_TYPE_CHECK_CLASS_TYPE ((klass), GDM_TYPE_ENTRY_MENU_ITEM)) --#define GDM_ENTRY_MENU_ITEM_GET_CLASS(object) \ -- (G_TYPE_INSTANCE_GET_CLASS ((object), GDM_TYPE_ENTRY_MENU_ITEM, GdmEntryMenuItemClass)) -- --typedef struct _GdmEntryMenuItem GdmEntryMenuItem; --typedef struct _GdmEntryMenuItemClass GdmEntryMenuItemClass; -- --GType gdm_entry_menu_item_get_type (void) G_GNUC_CONST; -- --GtkWidget *gdm_entry_menu_item_new (void); --GtkWidget *gdm_entry_menu_item_get_entry (GdmEntryMenuItem *item); --GtkWidget *gdm_entry_menu_item_get_image (GdmEntryMenuItem *item); -- --G_END_DECLS -- --#endif /* __GDM_ENTRY_MENU_ITEM__ */ -diff --git a/po/POTFILES.in b/po/POTFILES.in -index 1fccb90..cc1a3fd 100644 ---- a/po/POTFILES.in -+++ b/po/POTFILES.in -@@ -84,10 +84,6 @@ gui/simple-greeter/gdm-timer.c - gui/simple-greeter/gdm-user.c - gui/simple-greeter/gdm-user-chooser-widget.c - gui/simple-greeter/greeter-main.c --gui/user-switch-applet/applet.c --gui/user-switch-applet/gdm-entry-menu-item.c --gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in --gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml - utils/gdmflexiserver.c - utils/gdm-screenshot.c - -diff --git a/po/POTFILES.skip b/po/POTFILES.skip -index 0269a0f..ee3d753 100644 ---- a/po/POTFILES.skip -+++ b/po/POTFILES.skip -@@ -7,7 +7,6 @@ - # remove these unless you fix "make distcheck" a different way. - # - data/gdm.schemas.in --gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in - data/greeter-autostart/at-spi-registryd-wrapper.desktop.in - data/greeter-autostart/gdm-simple-greeter.desktop.in - data/greeter-autostart/gnome-power-manager.desktop.in --- -1.6.6.1 - |