master #403

Open
asmeron wants to merge 10 commits from YanTheKaller/ubinstall-gtk:master into master

@ -1,35 +1,35 @@
msgid "Linux D-Bus Message Broker" msgid "Linux D-Bus message broker"
msgstr "" msgstr ""
msgid "Operating system monitoring and management manager service" msgid "cockpit.socket;Operating system monitoring and management service"
msgstr "" msgstr ""
msgid "Is a program for providing detection and configuration for systems to automatically connect to networks" msgid "Service for automatic network connection detection and configuration"
msgstr "" msgstr ""
msgid "The daemon that listens for connections from clients on port 22" msgid "Daemon that listens for client connections on port 22"
msgstr "" msgstr ""
msgid "Is a system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server" msgid "System service for synchronizing the local clock with a remote NTP server"
msgstr "" msgstr ""
msgid "Is a free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery" msgid "Zero-configuration networking (Zeroconf) implementation, providing multicast DNS and DNS service discovery"
msgstr "" msgstr ""
msgid "Is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server" msgid "Modular printing system for Unix-like operating systems, can act as a print server"
msgstr "" msgstr ""
msgid "Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon" msgid "Provides file and printer shares using the SMB/CIFS protocol (SMB and NMB daemons)"
msgstr "" msgstr ""
msgid "Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon" msgid "Provides integration with Windows domain authentication and identity mapping (Winbind daemon)"
msgstr "" msgstr ""
msgid "Operating system dynamic swap file management service" msgid "Dynamic swap file management service for the operating system"
msgstr "" msgstr ""
msgid "A Service is a container for logically related Bluetooth data items" msgid "Bluetooth service for device discovery, pairing, and data exchange"
msgstr "" msgstr ""
msgid "Cross-platform computer monitoring and room management" msgid "Cross-platform computer monitoring and classroom management"
msgstr "" msgstr ""

@ -17,38 +17,38 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
msgid "Linux D-Bus Message Broker" msgid "Linux D-Bus message broker"
msgstr "Посредник обмена сообщениями D-Bus в Linux" msgstr "Брокер сообщений D-Bus для Linux"
msgid "Operating system monitoring and management manager service" msgid "Operating system monitoring and management service"
msgstr "Служба мониторинга и управления операционной системой" msgstr "Служба мониторинга и управления операционной системой"
msgid "A program for providing detection and configuration for systems to automatically connect to networks" msgid "Service for automatic network connection detection and configuration"
msgstr "Программа для обнаружения и настройки систем для автоматического подключения к сетям" msgstr "Служба автоматического обнаружения и настройки сетевых подключений"
msgid "The daemon that listens for connections from clients on port 22" msgid "Daemon that listens for client connections on port 22"
msgstr "Демон, который прослушивает подключения от клиентов на порту 22" msgstr "Демон, прослушивающий клиентские подключения на порту 22"
msgid "A system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server" msgid "System service for synchronizing the local clock with a remote NTP server"
msgstr "Системная служба, которая может использоваться для синхронизации локальных системных часов с удалённым сервером Network Time Protocol (NTP)" msgstr "Системная служба синхронизации локальных часов с удалённым NTP-сервером"
msgid "A free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery" msgid "Zero-configuration networking (Zeroconf) implementation, providing multicast DNS and DNS service discovery"
msgstr "Бесплатная реализация нуль-конфигурационной сети (zeroconf), включающая систему для multicast DNS и DNS Service Discovery" msgstr "Реализация сетевого взаимодействия без настройки (Zeroconf), обеспечивающая многоадресный DNS и обнаружение служб DNS"
msgid "A modular printing system for Unix-like computer operating systems which allows a computer to act as a print server" msgid "Modular printing system for Unix-like operating systems, can act as a print server"
msgstr "Модульная система печати для Unix-подобных операционных систем, которая позволяет компьютеру выступать в роли сервера печати" msgstr "Модульная система печати для Unix-подобных операционных систем, может выступать в роли сервера печати"
msgid "Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon" msgid "Provides file and printer shares using the SMB/CIFS protocol (SMB and NMB daemons)"
msgstr "Обеспечивает общий доступ к папкам и принтерам по протоколу SMB/CIFS, который обычно используется в Windows. Демон SMB и NMB" msgstr "Предоставляет общий доступ к файлам и принтерам по протоколу SMB/CIFS (демоны SMB и NMB)"
msgid "Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon" msgid "Provides integration with Windows domain authentication and identity mapping (Winbind daemon)"
msgstr "Обеспечивает общий доступ к папкам и принтерам по протоколу SMB/CIFS, который обычно используется в Windows. Демон Winbind" msgstr "Обеспечивает интеграцию с аутентификацией в домене Windows и сопоставление учётных записей (демон Winbind)"
msgid "Operating system dynamic swap file management service" msgid "Dynamic swap file management service for the operating system"
msgstr "Служба динамического управления файлом подкачки операционной системы" msgstr "Служба динамического управления файлами подкачки для операционной системы"
msgid "A Service is a container for logically related Bluetooth data items" msgid "Bluetooth service for device discovery, pairing, and data exchange"
msgstr "Сервис-контейнер для логически связанных элементов данных Bluetooth" msgstr "Служба Bluetooth для обнаружения устройств, сопряжения и обмена данными"
msgid "Cross-platform computer monitoring and room management" msgid "Cross-platform computer monitoring and classroom management"
msgstr "Кроссплатформенный компьютерный мониторинг и управление помещениями" msgstr "Кроссплатформенное решение для мониторинга компьютеров и управления локальными системами"

