From a62391c518f48a6903f2b225e708d36e4b69a145 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 10 Sep 2025 18:35:25 +0600 Subject: [PATCH] Fixes --- gresource.xml | 13 +- icons-builtin/install_type_custom_normal.png | Bin 0 -> 2608 bytes .../install_type_data_only_normal.png | Bin 0 -> 2871 bytes icons-builtin/install_type_fast_normal.png | Bin 0 -> 1875 bytes .../install_type_grub_install_normal.png | Bin 0 -> 2259 bytes .../install_type_grub_update_normal.png | Bin 0 -> 2259 bytes icons-builtin/install_type_next_normal.png | Bin 0 -> 2328 bytes icons-builtin/install_type_part_normal.png | Bin 0 -> 2409 bytes .../install_type_recovery_normal.png | Bin 0 -> 2912 bytes .../install_type_system_only_normal.png | Bin 0 -> 2529 bytes source/CMakeLists.txt | 13 +- source/ubinstall-gtk-decorations.c | 131 ++++++++++++++++++ source/ubinstall-gtk-page-switch.c | 1 + source/ubinstall-gtk-region.c | 6 - source/ubinstall-gtk-saving.c | 2 +- source/ubinstall-gtk.c | 71 ++-------- source/ubinstall-gtk.h | 20 ++- ubinstall-gtk.glade | 95 ++++++++----- 18 files changed, 241 insertions(+), 111 deletions(-) create mode 100644 icons-builtin/install_type_custom_normal.png create mode 100644 icons-builtin/install_type_data_only_normal.png create mode 100644 icons-builtin/install_type_fast_normal.png create mode 100644 icons-builtin/install_type_grub_install_normal.png create mode 100644 icons-builtin/install_type_grub_update_normal.png create mode 100644 icons-builtin/install_type_next_normal.png create mode 100644 icons-builtin/install_type_part_normal.png create mode 100644 icons-builtin/install_type_recovery_normal.png create mode 100644 icons-builtin/install_type_system_only_normal.png diff --git a/gresource.xml b/gresource.xml index 0d5be4f..68eaf28 100644 --- a/gresource.xml +++ b/gresource.xml @@ -41,11 +41,16 @@ slide-10.png slide-11.png slide-12.png - near_install_disk.png language.png - in_part_install_disk.png - clear_install_disk.png - manual_install_disk.png + install_type_custom_normal.png + install_type_data_only_normal.png + install_type_fast_normal.png + install_type_grub_install_normal.png + install_type_grub_update_normal.png + install_type_next_normal.png + install_type_part_normal.png + install_type_recovery_normal.png + install_type_system_only_normal.png modules.csv diff --git a/icons-builtin/install_type_custom_normal.png b/icons-builtin/install_type_custom_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..af0218a91f50d4f27e5b359802983514d02fb129 GIT binary patch literal 2608 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 N002ovPDHLkV1jBNq+kF5 literal 0 HcmV?d00001 diff --git a/icons-builtin/install_type_grub_install_normal.png b/icons-builtin/install_type_grub_install_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..0e07dd2aeea7eae083295c8e293a1bf175d04428 GIT binary patch literal 2259 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 hzP)V%o^o9Ee*y6Z6Tr{O4_E*I002ovPDHLkV1j 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%0Dv$ zd^`kc<7U%bV4ff&UkqX>RD_ggF;;-+6cvNhC>x#uXLE;wCmj6FBCK^3U@-hCJ_?z; zNX8o@LUAc_8g?1R0s@Mr!gFXY?t+8U&^EONheqoyE8q-8u<6VwJi+9D&no6M8D7p+ z+4B3ZUtIYuD?3BZZ95=URsjG?9W&Tpb^=xIPnW+>M?84=!nZ8(at9P_>A3_cl6*zD zecuLD?okD;ht__b`p24Ifb8Bzidz*06OQYE%9-N zB9@d-6U7|m-g;{PE9+ukX2k%NS1b5w&1+~bJ_(UCj=tlH7e_wbo{|UADK?!MjZ?n1 z!4F@t$MBBh38Wn30w^a}GL(JA9@IAYS2j}&4u5&F<)~xnMMi_5C@|c&JB+(-Q4;P` zFb4c#q!B7h-Au*cbezv$cUvX4+*XP3t$rMTp$8y9ZM`3BHx)s279|0MR0UOFSJaD&+vLf^O_Sn>B{CV`&WNZLL zr@C$LTr`aKwGDpM-SL_0sEP(b;!_4*j4@~t-C&@eqkZ_WV>pHe5fHlZ!RPNAu#}5vTh^01WEz5Y*uz5RV5!NhyTF zB5--$Xy#WGkw3X;8sUKef|Ph|Ky`}1RCGz6Tj&DE$9HBy;*-T+t`HyjvSkCfoD4T@ zOr3a`4Gl(q?wgD)MQF$D05npIp zZ-@(ks5{iw`_cKz`w96oV7KKlpfHajfsy0z{OdUghO7@QULkQplj8~2Zi+WdU)Kmu z9=WirJOC(*Do!4`fWEGgIQq4lioo$E-GHzgEcbw!00E@{mqfRB-V@RJzGP0204~m9 zC~x1l0RSN7h;hD8b&9iX1E##rwhdtY)>4Bzhz2k6ehYvd*#rf*}s4 zE{ND+;sybk;Q80%yM8K&#OUKIyRo5-DcSJnS3+4-5tx$Uz1kQ!`L|rX{A@4)gU{A9 z_}t%eFg6`uC87dPyz0VS@XAXv+nNPt1025hOfK%aC5#)YHAn(O|0e?e`Y#7AO{8~Z zMP)i9Voi+PLKhrv(Xt6>ziHbP`iaYK zfQiT)bf$wRiN_F4)f0xo9M8p#_HlJ1IyA*Jw;+f0oWEN(z-rwX(Lgbx%)q}Q8uS%= zu;)Ns+Uo!y8UyS(P>16$^u(_R76TDZV?4^k7$Ta^{R*&=5n9a~BQjMm z7&fNSKI|CAxwoQGUwAQswr9I>^vNy^_KX=6TmqvEmp+)p(I>mm_H6g^Qu^GnK|?M8 z00_bF9zJ-_Adox`(2?Y(MYi!#XcR@F*RVD?fBYgem13-SdbtaCzVbf0c!Hbn-E4^P zUi)Q-AwD?%LJvx63gVOp!x`rEv@R8s^?t==(glGis272R+kR^;$o$h`3xo-@`zBG*lzxcIBwljuKT!vF5Ih=%To+{I&avC_J zar(ZM$^%J!eBgtBf3kk#Ej|D{vn7R9XiUc?WeNlYR|)R4&mvPsAyeg`nB&{`&@*>W zC!+b>U!Hbx4pcddQRc`u4VG3yXF5idS$0X8eEQ{=S<=hXmXwNKpGONo8VFE?%itCQ zIINL;C=_zx64>Amf*fj3|0000< KMNUMnLSTX`3t(&j literal 0 HcmV?d00001 diff --git a/icons-builtin/install_type_system_only_normal.png b/icons-builtin/install_type_system_only_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..751a0de7151e5c1538526e69a9483becd31cb9d3 GIT binary patch literal 2529 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 literal 0 HcmV?d00001 diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 5273271..9a2e1aa 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -53,10 +53,6 @@ set(DEPENDFILES ../images/slide-11.png ../images/slide-12.png ../images/slide-12.png - ../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 @@ -84,6 +80,15 @@ set(DEPENDFILES ../kernel-list-addon.csv ../services-list.csv ../network-list.csv + ../icons-builtin/install_type_custom_normal.png + ../icons-builtin/install_type_data_only_normal.png + ../icons-builtin/install_type_fast_normal.png + ../icons-builtin/install_type_grub_install_normal.png + ../icons-builtin/install_type_grub_update_normal.png + ../icons-builtin/install_type_next_normal.png + ../icons-builtin/install_type_part_normal.png + ../icons-builtin/install_type_recovery_normal.png + ../icons-builtin/install_type_system_only_normal.png ) file(COPY ${DEPENDFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/source/ubinstall-gtk-decorations.c b/source/ubinstall-gtk-decorations.c index e69de29..9545480 100644 --- a/source/ubinstall-gtk-decorations.c +++ b/source/ubinstall-gtk-decorations.c @@ -0,0 +1,131 @@ +#include "ubinstall-gtk.h" + +void yon_resize_images_update(main_window *widgets){ + enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)); + gtk_widget_hide(widgets->BootloaderImage); + gtk_widget_hide(widgets->RegionImage); + gtk_widget_hide(widgets->KeyboardImage); + gtk_widget_hide(widgets->UserImage); + gtk_widget_hide(widgets->StartupImage); + gtk_widget_hide(widgets->NetworkImage); + + switch(page){ + case YON_PAGE_BOOTLOADER: + gtk_widget_show(widgets->BootloaderImage); + break; + case YON_PAGE_REGION: + gtk_widget_show(widgets->RegionImage); + break; + case YON_PAGE_KEYBOARD: + gtk_widget_show(widgets->KeyboardImage); + break; + case YON_PAGE_USERS: + gtk_widget_show(widgets->UserImage); + break; + case YON_PAGE_STARTUP: + gtk_widget_show(widgets->StartupImage); + break; + case YON_PAGE_NETWORK: + gtk_widget_show(widgets->NetworkImage); + break; + case YON_PAGE_INSTALLATION: + gtk_widget_show(widgets->SlidesImage); + g_timeout_add(7000,on_image_slide,widgets); + + break; + default: + break; + } +} + +void on_region_resized(GtkWidget *,main_window *widgets){ + enum YON_PAGES page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)); + GtkImage *target = NULL; + GdkPixbuf *pixbuf = NULL; + switch (page){ + case YON_PAGE_BOOTLOADER: + target = GTK_IMAGE(widgets->BootloaderImage); + pixbuf = widgets->bootloader_original; + break; + case YON_PAGE_REGION: + target = GTK_IMAGE(widgets->RegionImage); + pixbuf = widgets->region_original; + + break; + case YON_PAGE_KEYBOARD: + target = GTK_IMAGE(widgets->KeyboardImage); + pixbuf = widgets->keyboard_original; + + break; + case YON_PAGE_USERS: + target = GTK_IMAGE(widgets->UserImage); + pixbuf = widgets->user_original; + + break; + case YON_PAGE_STARTUP: + target = GTK_IMAGE(widgets->StartupImage); + pixbuf = widgets->startup_original; + + break; + case YON_PAGE_NETWORK: + target = GTK_IMAGE(widgets->NetworkImage); + pixbuf = widgets->network_original; + + break; + case YON_PAGE_INSTALLATION: + target = GTK_IMAGE(widgets->SlidesImage); + pixbuf = g_list_nth_data(widgets->slides_original,main_config.cur_slide); + + + break; + default: + break; + } + if (target){ + yon_image_resize_from_container(target,pixbuf); + } +} + +int yon_image_resize_from_container(GtkImage *target, GdkPixbuf *pixbuf_unscaled){ + int width = gtk_widget_get_allocated_width((gtk_widget_get_parent(GTK_WIDGET(target)))); + int height = gtk_widget_get_allocated_height((gtk_widget_get_parent(GTK_WIDGET(target)))); + + int newImgWidthDef = (width <= 217) ? width : width - 30; + int newImgHeightDef = (height <= 120) ? height : height - 80; + + int originalWidth = gdk_pixbuf_get_width(pixbuf_unscaled); + int originalHeight = gdk_pixbuf_get_height(pixbuf_unscaled); + int newImgHeight = (int)(originalHeight / ((double) originalWidth / newImgWidthDef)); + + if (newImgHeight > newImgHeightDef) { + newImgHeight = newImgHeightDef; + newImgWidthDef = (int)(originalWidth / ((double) originalHeight / newImgHeight)); + } + int newImageWidth = (int)(originalWidth / ((double) originalHeight / newImgHeight)); + + GdkPixbuf *scaledPixBuf = gdk_pixbuf_scale_simple(pixbuf_unscaled, newImageWidth, newImgHeight, GDK_INTERP_BILINEAR); + gtk_image_set_from_pixbuf(target, scaledPixBuf); + + g_object_unref(scaledPixBuf); + + return 1; +} + +gboolean on_image_slide(void *data){ + main_window *widgets = (main_window*)data; + int size; + config_str target = yon_char_parsed_new(&size,slide_repeat_path); + if (size) + yon_char_parsed_free(target,size); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),(GdkPixbuf*)g_list_nth_data(widgets->slides_original,main_config.cur_slide)); + // gtk_widget_queue_draw(widgets->SlidesImage); + if ((int)main_config.cur_slideSlidesImage), (GdkPixbuf*)g_list_nth_data(widgets->slides_original,cur_slide)); -// yon_image_resize_from_container(GTK_IMAGE(widgets->RegionImage), widgets->regions_original); -// yon_image_resize_from_container(GTK_IMAGE(widgets->KeyboardImage), widgets->keyboard_original); -// } - int yon_region_save(main_window *widgets){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->RegionCombo))==-1){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),REGION_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index b002a28..e4bc045 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -802,6 +802,6 @@ int yon_config_save(main_window *widgets){ void yon_config_restore(main_window *widgets){ on_config_global_load(NULL,widgets); - system("ubconfig --source system remove [autoinstall] /"); + system("ubconfig --source system remove [autoinstall]"); yon_config_save_simple(YON_CONFIG_LOCAL,"system"); } \ No newline at end of file diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index ce6fbd2..ca9e521 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -2,8 +2,6 @@ config main_config; -int cur_slide=0; - // //functions void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widgets){ @@ -285,56 +283,13 @@ void config_init(){ main_config.config_save_path = NULL; yon_packages_init(); main_config.network_types = g_hash_table_new(g_str_hash,g_str_equal); + main_config.cur_slide=0; } // void on_root_get_root(char *argline){ // yon_launch(argline); // } -// int yon_image_resize_from_container(GtkImage *target, GdkPixbuf *pixbuf_unscaled){ -// int width = gtk_widget_get_allocated_width((gtk_widget_get_parent(GTK_WIDGET(target)))); -// int height = gtk_widget_get_allocated_height((gtk_widget_get_parent(GTK_WIDGET(target)))); -// -// int newImgWidthDef = (width <= 217) ? width : width - 30; -// int newImgHeightDef = (height <= 120) ? height : height - 80; -// -// int originalWidth = gdk_pixbuf_get_width(pixbuf_unscaled); -// int originalHeight = gdk_pixbuf_get_height(pixbuf_unscaled); -// int newImgHeight = (int)(originalHeight / ((double) originalWidth / newImgWidthDef)); -// -// if (newImgHeight > newImgHeightDef) { -// newImgHeight = newImgHeightDef; -// newImgWidthDef = (int)(originalWidth / ((double) originalHeight / newImgHeight)); -// } -// int newImageWidth = (int)(originalWidth / ((double) originalHeight / newImgHeight)); -// -// GdkPixbuf *scaledPixBuf = gdk_pixbuf_scale_simple(pixbuf_unscaled, newImageWidth, newImgHeight, GDK_INTERP_BILINEAR); -// gtk_image_set_from_pixbuf(target, scaledPixBuf); -// -// g_object_unref(scaledPixBuf); -// -// return 1; -// } - -// gboolean on_image_slide(void *data){ -// main_window *widgets = (main_window*)data; -// int size; -// config_str target = yon_char_parsed_new(&size,slide_repeat_path); -// if (size) -// yon_char_parsed_free(target,size); -// gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),(GdkPixbuf*)g_list_nth_data(widgets->slides_original,cur_slide)); -// // gtk_widget_queue_draw(widgets->SlidesImage); -// if (cur_slideRemoveButton=yon_gtk_builder_get_widget(builder,"RemoveButton"); widgets->RegionSensitiveSwitch = yon_gtk_builder_get_widget(builder,"RegionSensitiveSwitch"); + widgets->UserImage=yon_gtk_builder_get_widget(builder,"UserImage"); widgets->UserRootNameEntry=yon_gtk_builder_get_widget(builder,"UserRootNameEntry"); widgets->UserRootLoginEntry=yon_gtk_builder_get_widget(builder,"UserRootLoginEntry"); widgets->UserRootPasswordCombo=yon_gtk_builder_get_widget(builder,"UserRootPasswordCombo"); @@ -632,6 +588,7 @@ main_window *yon_main_window_complete(){ widgets->PacmanSoftwareChosenList = GTK_LIST_STORE(gtk_builder_get_object(builder,"PacmanSoftwareChosenList")); widgets->PacmanSoftwareChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"PacmanSoftwareChosenCell")); + widgets->StartupImage = yon_gtk_builder_get_widget(builder,"StartupImage"); widgets->StartupServicesTree = yon_gtk_builder_get_widget(builder,"StartupServicesTree"); widgets->StartupServicesAddButton = yon_gtk_builder_get_widget(builder,"StartupServicesAddButton"); widgets->StartupServicesEditButton = yon_gtk_builder_get_widget(builder,"StartupServicesEditButton"); @@ -639,6 +596,7 @@ main_window *yon_main_window_complete(){ widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell")); widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList")); + widgets->BootloaderImage = yon_gtk_builder_get_widget(builder,"BootloaderImage"); widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch"); widgets->BootloadTimerSpin = yon_gtk_builder_get_widget(builder,"BootloadTimerSpin"); widgets->BootloadDefaultOSEntry = yon_gtk_builder_get_widget(builder,"BootloadDefaultOSEntry"); @@ -649,6 +607,7 @@ main_window *yon_main_window_complete(){ widgets->BootloadUserRemoveButton = yon_gtk_builder_get_widget(builder,"BootloadUserRemoveButton"); widgets->BootloadUsersList = GTK_LIST_STORE(gtk_builder_get_object(builder,"BootloadUsersList")); + widgets->NetworkImage = yon_gtk_builder_get_widget(builder,"NetworkImage"); widgets->NetworkDomainSwitch = yon_gtk_builder_get_widget(builder,"NetworkDomainSwitch"); widgets->NetworkDomainNameEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainNameEntry"); widgets->NetworkDomainAdminEntry = yon_gtk_builder_get_widget(builder,"NetworkDomainAdminEntry"); @@ -688,7 +647,7 @@ main_window *yon_main_window_complete(){ g_signal_connect(G_OBJECT(widgets->GpartedSameButton),"clicked",G_CALLBACK(on_gparted_open),NULL); g_signal_connect(G_OBJECT(widgets->GpartedNextInstallationButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - // g_signal_connect(G_OBJECT(widgets->MainWindow),"check-resize",G_CALLBACK(on_region_resized),widgets); + g_signal_connect(G_OBJECT(widgets->MainWindow),"check-resize",G_CALLBACK(on_region_resized),widgets); g_signal_connect(G_OBJECT(widgets->NextButton),"clicked",G_CALLBACK(on_page_next_clicked),widgets); g_signal_connect(G_OBJECT(widgets->BackButton),"clicked",G_CALLBACK(on_page_prev_clicked),widgets); g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_cancel_clicked),widgets); @@ -804,8 +763,12 @@ main_window *yon_main_window_complete(){ { int size; config_str slides = yon_char_parsed_new(&size,slide_repeat_path); - widgets->regions_original = gdk_pixbuf_new_from_resource(regions_path,NULL); + widgets->region_original = gdk_pixbuf_new_from_resource(regions_path,NULL); widgets->keyboard_original = gdk_pixbuf_new_from_resource(keyboard_path,NULL); + widgets->user_original = gdk_pixbuf_new_from_resource(users_path,NULL); + widgets->startup_original = gdk_pixbuf_new_from_resource(startup_path,NULL); + widgets->bootloader_original = gdk_pixbuf_new_from_resource(bootloader_path,NULL); + widgets->network_original = gdk_pixbuf_new_from_resource(network_icon_path,NULL); widgets->slides_original = NULL; widgets->slides_original = g_list_prepend(widgets->slides_original,gdk_pixbuf_new_from_resource(slide_0_path,NULL)); for (int i=1;islides_original = g_list_reverse(widgets->slides_original); yon_char_parsed_free(slides,size); - int width = gdk_pixbuf_get_width(widgets->regions_original); - int height = gdk_pixbuf_get_height(widgets->regions_original); - widgets->region_height_mult = (float)height/width; - GdkPixbuf *pix = gdk_pixbuf_scale_simple(widgets->regions_original,600,400,GDK_INTERP_BILINEAR); - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->RegionImage),pix); - g_object_unref(pix); - pix = gdk_pixbuf_scale_simple(widgets->keyboard_original,600,400,GDK_INTERP_BILINEAR); - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->KeyboardImage),pix); - g_object_unref(pix); - pix = gdk_pixbuf_scale_simple((GdkPixbuf*)g_list_nth_data(widgets->slides_original,0),600,400,GDK_INTERP_BILINEAR); - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),pix); - g_object_unref(pix); } gtk_builder_connect_signals(builder,NULL); // yon_load_proceed(YON_CONFIG_LOCAL); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 38d5026..dd5f764 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -51,6 +51,10 @@ #define regions_path "/com/ublinux/images/map-time-zone.png" #define keyboard_path "/com/ublinux/images/keyboard.png" +#define users_path "/com/ublinux/images/map-time-zone.png" +#define startup_path "/com/ublinux/images/keyboard.png" +#define bootloader_path "/com/ublinux/images/map-time-zone.png" +#define network_icon_path "/com/ublinux/images/keyboard.png" #define licence_path "/usr/share/ublinux/agreement/EULA.txt" @@ -320,8 +324,6 @@ layout && /description:/ {\ typedef char* string; __attribute__((unused)) static \ string version_application; - -extern int cur_slide; enum YON_PAGES { YON_PAGE_WELCOME = 0, @@ -387,6 +389,7 @@ typedef struct { char *config_load_path; char *config_save_path; + unsigned int cur_slide; } config; extern config main_config; @@ -454,6 +457,7 @@ typedef struct { GtkWidget *InstallationWindowsRadio; GtkWidget *InstallationOptionsRadio; + GtkWidget *UserImage; GtkWidget *UserRootNameEntry; GtkWidget *UserRootLoginEntry; GtkWidget *UserRootPasswordCombo; @@ -564,8 +568,12 @@ typedef struct { GtkTreeModel *LanguagesFilter; GtkTreeModel *LayoutsFilter; - GdkPixbuf *regions_original; + GdkPixbuf *region_original; GdkPixbuf *keyboard_original; + GdkPixbuf *user_original; + GdkPixbuf *startup_original; + GdkPixbuf *bootloader_original; + GdkPixbuf *network_original; GList *slides_original; float region_height_mult; @@ -608,6 +616,7 @@ typedef struct { GtkListStore *PacmanSoftwareChosenList; GtkCellRenderer *PacmanSoftwareChosenCell; + GtkWidget *StartupImage; GtkWidget *StartupServicesTree; GtkWidget *StartupServicesAddButton; GtkWidget *StartupServicesEditButton; @@ -615,6 +624,7 @@ typedef struct { GtkCellRenderer *StartupChosenCell; GtkListStore *StartupList; + GtkWidget *BootloaderImage; GtkWidget *BootloadTimerSwitch; GtkWidget *BootloadTimerSpin; GtkWidget *BootloadDefaultOSEntry; @@ -625,6 +635,7 @@ typedef struct { GtkWidget *BootloadUserTree; GtkListStore *BootloadUsersList; + GtkWidget *NetworkImage; GtkWidget *NetworkDomainSwitch; GtkWidget *NetworkDomainNameEntry; GtkWidget *NetworkDomainAdminEntry; @@ -1105,4 +1116,5 @@ void on_source_add(GtkWidget *,source_window *window); void yon_source_update(source_window *window); void yon_source_element_add(char *key,void*,source_window *window); source_element *yon_source_element_new(); -void on_system_setup_pass(GtkWidget *, main_window *widgets); \ No newline at end of file +void on_system_setup_pass(GtkWidget *, main_window *widgets); +void yon_resize_images_update(main_window *widgets); \ No newline at end of file diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index cc601d0..beba057 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -377,6 +377,9 @@ False Enable VNC server True + @@ -756,6 +759,7 @@ agreement 5 5 left + False True @@ -985,7 +989,7 @@ and help you install UBLinux on your computer True False - /com/ublinux/images/clear_install_disk.png + /com/ublinux/images/install_type_fast_normal.png False @@ -1062,7 +1066,7 @@ and help you install UBLinux on your computer True False - /com/ublinux/images/near_install_disk.png + /com/ublinux/images/install_type_next_normal.png False @@ -1139,7 +1143,7 @@ and help you install UBLinux on your computer True False - /com/ublinux/images/in_part_install_disk.png + /com/ublinux/images/install_type_part_normal.png False @@ -1216,7 +1220,7 @@ and help you install UBLinux on your computer True False - /com/ublinux/images/manual_install_disk.png + /com/ublinux/images/install_type_custom_normal.png False @@ -1293,6 +1297,7 @@ and help you install UBLinux on your computer True False + /com/ublinux/images/install_type_recovery_normal.png False @@ -2529,6 +2534,8 @@ and help you install UBLinux on your computer none + 1 + 1 True False @@ -2821,6 +2828,8 @@ and help you install UBLinux on your computer none + 1 + 1 True False @@ -3112,7 +3121,9 @@ and help you install UBLinux on your computer 0 none - + + 1 + 1 True False @@ -3122,7 +3133,7 @@ and help you install UBLinux on your computer - False + True True 1 @@ -3166,6 +3177,7 @@ and help you install UBLinux on your computer True True + 290 True @@ -3413,7 +3425,7 @@ and help you install UBLinux on your computer - True + False True 6 @@ -3465,7 +3477,9 @@ and help you install UBLinux on your computer 0 none - + + 1 + 1 True False @@ -3475,7 +3489,7 @@ and help you install UBLinux on your computer - False + True True 1 @@ -3544,6 +3558,7 @@ and help you install UBLinux on your computer True True in + 290 True @@ -3604,7 +3619,7 @@ and help you install UBLinux on your computer - True + False True 3 @@ -3656,7 +3671,9 @@ and help you install UBLinux on your computer 0 none - + + 1 + 1 True False @@ -3666,7 +3683,7 @@ and help you install UBLinux on your computer - False + True True 1 @@ -4016,7 +4033,7 @@ and help you install UBLinux on your computer 0 none - + True False @@ -4026,13 +4043,14 @@ and help you install UBLinux on your computer - False + True True 1 + 350 True False vertical @@ -4290,13 +4308,26 @@ and help you install UBLinux on your computer vertical 5 - + True - False - vertical - 5 + True + in - + + True + False + + + True + False + vertical + 5 + + + + + + @@ -4894,7 +4925,7 @@ or continue working in the UBLinux Live environment. True False - /com/ublinux/images/clear_install_disk.png + /com/ublinux/images/install_type_fast_normal.png False @@ -5348,7 +5379,7 @@ or continue working in the UBLinux Live environment. True False - /com/ublinux/images/near_install_disk.png + /com/ublinux/images/install_type_next_normal.png False @@ -6031,7 +6062,7 @@ installed. True False - /com/ublinux/images/in_part_install_disk.png + /com/ublinux/images/install_type_part_normal.png False @@ -6648,7 +6679,7 @@ installed. True False - /com/ublinux/images/manual_install_disk.png + /com/ublinux/images/install_type_custom_normal.png False @@ -7691,7 +7722,7 @@ separately into the selected partition. True False - /com/ublinux/images/manual_install_disk.png + /com/ublinux/images/install_type_recovery_normal.png False @@ -7791,7 +7822,7 @@ separately into the selected partition. True False - gtk-missing-image + /com/ublinux/images/install_type_grub_install_normal.png False @@ -7868,7 +7899,7 @@ separately into the selected partition. True False - gtk-missing-image + /com/ublinux/images/install_type_grub_update_normal.png False @@ -7945,7 +7976,7 @@ separately into the selected partition. True False - gtk-missing-image + /com/ublinux/images/install_type_system_only_normal.png False @@ -8022,7 +8053,7 @@ separately into the selected partition. True False - gtk-missing-image + /com/ublinux/images/install_type_data_only_normal.png False @@ -8174,7 +8205,7 @@ separately into the selected partition. True False - /com/ublinux/images/clear_install_disk.png + /com/ublinux/images/install_type_grub_install_normal.png False @@ -8549,7 +8580,7 @@ separately into the selected partition. True False - /com/ublinux/images/clear_install_disk.png + /com/ublinux/images/install_type_grub_update_normal.png False @@ -8917,7 +8948,7 @@ separately into the selected partition. True False - /com/ublinux/images/clear_install_disk.png + /com/ublinux/images/install_type_system_only_normal.png False @@ -9644,7 +9675,7 @@ separately into the selected partition. True False - /com/ublinux/images/clear_install_disk.png + /com/ublinux/images/install_type_data_only_normal.png False