static void panel_drawer_tooltip_changed (GSettings *settings, gchar *key, Drawer *drawer) { gchar *tooltip = g_settings_get_string (settings, key); set_tooltip_and_name (drawer, tooltip); g_free (tooltip); }
static Drawer * create_drawer_applet (PanelToplevel *toplevel, PanelToplevel *parent_toplevel, const char *tooltip, const char *custom_icon, gboolean use_custom_icon, PanelOrientation orientation) { Drawer *drawer; AtkObject *atk_obj; drawer = g_new0 (Drawer, 1); drawer->toplevel = toplevel; if (!use_custom_icon || !custom_icon || !custom_icon [0]) { drawer->button = button_widget_new (PANEL_ICON_DRAWER, TRUE, orientation); } else { drawer->button = button_widget_new (custom_icon, TRUE, orientation); } if (!drawer->button) { g_free (drawer); return NULL; } atk_obj = gtk_widget_get_accessible (drawer->button); atk_object_set_name (atk_obj, _("Drawer")); set_tooltip_and_name (drawer, tooltip); g_signal_connect (drawer->button, "clicked", G_CALLBACK (drawer_click), drawer); g_signal_connect (drawer->button, "key_press_event", G_CALLBACK (key_press_drawer), drawer); g_signal_connect (drawer->toplevel, "key_press_event", G_CALLBACK (key_press_drawer_widget), drawer); gtk_drag_dest_set (drawer->button, 0, NULL, 0, 0); g_signal_connect (drawer->button, "drag_data_get", G_CALLBACK (drag_data_get_cb), drawer); g_signal_connect (drawer->button, "drag_motion", G_CALLBACK (drag_motion_cb), drawer); g_signal_connect (drawer->button, "drag_drop", G_CALLBACK (drag_drop_cb), drawer); g_signal_connect (drawer->button, "drag_data_received", G_CALLBACK (drag_data_received_cb), drawer); g_signal_connect (drawer->button, "drag_leave", G_CALLBACK (drag_leave_cb), drawer); g_signal_connect (drawer->button, "destroy", G_CALLBACK (destroy_drawer), drawer); g_signal_connect (drawer->toplevel, "destroy", G_CALLBACK (toplevel_destroyed), drawer); gtk_widget_show (drawer->button); panel_toplevel_attach_to_widget (drawer->toplevel, parent_toplevel, GTK_WIDGET (drawer->button)); return drawer; }
static void panel_drawer_tooltip_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, Drawer *drawer) { if (!entry->value || entry->value->type != GCONF_VALUE_STRING) return; set_tooltip_and_name (drawer, gconf_value_get_string (entry->value)); }