@ -1,13 +1,13 @@
GROUP;UNIT;DESCRIPTION GROUP;UNIT;DESCRIPTION
DBUS;dbus-broker;Linux D-Bus Message Broker DBUS;dbus-broker;Linux D-Bus message broker
UBManager WebPanel;cockpit.socket;Operating system monitoring and management manager service UBManager WebPanel;cockpit.socket;Operating system monitoring and management service
Network Manager;NetworkManager;A program for providing detection and configuration for systems to automatically connect to networks Network Manager;NetworkManager;Service for automatic network connection detection and configuration
SSH;sshd;The daemon that listens for connections from clients on port 22 SSH;sshd;Daemon that listens for client connections on port 22
NTP Client;systemd-timesyncd;A system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server NTP Client;systemd-timesyncd;System service for synchronizing the local clock with a remote NTP server
Avahi;avahi-daemon,avahi-dnsconfd;A free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery Avahi;avahi-daemon,avahi-dnsconfd;Zero-configuration networking (Zeroconf) implementation, providing multicast DNS and DNS service discovery
CUPS;cups;A modular printing system for Unix-like computer operating systems which allows a computer to act as a print server CUPS;cups;Modular printing system for Unix-like operating systems, can act as a print server
Samba;smb,nmb;Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon Samba;smb,nmb;Provides file and printer shares using the SMB/CIFS protocol (SMB and NMB daemons)
Samba winbind;winbind;Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon Samba winbind;winbind;Provides integration with Windows domain authentication and identity mapping (Winbind daemon)
SwapSpace;swapspace;Operating system dynamic swap file management service SwapSpace;swapspace;Dynamic swap file management service for the operating system
Bluetouth;bluetooth;A Service is a container for logically related Bluetooth data items Bluetouth;bluetooth;Bluetooth service for device discovery, pairing, and data exchange
Veyon;veyon;Cross-platform computer monitoring and room management Veyon;veyon;Cross-platform computer monitoring and classroom management
1 GROUP UNIT DESCRIPTION
2 DBUS dbus-broker Linux D-Bus Message Broker Linux D-Bus message broker
3 UBManager WebPanel cockpit.socket Operating system monitoring and management manager service Operating system monitoring and management service
4 Network Manager NetworkManager A program for providing detection and configuration for systems to automatically connect to networks Service for automatic network connection detection and configuration
5 SSH sshd The daemon that listens for connections from clients on port 22 Daemon that listens for client connections on port 22
6 NTP Client systemd-timesyncd A system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server System service for synchronizing the local clock with a remote NTP server
7 Avahi avahi-daemon,avahi-dnsconfd A free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS and DNS Service Discovery Zero-configuration networking (Zeroconf) implementation, providing multicast DNS and DNS service discovery
8 CUPS cups A modular printing system for Unix-like computer operating systems which allows a computer to act as a print server Modular printing system for Unix-like operating systems, can act as a print server
9 Samba smb,nmb Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. SMB and NMB Daemon Provides file and printer shares using the SMB/CIFS protocol (SMB and NMB daemons)
10 Samba winbind winbind Provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows. Winbind Daemon Provides integration with Windows domain authentication and identity mapping (Winbind daemon)
11 SwapSpace swapspace Operating system dynamic swap file management service Dynamic swap file management service for the operating system
12 Bluetouth bluetooth A Service is a container for logically related Bluetooth data items Bluetooth service for device discovery, pairing, and data exchange
13 Veyon veyon Cross-platform computer monitoring and room management Cross-platform computer monitoring and classroom management

