aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/empathy-preferences.c56
1 files changed, 7 insertions, 49 deletions
diff --git a/src/empathy-preferences.c b/src/empathy-preferences.c
index 4291ffcf8..c410affd1 100644
--- a/src/empathy-preferences.c
+++ b/src/empathy-preferences.c
@@ -115,8 +115,6 @@ enum {
enum {
COL_THEME_VISIBLE_NAME,
- COL_THEME_NAME,
- COL_THEME_IS_ADIUM,
COL_THEME_ADIUM_PATH,
COL_THEME_ADIUM_INFO,
COL_THEME_COUNT
@@ -836,35 +834,23 @@ preferences_theme_changed_cb (GtkComboBox *combo,
if (gtk_combo_box_get_active_iter (combo, &iter)) {
GtkTreeModel *model;
- gboolean is_adium;
- gchar *name;
gchar *path;
GHashTable *info;
+ gboolean variant;
model = gtk_combo_box_get_model (combo);
gtk_tree_model_get (model, &iter,
- COL_THEME_IS_ADIUM, &is_adium,
- COL_THEME_NAME, &name,
COL_THEME_ADIUM_PATH, &path,
COL_THEME_ADIUM_INFO, &info,
-1);
g_settings_set_string (priv->gsettings_chat,
- EMPATHY_PREFS_CHAT_THEME,
- name);
- if (is_adium) {
- gboolean variant;
+ EMPATHY_PREFS_CHAT_ADIUM_PATH,
+ path);
- g_settings_set_string (priv->gsettings_chat,
- EMPATHY_PREFS_CHAT_ADIUM_PATH,
- path);
+ variant = preferences_theme_variants_fill (preferences, info);
+ gtk_widget_set_visible (priv->hbox_chat_theme_variant, variant);
- variant = preferences_theme_variants_fill (preferences, info);
- gtk_widget_set_visible (priv->hbox_chat_theme_variant, variant);
- } else {
- gtk_widget_hide (priv->hbox_chat_theme_variant);
- }
- g_free (name);
g_free (path);
tp_clear_pointer (&info, g_hash_table_unref);
}
@@ -878,14 +864,12 @@ preferences_theme_notify_cb (GSettings *gsettings,
EmpathyPreferences *preferences = user_data;
EmpathyPreferencesPriv *priv = GET_PRIV (preferences);
GtkComboBox *combo;
- gchar *conf_name;
gchar *conf_path;
GtkTreeModel *model;
GtkTreeIter iter;
gboolean found = FALSE;
gboolean ok;
- conf_name = g_settings_get_string (gsettings, EMPATHY_PREFS_CHAT_THEME);
conf_path = g_settings_get_string (gsettings, EMPATHY_PREFS_CHAT_ADIUM_PATH);
combo = GTK_COMBO_BOX (priv->combobox_chat_theme);
@@ -893,23 +877,17 @@ preferences_theme_notify_cb (GSettings *gsettings,
for (ok = gtk_tree_model_get_iter_first (model, &iter);
ok && !found;
ok = gtk_tree_model_iter_next (model, &iter)) {
- gboolean is_adium;
- gchar *name;
gchar *path;
gtk_tree_model_get (model, &iter,
- COL_THEME_IS_ADIUM, &is_adium,
- COL_THEME_NAME, &name,
COL_THEME_ADIUM_PATH, &path,
-1);
- if (!tp_strdiff (name, conf_name) &&
- (!is_adium || !tp_strdiff (path, conf_path))) {
+ if (!tp_strdiff (path, conf_path)) {
found = TRUE;
gtk_combo_box_set_active_iter (combo, &iter);
}
- g_free (name);
g_free (path);
}
@@ -920,7 +898,6 @@ preferences_theme_notify_cb (GSettings *gsettings,
}
}
- g_free (conf_name);
g_free (conf_path);
}
@@ -932,9 +909,7 @@ preferences_themes_setup (EmpathyPreferences *preferences)
GtkCellLayout *cell_layout;
GtkCellRenderer *renderer;
GtkListStore *store;
- const gchar **themes;
GList *adium_themes;
- gint i;
preferences_theme_variants_setup (preferences);
@@ -944,23 +919,12 @@ preferences_themes_setup (EmpathyPreferences *preferences)
/* Create the model */
store = gtk_list_store_new (COL_THEME_COUNT,
G_TYPE_STRING, /* Display name */
- G_TYPE_STRING, /* Theme name */
- G_TYPE_BOOLEAN, /* Is an Adium theme */
G_TYPE_STRING, /* Adium theme path */
G_TYPE_HASH_TABLE); /* Adium theme info */
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
COL_THEME_VISIBLE_NAME, GTK_SORT_ASCENDING);
/* Fill the model */
- themes = empathy_theme_manager_get_themes ();
- for (i = 0; themes[i]; i += 2) {
- gtk_list_store_insert_with_values (store, NULL, -1,
- COL_THEME_VISIBLE_NAME, _(themes[i + 1]),
- COL_THEME_NAME, themes[i],
- COL_THEME_IS_ADIUM, FALSE,
- -1);
- }
-
adium_themes = empathy_theme_manager_get_adium_themes ();
while (adium_themes != NULL) {
GHashTable *info;
@@ -974,8 +938,6 @@ preferences_themes_setup (EmpathyPreferences *preferences)
if (name != NULL && path != NULL) {
gtk_list_store_insert_with_values (store, NULL, -1,
COL_THEME_VISIBLE_NAME, name,
- COL_THEME_NAME, "adium",
- COL_THEME_IS_ADIUM, TRUE,
COL_THEME_ADIUM_PATH, path,
COL_THEME_ADIUM_INFO, info,
-1);
@@ -999,12 +961,8 @@ preferences_themes_setup (EmpathyPreferences *preferences)
/* Select the theme from the GSetting key and track changes */
preferences_theme_notify_cb (priv->gsettings_chat,
- EMPATHY_PREFS_CHAT_THEME,
+ EMPATHY_PREFS_CHAT_ADIUM_PATH,
preferences);
- g_signal_connect (priv->gsettings_chat,
- "changed::" EMPATHY_PREFS_CHAT_THEME,
- G_CALLBACK (preferences_theme_notify_cb),
- preferences);
g_signal_connect (priv->gsettings_chat,
"changed::" EMPATHY_PREFS_CHAT_ADIUM_PATH,