Added new pages

pull/13/head
parent df39164d76
commit 2746d1e21e

@ -31,6 +31,7 @@
<file>language.png</file>
<file>in_part_install_disk.png</file>
<file>clear_install_disk.png</file>
<file>manual_install_disk.png</file>
</gresource>
<gresource prefix="/com/ublinux/csv">
<file>modules.csv</file>

@ -56,6 +56,7 @@ set(DEPENDFILES
../images/near_install_disk.png
../images/in_part_install_disk.png
../images/clear_install_disk.png
../images/manual_install_disk.png
../images/language.png
../ubinstall-gtk.glade
../ubinstall-gtk-language.glade

@ -227,6 +227,12 @@ void config_init(){
main_config.progress_thread=0;
main_config.install_complete=0;
main_config.save_done=0;
main_config.configure_mode=0;
}
void on_configuration_mode_switch(GtkWidget *self);
void on_configuration_mode_switch(GtkWidget *self){
main_config.configure_mode = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(self));
}
int yon_image_resize_from_container(GtkImage *target, GdkPixbuf *pixbuf_unscaled);
@ -405,37 +411,45 @@ void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){
gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),CANCEL_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->NextButton))),"com.ublinux.ubinstall-gtk.arrow-right-symbolic",GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->CancelInstallButton))),"com.ublinux.ubinstall-gtk.circle-exit-symbolic",GTK_ICON_SIZE_BUTTON);
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1);
} break;
case YON_PAGE_LICENCE:{
gtk_widget_set_sensitive(widgets->CancelInstallButton,1);
gtk_widget_set_sensitive(widgets->BackButton,1);
} break;
case YON_PAGE_REGION: {
yon_image_resize_from_container(GTK_IMAGE(widgets->RegionImage), widgets->regions_original);
} break;
case YON_PAGE_KEYBOARD: {
yon_image_resize_from_container(GTK_IMAGE(widgets->KeyboardImage), widgets->keyboard_original);
} break;
case YON_PAGE_INSTALLATION:{
gtk_widget_set_sensitive(widgets->BackButton,0);
if (main_config.config_save_thread)
if (main_config.config_save_thread&&!main_config.configure_mode)
g_thread_join(main_config.config_save_thread);
if (!main_config.progress_thread)
if (!main_config.progress_thread&&!main_config.configure_mode)
main_config.progress_thread = gdk_threads_add_timeout(500,(GSourceFunc)yon_installation_progress_update,widgets);
if (!main_config.slider_thread)
if (!main_config.slider_thread&&!main_config.configure_mode)
main_config.slider_thread = g_timeout_add(5000,(GSourceFunc)on_image_slide,widgets);
gtk_widget_show(gtk_widget_get_parent(widgets->InstallationProgress));
} break;
case YON_PAGE_OS_COMPONENTS:
case YON_PAGE_SOFTWARE:
yon_switch_page_render(widgets,3);
break;
case YON_PAGE_USERS:
gtk_widget_set_sensitive(widgets->NextButton,1);
break;
case YON_PAGE_INSTALL_ERROR:
case YON_PAGE_COMPLETION:{
gtk_widget_set_sensitive(widgets->BackButton,0);
@ -451,6 +465,7 @@ void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets){
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->NextButton))),"com.ublinux.libublsettingsui-gtk3.sync-symbolic",GTK_ICON_SIZE_BUTTON);
}
break;
case YON_PAGE_INSTALL_COMMON:
case YON_PAGE_INSTALL_SEPARATE:
case YON_PAGE_INSTALL_SAME_PARTITION: {
@ -489,6 +504,32 @@ void *on_setup_system_configuration(void * data){
return NULL;
}
void yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *mode,main_window *widgets);
void yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *mode,main_window *widgets){
GtkTreeIter iter,itar;
GtkTreeModel *model,*model2;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(device_tree)),&model,&iter)){
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(part_tree)),&model2,&itar)){
char *cur_device, *cur_section;
gtk_tree_model_get(model,&iter,0,&cur_device,-1);
gtk_tree_model_get(model2,&itar,0,&cur_section,-1);
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,mode);
yon_config_register(part_parameter,part_parameter_command,cur_section);
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(part_tree);
}
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(device_tree);
}
}
void on_page_navigation_clicked(GtkWidget *self, main_window *widgets);
void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
int mode = self==widgets->NextButton ? 1 : self == widgets->BackButton ? -1 : self==widgets->CancelInstallButton?-2:0;
@ -496,6 +537,11 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
switch (mode){
case 1: { // Next
switch (page){
case YON_PAGE_WELCOME:{
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_LICENCE);
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0);
} break;
case YON_PAGE_SECTIONS:{ //sections
int active_id=-1;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->InstallationRadio)))
@ -504,8 +550,8 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
active_id=1;
else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->InstallationLinuxRadio)))
active_id=2;
// else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->InstallationRadio)))
// active_id=3;
else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->InstallationWindowsRadio)))
active_id=3;
// else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->InstallationRadio)))
// active_id=4;
main_config.install_mode=active_id;
@ -518,6 +564,9 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
break;
case 2:
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALL_SAME_PARTITION);
break;
case 3:
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALL_OPTIONS);
}
}break;
case YON_PAGE_REGION:{ //region
@ -556,6 +605,7 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page+1);
}break;
case YON_PAGE_KEYBOARD: { //keyboard
gtk_widget_set_sensitive(widgets->BackButton,1);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio))){
@ -593,10 +643,12 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page+1);
} break;
default:{ // all other pages
gtk_widget_set_sensitive(widgets->BackButton,1);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page+1);
}break;
case YON_PAGE_INSTALL_COMMON: {
GtkTreeModel *model;
GtkTreeIter iter;
@ -608,15 +660,19 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
char *file_system_type = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->CommonInstallationFilesystemTypeCombo));
char *device_name = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->CommonInstallationSectionNameEntry));
char *device;
yon_config_remove_by_key(AUTOSTART_PARTS);
yon_config_remove_by_key(part_parameter);
gtk_tree_model_get(model,&iter,0,&device,-1);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"fast");
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device);
yon_config_register(device_label_parameter,device_label_parameter_command,device_name);
yon_config_register(part_type_parameter,part_type_parameter_command,file_system_type);
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
}break;
case YON_PAGE_INSTALL_SEPARATE:
{
GtkTreeModel *model;
@ -644,7 +700,7 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
gtk_tree_model_get(model,&iter,0,&part,-1);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"next");
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device);
yon_config_register(AUTOSTART_PARTS,AUTOSTART_PARTS_command,part);
yon_config_register(part_parameter,part_parameter_command,part);
yon_config_register(device_label_parameter,device_label_parameter_command,device_name);
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->NextInstallationFormatCheck))){
yon_config_register(device_format_parameter,device_format_parameter_command,"no");
@ -657,9 +713,13 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->NextInstallationFormatCheck)))
yon_config_register(device_format_parameter,device_format_parameter_command,"no");
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
}
break;
case YON_PAGE_INSTALL_SAME_PARTITION:
{
GtkTreeModel *model;
@ -682,7 +742,7 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
gtk_tree_model_get(model,&iter,0,&part,-1);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"part");
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device);
yon_config_register(AUTOSTART_PARTS,AUTOSTART_PARTS_command,part);
yon_config_register(part_parameter,part_parameter_command,part);
yon_config_register(device_label_parameter,device_label_parameter_command,device_name);
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->SameInstallationFormatCheck))){
@ -695,8 +755,12 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
}
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
}break;
case YON_PAGE_USERS:{ //users
if (yon_char_is_empty(gtk_entry_get_text(GTK_ENTRY(widgets->UserNameEntry)))){
@ -790,51 +854,152 @@ void on_page_navigation_clicked(GtkWidget *self, main_window *widgets){
} else {
yon_config_remove_by_key(xkboptions_parameter);
}
if (!main_config.install_complete){
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION);
if (!main_config.configure_mode){
if (!main_config.install_complete){
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION);
} else {
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETION);
}
if (gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(widgets->InstallationProgress))>0.9){
pthread_t tid;
pthread_create(&tid,NULL,on_setup_system_configuration,widgets);
}
main_config.save_done=1;
yon_debug_output("Save changed to: %s\n",yon_char_from_int(main_config.save_done));
yon_debug_output("Install state: %s\n",yon_char_from_int(main_config.install_complete));
if (main_config.install_complete)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETION);
else {
gtk_widget_set_sensitive(widgets->CancelInstallButton,0);
gtk_widget_set_sensitive(widgets->NextButton,0);
gtk_widget_set_sensitive(widgets->BackButton,0);
}
} else {
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETION);
}
if (gtk_progress_bar_get_fraction(GTK_PROGRESS_BAR(widgets->InstallationProgress))>0.9){
pthread_t tid;
pthread_create(&tid,NULL,on_setup_system_configuration,widgets);
}
main_config.save_done=1;
yon_debug_output("Save changed to: %s\n",yon_char_from_int(main_config.save_done));
yon_debug_output("Install state: %s\n",yon_char_from_int(main_config.install_complete));
if (main_config.install_complete)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETION);
else {
gtk_widget_set_sensitive(widgets->CancelInstallButton,0);
gtk_widget_set_sensitive(widgets->NextButton,0);
gtk_widget_set_sensitive(widgets->BackButton,0);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_CONFIGURE_END);
}
}break;
case YON_PAGE_INSTALLATION_BEGIN:{
pthread_t tid;
pthread_create(&tid,NULL,on_config_save,widgets);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION);
} break;
case YON_PAGE_COMPLETION:
if (!system("reboot"))
return;
break;
case YON_PAGE_INSTALL_OPTIONS: {
int mode = -1;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->GrubInstallRadio))){
mode = 0;
} else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->GrubUpdateRadio))){
mode = 1;
} else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->SeparateRadio))){
mode = 2;
} else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSRadio))){
mode = 3;
} else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UserDataOnlyRadio))){
mode = 4;
}
switch(mode){
case 0: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_GRUB_INSTALL);
break;
case 1: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_GRUB_UPDATE);
break;
case 2: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_SEPARATE);
break;
case 3: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_OS_ONLY);
break;
case 4: gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_OPTIONS_USRDATA_ONLY);
break;
}
} break;
case YON_PAGE_OPTIONS_GRUB_INSTALL:{
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubInstallDevicesTree)),&model,&iter)){
char *cur_device;
gtk_tree_model_get(model,&iter,0,&cur_device,-1);
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_install");
yon_config_remove_by_key(part_parameter);
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->GrubInstallDevicesTree);
}
} break;
case YON_PAGE_OPTIONS_GRUB_UPDATE:{
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GrubUpdateDevicesTree)),&model,&iter)){
char *cur_device;
gtk_tree_model_get(model,&iter,0,&cur_device,-1);
yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,cur_device);
yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"grub_update");
yon_config_remove_by_key(part_parameter);
if (!main_config.configure_mode)
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION_BEGIN);
else
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_REGION);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NO_DEVICE_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->GrubUpdateDevicesTree);
}
}break;
case YON_PAGE_OPTIONS_SEPARATE:{
yon_install_options_save(widgets->SeparateDevicesTree,widgets->SeparateSysSectionTree,"system_only",widgets);
}break;
case YON_PAGE_OPTIONS_SEPARATE_USRDATA:{
yon_install_options_save(widgets->SeparateUserDevicesTree,widgets->SeparateUserSysSectionTree,"system_only",widgets);
} break;
case YON_PAGE_OPTIONS_OS_ONLY:{
yon_install_options_save(widgets->OSDevicesTree,widgets->OSSysSectionTree,"system_only",widgets);
} break;
case YON_PAGE_OPTIONS_USRDATA_ONLY:{
yon_install_options_save(widgets->UserdataDevicesTree,widgets->UserdataSysSectionTree,"data_only",widgets);
} break;
}
} break;
case -1: { // Previous
switch (page){
case YON_PAGE_REGION: {
gtk_widget_set_sensitive(widgets->BackButton,0);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page-1);
if (!main_config.configure_mode){
gtk_widget_set_sensitive(widgets->BackButton,0);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page-1);
} else {
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_SECTIONS);
}
}break;
case YON_PAGE_INSTALL_COMMON:
case YON_PAGE_INSTALL_SEPARATE:
case YON_PAGE_INSTALL_SAME_PARTITION:
case YON_PAGE_INSTALL_OPTIONS:
{
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),2);
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_SECTIONS);
} break;
case YON_PAGE_OPTIONS_GRUB_INSTALL:
case YON_PAGE_OPTIONS_GRUB_UPDATE:
case YON_PAGE_OPTIONS_SEPARATE:
case YON_PAGE_OPTIONS_OS_ONLY:
case YON_PAGE_OPTIONS_USRDATA_ONLY:
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALL_OPTIONS);
break;
default:{
gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),page-1);
}
@ -1112,12 +1277,40 @@ main_window *yon_main_window_complete(){
widgets->GpartedNearButton = yon_gtk_builder_get_widget(builder,"GpartedNearButton");
widgets->GpartedSameButton = yon_gtk_builder_get_widget(builder,"GpartedSameButton");
widgets->ConfigurationModeMenuItem = yon_gtk_builder_get_widget(builder,"ConfigurationModeMenuItem");
widgets->DocumentationMenuItem = yon_gtk_builder_get_widget(builder,"DocumentationMenuItem");
widgets->AboutMenuItem = yon_gtk_builder_get_widget(builder,"AboutMenuItem");
widgets->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
widgets->AdditionalSoftwareCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdditionalSoftwareCell"));
widgets->GrubInstallRadio = yon_gtk_builder_get_widget(builder,"GrubInstallRadio");
widgets->GrubUpdateRadio = yon_gtk_builder_get_widget(builder,"GrubUpdateRadio");
widgets->SeparateRadio = yon_gtk_builder_get_widget(builder,"SeparateRadio");
widgets->OSRadio = yon_gtk_builder_get_widget(builder,"OSRadio");
widgets->UserDataOnlyRadio = yon_gtk_builder_get_widget(builder,"UserDataOnlyRadio");
widgets->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton");
widgets->GrubInstallDevicesTree = yon_gtk_builder_get_widget(builder,"GrubInstallDevicesTree");
widgets->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton");
widgets->GrubUpdateDevicesTree = yon_gtk_builder_get_widget(builder,"GrubUpdateDevicesTree");
widgets->GpartedSeparateButton = yon_gtk_builder_get_widget(builder,"GpartedSeparateButton");
widgets->SeparateDevicesTree = yon_gtk_builder_get_widget(builder,"SeparateDevicesTree");
widgets->SeparateSysSectionTree = yon_gtk_builder_get_widget(builder,"SeparateSysSectionTree");
widgets->GpartedSeparateUserButton = yon_gtk_builder_get_widget(builder,"GpartedSeparateUserButton");
widgets->SeparateUserDevicesTree = yon_gtk_builder_get_widget(builder,"SeparateUserDevicesTree");
widgets->SeparateUserSysSectionTree = yon_gtk_builder_get_widget(builder,"SeparateUse-rSysSectionTree");
widgets->GpartedOSButton = yon_gtk_builder_get_widget(builder,"GpartedOSButton");
widgets->OSDevicesTree = yon_gtk_builder_get_widget(builder,"OSDevicesTree");
widgets->OSSysSectionTree = yon_gtk_builder_get_widget(builder,"OSSysSectionTree");
widgets->GpartedUserdataButton = yon_gtk_builder_get_widget(builder,"GpartedUserdataButton");
widgets->UserdataDevicesTree = yon_gtk_builder_get_widget(builder,"UserdataDevicesTree");
widgets->UserdataSysSectionTree = yon_gtk_builder_get_widget(builder,"UserdataSysSectionTree");
widgets->LanguagesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"LanguagesList"));
widgets->LanguagesFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LanguagesFilter"));
widgets->LayoutsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"LayoutsFilter"));
@ -1149,6 +1342,7 @@ main_window *yon_main_window_complete(){
g_signal_connect(G_OBJECT(widgets->InstallationNearSysDevicesTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets);
g_signal_connect(G_OBJECT(widgets->SamePlaceDeviceTree),"cursor-changed",G_CALLBACK(on_near_installation_device_changed),widgets);
g_signal_connect(G_OBJECT(widgets->ConfigurationModeMenuItem),"toggled",G_CALLBACK(on_configuration_mode_switch),widgets);
g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),widgets);
g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),widgets);

@ -75,7 +75,7 @@ NULL
#define AUTOINSTALL_TYPE_INSTALL "AUTOINSTALL[install_type]"
#define AUTOINSTALL_DEVICE "AUTOINSTALL[device]"
#define AUTOSTART_PARTS "AUTOINSTALL[part]"
#define part_parameter "AUTOINSTALL[part]"
#define user_name_parameter "AUTOINSTALL[user_name]"
#define user_name_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[user_name]"
@ -120,7 +120,7 @@ NULL
#define AUTOINSTALL_TYPE_INSTALL_command "ubconfig --source global get autoinstall AUTOINSTALL[install_type]"
#define AUTOINSTALL_DEVICE_command "ubconfig --source global get autoinstall AUTOINSTALL[device]"
#define AUTOSTART_PARTS_command "ubconfig --source global get autoinstall AUTOINSTALL[part]"
#define part_parameter_command "ubconfig --source global get autoinstall AUTOINSTALL[part]"
#define PASSWORD_DEFAULT "ublinux"
@ -155,8 +155,11 @@ enum YON_PAGES {
YON_PAGE_OPTIONS_GRUB_INSTALL,
YON_PAGE_OPTIONS_GRUB_UPDATE,
YON_PAGE_OPTIONS_SEPARATE,
YON_PAGE_OPTIONS_SEPARATE_USRDATA,
YON_PAGE_OPTIONS_OS_ONLY,
YON_PAGE_INSTALL_ERROR
YON_PAGE_OPTIONS_USRDATA_ONLY,
YON_PAGE_INSTALL_ERROR,
YON_PAGE_CONFIGURE_END
};
typedef struct {
@ -182,6 +185,7 @@ typedef struct {
GThread *config_save_thread;
GThread *install_thread;
guint progress_thread;
int configure_mode;
} config;
typedef struct {
@ -274,6 +278,7 @@ typedef struct {
GtkWidget *GpartedNearButton;
GtkWidget *GpartedSameButton;
GtkWidget *ConfigurationModeMenuItem;
GtkWidget *AboutMenuItem;
GtkWidget *DocumentationMenuItem;
@ -281,6 +286,33 @@ typedef struct {
GtkWidget *CommonInstallationDevicesTree;
GtkWidget *AdditionalSoftwareTree;
GtkWidget *GrubInstallRadio;
GtkWidget *GrubUpdateRadio;
GtkWidget *SeparateRadio;
GtkWidget *OSRadio;
GtkWidget *UserDataOnlyRadio;
GtkWidget *GpartedGrubInstallButton;
GtkWidget *GrubInstallDevicesTree;
GtkWidget *GpartedGrubUpdateButton;
GtkWidget *GrubUpdateDevicesTree;
GtkWidget *GpartedSeparateButton;
GtkWidget *SeparateDevicesTree;
GtkWidget *SeparateSysSectionTree;
GtkWidget *GpartedSeparateUserButton;
GtkWidget *SeparateUserDevicesTree;
GtkWidget *SeparateUserSysSectionTree;
GtkWidget *GpartedOSButton;
GtkWidget *OSDevicesTree;
GtkWidget *OSSysSectionTree;
GtkWidget *GpartedUserdataButton;
GtkWidget *UserdataDevicesTree;
GtkWidget *UserdataSysSectionTree;
GtkTreeModel *LanguagesFilter;
GtkTreeModel *LayoutsFilter;

@ -68,6 +68,19 @@
#define INSTALLATION_PARAMETERS_LABEL _("Installation parameters")
#define ADVANCED_INSTALLATION_HEAD_LABEL _("Advanced installation mode")
#define ADVANCED_INSTALLATION_LABEL _("Installing OS files, user data on different partitions, creating RAID, etc.")
#define ADVANCED_INSTALLATION_ATTENTION_LABEL _("Attention! The selected OC UBLinux components will be installed\nseparately into the selected partition.")
#define GRUB_INSTALL_HEAD_LABEL _("GRUB install")
#define GRUB_INSTALL_LABEL _("Install the GRUB bootloader")
#define GRUB_UPDATE_HEAD_LABEL _("GRUB update")
#define GRUN_UPDATE_LABEL _("Update (reinstall) the GRUB bootloader")
#define SEPARATE_INSTALL_HEAD_LABEL _("Separate installation")
#define SEPARATE_INSTALL_LABEL _("Installing OS components and user data on different disk partitions")
#define OS_ONLY_HEAD_LABEL _("OS only")
#define OS_ONLY_LABEL _("Installing only OS components without user data")
#define USER_DATA_HEAD_LABEL _("User data only")
#define USER_DATA_LABEL _("Installing only user data without OS components")
#define KEYBOARD__LABEL _("Keyboard layout language")

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save