static PanelToplevel * create_drawer_toplevel (const char *drawer_id) { PanelToplevel *toplevel; GConfClient *client; const char *key; char *toplevel_id; client = panel_gconf_get_client (); toplevel_id = panel_profile_find_new_id (PANEL_GCONF_TOPLEVELS); toplevel = panel_profile_load_toplevel (client, PANEL_CONFIG_DIR, PANEL_GCONF_TOPLEVELS, toplevel_id); if (!toplevel) { g_free (toplevel_id); return NULL; } key = panel_gconf_full_key (PANEL_GCONF_OBJECTS, drawer_id, "attached_toplevel_id"); gconf_client_set_string (client, key, toplevel_id, NULL); g_free (toplevel_id); panel_profile_set_toplevel_enable_buttons (toplevel, TRUE); panel_profile_set_toplevel_enable_arrows (toplevel, TRUE); return toplevel; }
void drawer_load_from_gconf (PanelWidget *panel_widget, gboolean locked, gint position, const char *id) { GConfClient *client; const char *key; gboolean use_custom_icon; char *toplevel_id; char *custom_icon; char *tooltip; g_return_if_fail (panel_widget != NULL); g_return_if_fail (id != NULL); client = panel_gconf_get_client (); key = panel_gconf_full_key (PANEL_GCONF_OBJECTS, id, "attached_toplevel_id"); toplevel_id = gconf_client_get_string (client, key, NULL); panel_profile_load_toplevel (client, PANEL_CONFIG_DIR, PANEL_GCONF_TOPLEVELS, toplevel_id); key = panel_gconf_full_key (PANEL_GCONF_OBJECTS, id, "use_custom_icon"); use_custom_icon = gconf_client_get_bool (client, key, NULL); key = panel_gconf_full_key (PANEL_GCONF_OBJECTS, id, "custom_icon"); custom_icon = gconf_client_get_string (client, key, NULL); key = panel_gconf_full_key (PANEL_GCONF_OBJECTS, id, "tooltip"); tooltip = gconf_client_get_string (client, key, NULL); load_drawer_applet (toplevel_id, custom_icon, use_custom_icon, tooltip, panel_widget->toplevel, locked, position, TRUE, id); g_free (toplevel_id); g_free (custom_icon); g_free (tooltip); }
void drawer_load_from_gsettings (PanelWidget *panel_widget, gboolean locked, gint position, const char *id) { gboolean use_custom_icon; char *toplevel_id; char *custom_icon; char *tooltip; gchar *path; GSettings *settings; g_return_if_fail (panel_widget != NULL); g_return_if_fail (id != NULL); path = g_strdup_printf ("%s%s/", PANEL_OBJECT_PATH, id); settings = g_settings_new_with_path (PANEL_OBJECT_SCHEMA, path); g_free (path); toplevel_id = g_settings_get_string (settings, PANEL_OBJECT_ATTACHED_TOPLEVEL_ID_KEY); panel_profile_load_toplevel (toplevel_id); use_custom_icon = g_settings_get_boolean (settings, PANEL_OBJECT_USE_CUSTOM_ICON_KEY); custom_icon = g_settings_get_string (settings, PANEL_OBJECT_CUSTOM_ICON_KEY); tooltip = g_settings_get_string (settings, PANEL_OBJECT_TOOLTIP_KEY); load_drawer_applet (toplevel_id, settings, custom_icon, use_custom_icon, tooltip, panel_widget->toplevel, locked, position, TRUE, id); g_free (toplevel_id); g_free (custom_icon); g_free (tooltip); }
static PanelToplevel * create_drawer_toplevel (const char *drawer_id, GSettings *settings) { PanelToplevel *toplevel; char *toplevel_id; toplevel_id = panel_profile_find_new_id (PANEL_GSETTINGS_TOPLEVELS); toplevel = panel_profile_load_toplevel (toplevel_id); if (!toplevel) { g_free (toplevel_id); return NULL; } g_settings_set_string (settings, PANEL_OBJECT_ATTACHED_TOPLEVEL_ID_KEY, toplevel_id); g_free (toplevel_id); panel_profile_set_toplevel_enable_buttons (toplevel, TRUE); panel_profile_set_toplevel_enable_arrows (toplevel, TRUE); return toplevel; }