From dc61998f4a95686adaa1252900812d093bc1aa1e Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 21 Nov 2024 12:43:18 +0600 Subject: [PATCH] Terminal has been moved from overlay to paned; Fixed progress bar length --- source/ubl-settings-kernel.c | 46 ++++++- source/ubl-settings-kernel.h | 3 +- source/ubl-strings.h | 1 + ubl-settings-kernel.glade | 243 +++++++++++++++++++++-------------- ubl-settings-kernel.pot | 45 ++++--- ubl-settings-kernel_ru.po | 50 ++++--- 6 files changed, 249 insertions(+), 139 deletions(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 9de6081..53dfe5c 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -410,7 +410,8 @@ void on_module_install_accept(GtkWidget *, dictionary *dict){ } } char *command = install_command(modules_to_install); - yon_command_execute_async(command,widgets); + char *command_with_unload = yon_char_unite(unload_command(modules_to_install),"; ",command,NULL); + yon_command_execute_async(command_with_unload,widgets); tab->module_installed=1; free(dict->first->next->next); dict->first->next->next=NULL; @@ -971,11 +972,43 @@ void on_terminal_revealer_open(GtkWidget *, main_window *widgets){ int opened = gtk_revealer_get_child_revealed(GTK_REVEALER(widgets->TerminalRevealer)); gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),!opened); switch (opened){ - case 0: { + case 0: { // opens gtk_revealer_set_transition_type(GTK_REVEALER(widgets->TerminalRevealer),GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP); + gtk_button_set_label(GTK_BUTTON(widgets->MoreButton),LESS_LABEL); + + g_object_ref(widgets->MainNotebook); + gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(widgets->MainNotebook)),widgets->MainNotebook); + gtk_paned_add1(GTK_PANED(widgets->TerminalPaned),widgets->MainNotebook); + + int pos; + if (yon_window_config_get_parameter("settings","paned_pos",&pos,YON_TYPE_INT)) { + gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),pos); + } + + gtk_widget_show(widgets->TerminalPaned); + gtk_widget_show(widgets->MainNotebook); + + + } break; - case 1: { + case 1: { //closes gtk_revealer_set_transition_type(GTK_REVEALER(widgets->TerminalRevealer),GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN); + gtk_button_set_label(GTK_BUTTON(widgets->MoreButton),MORE_LABEL); + + int pos = gtk_paned_get_position(GTK_PANED(widgets->TerminalPaned)); + yon_window_config_add_instant_parameter("paned_pos","settings",&pos,YON_TYPE_INT); + + GValue val = G_VALUE_INIT; + g_object_get_property(G_OBJECT(widgets->TerminalPaned),"max-position",&val); + gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),g_value_get_int(&val)); + g_value_unset(&val); + + g_object_ref(widgets->MainNotebook); + gtk_container_remove(GTK_CONTAINER(widgets->TerminalPaned),widgets->MainNotebook); + gtk_box_pack_start(GTK_BOX(gtk_widget_get_parent(widgets->TerminalPaned)),widgets->MainNotebook,1,1,0); + + gtk_box_reorder_child(GTK_BOX(gtk_widget_get_parent(widgets->MainNotebook)),widgets->MainNotebook,0); + gtk_widget_hide(widgets->TerminalPaned); } break; } } @@ -1006,7 +1039,7 @@ void yon_main_window_complete(main_window *widgets){ widgets->InstallationProgress = yon_gtk_builder_get_widget(builder, "InstallationProgress"); widgets->InstallTerminal = yon_gtk_builder_get_widget(builder, "InstallTerminal"); widgets->TerminalRevealer = yon_gtk_builder_get_widget(builder, "TerminalRevealer"); - widgets->TerminalOverlay = yon_gtk_builder_get_widget(builder, "TerminalOverlay"); + widgets->TerminalPaned = yon_gtk_builder_get_widget(builder, "TerminalPaned"); widgets->TerminalScroll = yon_gtk_builder_get_widget(builder, "TerminalScroll"); widgets->KernelsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"KernelsList")); widgets->AdditionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"AdditionsList")); @@ -1047,7 +1080,8 @@ void yon_main_window_complete(main_window *widgets){ glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal)); vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20); - gtk_overlay_add_overlay(GTK_OVERLAY(widgets->TerminalOverlay),widgets->TerminalRevealer); + + gtk_paned_add2(GTK_PANED(widgets->TerminalPaned),widgets->TerminalRevealer); yon_interface_update(widgets); yon_save_window_set_postsave_function(on_save_done,widgets); @@ -1079,4 +1113,4 @@ int main(int argc, char *argv[]){ } gtk_main(); return 0; -} \ No newline at end of file +} diff --git a/source/ubl-settings-kernel.h b/source/ubl-settings-kernel.h index 85bb6c5..a3b4f63 100644 --- a/source/ubl-settings-kernel.h +++ b/source/ubl-settings-kernel.h @@ -47,6 +47,7 @@ #define get_package_info_command(target) yon_char_append("pacman -Si ",target) #define get_package_is_installed_command(target) yon_char_append("pacman -Qq ",target) #define get_package_is_updated_command(target) yon_char_append("pacman -Qu ",target) +#define unload_command(target) yon_char_append("ubmunload ",target) #define install_command(target) yon_char_append("pacman -Sy --noconfirm ",target) #define remove_command(target) yon_char_append("pacman -R --noconfirm ",target) @@ -114,7 +115,7 @@ typedef struct { GtkWidget *InstallTerminal; GtkWidget *InstallationProgress; GtkWidget *MoreButton; - GtkWidget *TerminalOverlay; + GtkWidget *TerminalPaned; GtkWidget *TerminalScroll; } main_window; diff --git a/source/ubl-strings.h b/source/ubl-strings.h index ceb7e3f..10680ae 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -44,6 +44,7 @@ #define UPDATE_LABEL _("Update") #define OPE_INFO_LABEL _("Open package information") #define MORE_LABEL _("More") +#define LESS_LABEL _("Hide") #define ACCEPT_LABEL _("Accept") #define WARNING_TITLE_LABEL _("Warning") diff --git a/ubl-settings-kernel.glade b/ubl-settings-kernel.glade index 42b159d..2909662 100644 --- a/ubl-settings-kernel.glade +++ b/ubl-settings-kernel.glade @@ -57,40 +57,62 @@ False end slide-up + 0 - + True False + 0 + in - - True - False - True - adjustment1 - natural - UTF-8 - True - True - False - - - True - True - 0 - - - - + True False - vertical - adjustment1 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + True + adjustment1 + natural + UTF-8 + True + True + False + + + True + True + 0 + + + + + True + False + vertical + adjustment1 + + + False + True + 1 + + + + - - False - True - 1 - + + + @@ -187,9 +209,11 @@ - + True False + vertical + 5 True @@ -214,6 +238,7 @@ True False + 5 5 @@ -250,6 +275,8 @@ True True + 5 + 5 5 5 5 @@ -258,6 +285,7 @@ True False + 5 5 @@ -288,107 +316,128 @@ - -1 + True + True + 0 + + + + + True + vertical + 250 + True + + + + + + + + + True + True + 1 - - - True - True - 1 - - - - - True - True - 0 - - - - - True - False - end - slide-up - True - - - True - False - vertical - 5 - + True False - 0 - in + end + slide-up + True - + True False - 5 - 5 - 5 - 5 + vertical + 5 - + True False - 5 + 0 + in - + True False - center + 5 + 5 + 5 + 5 + + + True + False + 5 + + + True + False + center + + + True + True + 0 + + + + + More + True + True + True + + + False + True + 2 + + + + - - True - True - 0 - - - - More - True - True - True - - - False - True - 2 - + + + + False + True + 1 + + - - - + False True - 1 + 2 - + + True + True + 1 + - - False + True True - 1 + 0 diff --git a/ubl-settings-kernel.pot b/ubl-settings-kernel.pot index b2621d6..9e759ff 100644 --- a/ubl-settings-kernel.pot +++ b/ubl-settings-kernel.pot @@ -162,67 +162,78 @@ msgstr "" msgid "More" msgstr "" -#: source/ubl-strings.h:48 -msgid "Accept" +#: source/ubl-strings.h:47 +msgid "Hide" msgstr "" #: source/ubl-strings.h:49 -msgid "Warning" +msgid "Accept" msgstr "" #: source/ubl-strings.h:50 +msgid "Warning" +msgstr "" + +#: source/ubl-strings.h:51 msgid "Dependences" msgstr "" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:53 msgid "Module" msgstr "" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:54 msgid "Package" msgstr "" -#: source/ubl-strings.h:54 +#: source/ubl-strings.h:55 msgid "Description" msgstr "" -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:57 +msgid "Kernel and additions listst are loading" +msgstr "" + +#: source/ubl-strings.h:59 msgid "Terminal operation success" msgstr "" -#: source/ubl-strings.h:57 +#: source/ubl-strings.h:60 msgid "Terminal operation failed" msgstr "" -#: source/ubl-strings.h:58 +#: source/ubl-strings.h:61 msgid "Terminal operation in process" msgstr "" -#: source/ubl-strings.h:58 -msgid "The package with the module has been removed, but the module is not disabled from the system, as it is used by other system programs. After rebooting, the module will be disabled and removed." +#: source/ubl-strings.h:62 +msgid "" +"The package with the module has been removed, but the module is not disabled " +"from the system, as it is used by other system programs. After rebooting, " +"the module will be disabled and removed." msgstr "" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:64 msgid "Are you sure want to install kernel" msgstr "" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:65 msgid "Are you sure want to install package" msgstr "" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:66 msgid "Are you sure want to remove module" msgstr "" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:67 msgid "Are you sure want to remove package" msgstr "" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:68 msgid "Are you sure want to launch" msgstr "" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:68 msgid "" "for boot?\n" "\n" diff --git a/ubl-settings-kernel_ru.po b/ubl-settings-kernel_ru.po index eeeff5a..8e92a22 100644 --- a/ubl-settings-kernel_ru.po +++ b/ubl-settings-kernel_ru.po @@ -163,67 +163,81 @@ msgstr "Открыть информацию о пакете" msgid "More" msgstr "Подробнее" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:47 +msgid "Hide" +msgstr "Скрыть" + +#: source/ubl-strings.h:49 msgid "Accept" msgstr "Принять" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:50 msgid "Warning" msgstr "Внимание" -#: source/ubl-strings.h:50 +#: source/ubl-strings.h:51 msgid "Dependences" msgstr "Зависимости" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:53 msgid "Module" msgstr "Модуль" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:54 msgid "Package" msgstr "Пакет" -#: source/ubl-strings.h:54 +#: source/ubl-strings.h:55 msgid "Description" msgstr "Описание" -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:57 +msgid "Kernel and additions listst are loading" +msgstr "Список ядер и дополнений загружается" + +#: source/ubl-strings.h:59 msgid "Terminal operation success" msgstr "Операция терминала успешно завершена" -#: source/ubl-strings.h:57 +#: source/ubl-strings.h:60 msgid "Terminal operation failed" msgstr "Операция терминала завершена с ошибкой" -#: source/ubl-strings.h:58 +#: source/ubl-strings.h:61 msgid "Terminal operation in process" msgstr "Операция терминала в процессе выполнения" -#: source/ubl-strings.h:58 -msgid "The package with the module has been removed, but the module is not disabled from the system, as it is used by other system programs. After rebooting, the module will be disabled and removed." -msgstr "Пакет с модулем удалён, но модуль не отключен от системы, так как используется другими системными программами. После перезагрузки модуль будет отключен и удалён." +#: source/ubl-strings.h:62 +msgid "" +"The package with the module has been removed, but the module is not disabled " +"from the system, as it is used by other system programs. After rebooting, " +"the module will be disabled and removed." +msgstr "" +"Пакет с модулем удалён, но модуль не отключен от системы, так как " +"используется другими системными программами. После перезагрузки модуль будет " +"отключен и удалён." -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:64 msgid "Are you sure want to install kernel" msgstr "Вы хотите установить в систему ядро" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:65 msgid "Are you sure want to install package" msgstr "Вы хотите установить в систему пакет с ядром" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:66 msgid "Are you sure want to remove module" msgstr "Вы действительно хотите удалить из системы пакет с модулем ядра" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:67 msgid "Are you sure want to remove package" msgstr "Вы действительно хотите удалить из системы пакет с ядром" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:68 msgid "Are you sure want to launch" msgstr "Выбрать ядро" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:68 msgid "" "for boot?\n" "\n"