|
|
|
|
@ -392,28 +392,25 @@ void on_add_target_package_selection_changed(GtkWidget *target,repo_add_window *
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_move_storage_changed(GtkWidget *self, repo_add_window *window){
|
|
|
|
|
GtkWidget *RepoCombo = NULL;
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(gtk_widget_get_parent(self)));
|
|
|
|
|
RepoCombo = (GtkWidget*)g_list_nth_data(list,3);
|
|
|
|
|
g_list_free(list);
|
|
|
|
|
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(RepoCombo));
|
|
|
|
|
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(window->MoveTargetRepoEntry));
|
|
|
|
|
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(window->MoveSourceRepoEntry));
|
|
|
|
|
GtkTreeIter iter,itar;
|
|
|
|
|
char *id = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(self));
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->MoveTargetStorageEntry),id);
|
|
|
|
|
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->tree_copy),&iter,id);
|
|
|
|
|
int valid = gtk_tree_model_iter_children(GTK_TREE_MODEL(window->tree_copy),&itar,&iter);
|
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(window->tree_copy),&itar)){
|
|
|
|
|
char *target;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(window->tree_copy),&itar,2,&target,-1);
|
|
|
|
|
char *child_id = gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(window->tree_copy),&itar);
|
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(RepoCombo),child_id,target);
|
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->MoveTargetRepoEntry),child_id,target);
|
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->MoveSourceRepoEntry),child_id,target);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_move_repo_changed(GtkWidget *self, repo_add_window *window){
|
|
|
|
|
GtkWidget *ArchCombo = NULL;
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(gtk_widget_get_parent(self)));
|
|
|
|
|
ArchCombo = (GtkWidget*)g_list_nth_data(list,5);
|
|
|
|
|
g_list_free(list);
|
|
|
|
|
ArchCombo = self==window->MoveSourceRepoEntry?window->MoveSourceArchEntry:window->MoveTargetArchEntry;
|
|
|
|
|
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(ArchCombo));
|
|
|
|
|
GtkTreeIter iter,itar;
|
|
|
|
|
char *id = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(self));
|
|
|
|
|
@ -616,7 +613,6 @@ void on_move_add_accept(GtkWidget *self, dictionary *dict){
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveSourceRepoEntry,0);
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveSourceArchEntry,0);
|
|
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveTargetStorageEntry,0);
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveTargetRepoEntry,0);
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveTargetArchEntry,0);
|
|
|
|
|
}
|
|
|
|
|
@ -660,7 +656,6 @@ void on_move_remove_package(GtkWidget *self, repo_add_window *window){
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveSourceRepoEntry,1);
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveSourceArchEntry,1);
|
|
|
|
|
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveTargetStorageEntry,1);
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveTargetRepoEntry,1);
|
|
|
|
|
gtk_widget_set_sensitive(window->MoveTargetArchEntry,1);
|
|
|
|
|
}
|
|
|
|
|
@ -671,11 +666,14 @@ void on_move_accept(GtkWidget *self, repo_add_window *window){
|
|
|
|
|
config_str packages = NULL;
|
|
|
|
|
GtkTreeIter iter,itar;
|
|
|
|
|
for_iter(GTK_TREE_MODEL(window->PackagesList),&iter){
|
|
|
|
|
char *target;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(window->PackagesList),&iter,3,&target,-1);
|
|
|
|
|
char *target=NULL;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(window->PackagesList),&iter,2,&target,-1);
|
|
|
|
|
if (!yon_char_is_empty(target)){
|
|
|
|
|
free(yon_char_divide(target,yon_char_find_last(target,'/')));
|
|
|
|
|
yon_char_parsed_add_or_create_if_exists(packages,&size,target);
|
|
|
|
|
free(target);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (size){
|
|
|
|
|
yon_gtk_tree_iter_get_from_combo_box_id(GTK_COMBO_BOX(window->MoveSourceRepoEntry),GTK_TREE_MODEL(window->tree_copy),&iter);
|
|
|
|
|
yon_gtk_tree_iter_get_from_combo_box_id(GTK_COMBO_BOX(window->MoveTargetRepoEntry),GTK_TREE_MODEL(window->tree_copy),&itar);
|
|
|
|
|
@ -685,9 +683,9 @@ void on_move_accept(GtkWidget *self, repo_add_window *window){
|
|
|
|
|
source_path = yon_char_divide(source_repo,yon_char_find_last(source_repo,'/'));
|
|
|
|
|
target_path = yon_char_divide(target_repo,yon_char_find_last(target_repo,'/'));
|
|
|
|
|
char *command = yon_move_packages_command(source_path,source_repo, target_repo, yon_char_parsed_to_string(packages,size," "));
|
|
|
|
|
yon_debug_output("%s\n",command);
|
|
|
|
|
system(command);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_move_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
@ -711,7 +709,6 @@ void on_move_clicked(GtkWidget *self, main_window *widgets){
|
|
|
|
|
g_signal_connect(G_OBJECT(window->MoveSourceRepoEntry),"changed",G_CALLBACK(on_move_repo_changed),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->MoveSourceArchEntry),"changed",G_CALLBACK(on_move_arch_changed),window);
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->MoveTargetStorageEntry),"changed",G_CALLBACK(on_move_storage_changed),window);
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
|