@ -707,7 +707,9 @@ void yon_advanced_init(main_window *widgets){
GList *iter; GList *iter;
for (iter=list;iter;iter=iter->next){ for (iter=list;iter;iter=iter->next){
advanced_part_widgets *part = g_object_get_data(G_OBJECT(iter->data),"advanced_part_widgets"); advanced_part_widgets *part = g_object_get_data(G_OBJECT(iter->data),"advanced_part_widgets");
on_advanced_part_remove_part(part->RemoveButton,widgets); // on_advanced_part_remove_part(part->RemoveButton,widgets);
free(part);
gtk_widget_destroy(iter->data);
} }
gtk_list_store_clear(widgets->PartitionsList); gtk_list_store_clear(widgets->PartitionsList);
yon_devices_setup(widgets); yon_devices_setup(widgets);
@ -726,7 +728,7 @@ void yon_advanced_init(main_window *widgets){
yon_char_parsed_free(vmf_file,size); yon_char_parsed_free(vmf_file,size);
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),G_CALLBACK(on_advanced_virtual_device_changed),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),G_CALLBACK(on_advanced_virtual_device_changed),widgets);
char *install_mode = config(AUTOINSTALL_TYPE_INSTALL); char *install_mode = config(AUTOINSTALL_TYPE_INSTALL);
if (!yon_char_is_empty(install_mode)&&!strcmp(install_mode,"custom")){ if (!yon_char_is_empty(install_mode)){ // &&!strcmp(install_mode,"custom")
advanced_part_data *data1 = yon_advanced_get_config_data(0); advanced_part_data *data1 = yon_advanced_get_config_data(0);
advanced_part_data *data2 = yon_advanced_get_config_data(1); advanced_part_data *data2 = yon_advanced_get_config_data(1);
yon_advanced_part_select_for_data(data1,widgets); yon_advanced_part_select_for_data(data1,widgets);

@ -194,11 +194,49 @@ void yon_size_changed(GtkSpinButton *self, main_window *widgets){
} }
} }
void *yon_partitions_list_load(main_window *){ void yon_gparted_update_unlock(main_window *widgets){
gtk_widget_set_sensitive(widgets->CommonInstallationDevicesTree,1);
gtk_widget_set_sensitive(widgets->NextInstallationSysDevicesTree,1);
gtk_widget_set_sensitive(widgets->NextInstallationSysSectionTree,1);
gtk_widget_set_sensitive(widgets->SamePlaceDeviceTree,1);
gtk_widget_set_sensitive(widgets->SamePlacePartTree,1);
gtk_widget_set_sensitive(widgets->GrubInstallDevicesTree,1);
gtk_widget_set_sensitive(widgets->GrubInstallPartitionTree,1);
gtk_widget_set_sensitive(widgets->GrubUpdateDevicesTree,1);
gtk_widget_set_sensitive(widgets->GrubUpdatePartitionTree,1);
gtk_widget_set_sensitive(widgets->OSDevicesTree,1);
gtk_widget_set_sensitive(widgets->OSSysSectionTree,1);
gtk_widget_set_sensitive(widgets->UserdataDevicesTree,1);
gtk_widget_set_sensitive(widgets->UserdataSysSectionTree,1);
gtk_widget_set_sensitive(widgets->AdvancedDeviceTree,1);
gtk_widget_set_sensitive(widgets->AdvancedPartitionTree,1);
gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,1);
gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,1);
gtk_widget_set_sensitive(widgets->SameUpdateGpartedButton,1);
gtk_widget_set_sensitive(widgets->GrubInstallUpdateGpartedButton,1);
gtk_widget_set_sensitive(widgets->GrubUpdateUpdateGpartedButton,1);
gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,1);
gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,1);
gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,1);
gtk_list_store_clear(widgets->PartitionsList);
yon_devices_setup(widgets);
}
void *yon_partitions_list_load(main_window *widgets){
main_config.partitions = yon_config_load(yon_debug_output("%s\n",get_parts_for_device_command),&main_config.part_size); main_config.partitions = yon_config_load(yon_debug_output("%s\n",get_parts_for_device_command),&main_config.part_size);
for (int i=0;i<main_config.part_size;i++){ for (int i=0;i<main_config.part_size;i++){
yon_char_remove_last_symbol(main_config.partitions[i],'\n'); yon_char_remove_last_symbol(main_config.partitions[i],'\n');
} }
g_idle_add_once((GSourceOnceFunc)yon_gparted_update_unlock,widgets);
g_thread_exit(NULL);
}
void *yon_devices_list_load(main_window *){
main_config.devices = yon_config_load(yon_debug_output("%s\n",get_devices_command),&main_config.devices_size);
for (int i=0;i<main_config.devices_size;i++){
yon_char_remove_last_symbol(main_config.devices[i],'\n');
}
g_thread_exit(NULL); g_thread_exit(NULL);
} }

