static void panel_applet_set_dnd_enabled (AppletInfo *info, gboolean dnd_enabled) { switch (info->type) { case PANEL_OBJECT_MENU: panel_menu_button_set_dnd_enabled (PANEL_MENU_BUTTON (info->widget), dnd_enabled); break; case PANEL_OBJECT_LAUNCHER: panel_launcher_set_dnd_enabled (info->data, dnd_enabled); break; case PANEL_OBJECT_APPLET: break; case PANEL_OBJECT_ACTION: panel_action_button_set_dnd_enabled (PANEL_ACTION_BUTTON (info->widget), dnd_enabled); break; case PANEL_OBJECT_MENU_BAR: case PANEL_OBJECT_SEPARATOR: case PANEL_OBJECT_USER_MENU: break; default: g_assert_not_reached (); break; } }
static void panel_action_button_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { PanelActionButton *button; g_return_if_fail (PANEL_IS_ACTION_BUTTON (object)); button = PANEL_ACTION_BUTTON (object); switch (prop_id) { case PROP_ACTION_TYPE: panel_action_button_set_type (button, g_value_get_enum (value)); break; case PROP_DND_ENABLED: panel_action_button_set_dnd_enabled (button, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void applet_callback_callback (GtkWidget *widget, AppletUserMenu *menu) { GdkScreen *screen; g_return_if_fail (menu->info != NULL); screen = applet_user_menu_get_screen (menu); switch (menu->info->type) { case PANEL_OBJECT_LAUNCHER: if (!strcmp (menu->name, "launch")) launcher_launch (menu->info->data, widget); else if (!strcmp (menu->name, "properties")) launcher_properties (menu->info->data); break; case PANEL_OBJECT_DRAWER: if (strcmp (menu->name, "add") == 0) { Drawer *drawer = menu->info->data; panel_addto_present (GTK_MENU_ITEM (widget), panel_toplevel_get_panel_widget (drawer->toplevel)); } else if (strcmp (menu->name, "properties") == 0) { Drawer *drawer = menu->info->data; panel_properties_dialog_present (drawer->toplevel); } else if (strcmp (menu->name, "help") == 0) { panel_show_help (screen, "user-guide", "gospanel-18", NULL); } break; case PANEL_OBJECT_MENU: panel_menu_button_invoke_menu ( PANEL_MENU_BUTTON (menu->info->widget), menu->name); break; case PANEL_OBJECT_ACTION: case PANEL_OBJECT_LOGOUT: case PANEL_OBJECT_LOCK: panel_action_button_invoke_menu ( PANEL_ACTION_BUTTON (menu->info->widget), menu->name); break; case PANEL_OBJECT_MENU_BAR: panel_menu_bar_invoke_menu ( PANEL_MENU_BAR (menu->info->widget), menu->name); break; case PANEL_OBJECT_APPLET: /* * Applet's menu's are handled differently */ break; case PANEL_OBJECT_SEPARATOR: break; default: g_assert_not_reached (); break; } }
static void panel_action_button_finalize (GObject *object) { PanelActionButton *button = PANEL_ACTION_BUTTON (object); button->priv->info = NULL; button->priv->type = PANEL_ACTION_NONE; G_OBJECT_CLASS (panel_action_button_parent_class)->finalize (object); }
static void panel_action_button_clicked (GtkButton *gtk_button) { PanelActionButton *button; g_return_if_fail (PANEL_IS_ACTION_BUTTON (gtk_button)); button = PANEL_ACTION_BUTTON (gtk_button); g_return_if_fail (button->priv->type > PANEL_ACTION_NONE); g_return_if_fail (button->priv->type < PANEL_ACTION_LAST); if (actions [button->priv->type].invoke) actions [button->priv->type].invoke (GTK_WIDGET (button)); }
static void panel_action_button_finalize (GObject *object) { PanelActionButton *button = PANEL_ACTION_BUTTON (object); button->priv->info = NULL; button->priv->type = PANEL_ACTION_NONE; panel_lockdown_notify_remove (G_CALLBACK (panel_action_button_update_sensitivity), button); mateconf_client_notify_remove (panel_mateconf_get_client (), button->priv->mateconf_notify); button->priv->mateconf_notify = 0; G_OBJECT_CLASS (panel_action_button_parent_class)->finalize (object); }
static void panel_action_button_finalize (GObject *object) { PanelActionButton *button = PANEL_ACTION_BUTTON (object); if (button->priv->settings) g_object_unref (button->priv->settings); button->priv->settings = NULL; button->priv->info = NULL; button->priv->type = PANEL_ACTION_NONE; panel_lockdown_notify_remove (G_CALLBACK (panel_action_button_update_sensitivity), button); G_OBJECT_CLASS (panel_action_button_parent_class)->finalize (object); }
static void applet_callback_callback (GtkWidget *widget, AppletUserMenu *menu) { g_return_if_fail (menu->info != NULL); switch (menu->info->type) { case PANEL_OBJECT_LAUNCHER: if (!strcmp (menu->name, "launch")) launcher_launch (menu->info->data, widget); else if (!strcmp (menu->name, "properties")) launcher_properties (menu->info->data); break; case PANEL_OBJECT_MENU: panel_menu_button_invoke_menu ( PANEL_MENU_BUTTON (menu->info->widget), menu->name); break; case PANEL_OBJECT_ACTION: panel_action_button_invoke_menu ( PANEL_ACTION_BUTTON (menu->info->widget), menu->name); break; case PANEL_OBJECT_MENU_BAR: panel_menu_bar_invoke_menu ( PANEL_MENU_BAR (menu->info->widget), menu->name); break; case PANEL_OBJECT_APPLET: /* * Applet's menu's are handled differently */ break; case PANEL_OBJECT_SEPARATOR: case PANEL_OBJECT_USER_MENU: break; default: g_assert_not_reached (); break; } }
static void panel_action_button_clicked (GtkButton *gtk_button) { PanelActionButton *button; g_return_if_fail (PANEL_IS_ACTION_BUTTON (gtk_button)); button = PANEL_ACTION_BUTTON (gtk_button); g_return_if_fail (button->priv->type > PANEL_ACTION_NONE); g_return_if_fail (button->priv->type < PANEL_ACTION_LAST); if (panel_global_config_get_drawer_auto_close ()) { PanelToplevel *toplevel; toplevel = PANEL_WIDGET (gtk_widget_get_parent (GTK_WIDGET (button)))->toplevel; if (panel_toplevel_get_is_attached (toplevel)) panel_toplevel_hide (toplevel, FALSE, -1); } if (actions [button->priv->type].invoke) actions [button->priv->type].invoke (GTK_WIDGET (button)); }
static void panel_action_button_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, guint info, guint time) { PanelActionButton *button; char *drag_data; g_return_if_fail (PANEL_IS_ACTION_BUTTON (widget)); button = PANEL_ACTION_BUTTON (widget); drag_data = g_strdup_printf ("ACTION:%s:%d", obsolete_enum_to_string (panel_action_type_map, button->priv->type), panel_find_applet_index (widget)); gtk_selection_data_set ( selection_data, gtk_selection_data_get_target (selection_data), 8, (guchar *) drag_data, strlen (drag_data)); g_free (drag_data); }