GSettings *gsettings_sound;
GSettings *gsettings_ui;
GSettings *gsettings_logger;
- GSettings *gsettings_contacts;
};
static void preferences_setup_widgets (EmpathyPreferences *preferences,
{ N_("Account disconnected"), EMPATHY_PREFS_SOUNDS_SERVICE_LOGOUT }
};
-static gboolean
-sort_criterium_get_mapping (GValue *value,
- GVariant *variant,
- gpointer user_data)
-{
- const char *s = g_variant_get_string (variant, NULL);
-
- if (!tp_strdiff (s, "state"))
- g_value_set_boolean (value, TRUE);
- else if (!tp_strdiff (s, "name"))
- g_value_set_boolean (value, FALSE);
- else
- return FALSE;
-
- return TRUE;
-}
-
-static GVariant *
-sort_criterium_set_mapping (const GValue *value,
- const GVariantType *expected_type,
- gpointer user_data)
-{
- gboolean b = g_value_get_boolean (value);
-
- if (b)
- return g_variant_new_string ("state");
- else
- return g_variant_new_string ("name");
-}
-
static void
preferences_setup_widgets (EmpathyPreferences *preferences,
GtkBuilder *gui)
BIND_ACTIVE (ui, UI_SHOW_OFFLINE,
"checkbutton_show_offline");
- BIND_ACTIVE (ui, UI_SHOW_PROTOCOLS,
- "checkbutton_show_protocols");
BIND_ACTIVE (ui, UI_SEPARATE_CHAT_WINDOWS,
"radiobutton_chats_new_windows");
BIND_ACTIVE (ui, UI_EVENTS_NOTIFY_AREA,
"checkbutton_autoconnect"),
"active",
G_SETTINGS_BIND_DEFAULT);
-
- g_settings_bind_with_mapping (priv->gsettings_contacts,
- EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM,
- gtk_builder_get_object (gui,
- "radiobutton_sort_by_status"),
- "active",
- G_SETTINGS_BIND_DEFAULT,
- sort_criterium_get_mapping,
- sort_criterium_set_mapping,
- NULL, NULL);
}
static void
g_object_unref (priv->gsettings_sound);
g_object_unref (priv->gsettings_ui);
g_object_unref (priv->gsettings_logger);
- g_object_unref (priv->gsettings_contacts);
G_OBJECT_CLASS (empathy_preferences_parent_class)->finalize (self);
}
priv->gsettings_sound = g_settings_new (EMPATHY_PREFS_SOUNDS_SCHEMA);
priv->gsettings_ui = g_settings_new (EMPATHY_PREFS_UI_SCHEMA);
priv->gsettings_logger = g_settings_new (EMPATHY_PREFS_LOGGER_SCHEMA);
- priv->gsettings_contacts = g_settings_new (EMPATHY_PREFS_CONTACTS_SCHEMA);
/* Create chat theme preview, and track changes */
priv->theme_manager = empathy_theme_manager_dup_singleton ();