@ -359,7 +359,7 @@ int yon_config_save(main_window *widgets){
} }
void yon_config_restore(main_window *){ void yon_config_restore(main_window *){
if (yon_char_is_empty(main_config.config_load_path)) return; if (yon_char_is_empty(main_config.config_load_path)||!main_config.block_restore) return;
char *remove_command = yon_char_unite("ubconfig --source ",main_config.config_load_path," remove [autoinstall]",NULL); char *remove_command = yon_char_unite("ubconfig --source ",main_config.config_load_path," remove [autoinstall]",NULL);
yon_launch(yon_debug_output("%s\n",remove_command)); yon_launch(yon_debug_output("%s\n",remove_command));
yon_config_custom_apply(&main_config.startup_config); yon_config_custom_apply(&main_config.startup_config);

@ -114,7 +114,7 @@ void yon_main_window_update_locale(main_window *widgets){
// gtk_widget_destroy(widgets->MainWindow); // gtk_widget_destroy(widgets->MainWindow);
textdomain(LocaleName); textdomain(LocaleName);
g_setenv("LANGUAGE",(char *)locale,1); g_setenv("LANGUAGE",(char *)locale,1);
yon_update_translation(widgets); yon_installer_update_translation(widgets);
// yon_main_window_create(widgets); // yon_main_window_create(widgets);
char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL);
yon_window_config_setup(GTK_WINDOW(widgets->MainWindow)); yon_window_config_setup(GTK_WINDOW(widgets->MainWindow));
@ -234,7 +234,7 @@ gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *w
} }
void yon_gtk_widget_set_translation(GtkWidget *target){ void yon_installer_widget_set_translation(GtkWidget *target){
GObject *cur_widget = NULL; GObject *cur_widget = NULL;
char *widget_text = NULL; char *widget_text = NULL;
if (GTK_IS_BUTTON(target)){ if (GTK_IS_BUTTON(target)){
@ -261,7 +261,7 @@ void yon_gtk_widget_set_translation(GtkWidget *target){
g_object_set_data(G_OBJECT(cur_widget),"original_label",(void*)widget_text); g_object_set_data(G_OBJECT(cur_widget),"original_label",(void*)widget_text);
} }
void yon_translation_init(GtkBuilder *builder){ void yon_installer_translation_init(GtkBuilder *builder){
GSList *list = gtk_builder_get_objects(builder); GSList *list = gtk_builder_get_objects(builder);
GSList *iter; GSList *iter;
@ -300,7 +300,7 @@ void yon_translation_init(GtkBuilder *builder){
} }
} }
void yon_update_translation(main_window *widgets){ void yon_installer_update_translation(main_window *widgets){
GtkBuilder *builder = widgets->builder; GtkBuilder *builder = widgets->builder;
GSList *list = gtk_builder_get_objects(builder); GSList *list = gtk_builder_get_objects(builder);
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->DocumentationMenuItem),"Label")); list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->DocumentationMenuItem),"Label"));

