Updating branch refs/heads/eric/wallpaper-and-settings-improvements to 8385169faa534301b7131d842c062bb9971e5f67 (commit) from 3ea195b2ac3223a4c2de1e7eeb30b3461eb4994e (commit)
commit 8385169faa534301b7131d842c062bb9971e5f67 Author: Eric Koegel <eric.koe...@gmail.com> Date: Sun Apr 7 11:11:13 2013 +0300 Select wallpaper on loading Increases the icon view item padding size so the selected item stands out better. cb_folder_selection_change is manually called because GTK introduced a bug where changing the gtk file chooser folder in code no longer emits the correct signal. settings/main.c | 22 ++++++++-------------- 1 files changed, 8 insertions(+), 14 deletions(-) diff --git a/settings/main.c b/settings/main.c index 0f7f8d9..8debcb9 100644 --- a/settings/main.c +++ b/settings/main.c @@ -132,7 +132,6 @@ typedef struct GtkTreeIter *selected_iter; gchar *last_image; gchar *file_path; - gchar *cur_image_file; AppearancePanel *panel; } AddDirData; @@ -527,13 +526,12 @@ xfdesktop_image_list_add_item(gpointer user_data) AddDirData *dir_data = user_data; AppearancePanel *panel = dir_data->panel; GFileInfo *info; - GtkTreeIter *iter, *selected_iter = NULL; + GtkTreeIter *iter; GtkTreePath *path; /* If the enumeration gets canceled/destroyed we need to clean up */ if(!G_IS_FILE_ENUMERATOR(dir_data->file_enumerator)) { g_free(dir_data->file_path); - g_free(dir_data->cur_image_file); g_free(dir_data->last_image); g_free(dir_data); @@ -549,8 +547,7 @@ xfdesktop_image_list_add_item(gpointer user_data) iter = xfdesktop_settings_image_iconview_add(GTK_TREE_MODEL(dir_data->ls), buf, panel); if(iter) { - if(dir_data->cur_image_file && - !dir_data->selected_iter && + if(!dir_data->selected_iter && !strcmp(buf, dir_data->last_image)) { dir_data->selected_iter = iter; @@ -572,8 +569,8 @@ xfdesktop_image_list_add_item(gpointer user_data) GTK_TREE_MODEL(dir_data->ls)); /* last_image is in the directory added then it should be selected */ - if(selected_iter) { - path = gtk_tree_model_get_path(GTK_TREE_MODEL(dir_data->ls), selected_iter); + if(dir_data->selected_iter) { + path = gtk_tree_model_get_path(GTK_TREE_MODEL(dir_data->ls), dir_data->selected_iter); if(path) { gtk_icon_view_select_path(GTK_ICON_VIEW(panel->image_iconview), path); gtk_tree_iter_free(dir_data->selected_iter); @@ -581,7 +578,6 @@ xfdesktop_image_list_add_item(gpointer user_data) } g_free(dir_data->file_path); - g_free(dir_data->cur_image_file); g_free(dir_data->last_image); g_object_unref(dir_data->file_enumerator); g_free(dir_data); @@ -617,7 +613,6 @@ xfdesktop_image_list_add_dir(GObject *source_object, dir_data->last_image = xfconf_channel_get_string(panel->channel, property, DEFAULT_BACKDROP); dir_data->file_path = g_file_get_path(panel->selected_file); - dir_data->cur_image_file = g_file_get_parse_name(panel->selected_file); dir_data->file_enumerator = g_file_enumerate_children_finish(panel->selected_file, res, @@ -965,14 +960,14 @@ xfdesktop_settings_update_iconview_folder(AppearancePanel *panel) prop_last = xfdesktop_settings_generate_per_workspace_binding_string(panel, "last-image"); - current_folder = xfconf_channel_get_string(panel->channel, prop_last, NULL); - - if(current_folder == NULL) - current_folder = g_strdup(DEFAULT_BACKDROP); + current_folder = xfconf_channel_get_string(panel->channel, prop_last, DEFAULT_BACKDROP); gtk_file_chooser_set_current_folder((GtkFileChooser*)panel->btn_folder, g_path_get_dirname(current_folder)); + /* Workaround for a bug in GTK */ + cb_folder_selection_changed(panel->btn_folder, panel); + g_free(current_folder); g_free(prop_last); } @@ -1197,7 +1192,6 @@ xfdesktop_settings_setup_image_iconview(AppearancePanel *panel) "tooltip-column", COL_NAME, "selection-mode", GTK_SELECTION_BROWSE, "column-spacing", 2, - "item-padding", 2, "margin", 2, NULL); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits