diff --git a/source/ubl-settings-repomanager-add-window.c b/source/ubl-settings-repomanager-add-window.c index 34af8c1..8a44def 100644 --- a/source/ubl-settings-repomanager-add-window.c +++ b/source/ubl-settings-repomanager-add-window.c @@ -100,6 +100,12 @@ void on_file_chooser_file_activate(GtkWidget *self, dictionary *dict){ void on_add_package(GtkWidget *self, repo_add_window *window){ filechooser_window *dialog = yon_file_chooser_window_new(GTK_FILE_CHOOSER_ACTION_OPEN); + if (yon_char_is_empty(main_config.last_selection)){ + char *user_folder_path = yon_ubl_user_get_home_directory(); + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog->MainFileChooser),user_folder_path); + } else { + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog->MainFileChooser),main_config.last_selection); + } yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->MainWindow),CHOSE_PACKAGES_TITLE_LABEL,icon_path,"filechooserWindow"); gtk_label_set_text(GTK_LABEL(dialog->HeaderTopic),CHOSE_PACKAGES_TITLE_LABEL); @@ -114,6 +120,8 @@ void on_add_package(GtkWidget *self, repo_add_window *window){ dictionary *dict = NULL; yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); yon_dictionary_add_or_create_if_exists_with_data(dict,"dialog",dialog); + if (!yon_char_is_empty(main_config.last_selection)) free(main_config.last_selection); + main_config.last_selection = yon_char_new(dialog->last_any_selection); on_add_accept(self,dict); } gtk_widget_destroy(dialog->Window);