diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 7feeb81..4c82365 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -138,11 +138,16 @@ void *yon_interface_update(main_window *widgets){ int kernels_size; config_str kernels = yon_resource_open_file(kernels_path, &kernels_size); - char *boot_config_run = config(KERNEL_BOOT_parameter); + char *boot_config_run=NULL; int boot_size; - config_str boot_run = yon_config_load(get_active_kernel_command,&boot_size); - yon_char_remove_last_symbol(boot_run[0],'\n'); + config_str boot_run=NULL; + if(!getuid()){ + boot_config_run = config(KERNEL_BOOT_parameter); + + boot_run = yon_config_load(get_active_kernel_command,&boot_size); + yon_char_remove_last_symbol(boot_run[0],'\n'); + } for (int i=1;iKernelsPackageBox),kernels[i],widgets); @@ -152,17 +157,19 @@ void *yon_interface_update(main_window *widgets){ gtk_widget_destroy(g_list_nth_data(list,i)); } g_list_free(list);} - if (!strcmp(boot_run[0],tab->package)){ - yon_tag_add(GTK_BOX(tab->run_tags_box),RUNNING_LABEL,"tag_green",NULL); - gtk_widget_hide(tab->remove_module_button); - gtk_widget_hide(tab->remove_package_button); - gtk_widget_hide(tab->launch_button); - } else if (!yon_char_is_empty(boot_config_run)&&!strcmp(boot_config_run,tab->package)){ - yon_tag_add(GTK_BOX(tab->run_tags_box),BOOT_RUN_LABEL,"tag_orange",NULL); - gtk_widget_hide(tab->launch_button); - gtk_widget_hide(tab->remove_module_button); - gtk_widget_hide(tab->remove_package_button); - } + if(!getuid()){ + if (boot_run&&!strcmp(boot_run[0],tab->package)){ + yon_tag_add(GTK_BOX(tab->run_tags_box),RUNNING_LABEL,"tag_green",NULL); + gtk_widget_hide(tab->remove_module_button); + gtk_widget_hide(tab->remove_package_button); + gtk_widget_hide(tab->launch_button); + } else if (!yon_char_is_empty(boot_config_run)&&!strcmp(boot_config_run,tab->package)){ + yon_tag_add(GTK_BOX(tab->run_tags_box),BOOT_RUN_LABEL,"tag_orange",NULL); + gtk_widget_hide(tab->launch_button); + gtk_widget_hide(tab->remove_module_button); + gtk_widget_hide(tab->remove_package_button); + } + } gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0); } yon_char_parsed_free(kernels,kernels_size); @@ -554,6 +561,14 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo g_signal_connect(G_OBJECT(tab->remove_package_button),"clicked",G_CALLBACK(on_package_remove_clicked),dict); g_signal_connect(G_OBJECT(tab->changelog_button),"clicked",G_CALLBACK(on_changelog_clicked),tab); g_signal_connect(G_OBJECT(tab->launch_button),"clicked",G_CALLBACK(on_launch_cliked),dict); + + if(getuid()){ + gtk_widget_set_sensitive(tab->launch_button,0); + gtk_widget_set_sensitive(tab->remove_module_button,0); + gtk_widget_set_sensitive(tab->install_module_button,0); + gtk_widget_set_sensitive(tab->remove_package_button,0); + gtk_widget_set_sensitive(tab->install_package_button,0); + } tab->module_installed=-1; tab->package_installed=-1; tab->name = yon_char_new(parsed[0]); @@ -590,29 +605,33 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo tab->module_requirements = yon_char_parse(parsed[3],&tab->module_requirements_size,","); tab->package_requirements = yon_char_parse(parsed[4],&tab->package_requirements_size,","); char *check_install_command = get_package_is_installed_command(tab->module); - if (!system(check_install_command)){ - yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); - tab->module_installed=1; - - gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON); - gtk_widget_show(tab->remove_module_button); - gtk_widget_hide(tab->install_module_button); - gtk_widget_show(tab->changelog_button); - gtk_widget_show(tab->launch_button); - - } else tab->module_installed=0; - { - free(check_install_command); - check_install_command = get_package_is_installed_command(tab->package); + if (!getuid()){ if (!system(check_install_command)){ - tab->package_installed=1; - yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); - gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON); - gtk_widget_hide(tab->install_package_button); - gtk_widget_show(tab->remove_package_button); + yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); + tab->module_installed=1; + + gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON); + gtk_widget_show(tab->remove_module_button); + gtk_widget_hide(tab->install_module_button); gtk_widget_show(tab->changelog_button); gtk_widget_show(tab->launch_button); - } else tab->package_installed=0; + + } else tab->module_installed=0; + { + free(check_install_command); + check_install_command = get_package_is_installed_command(tab->package); + if (!system(check_install_command)){ + tab->package_installed=1; + yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); + gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON); + gtk_widget_hide(tab->install_package_button); + gtk_widget_show(tab->remove_package_button); + gtk_widget_show(tab->changelog_button); + gtk_widget_show(tab->launch_button); + } else tab->package_installed=0; + } + } else { + yon_tag_add(GTK_BOX(tab->install_tags_box),UNKNOWN_LABEL,"tag_grey",NULL); } yon_char_parsed_free(types_parsed,types_size); gtk_label_set_markup(GTK_LABEL(tab->name_label),name); @@ -963,6 +982,9 @@ void yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets); + if (getuid()){ + gtk_widget_set_sensitive(widgets->BuildingButton,0); + } gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(widgets->InstallationProgress),1); GdkRGBA rgba; vte_terminal_get_color_background_for_draw(VTE_TERMINAL(widgets->InstallTerminal),&rgba); @@ -989,7 +1011,8 @@ int main(int argc, char *argv[]){ int size=0; yon_ubl_setup_arguments(argc,argv,&unfound,&size,NULL); gtk_init(&argc,&argv); - template_main_window *widgets = yon_ubl_window_setup(); + template_main_window *widgets = yon_ubl_window_setup(); + yon_root_button_setup(widgets,argv,argc); yon_main_window_complete((main_window*)widgets); char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); yon_window_config_load(path); diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 3a52780..618fa80 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -14,6 +14,7 @@ #define PACKAGE_INSTALLED_LABEL _("Package installed") #define MODULE_INSTALLED_LABEL _("Module installed") +#define UNKNOWN_LABEL _("Installation unknown") #define BOOT_RUN_LABEL _("Startup boot") #define RUNNING_LABEL _("Running") diff --git a/ubl-settings-kernel.css b/ubl-settings-kernel.css index 6ff064c..225534a 100644 --- a/ubl-settings-kernel.css +++ b/ubl-settings-kernel.css @@ -196,4 +196,13 @@ background:transparent; color:#2f2f2f; background-color:#80ff80 +} +.tag_grey{ + border-radius: 2px; + border-width: 0.5px; + border-style: solid; + margin:2px; + color:#2f2f2f; + + background-color:#999999 } \ No newline at end of file diff --git a/ubl-settings-kernel.pot b/ubl-settings-kernel.pot index fac10c8..2dd1815 100644 --- a/ubl-settings-kernel.pot +++ b/ubl-settings-kernel.pot @@ -59,162 +59,166 @@ msgid "Module installed" msgstr "" #: source/ubl-strings.h:17 -msgid "Startup boot" +msgid "Installation unknown" msgstr "" #: source/ubl-strings.h:18 +msgid "Startup boot" +msgstr "" + +#: source/ubl-strings.h:19 msgid "Running" msgstr "" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:22 msgid "Initramfs building" msgstr "" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:23 msgid "Execute" msgstr "" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:24 msgid "Kernel version:" msgstr "" -#: source/ubl-strings.h:24 +#: source/ubl-strings.h:25 msgid "Image file:" msgstr "" -#: source/ubl-strings.h:25 +#: source/ubl-strings.h:26 msgid "Add debug components" msgstr "" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:27 msgid "Add drivers for current hardware components only" msgstr "" -#: source/ubl-strings.h:28 +#: source/ubl-strings.h:29 msgid "Install module" msgstr "" -#: source/ubl-strings.h:29 +#: source/ubl-strings.h:30 msgid "Remove module" msgstr "" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:31 msgid "Install package" msgstr "" -#: source/ubl-strings.h:31 +#: source/ubl-strings.h:32 msgid "Remove package" msgstr "" -#: source/ubl-strings.h:32 +#: source/ubl-strings.h:33 msgid "Changelog" msgstr "" -#: source/ubl-strings.h:33 +#: source/ubl-strings.h:34 msgid "Launch" msgstr "" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:35 msgid "LTS" msgstr "" -#: source/ubl-strings.h:35 +#: source/ubl-strings.h:36 msgid "Reactive" msgstr "" -#: source/ubl-strings.h:36 +#: source/ubl-strings.h:37 msgid "Recomended" msgstr "" -#: source/ubl-strings.h:37 +#: source/ubl-strings.h:38 msgid "Hardened" msgstr "" -#: source/ubl-strings.h:38 +#: source/ubl-strings.h:39 msgid "RealTime" msgstr "" -#: source/ubl-strings.h:39 +#: source/ubl-strings.h:40 msgid "Stable" msgstr "" -#: source/ubl-strings.h:41 +#: source/ubl-strings.h:42 msgid "Kernels" msgstr "" -#: source/ubl-strings.h:42 +#: source/ubl-strings.h:43 msgid "Additions" msgstr "" -#: source/ubl-strings.h:43 +#: source/ubl-strings.h:44 msgid "Update" msgstr "" -#: source/ubl-strings.h:44 +#: source/ubl-strings.h:45 msgid "Open package information" msgstr "" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:46 msgid "More" msgstr "" -#: source/ubl-strings.h:47 +#: source/ubl-strings.h:48 msgid "Accept" msgstr "" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:49 msgid "Warning" msgstr "" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:50 msgid "Dependences" msgstr "" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:52 msgid "Module" msgstr "" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:53 msgid "Package" msgstr "" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:54 msgid "Description" msgstr "" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:56 msgid "Terminal operation success" msgstr "" -#: source/ubl-strings.h:55 -msgid "Terminal operation in process" -msgstr "" - -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:57 msgid "Terminal operation failed" msgstr "" #: source/ubl-strings.h:58 +msgid "Terminal operation in process" +msgstr "" + +#: source/ubl-strings.h:60 msgid "Are you sure want to install kernel" msgstr "" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:61 msgid "Are you sure want to install package" msgstr "" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:62 msgid "Are you sure want to remove module" msgstr "" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:63 msgid "Are you sure want to remove package" msgstr "" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:64 msgid "Are you sure want to launch" msgstr "" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:64 msgid "" "for boot?\n" "\n" diff --git a/ubl-settings-kernel_ru.po b/ubl-settings-kernel_ru.po index 2517939..7ebd11d 100644 --- a/ubl-settings-kernel_ru.po +++ b/ubl-settings-kernel_ru.po @@ -60,162 +60,166 @@ msgid "Module installed" msgstr "Установлен модуль" #: source/ubl-strings.h:17 +msgid "Installation unknown" +msgstr "Статус неизвестен" + +#: source/ubl-strings.h:18 msgid "Startup boot" msgstr "Будет запущено" -#: source/ubl-strings.h:18 +#: source/ubl-strings.h:19 msgid "Running" msgstr "Запущено" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:22 msgid "Initramfs building" msgstr "Сборка Initramfs" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:23 msgid "Execute" msgstr "Выполнить" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:24 msgid "Kernel version:" msgstr "Версия ядра:" -#: source/ubl-strings.h:24 +#: source/ubl-strings.h:25 msgid "Image file:" msgstr "Файл образа:" -#: source/ubl-strings.h:25 +#: source/ubl-strings.h:26 msgid "Add debug components" msgstr "Добавить компоненты отладки" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:27 msgid "Add drivers for current hardware components only" msgstr "Добавить драйвера только текущих аппаратных компонентов" -#: source/ubl-strings.h:28 +#: source/ubl-strings.h:29 msgid "Install module" msgstr "Установить модуль" -#: source/ubl-strings.h:29 +#: source/ubl-strings.h:30 msgid "Remove module" msgstr "Удалить модуль" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:31 msgid "Install package" msgstr "Установить пакет" -#: source/ubl-strings.h:31 +#: source/ubl-strings.h:32 msgid "Remove package" msgstr "Удалить пакет" -#: source/ubl-strings.h:32 +#: source/ubl-strings.h:33 msgid "Changelog" msgstr "Список изменений" -#: source/ubl-strings.h:33 +#: source/ubl-strings.h:34 msgid "Launch" msgstr "Запускать" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:35 msgid "LTS" msgstr "LTS" -#: source/ubl-strings.h:35 +#: source/ubl-strings.h:36 msgid "Reactive" msgstr "Реактивное" -#: source/ubl-strings.h:36 +#: source/ubl-strings.h:37 msgid "Recomended" msgstr "Рекомендуется" -#: source/ubl-strings.h:37 +#: source/ubl-strings.h:38 msgid "Hardened" msgstr "" -#: source/ubl-strings.h:38 +#: source/ubl-strings.h:39 msgid "RealTime" msgstr "Реальное время" -#: source/ubl-strings.h:39 +#: source/ubl-strings.h:40 msgid "Stable" msgstr "Стабильное" -#: source/ubl-strings.h:41 +#: source/ubl-strings.h:42 msgid "Kernels" msgstr "Ядра" -#: source/ubl-strings.h:42 +#: source/ubl-strings.h:43 msgid "Additions" msgstr "Дополнения" -#: source/ubl-strings.h:43 +#: source/ubl-strings.h:44 msgid "Update" msgstr "Обновить" -#: source/ubl-strings.h:44 +#: source/ubl-strings.h:45 msgid "Open package information" msgstr "Открыть информацию о пакете" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:46 msgid "More" msgstr "Подробнее" -#: source/ubl-strings.h:47 +#: source/ubl-strings.h:48 msgid "Accept" msgstr "Принять" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:49 msgid "Warning" msgstr "Внимание" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:50 msgid "Dependences" msgstr "Зависимости" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:52 msgid "Module" msgstr "Модуль" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:53 msgid "Package" msgstr "Пакет" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:54 msgid "Description" msgstr "Описание" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:56 msgid "Terminal operation success" msgstr "Операция терминала успешно завершена" -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:57 msgid "Terminal operation failed" msgstr "Операция терминала завершена с ошибкой" -#: source/ubl-strings.h:55 +#: source/ubl-strings.h:58 msgid "Terminal operation in process" msgstr "Операция терминала в процессе выполнения" -#: source/ubl-strings.h:58 +#: source/ubl-strings.h:60 msgid "Are you sure want to install kernel" msgstr "Вы хотите установить в систему ядро" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:61 msgid "Are you sure want to install package" msgstr "Вы хотите установить в систему пакет с ядром" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:62 msgid "Are you sure want to remove module" msgstr "Вы действительно хотите удалить из системы пакет с модулем ядра" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:63 msgid "Are you sure want to remove package" msgstr "Вы действительно хотите удалить из системы пакет с ядром" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:64 msgid "Are you sure want to launch" msgstr "Выбрать ядро" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:64 msgid "" "for boot?\n" "\n"