diff --git a/source/ubl-settings-repomanager-move.c b/source/ubl-settings-repomanager-move.c index 551474d..963f539 100644 --- a/source/ubl-settings-repomanager-move.c +++ b/source/ubl-settings-repomanager-move.c @@ -60,6 +60,17 @@ void on_move_repo_changed(GtkWidget *self, repo_add_window *window){ } +void on_move_check_fill(GtkWidget *self, repo_add_window *window){ + if (gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveSourceStorageEntry))&& + gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveSourceRepoEntry))&& + gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveSourceArchEntry))&& + gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveTargetStorageEntry))&& + gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveTargetRepoEntry))&& + gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->MoveTargetArchEntry))){ + gtk_widget_set_sensitive(window->AddPackageButton,1); + } +} + void on_move_arch_changed(GtkWidget *self, repo_add_window *window){ GtkWidget *check_arch = NULL; if (self == window->MoveSourceArchEntry){ @@ -74,7 +85,6 @@ void on_move_arch_changed(GtkWidget *self, repo_add_window *window){ gtk_combo_box_set_active_id(GTK_COMBO_BOX(check_arch),chosen); } gtk_widget_set_sensitive(window->MoveTargetArchEntry,0); - gtk_widget_set_sensitive(window->AddPackageButton,1); } void on_move_add_accept(GtkWidget *self, dictionary *dict){ @@ -313,6 +323,12 @@ repo_add_window *on_move_clicked(GtkWidget *self, main_window *widgets){ g_signal_connect(G_OBJECT(window->MoveTargetRepoEntry),"changed",G_CALLBACK(on_move_repo_changed),window); g_signal_connect(G_OBJECT(window->MoveTargetArchEntry),"changed",G_CALLBACK(on_move_arch_changed),window); + + g_signal_connect(G_OBJECT(window->MoveSourceStorageEntry),"changed",G_CALLBACK(on_move_check_fill),window); + g_signal_connect(G_OBJECT(window->MoveSourceRepoEntry),"changed",G_CALLBACK(on_move_check_fill),window); + g_signal_connect(G_OBJECT(window->MoveSourceArchEntry),"changed",G_CALLBACK(on_move_check_fill),window); + g_signal_connect(G_OBJECT(window->MoveTargetRepoEntry),"changed",G_CALLBACK(on_move_check_fill),window); + g_signal_connect(G_OBJECT(window->MoveTargetArchEntry),"changed",G_CALLBACK(on_move_check_fill),window); g_signal_connect(G_OBJECT(window->AddPackageButton),"clicked",G_CALLBACK(on_move_add_package),window); g_signal_connect(G_OBJECT(window->RemoveButton),"clicked",G_CALLBACK(on_move_remove_package),window); diff --git a/source/ubl-settings-repomanager.h b/source/ubl-settings-repomanager.h index 2fd2db4..fb5f48a 100644 --- a/source/ubl-settings-repomanager.h +++ b/source/ubl-settings-repomanager.h @@ -415,4 +415,5 @@ void yon_add_window_add_chosen_packages(main_window *widgets, repo_add_window *w void yon_storage_open_add_repos(char *storage_path, storage_config_window *window); void yon_package_info_set_markup(config_str parsed, int size); void on_remove_window_tree_changed(GtkWidget *self, repo_add_window *window); -void on_move_window_tree_changed(GtkWidget *self, repo_add_window *window); \ No newline at end of file +void on_move_window_tree_changed(GtkWidget *self, repo_add_window *window); +void on_move_check_fill(GtkWidget *self, repo_add_window *window); \ No newline at end of file