@ -245,7 +245,37 @@ void on_gparted_open(){
} }
void on_gparted_update(GtkWidget *, main_window *widgets){ void on_gparted_update(GtkWidget *, main_window *widgets){
yon_devices_setup(widgets); gtk_widget_set_sensitive(widgets->CommonUpdateGpartedButton,0);
gtk_widget_set_sensitive(widgets->NextInstallationUpdateGPartedButton,0);
gtk_widget_set_sensitive(widgets->SameUpdateGpartedButton,0);
gtk_widget_set_sensitive(widgets->GrubInstallUpdateGpartedButton,0);
gtk_widget_set_sensitive(widgets->GrubUpdateUpdateGpartedButton,0);
gtk_widget_set_sensitive(widgets->OSUpdateGpartedButton,0);
gtk_widget_set_sensitive(widgets->UserdataUpdateGpartedButton,0);
gtk_widget_set_sensitive(widgets->AdvancedUpdateGpartedButton,0);
gtk_widget_set_sensitive(widgets->AdvancedDeviceTree,0);
gtk_widget_set_sensitive(widgets->AdvancedPartitionTree,0);
gtk_widget_set_sensitive(widgets->CommonInstallationDevicesTree,0);
gtk_widget_set_sensitive(widgets->NextInstallationSysDevicesTree,0);
gtk_widget_set_sensitive(widgets->NextInstallationSysSectionTree,0);
gtk_widget_set_sensitive(widgets->SamePlaceDeviceTree,0);
gtk_widget_set_sensitive(widgets->SamePlacePartTree,0);
gtk_widget_set_sensitive(widgets->GrubInstallDevicesTree,0);
gtk_widget_set_sensitive(widgets->GrubInstallPartitionTree,0);
gtk_widget_set_sensitive(widgets->GrubUpdateDevicesTree,0);
gtk_widget_set_sensitive(widgets->GrubUpdatePartitionTree,0);
gtk_widget_set_sensitive(widgets->OSDevicesTree,0);
gtk_widget_set_sensitive(widgets->OSSysSectionTree,0);
gtk_widget_set_sensitive(widgets->UserdataDevicesTree,0);
gtk_widget_set_sensitive(widgets->UserdataSysSectionTree,0);
if (main_config.devices_size) yon_char_parsed_free(main_config.devices,main_config.devices_size);
g_thread_new("devices_thread",(GThreadFunc)yon_devices_list_load,widgets);
if (main_config.part_size) yon_char_parsed_free(main_config.partitions,main_config.part_size);
g_thread_new("Partitions_thread",(GThreadFunc)yon_partitions_list_load,widgets);
} }
void on_reboot_accepted(main_window *widgets){ void on_reboot_accepted(main_window *widgets){
@ -418,7 +448,7 @@ void yon_main_window_create(main_window *widgets){
__attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8"); __attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8");
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
yon_scroll_block_for_builder(builder); yon_scroll_block_for_builder(builder);
yon_translation_init(builder); yon_installer_translation_init(builder);
gtk_builder_add_callback_symbol(builder,"yon_gtk_widget_set_sensitive_from_toggle_button",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button)); gtk_builder_add_callback_symbol(builder,"yon_gtk_widget_set_sensitive_from_toggle_button",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button));
gtk_builder_add_callback_symbol(builder,"on_toggle_button_switch_on",G_CALLBACK(on_toggle_button_switch_on)); gtk_builder_add_callback_symbol(builder,"on_toggle_button_switch_on",G_CALLBACK(on_toggle_button_switch_on));
// Custom widgets configuration // Custom widgets configuration
@ -954,12 +984,13 @@ void yon_main_window_create(main_window *widgets){
g_thread_new("fullscreen",(GThreadFunc)yon_maximize,widgets); g_thread_new("fullscreen",(GThreadFunc)yon_maximize,widgets);
} }
gtk_widget_show(widgets->MainWindow);
yon_window_config_load(path); yon_window_config_load(path);
yon_window_config_add_instant_parameter("fullscreen","window",&fullscreen,YON_TYPE_BOOLEAN); yon_window_config_add_instant_parameter("fullscreen","window",&fullscreen,YON_TYPE_BOOLEAN);
{ {
widgets->debug_button = yon_debug_button_new(); widgets->debug_button = yon_debug_button_new();
GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->debug_button),"Label"); GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->debug_button),"Label");
yon_gtk_widget_set_translation(Label); yon_installer_widget_set_translation(Label);
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->debug_button),"menuitemmiddle"); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->debug_button),"menuitemmiddle");
gtk_style_context_remove_class(gtk_widget_get_style_context(widgets->debug_button),"menuitemtop"); gtk_style_context_remove_class(gtk_widget_get_style_context(widgets->debug_button),"menuitemtop");
gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),widgets->debug_button); gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),widgets->debug_button);
@ -970,7 +1001,7 @@ void yon_main_window_create(main_window *widgets){
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(ENABLE_RDP_LABEL); GtkWidget *Label = gtk_label_new(ENABLE_RDP_LABEL);
GtkWidget *Check = gtk_check_button_new(); GtkWidget *Check = gtk_check_button_new();
yon_gtk_widget_set_translation(Label); yon_installer_widget_set_translation(Label);
g_object_set_data(G_OBJECT(widgets->EnableRDPMenuItem),"Label",Label); g_object_set_data(G_OBJECT(widgets->EnableRDPMenuItem),"Label",Label);
gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
@ -985,7 +1016,7 @@ void yon_main_window_create(main_window *widgets){
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(ENABLE_VNC_LABEL); GtkWidget *Label = gtk_label_new(ENABLE_VNC_LABEL);
GtkWidget *Check = gtk_check_button_new(); GtkWidget *Check = gtk_check_button_new();
yon_gtk_widget_set_translation(Label); yon_installer_widget_set_translation(Label);
g_object_set_data(G_OBJECT(widgets->EnableVNCMenuItem),"Label",Label); g_object_set_data(G_OBJECT(widgets->EnableVNCMenuItem),"Label",Label);
gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0); gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
@ -999,7 +1030,7 @@ void yon_main_window_create(main_window *widgets){
widgets->ConfigurationModeMenuItem = gtk_menu_item_new(); widgets->ConfigurationModeMenuItem = gtk_menu_item_new();
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5); GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(CONFIGURATION_MODE_LABEL); GtkWidget *Label = gtk_label_new(CONFIGURATION_MODE_LABEL);
yon_gtk_widget_set_translation(Label); yon_installer_widget_set_translation(Label);
g_object_set_data(G_OBJECT(widgets->ConfigurationModeMenuItem),"Label",Label); g_object_set_data(G_OBJECT(widgets->ConfigurationModeMenuItem),"Label",Label);
widgets->ConfigurationModeCheck = gtk_check_button_new(); widgets->ConfigurationModeCheck = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(Box),widgets->ConfigurationModeCheck,0,0,0); gtk_box_pack_start(GTK_BOX(Box),widgets->ConfigurationModeCheck,0,0,0);
@ -1016,7 +1047,7 @@ void yon_main_window_create(main_window *widgets){
{ {
widgets->root_button = yon_root_button_new(main_config.argv,main_config.argc); widgets->root_button = yon_root_button_new(main_config.argv,main_config.argc);
GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->root_button),"Label"); GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->root_button),"Label");
yon_gtk_widget_set_translation(Label); yon_installer_widget_set_translation(Label);
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->root_button),"menuitemtop"); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->root_button),"menuitemtop");
gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),widgets->root_button); gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),widgets->root_button);
@ -1027,7 +1058,7 @@ void yon_main_window_create(main_window *widgets){
dictionary *iter = NULL; dictionary *iter = NULL;
for_dictionaries (iter,widgets->PackagesMenu->buttons){ for_dictionaries (iter,widgets->PackagesMenu->buttons){
yon_gtk_widget_set_translation(g_object_get_data(G_OBJECT(iter->data),"Label")); yon_installer_widget_set_translation(g_object_get_data(G_OBJECT(iter->data),"Label"));
} }
yon_startup_language_init(); yon_startup_language_init();
yon_locale_init(); yon_locale_init();
@ -1053,13 +1084,13 @@ void yon_main_window_create(main_window *widgets){
gtk_window_set_icon_name(GTK_WINDOW(widgets->MainWindow),icon_path); gtk_window_set_icon_name(GTK_WINDOW(widgets->MainWindow),icon_path);
} }
gtk_builder_connect_signals(builder,NULL); gtk_builder_connect_signals(builder,NULL);
if (getuid()){ if (getuid()&&!main_config.autoinstall&&yon_char_is_empty(main_config.config_save_path)){
gtk_menu_item_activate(GTK_MENU_ITEM(widgets->ConfigurationModeMenuItem)); gtk_menu_item_activate(GTK_MENU_ITEM(widgets->ConfigurationModeMenuItem));
if (yon_char_is_empty(main_config.config_save_path)){ if (yon_char_is_empty(main_config.config_save_path)){
exit (1); exit (1);
} }
} }
if (main_config.force_ini){ if (main_config.force_ini&&!main_config.autoinstall){
while(gtk_events_pending()) gtk_main_iteration(); while(gtk_events_pending()) gtk_main_iteration();
if (!yon_configuration_path_check(main_config.config_save_path)){ if (!yon_configuration_path_check(main_config.config_save_path)){
exit (1); exit (1);
@ -1115,6 +1146,7 @@ main_window *yon_main_window_complete(){
} }
int main(int argc, char *argv[]){ int main(int argc, char *argv[]){
main_config.block_restore=1;
config_str unfound = NULL; config_str unfound = NULL;
int size=0; int size=0;
opterr=0; opterr=0;
@ -1163,6 +1195,7 @@ int main(int argc, char *argv[]){
main_config.launch_arguments=yon_char_parsed_copy(argv,argc); main_config.launch_arguments=yon_char_parsed_copy(argv,argc);
main_config.launch_size=argc; main_config.launch_size=argc;
main_config.block_restore=0;
gtk_main(); gtk_main();
return 0; return 0;
} }

@ -501,6 +501,8 @@ typedef struct
config_str modules; config_str modules;
int modules_size; int modules_size;
int block_restore;
config_str argv; config_str argv;
int argc; int argc;
@ -1551,8 +1553,8 @@ gboolean yon_progress_bar_start(main_window *widgets);
void *yon_progress_file_buzyfy(void *); void *yon_progress_file_buzyfy(void *);
void yon_startup_language_init(); void yon_startup_language_init();
gboolean on_languages_search_func(GtkTreeModel *model, gint col, const char *key, GtkTreeIter *iter, main_window *widgets); gboolean on_languages_search_func(GtkTreeModel *model, gint col, const char *key, GtkTreeIter *iter, main_window *widgets);
void yon_update_translation(main_window *widgets); void yon_installer_update_translation(main_window *widgets);
void yon_translation_init(GtkBuilder *builder); void yon_installer_translation_init(GtkBuilder *builder);
void yon_licence_load(main_window *widgets); void yon_licence_load(main_window *widgets);
void on_network_removed(GtkWidget *, network_info *info); void on_network_removed(GtkWidget *, network_info *info);
char *yon_bootloader_get_os_name(char *parameter); char *yon_bootloader_get_os_name(char *parameter);
@ -1610,7 +1612,7 @@ gboolean yon_advanced_part_save_part(advanced_part_data *data);
void yon_advanced_part_remove_for_part(const char *part_name, main_window *widgets); void yon_advanced_part_remove_for_part(const char *part_name, main_window *widgets);
int yon_software_check_packages_size(GtkWidget *, main_window *widgets); int yon_software_check_packages_size(GtkWidget *, main_window *widgets);
void yon_user_admin_check(GtkWidget *self, main_window *widgets); void yon_user_admin_check(GtkWidget *self, main_window *widgets);
void yon_gtk_widget_set_translation(GtkWidget *target); void yon_installer_widget_set_translation(GtkWidget *target);
void on_bootloader_user_edit(GtkWidget *, main_window *widgets); void on_bootloader_user_edit(GtkWidget *, main_window *widgets);
void on_bootloader_admin_toggled(GtkWidget *, char *path, main_window *widgets); void on_bootloader_admin_toggled(GtkWidget *, char *path, main_window *widgets);
void on_bootloader_user_remove(GtkWidget *, main_window *widgets); void on_bootloader_user_remove(GtkWidget *, main_window *widgets);
@ -1645,3 +1647,5 @@ void on_config_install_success(GtkWidget *self, int state, main_window *widgets)
void *on_quick_install_start(void *data); void *on_quick_install_start(void *data);
void on_autoinstall_start(GtkWidget *self, main_window *widgets); void on_autoinstall_start(GtkWidget *self, main_window *widgets);
void *on_auto_install_start(void *data); void *on_auto_install_start(void *data);
void yon_gparted_update_unlock(main_window *widgets);
void *yon_devices_list_load(main_window *widgets);

@ -172,6 +172,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<accelerator key="Return" signal="clicked"/>
</object> </object>
<packing> <packing>
<property name="pack-type">end</property> <property name="pack-type">end</property>

@ -676,7 +676,6 @@
<object class="GtkWindow" id="MainWindow"> <object class="GtkWindow" id="MainWindow">
<property name="width-request">750</property> <property name="width-request">750</property>
<property name="height-request">500</property> <property name="height-request">500</property>
<property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="default-width">800</property> <property name="default-width">800</property>
<property name="default-height">500</property> <property name="default-height">500</property>

Loading…
Cancel
Save