[Xfce4-commits] r25125 - in xfce4-panel/branches/xfce_4_4: . libxfce4panel
Nick Schermer
nick at xfce.org
Wed Mar 7 19:25:07 CET 2007
Author: nick
Date: 2007-03-07 18:25:07 +0000 (Wed, 07 Mar 2007)
New Revision: 25125
Modified:
xfce4-panel/branches/xfce_4_4/NEWS
xfce4-panel/branches/xfce_4_4/libxfce4panel/xfce-panel-plugin-iface.c
Log:
Completely hide the right-click menu when kiosk mode is enabled (Bug #2984).
Modified: xfce4-panel/branches/xfce_4_4/NEWS
===================================================================
--- xfce4-panel/branches/xfce_4_4/NEWS 2007-03-06 21:52:08 UTC (rev 25124)
+++ xfce4-panel/branches/xfce_4_4/NEWS 2007-03-07 18:25:07 UTC (rev 25125)
@@ -1,6 +1,10 @@
NEWS for xfce4-panel
====================
+4.4.1
+=====
+- Completely hide the right-click menu when kiosk mode is enabled (Bug #2984).
+
4.4.0
=====
- Many fixes when using the panel in a multiscreen setup (Jasper, Nick)
Modified: xfce4-panel/branches/xfce_4_4/libxfce4panel/xfce-panel-plugin-iface.c
===================================================================
--- xfce4-panel/branches/xfce_4_4/libxfce4panel/xfce-panel-plugin-iface.c 2007-03-06 21:52:08 UTC (rev 25124)
+++ xfce4-panel/branches/xfce_4_4/libxfce4panel/xfce-panel-plugin-iface.c 2007-03-07 18:25:07 UTC (rev 25125)
@@ -5,7 +5,7 @@
* Copyright © 2005 Jasper Huijsmans <jasper at xfce.org>
*
* This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Library General Public License as published
+ * it under the terms of the GNU Library General Public License as published
* by the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
@@ -56,12 +56,12 @@
if (!initialized)
{
GType ptypes[1];
-
+
/* signals (note: there are no class closures here) */
/* screen position */
ptypes[0] = XFCE_TYPE_SCREEN_POSITION;
-
+
/**
* XfcePanelPlugin::screen-position-changed
* @plugin : a #XfcePanelPlugin widget
@@ -73,15 +73,15 @@
xfce_panel_plugin_signals [SCREEN_POSITION_CHANGED] =
g_signal_newv ("screen-position-changed",
XFCE_TYPE_PANEL_PLUGIN,
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
G_SIGNAL_NO_HOOKS,
NULL, NULL, NULL,
- g_cclosure_marshal_VOID__ENUM,
+ g_cclosure_marshal_VOID__ENUM,
G_TYPE_NONE, 1, ptypes);
/* orientation */
ptypes[0] = GTK_TYPE_ORIENTATION;
-
+
/**
* XfcePanelPlugin::orientation-changed
* @plugin : a #XfcePanelPlugin widget
@@ -92,35 +92,35 @@
xfce_panel_plugin_signals [ORIENTATION_CHANGED] =
g_signal_newv ("orientation-changed",
XFCE_TYPE_PANEL_PLUGIN,
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
G_SIGNAL_NO_HOOKS,
NULL, NULL, NULL,
- g_cclosure_marshal_VOID__ENUM,
+ g_cclosure_marshal_VOID__ENUM,
G_TYPE_NONE, 1, ptypes);
/* size */
ptypes[0] = G_TYPE_INT;
-
+
/**
* XfcePanelPlugin::size-changed
* @plugin : a #XfcePanelPlugin widget
* @size : new panel size
*
- * Emitted when the panel size changes. By default a plugin will
- * get a geometry of @size x @size. This means that a plugin writer
+ * Emitted when the panel size changes. By default a plugin will
+ * get a geometry of @size x @size. This means that a plugin writer
* must handle this signal for any other behavior, even to 'do nothing'.
*
* Return value: A callback function should return %TRUE when the signal
- * is handled and %FALSE otherwise, in which case the
+ * is handled and %FALSE otherwise, in which case the
* default handler will run.
**/
xfce_panel_plugin_signals [SIZE_CHANGED] =
g_signal_newv ("size-changed",
XFCE_TYPE_PANEL_PLUGIN,
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
G_SIGNAL_NO_HOOKS,
NULL, g_signal_accumulator_true_handled, NULL,
- _xfce_marshal_BOOLEAN__INT,
+ _xfce_marshal_BOOLEAN__INT,
G_TYPE_BOOLEAN, 1, ptypes);
/**
@@ -135,10 +135,10 @@
xfce_panel_plugin_signals [FREE_DATA] =
g_signal_newv ("free-data",
XFCE_TYPE_PANEL_PLUGIN,
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
G_SIGNAL_NO_HOOKS,
NULL, NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
+ g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0, NULL);
/**
@@ -147,24 +147,24 @@
*
* Emitted before the panel is closing. May be called more than once
* while the panel is running. Plugin writers should connect to
- * this signal to save the plugins configuration.
+ * this signal to save the plugins configuration.
*
* See also: xfce_panel_plugin_get_rc_file()
**/
xfce_panel_plugin_signals [SAVE] =
g_signal_newv ("save",
XFCE_TYPE_PANEL_PLUGIN,
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
G_SIGNAL_NO_HOOKS,
NULL, NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
+ g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0, NULL);
/**
* XfcePanelPlugin::about
* @plugin : a #XfcePanelPlugin widget
*
- * Emitted when the 'About' menu item is clicked. Plugin writers
+ * Emitted when the 'About' menu item is clicked. Plugin writers
* should connect to this signal to show information about their
* plugin (and its authors).
*
@@ -173,17 +173,17 @@
xfce_panel_plugin_signals [ABOUT] =
g_signal_newv ("about",
XFCE_TYPE_PANEL_PLUGIN,
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
G_SIGNAL_NO_HOOKS,
NULL, NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
+ g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0, NULL);
/**
* XfcePanelPlugin::configure-plugin
* @plugin : a #XfcePanelPlugin widget
*
- * Emitted when the 'Configure' menu item is clicked. Plugin writers
+ * Emitted when the 'Configure' menu item is clicked. Plugin writers
* should connect to this signal to show a settings dialog.
*
* See also: xfce_panel_plugin_menu_show_configure()
@@ -191,67 +191,67 @@
xfce_panel_plugin_signals [CONFIGURE] =
g_signal_newv ("configure-plugin",
XFCE_TYPE_PANEL_PLUGIN,
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE |
G_SIGNAL_NO_HOOKS,
NULL, NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
+ g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0, NULL);
/* properties */
/**
* XfcePanelPlugin:name
- *
- * Untranslated plugin name. This identifies the plugin type and
+ *
+ * Untranslated plugin name. This identifies the plugin type and
* therefore has to be unique.
**/
- g_object_interface_install_property (g_class,
- g_param_spec_string ("name",
+ g_object_interface_install_property (g_class,
+ g_param_spec_string ("name",
"xfce_panel_plugin_name",
"Plugin name",
NULL, G_PARAM_READABLE));
/**
* XfcePanelPlugin:id
- *
+ *
* Unique identifier string created for every #XfcePanelPlugin instance.
**/
- g_object_interface_install_property (g_class,
- g_param_spec_string ("id",
+ g_object_interface_install_property (g_class,
+ g_param_spec_string ("id",
"xfce_panel_plugin_id",
"Plugin id",
NULL, G_PARAM_READABLE));
/**
* XfcePanelPlugin:display-name
- *
+ *
* Translated plugin name. This is the name that can be presented to
* the user, e.g. in dialogs or menus.
**/
- g_object_interface_install_property (g_class,
- g_param_spec_string ("display-name",
+ g_object_interface_install_property (g_class,
+ g_param_spec_string ("display-name",
"xfce_panel_plugin_display_name",
"Plugin display name",
NULL, G_PARAM_READABLE));
/**
* XfcePanelPlugin:size
- *
+ *
* The current panel size.
**/
- g_object_interface_install_property (g_class,
- g_param_spec_int ("size",
+ g_object_interface_install_property (g_class,
+ g_param_spec_int ("size",
"xfce_panel_plugin_size",
"Panel size",
10, 128, 32, G_PARAM_READABLE));
/**
* XfcePanelPlugin:screen-position
- *
+ *
* The current #XfceScreenPosition of the panel.
**/
- g_object_interface_install_property (g_class,
- g_param_spec_enum ("screen-position",
+ g_object_interface_install_property (g_class,
+ g_param_spec_enum ("screen-position",
"xfce_panel_plugin_screen_position",
"Panel screen position",
XFCE_TYPE_SCREEN_POSITION,
@@ -260,11 +260,11 @@
/**
* XfcePanelPlugin:expand
- *
+ *
* Whether to expand the plugin when the panel width increases.
**/
- g_object_interface_install_property (g_class,
- g_param_spec_boolean ("expand",
+ g_object_interface_install_property (g_class,
+ g_param_spec_boolean ("expand",
"xfce_panel_plugin_expand",
"Whether to expand the plugin",
FALSE, G_PARAM_READWRITE));
@@ -280,7 +280,7 @@
if (type == 0)
{
- static const GTypeInfo info =
+ static const GTypeInfo info =
{
sizeof (XfcePanelPluginInterface),
xfce_panel_plugin_base_init, /* base_init */
@@ -293,12 +293,12 @@
NULL, /* instance_init */
NULL
};
- type = g_type_register_static (G_TYPE_INTERFACE, "XfcePanelPlugin",
+ type = g_type_register_static (G_TYPE_INTERFACE, "XfcePanelPlugin",
&info, 0);
g_type_interface_add_prerequisite(type, GTK_TYPE_CONTAINER);
}
-
+
return type;
}
@@ -319,7 +319,7 @@
{
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
- g_signal_emit (plugin, xfce_panel_plugin_signals[SCREEN_POSITION_CHANGED],
+ g_signal_emit (plugin, xfce_panel_plugin_signals[SCREEN_POSITION_CHANGED],
0, position);
}
@@ -336,7 +336,7 @@
{
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
- g_signal_emit (plugin, xfce_panel_plugin_signals[ORIENTATION_CHANGED], 0,
+ g_signal_emit (plugin, xfce_panel_plugin_signals[ORIENTATION_CHANGED], 0,
orientation);
}
@@ -347,14 +347,14 @@
*
* Should be called by implementations of the interface.
**/
-void
+void
xfce_panel_plugin_signal_size (XfcePanelPlugin * plugin, int size)
{
gboolean handled = FALSE;
-
+
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
- g_signal_emit (plugin, xfce_panel_plugin_signals[SIZE_CHANGED], 0,
+ g_signal_emit (plugin, xfce_panel_plugin_signals[SIZE_CHANGED], 0,
size, &handled);
if (!handled)
@@ -369,7 +369,7 @@
*
* Should be called by implementations of the interface.
**/
-void
+void
xfce_panel_plugin_signal_free_data (XfcePanelPlugin * plugin)
{
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
@@ -383,7 +383,7 @@
*
* Should be called by implementations of the interface.
**/
-void
+void
xfce_panel_plugin_signal_save (XfcePanelPlugin * plugin)
{
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
@@ -397,7 +397,7 @@
*
* Should be called by implementations of the interface.
**/
-static void
+static void
xfce_panel_plugin_signal_about (XfcePanelPlugin * plugin)
{
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
@@ -411,7 +411,7 @@
*
* Should be called by implementations of the interface.
**/
-void
+void
xfce_panel_plugin_signal_configure (XfcePanelPlugin * plugin)
{
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
@@ -427,14 +427,14 @@
* @plugin : an #XfcePanelPlugin
*
* The plugin name identifies a plugin type and therefore must be unique.
- *
+ *
* Returns: the plugin name.
**/
gchar *
xfce_panel_plugin_get_name (XfcePanelPlugin *plugin)
{
gchar *name = NULL;
-
+
g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), NULL);
g_object_get (G_OBJECT (plugin), "name", &name, NULL);
@@ -455,7 +455,7 @@
xfce_panel_plugin_get_id (XfcePanelPlugin *plugin)
{
gchar *id = NULL;
-
+
g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), NULL);
g_object_get (G_OBJECT (plugin), "id", &id, NULL);
@@ -476,7 +476,7 @@
xfce_panel_plugin_get_display_name (XfcePanelPlugin *plugin)
{
gchar *name = NULL;
-
+
g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), NULL);
g_object_get (G_OBJECT (plugin), "display-name", &name, NULL);
@@ -490,11 +490,11 @@
*
* Returns: the current panel size.
**/
-int
+int
xfce_panel_plugin_get_size (XfcePanelPlugin *plugin)
{
int size;
-
+
g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), 48);
g_object_get (G_OBJECT (plugin), "size", &size, NULL);
@@ -508,15 +508,15 @@
*
* Returns: the current #XfceScreenPosition of the panel.
**/
-XfceScreenPosition
+XfceScreenPosition
xfce_panel_plugin_get_screen_position (XfcePanelPlugin *plugin)
{
XfceScreenPosition screen_position;
-
- g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin),
+
+ g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin),
XFCE_SCREEN_POSITION_S);
- g_object_get (G_OBJECT (plugin), "screen-position", &screen_position,
+ g_object_get (G_OBJECT (plugin), "screen-position", &screen_position,
NULL);
return screen_position;
@@ -528,11 +528,11 @@
*
* Returns: whether the plugin will expand when the panel width increases.
**/
-gboolean
+gboolean
xfce_panel_plugin_get_expand (XfcePanelPlugin *plugin)
{
gboolean expand;
-
+
g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin), FALSE);
g_object_get (G_OBJECT (plugin), "expand", &expand, NULL);
@@ -552,11 +552,11 @@
xfce_panel_plugin_get_orientation (XfcePanelPlugin *plugin)
{
XfceScreenPosition screen_position;
-
- g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin),
+
+ g_return_val_if_fail (XFCE_IS_PANEL_PLUGIN (plugin),
GTK_ORIENTATION_HORIZONTAL);
- g_object_get (G_OBJECT (plugin), "screen-position", &screen_position,
+ g_object_get (G_OBJECT (plugin), "screen-position", &screen_position,
NULL);
return xfce_screen_position_get_orientation (screen_position);
@@ -583,13 +583,13 @@
GTK_BUTTONS_NONE,
_("Remove \"%s\"?"), name);
- gtk_dialog_add_buttons (GTK_DIALOG (dialog),
+ gtk_dialog_add_buttons (GTK_DIALOG (dialog),
GTK_STOCK_CANCEL, GTK_RESPONSE_NO,
GTK_STOCK_REMOVE, GTK_RESPONSE_YES,
NULL);
g_free (name);
-
+
gtk_window_set_screen (GTK_WINDOW (dialog),
gtk_widget_get_screen (GTK_WIDGET (plugin)));
@@ -615,7 +615,7 @@
*
* Remove the plugin from the panel.
**/
-void
+void
xfce_panel_plugin_remove (XfcePanelPlugin *plugin)
{
XFCE_PANEL_PLUGIN_GET_INTERFACE (plugin)->remove (plugin);
@@ -628,7 +628,7 @@
*
* Sets whether to expand the plugin when the width of the panel increases.
**/
-void
+void
xfce_panel_plugin_set_expand (XfcePanelPlugin *plugin, gboolean expand)
{
XFCE_PANEL_PLUGIN_GET_INTERFACE (plugin)->set_expand (plugin, expand);
@@ -640,7 +640,7 @@
*
* Ask the panel to show the settings dialog.
**/
-void
+void
xfce_panel_plugin_customize_panel (XfcePanelPlugin *plugin)
{
XFCE_PANEL_PLUGIN_GET_INTERFACE (plugin)->customize_panel (plugin);
@@ -652,7 +652,7 @@
*
* Ask the panel to show the settings dialog, with the 'Add Items' tab shown.
**/
-void
+void
xfce_panel_plugin_customize_items (XfcePanelPlugin *plugin)
{
XFCE_PANEL_PLUGIN_GET_INTERFACE (plugin)->customize_items (plugin);
@@ -692,11 +692,11 @@
* Grab the focus on @widget. Asks the panel to allow focus on its items and
* set the focus to the requested widget.
**/
-void
+void
xfce_panel_plugin_focus_widget (XfcePanelPlugin *plugin, GtkWidget *widget)
{
XFCE_PANEL_PLUGIN_GET_INTERFACE (plugin)->focus_panel (plugin);
-
+
gtk_widget_grab_focus (widget);
}
@@ -718,28 +718,28 @@
static void
_plugin_menu_deactivate (GtkWidget *menu)
{
- int id = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu),
+ int id = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu),
"xfce-panel-plugin-button-release-callback"));
if (id)
{
g_signal_handler_disconnect (menu, id);
- g_object_set_data (G_OBJECT (menu),
+ g_object_set_data (G_OBJECT (menu),
"xfce-panel-plugin-button-release-callback", NULL);
}
}
static gboolean
-_plugin_menu_button_released (GtkWidget *menu, GdkEventButton *ev,
+_plugin_menu_button_released (GtkWidget *menu, GdkEventButton *ev,
XfcePanelPlugin *plugin)
{
- int id = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu),
+ int id = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (menu),
"xfce-panel-plugin-button-release-callback"));
if (id)
{
g_signal_handler_disconnect (menu, id);
- g_object_set_data (G_OBJECT (menu),
+ g_object_set_data (G_OBJECT (menu),
"xfce-panel-plugin-button-release-callback", NULL);
return TRUE;
}
@@ -759,13 +759,13 @@
GtkWidget *menu, *mi, *img;
int insert_position;
int configure_position;
- gboolean allow_customization;
gchar *name;
-
-
+
+ /* just quit when the user is not allowed to edit the menu */
g_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin));
- allow_customization = xfce_allow_panel_customization ();
+ if (G_UNLIKELY (xfce_allow_panel_customization () == FALSE))
+ return;
xfce_textdomain (GETTEXT_PACKAGE, LOCALEDIR, "UTF-8");
@@ -778,13 +778,13 @@
gtk_widget_set_sensitive (mi, FALSE);
gtk_widget_show (mi);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
+
mi = gtk_separator_menu_item_new ();
gtk_widget_show (mi);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
+
/* configure, hide by default */
-
+
mi = gtk_image_menu_item_new_with_label (_("Properties"));
gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
@@ -792,15 +792,15 @@
gtk_widget_show (img);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (xfce_panel_plugin_signal_configure),
+ g_signal_connect_swapped (mi, "activate",
+ G_CALLBACK (xfce_panel_plugin_signal_configure),
plugin);
configure_position = 2;
- g_object_set_data (G_OBJECT (plugin),
- "xfce-panel-plugin-configure-position",
+ g_object_set_data (G_OBJECT (plugin),
+ "xfce-panel-plugin-configure-position",
GINT_TO_POINTER (configure_position));
-
+
/* about item, hide by default */
mi = gtk_image_menu_item_new_with_label (_("About"));
gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
@@ -809,88 +809,80 @@
gtk_widget_show (img);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (xfce_panel_plugin_signal_about),
+ g_signal_connect_swapped (mi, "activate",
+ G_CALLBACK (xfce_panel_plugin_signal_about),
plugin);
/* move */
- if (allow_customization)
- {
- mi = gtk_image_menu_item_new_with_label (_("Move"));
- gtk_widget_show (mi);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
- img = gtk_image_new_from_stock (GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_MENU);
- gtk_widget_show (img);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
+ mi = gtk_image_menu_item_new_with_label (_("Move"));
+ gtk_widget_show (mi);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (xfce_panel_plugin_move),
- plugin);
+ img = gtk_image_new_from_stock (GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_MENU);
+ gtk_widget_show (img);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
- /* insert custom items after move */
- insert_position = 5;
-
- /* remove */
- mi = gtk_separator_menu_item_new();
- gtk_widget_show (mi);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
+ g_signal_connect_swapped (mi, "activate",
+ G_CALLBACK (xfce_panel_plugin_move),
+ plugin);
- mi = gtk_image_menu_item_new_with_label (_("Remove"));
- gtk_widget_show (mi);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
- img = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU);
- gtk_widget_show (img);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
+ /* insert custom items after move */
+ insert_position = 5;
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (xfce_panel_plugin_remove_confirm),
- plugin);
+ /* remove */
+ mi = gtk_separator_menu_item_new();
+ gtk_widget_show (mi);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
- /* panel section */
- mi = gtk_separator_menu_item_new();
- gtk_widget_show (mi);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
+ mi = gtk_image_menu_item_new_with_label (_("Remove"));
+ gtk_widget_show (mi);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
- mi = gtk_image_menu_item_new_with_label (_("Add New Item"));
- gtk_widget_show (mi);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
- img = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_MENU);
- gtk_widget_show (img);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
+ img = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU);
+ gtk_widget_show (img);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (xfce_panel_plugin_customize_items),
- plugin);
+ g_signal_connect_swapped (mi, "activate",
+ G_CALLBACK (xfce_panel_plugin_remove_confirm),
+ plugin);
- mi = gtk_image_menu_item_new_with_label (_("Customize Panel"));
- gtk_widget_show (mi);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
-
- img = gtk_image_new_from_stock (GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_MENU);
- gtk_widget_show (img);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
+ /* panel section */
+ mi = gtk_separator_menu_item_new();
+ gtk_widget_show (mi);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
- g_signal_connect_swapped (mi, "activate",
- G_CALLBACK (xfce_panel_plugin_customize_panel),
- plugin);
- }
- else
- {
- /* insert custom items after about */
- insert_position = 4;
- }
+ mi = gtk_image_menu_item_new_with_label (_("Add New Item"));
+ gtk_widget_show (mi);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
- g_object_set_data (G_OBJECT (plugin), "xfce-panel-plugin-insert-position",
+ img = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_MENU);
+ gtk_widget_show (img);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
+
+ g_signal_connect_swapped (mi, "activate",
+ G_CALLBACK (xfce_panel_plugin_customize_items),
+ plugin);
+
+ mi = gtk_image_menu_item_new_with_label (_("Customize Panel"));
+ gtk_widget_show (mi);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
+
+ img = gtk_image_new_from_stock (GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_MENU);
+ gtk_widget_show (img);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
+
+ g_signal_connect_swapped (mi, "activate",
+ G_CALLBACK (xfce_panel_plugin_customize_panel),
+ plugin);
+
+ g_object_set_data (G_OBJECT (plugin), "xfce-panel-plugin-insert-position",
GINT_TO_POINTER (insert_position));
-
+
/* deactivation */
- g_signal_connect (menu, "deactivate",
+ g_signal_connect (menu, "deactivate",
G_CALLBACK (_plugin_menu_deactivate), NULL);
-
- g_object_set_data_full (G_OBJECT (plugin), "xfce-panel-plugin-menu", menu,
+
+ g_object_set_data_full (G_OBJECT (plugin), "xfce-panel-plugin-menu", menu,
(GDestroyNotify)gtk_widget_destroy);
}
@@ -906,41 +898,41 @@
GtkMenu *menu;
int block;
- block = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
+ block = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
"xfce-panel-plugin-block"));
if (block > 0)
return;
-
+
menu = g_object_get_data (G_OBJECT (plugin), "xfce-panel-plugin-menu");
if (menu)
{
- int id = g_signal_connect (menu, "button-release-event",
+ int id = g_signal_connect (menu, "button-release-event",
G_CALLBACK (_plugin_menu_button_released), plugin);
-
- g_object_set_data (G_OBJECT (menu),
+
+ g_object_set_data (G_OBJECT (menu),
"xfce-panel-plugin-button-release-callback",
GINT_TO_POINTER (id));
xfce_panel_plugin_register_menu (plugin, menu);
- gtk_menu_set_screen (menu,
+ gtk_menu_set_screen (menu,
gtk_widget_get_screen (GTK_WIDGET (plugin)));
-
+
gtk_menu_popup (menu, NULL, NULL, NULL, NULL, 0, GDK_CURRENT_TIME);
}
}
static gboolean
-_plugin_popup_menu (GtkWidget *widget, GdkEventButton *ev,
+_plugin_popup_menu (GtkWidget *widget, GdkEventButton *ev,
XfcePanelPlugin *plugin)
{
GtkMenu *menu;
guint modifiers;
int block;
- block = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
+ block = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
"xfce-panel-plugin-block"));
if (block > 0)
@@ -950,11 +942,11 @@
modifiers = gtk_accelerator_get_default_mod_mask ();
- if (ev->button == 3 || (ev->button == 1 &&
+ if (ev->button == 3 || (ev->button == 1 &&
(ev->state & modifiers) == GDK_CONTROL_MASK))
{
gtk_menu_set_screen (menu, gtk_widget_get_screen (widget));
-
+
xfce_panel_plugin_register_menu (plugin, menu);
gtk_menu_popup (menu, NULL, NULL, NULL, NULL, ev->button, ev->time);
@@ -972,18 +964,18 @@
* Attach the plugin menu to this widget. Plugin writers should call this
* for every widget that can receive mouse events. If you forget to call this
* the plugin will not have a right-click menu and the user won't be able to
- * remove it.
+ * remove it.
**/
-void
-xfce_panel_plugin_add_action_widget (XfcePanelPlugin *plugin,
+void
+xfce_panel_plugin_add_action_widget (XfcePanelPlugin *plugin,
GtkWidget *widget)
{
- GtkWidget *menu =
+ GtkWidget *menu =
g_object_get_data (G_OBJECT (plugin), "xfce-panel-plugin-menu");
if (menu)
{
- g_signal_connect (widget, "button-press-event",
+ g_signal_connect (widget, "button-press-event",
G_CALLBACK (_plugin_popup_menu), plugin);
}
}
@@ -995,29 +987,29 @@
*
* Insert custom menu item.
**/
-void
-xfce_panel_plugin_menu_insert_item (XfcePanelPlugin *plugin,
+void
+xfce_panel_plugin_menu_insert_item (XfcePanelPlugin *plugin,
GtkMenuItem *item)
{
- GtkWidget *menu =
+ GtkWidget *menu =
g_object_get_data (G_OBJECT (plugin), "xfce-panel-plugin-menu");
if (menu)
{
int position;
- position = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
+ position = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
"xfce-panel-plugin-insert-position"));
- gtk_menu_shell_insert (GTK_MENU_SHELL (menu), GTK_WIDGET (item),
+ gtk_menu_shell_insert (GTK_MENU_SHELL (menu), GTK_WIDGET (item),
position);
position++;
- g_object_set_data (G_OBJECT (plugin),
- "xfce-panel-plugin-insert-position",
+ g_object_set_data (G_OBJECT (plugin),
+ "xfce-panel-plugin-insert-position",
GINT_TO_POINTER (position));
}
-}
+}
/**
* xfce_panel_plugin_menu_show_about
@@ -1026,10 +1018,10 @@
* Show the 'About' item in the menu. Clicking on the menu item will emit
* the "about" signal.
**/
-void
+void
xfce_panel_plugin_menu_show_about (XfcePanelPlugin *plugin)
{
- GtkWidget *menu =
+ GtkWidget *menu =
g_object_get_data (G_OBJECT (plugin), "xfce-panel-plugin-menu");
if (menu)
@@ -1037,7 +1029,7 @@
int position;
GList *l;
- position = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
+ position = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
"xfce-panel-plugin-configure-position"));
l = g_list_nth (GTK_MENU_SHELL (menu)->children, position+1);
@@ -1054,11 +1046,11 @@
* Show the 'Configure' item in the menu. Clicking on the menu item will emit
* the "configure-plugin" signal.
**/
-void
+void
xfce_panel_plugin_menu_show_configure (XfcePanelPlugin *plugin)
{
GtkWidget *menu;
-
+
if (!xfce_allow_panel_customization())
return;
@@ -1069,7 +1061,7 @@
int position;
GList *l;
- position = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
+ position = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (plugin),
"xfce-panel-plugin-configure-position"));
l = g_list_nth (GTK_MENU_SHELL (menu)->children, position);
@@ -1088,12 +1080,12 @@
*
* See also: xfce_panel_plugin_unblock_menu()
**/
-void
+void
xfce_panel_plugin_block_menu (XfcePanelPlugin *plugin)
{
int n = 1;
- g_object_set_data (G_OBJECT (plugin), "xfce-panel-plugin-block",
+ g_object_set_data (G_OBJECT (plugin), "xfce-panel-plugin-block",
GINT_TO_POINTER (n));
}
@@ -1105,10 +1097,10 @@
*
* See also: xfce_panel_plugin_block_menu()
**/
-void
+void
xfce_panel_plugin_unblock_menu (XfcePanelPlugin *plugin)
{
- g_object_set_data (G_OBJECT (plugin), "xfce-panel-plugin-block",
+ g_object_set_data (G_OBJECT (plugin), "xfce-panel-plugin-block",
NULL);
}
@@ -1121,7 +1113,7 @@
* Looks up unique filename associated with @plugin in standard configuration
* locations. Uses xfce_resource_lookup() internally.
*
- * Returns: path to configuration file or %NULL if none was found. The
+ * Returns: path to configuration file or %NULL if none was found. The
* returned string must be freed using g_free().
*
* See also: xfce_panel_plugin_save_location()
@@ -1131,16 +1123,16 @@
{
char path[255];
gchar *name, *id;
-
+
name = xfce_panel_plugin_get_name (plugin);
id = xfce_panel_plugin_get_id (plugin);
- g_snprintf (path, 255,
+ g_snprintf (path, 255,
"xfce4" G_DIR_SEPARATOR_S
- "panel" G_DIR_SEPARATOR_S
- "%s-%s.rc",
+ "panel" G_DIR_SEPARATOR_S
+ "%s-%s.rc",
name, id);
-
+
g_free (name);
g_free (id);
@@ -1158,23 +1150,23 @@
* Returns: path to configuration file or %NULL is the file could not be
* created. The returned string must be freed using g_free().
*
- * See also: xfce_panel_plugin_lookup_rc_file()
+ * See also: xfce_panel_plugin_lookup_rc_file()
**/
char *
xfce_panel_plugin_save_location (XfcePanelPlugin *plugin, gboolean create)
{
char path[255];
gchar *name, *id;
-
+
name = xfce_panel_plugin_get_name (plugin);
id = xfce_panel_plugin_get_id (plugin);
- g_snprintf (path, 255,
+ g_snprintf (path, 255,
"xfce4" G_DIR_SEPARATOR_S
- "panel" G_DIR_SEPARATOR_S
- "%s-%s.rc",
+ "panel" G_DIR_SEPARATOR_S
+ "%s-%s.rc",
name, id);
-
+
g_free (name);
g_free (id);
@@ -1188,13 +1180,13 @@
*
* This should only be called by plugin implementations.
**/
-void
+void
xfce_panel_plugin_set_sensitive (XfcePanelPlugin *plugin, gboolean sensitive)
{
if (GTK_BIN (plugin)->child)
gtk_widget_set_sensitive (GTK_BIN (plugin)->child, sensitive);
else
- g_signal_connect_after (plugin, "realize",
+ g_signal_connect_after (plugin, "realize",
G_CALLBACK (xfce_panel_plugin_set_sensitive),
GINT_TO_POINTER (sensitive));
}
More information about the Xfce4-commits
mailing list