Updating branch refs/heads/master to e632fe399491128e85b3b68d83e8e56ed28ad60e (commit) from e020399f0484e03dabca0a0409bc3a1d26a8ba69 (commit)
commit e632fe399491128e85b3b68d83e8e56ed28ad60e Author: Nick Schermer <n...@xfce.org> Date: Wed Feb 9 18:52:11 2011 +0100 Cleanup atk set function handling a bit. common/panel-utils.c | 34 +++++++++++++++++++++++++++++++++ common/panel-utils.h | 4 +++ plugins/actions/actions.c | 16 ++++---------- plugins/directorymenu/directorymenu.c | 8 +------ plugins/launcher/launcher.c | 22 ++++---------------- plugins/showdesktop/Makefile.am | 4 ++- plugins/showdesktop/showdesktop.c | 10 +------- 7 files changed, 54 insertions(+), 44 deletions(-) diff --git a/common/panel-utils.c b/common/panel-utils.c index 817615c..dbb99d9 100644 --- a/common/panel-utils.c +++ b/common/panel-utils.c @@ -225,3 +225,37 @@ panel_utils_grab_available (void) return grab_succeed; } + + + +void +panel_utils_set_atk_info (GtkWidget *widget, + const gchar *name, + const gchar *description) +{ + static gboolean initialized = FALSE; + static gboolean atk_enabled = TRUE; + AtkObject *object; + + panel_return_if_fail (GTK_IS_WIDGET (widget)); + + if (atk_enabled) + { + object = gtk_widget_get_accessible (widget); + + if (!initialized) + { + initialized = TRUE; + atk_enabled = GTK_IS_ACCESSIBLE (object); + + if (!atk_enabled) + return; + } + + if (name != NULL) + atk_object_set_name (object, name); + + if (description != NULL) + atk_object_set_description (object, description); + } +} diff --git a/common/panel-utils.h b/common/panel-utils.h index 56e598f..70cbd3d 100644 --- a/common/panel-utils.h +++ b/common/panel-utils.h @@ -38,4 +38,8 @@ void panel_utils_show_help (GtkWindow *parent, gboolean panel_utils_grab_available (void); +void panel_utils_set_atk_info (GtkWidget *widget, + const gchar *name, + const gchar *description); + #endif /* !__PANEL_BUILDER_H__ */ diff --git a/plugins/actions/actions.c b/plugins/actions/actions.c index f905851..4657fd7 100644 --- a/plugins/actions/actions.c +++ b/plugins/actions/actions.c @@ -164,7 +164,6 @@ actions_plugin_init (ActionsPlugin *plugin) { GtkWidget *widget; ActionEntry *entry = &action_entries[ACTION_LOG_OUT_DIALOG]; - AtkObject *atkobj; plugin->first_action = ACTION_LOG_OUT_DIALOG; plugin->second_action = ACTION_DISABLED; @@ -181,9 +180,7 @@ actions_plugin_init (ActionsPlugin *plugin) xfce_panel_plugin_add_action_widget (XFCE_PANEL_PLUGIN (plugin), widget); gtk_widget_show (widget); - atkobj = gtk_widget_get_accessible (widget); - if (atkobj != NULL) - atk_object_set_name (atkobj, _(entry->title)); + panel_utils_set_atk_info (widget, _(entry->title), NULL); plugin->first_image = xfce_panel_image_new_from_source (entry->icon_name); gtk_container_add (GTK_CONTAINER (widget), plugin->first_image); @@ -237,7 +234,6 @@ actions_plugin_set_property (GObject *object, { ActionsPlugin *plugin = XFCE_ACTIONS_PLUGIN (object); ActionType action; - AtkObject *atkobj; switch (prop_id) { @@ -250,9 +246,8 @@ actions_plugin_set_property (GObject *object, XFCE_PANEL_IMAGE (plugin->first_image), action_entries[action].icon_name); - atkobj = gtk_widget_get_accessible (plugin->first_button); - if (atkobj != NULL) - atk_object_set_name (atkobj, _(action_entries[action].title)); + panel_utils_set_atk_info (plugin->first_button, + _(action_entries[action].title), NULL); break; case PROP_SECOND_ACTION: @@ -273,9 +268,8 @@ actions_plugin_set_property (GObject *object, XFCE_PANEL_IMAGE (plugin->second_image), action_entries[action].icon_name); - atkobj = gtk_widget_get_accessible (plugin->second_button); - if (atkobj != NULL) - atk_object_set_name (atkobj, _(action_entries[action].title)); + panel_utils_set_atk_info (plugin->second_button, + _(action_entries[action].title), NULL); } /* update plugin size */ diff --git a/plugins/directorymenu/directorymenu.c b/plugins/directorymenu/directorymenu.c index 229a340..effa5f0 100644 --- a/plugins/directorymenu/directorymenu.c +++ b/plugins/directorymenu/directorymenu.c @@ -226,7 +226,6 @@ directory_menu_plugin_set_property (GObject *object, guint i; GFile *base_directory; const gchar *path; - AtkObject *atkobj; switch (prop_id) { @@ -244,12 +243,7 @@ directory_menu_plugin_set_property (GObject *object, display_name = g_file_get_parse_name (plugin->base_directory); gtk_widget_set_tooltip_text (plugin->button, display_name); - atkobj = gtk_widget_get_accessible (plugin->button); - if (atkobj != NULL) - { - atk_object_set_name (atkobj, _("Directory Menu")); - atk_object_set_description (atkobj, display_name); - } + panel_utils_set_atk_info (plugin->button, _("Directory Menu"), display_name); g_free (display_name); break; diff --git a/plugins/launcher/launcher.c b/plugins/launcher/launcher.c index 272b5a7..226d63a 100644 --- a/plugins/launcher/launcher.c +++ b/plugins/launcher/launcher.c @@ -34,6 +34,7 @@ #include <libxfce4panel/libxfce4panel.h> #include <common/panel-private.h> #include <common/panel-xfconf.h> +#include <common/panel-utils.h> #include "launcher.h" #include "launcher-dialog.h" @@ -341,7 +342,6 @@ static void launcher_plugin_init (LauncherPlugin *plugin) { GtkIconTheme *icon_theme; - AtkObject *atkobj; plugin->disable_tooltips = FALSE; plugin->move_first = FALSE; @@ -402,9 +402,7 @@ launcher_plugin_init (LauncherPlugin *plugin) g_signal_connect (G_OBJECT (plugin->arrow), "drag-leave", G_CALLBACK (launcher_plugin_arrow_drag_leave), plugin); - atkobj = gtk_widget_get_accessible (plugin->arrow); - if (atkobj != NULL) - atk_object_set_name (atkobj, _("Open launcher menu")); + panel_utils_set_atk_info (plugin->arrow, _("Open launcher menu"), NULL); /* accept all sorts of drag data, but filter in drag-drop, so we can * send other sorts of drops to parent widgets */ @@ -1678,8 +1676,6 @@ launcher_plugin_button_update (LauncherPlugin *plugin) { GarconMenuItem *item = NULL; const gchar *icon_name; - AtkObject *atkobj; - const gchar *text; panel_return_if_fail (XFCE_IS_LAUNCHER_PLUGIN (plugin)); @@ -1708,17 +1704,9 @@ launcher_plugin_button_update (LauncherPlugin *plugin) xfce_panel_image_set_from_source (XFCE_PANEL_IMAGE (plugin->child), exo_str_is_empty (icon_name) ? GTK_STOCK_MISSING_IMAGE : icon_name); - atkobj = gtk_widget_get_accessible (plugin->button); - if (atkobj != NULL) - { - text = garcon_menu_item_get_name (item); - if (text != NULL) - atk_object_set_name (atkobj, text); - - text = garcon_menu_item_get_comment (item); - if (text != NULL) - atk_object_set_description (atkobj, text); - } + panel_utils_set_atk_info (plugin->button, + garcon_menu_item_get_name (item), + garcon_menu_item_get_comment (item)); } else { diff --git a/plugins/showdesktop/Makefile.am b/plugins/showdesktop/Makefile.am index c166d47..37c6f74 100644 --- a/plugins/showdesktop/Makefile.am +++ b/plugins/showdesktop/Makefile.am @@ -29,12 +29,14 @@ libshowdesktop_la_LDFLAGS = \ libshowdesktop_la_LIBADD = \ $(top_builddir)/libxfce4panel/libxfce4panel-$(LIBXFCE4PANEL_VERSION_API).la \ + $(top_builddir)/common/libpanel-common.la \ $(GTK_LIBS) \ $(LIBXFCE4UTIL_LIBS) \ $(LIBWNCK_LIBS) libshowdesktop_la_DEPENDENCIES = \ - $(top_builddir)/libxfce4panel/libxfce4panel-$(LIBXFCE4PANEL_VERSION_API).la + $(top_builddir)/libxfce4panel/libxfce4panel-$(LIBXFCE4PANEL_VERSION_API).la \ + $(top_builddir)/common/libpanel-common.la # # .desktop file diff --git a/plugins/showdesktop/showdesktop.c b/plugins/showdesktop/showdesktop.c index 2d663af..704691e 100644 --- a/plugins/showdesktop/showdesktop.c +++ b/plugins/showdesktop/showdesktop.c @@ -23,6 +23,7 @@ #include <libxfce4util/libxfce4util.h> #include <common/panel-private.h> +#include <common/panel-utils.h> #include "showdesktop.h" @@ -178,7 +179,6 @@ show_desktop_plugin_toggled (GtkToggleButton *button, ShowDesktopPlugin *plugin) { gboolean active; - AtkObject *atkobj; const gchar *text; panel_return_if_fail (XFCE_IS_SHOW_DESKTOP_PLUGIN (plugin)); @@ -196,13 +196,7 @@ show_desktop_plugin_toggled (GtkToggleButton *button, text = _("Minimize all open windows and show the desktop"); gtk_widget_set_tooltip_text (GTK_WIDGET (button), text); - - atkobj = gtk_widget_get_accessible (GTK_WIDGET (button)); - if (atkobj != NULL) - { - atk_object_set_name (atkobj, _("Show Desktop")); - atk_object_set_description (atkobj, text); - } + panel_utils_set_atk_info (GTK_WIDGET (button), _("Show Desktop"), text); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits