@ -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 ) ;