WIP Advanced installation page partitions removing

pull/270/head
parent b0536d5437
commit 1a24968abd

@ -3,6 +3,46 @@
#define toggled_icon_name "com.ublinux.libublsettingsui-gtk3.toggled-symbolic"
#define untoggled_icon_name "com.ublinux.libublsettingsui-gtk3.untoggled-symbolic"
void on_advanced_part_remove_part(GtkWidget *self, main_window *widgets){
advanced_part_widgets *part = g_object_get_data(G_OBJECT(self),"advanced_part_widgets");
advanced_part_data *data = g_object_get_data(G_OBJECT(self),"advanced_part_data");
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PartitionsList);
for_iter (model, &iter){
char *target;
gtk_tree_model_get(model,&iter,0,&target,-1);
if (!strcmp(data->partition,target)){
gtk_widget_destroy(part->MainBox);
gtk_list_store_set(widgets->PartitionsList,&iter,7,0,-1);
free(part);
}
}
}
void on_advanced_part_remove_device(GtkWidget *self, main_window *widgets){
advanced_part_widgets *part = g_object_get_data(G_OBJECT(self),"advanced_part_widgets");
advanced_part_data *data = g_object_get_data(G_OBJECT(self),"advanced_part_data");
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->DevicesList);
for_iter (model, &iter){
char *target;
gtk_tree_model_get(model,&iter,0,&target,-1);
if (!strcmp(data->device,target)){
gtk_widget_destroy(part->MainBox);
free(part);
}
}
}
void on_advanced_part_remove_virtual(GtkWidget *, main_window *widgets){
// advanced_part_widgets *part = g_object_get_data(G_OBJECT(self),"advanced_part_widgets");
// g_signal_handlers_block_by_func(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),G_CALLBACK(on_advanced_virtual_device_changed),widgets);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->AdvancedVirtualDeviceCombo),0);
// gtk_widget_destroy(part->MainBox);
// g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),G_CALLBACK(on_advanced_virtual_device_changed),widgets);
// free(part);
}
void on_format_changed(GtkWidget *self, advanced_part_widgets *part){
int active = gtk_combo_box_get_active(GTK_COMBO_BOX(self));
switch (active){
@ -142,7 +182,7 @@ void on_advanced_virtual_device_changed(GtkWidget *, main_window *widgets){
advanced_part_data *data = g_object_get_data(G_OBJECT(part->MainBox),"advanced_part_data");
free(data->device);
data->device = yon_char_new(device);
// yon_advanced_part_update_from_data(part, data);
yon_advanced_part_update_from_data(part, data);
} else {
if (yon_advanced_part_check_count(widgets)){
advanced_part_data *data = yon_advanced_part_data_new();
@ -150,7 +190,8 @@ void on_advanced_virtual_device_changed(GtkWidget *, main_window *widgets){
data->device = yon_char_new(device);
advanced_part_widgets *part = yon_advanced_part_create(data);
gtk_box_pack_start(GTK_BOX(widgets->AdvancedPartitionAddBox),part->MainBox,0,0,0);
// yon_advanced_part_update_from_data(part, data);
g_signal_connect(G_OBJECT(part->RemoveButton),"clicked",G_CALLBACK(on_advanced_part_remove_virtual),widgets);
yon_advanced_part_update_from_data(part, data);
} else {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->AdvancedVirtualDeviceCombo),0);
@ -267,6 +308,8 @@ void yon_advanced_part_update_from_data(advanced_part_widgets *part, advanced_pa
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(part->UserDataSectionToggle),0);
} else if (pos == 1){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(part->SystemSectionToggle),0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(part->SystemSectionToggle),0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(part->UserDataSectionToggle),1);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(part->UserDataSectionToggle),1);
}
@ -305,8 +348,9 @@ void yon_advanced_part_create_for_device(GtkTreeIter *iter, main_window *widgets
advanced_part_data *data = yon_advanced_part_data_new();
data->device = target;
advanced_part_widgets *part = yon_advanced_part_create(data);
g_signal_connect(G_OBJECT(part->RemoveButton),"clicked",G_CALLBACK(on_advanced_part_remove_device),widgets);
gtk_box_pack_start(GTK_BOX(widgets->AdvancedPartitionAddBox),part->MainBox,0,0,0);
// yon_advanced_part_update_from_data(part,data);
yon_advanced_part_update_from_data(part,data);
}
}
@ -317,8 +361,9 @@ void yon_advanced_part_create_for_part(GtkTreeIter *iter, main_window *widgets){
advanced_part_data *data = yon_advanced_part_data_new();
data->partition = target;
advanced_part_widgets *part = yon_advanced_part_create(data);
g_signal_connect(G_OBJECT(part->RemoveButton),"clicked",G_CALLBACK(on_advanced_part_remove_part),widgets);
gtk_box_pack_start(GTK_BOX(widgets->AdvancedPartitionAddBox),part->MainBox,0,0,0);
// yon_advanced_part_update_from_data(part,data);
yon_advanced_part_update_from_data(part,data);
}
}
@ -480,6 +525,7 @@ advanced_part_widgets *yon_advanced_part_create(advanced_part_data *part_data){
g_object_set_data(G_OBJECT(part->MainBox),"advanced_part_data",part_data);
g_object_set_data(G_OBJECT(part->SizeCombo),"advanced_part_widgets",part);
g_object_set_data(G_OBJECT(part->RemoveButton),"advanced_part_widgets",part);
g_object_set_data(G_OBJECT(part->RemoveButton),"advanced_part_data",part_data);
g_object_set_data(G_OBJECT(part->SystemSectionToggle),"advanced_part_widgets",part);
g_object_set_data(G_OBJECT(part->UserDataSectionToggle),"advanced_part_widgets",part);

@ -1357,7 +1357,9 @@ void on_install_advanced_partition_chosen(GtkCellRenderer *, gchar *path, main_w
void yon_devices_setup(main_window *widgets);
void on_advanced_password_clicked(GtkWidget *, advanced_part_widgets *part);
advanced_part_widgets *yon_advanced_partition_new();
void on_advanced_part_remove(GtkWidget *self, main_window *widgets);
void on_advanced_part_remove_device(GtkWidget *self, main_window *widgets);
void on_advanced_part_remove_part(GtkWidget *self, main_window *widgets);
void on_advanced_part_remove_virtual(GtkWidget *self, main_window *widgets);
int yon_advanced_get_part_size(main_window *widgets);
void yon_advanced_partition_clear(main_window *widgets);
void yon_os_row_setup(os_row *row, char *name, char *version, char *tags, char *description, char *source, char *size);

Loading…
Cancel
Save