diff --git a/locale/kernel-modules.pot b/locale/kernel-modules.pot new file mode 100644 index 0000000..be6e661 --- /dev/null +++ b/locale/kernel-modules.pot @@ -0,0 +1,327 @@ + +msgid "UBLinux module the kernel and modules" +msgstr "" + +msgid "UBLinux module headers and scripts for building modules" +msgstr "" + +msgid "UBLinux module documentation for the UBLinux kernel" +msgstr "" + +msgid "UBLinux module firmwares" +msgstr "" + +msgid "UBLinux module includes the core developer components" +msgstr "" + +msgid "UBLinux module includes basic components Xorg" +msgstr "" + +msgid "UBLinux module includes basic fonts" +msgstr "" + +msgid "UBLinux module includes graphics accelerators" +msgstr "" + +msgid "UBLinux module includes GTK libs" +msgstr "" + +msgid "UBLinux module includes Qt5 and Qt6 libs" +msgstr "" + +msgid "UBLinux module includes QT5 libs" +msgstr "" + +msgid "UBLinux module includes QT6 libs" +msgstr "" + +msgid "UBLinux module includes Xfce applications" +msgstr "" + +msgid "UBLinux module includes KDE Plasma applications" +msgstr "" + +msgid "UBLinux module includes GNOME next generation desktop shell" +msgstr "" + +msgid "UBLinux module includes MATE desktop shell" +msgstr "" + +msgid "UBLinux module includes Pantheon desktop shell" +msgstr "" + +msgid "UBLinux module includes GTK applications" +msgstr "" + +msgid "UBLinux module includes QT applications" +msgstr "" + +msgid "UBLinux module includes GTK and icons themes" +msgstr "" + +msgid "UBLinux module includes Lightdm display manager" +msgstr "" + +msgid "UBLinux module includes multimedia applications" +msgstr "" + +msgid "UBLinux module include system utilites" +msgstr "" + +msgid "UBLinux module include AnyDesk" +msgstr "" + +msgid "UBLinux module include desktop backgrounds" +msgstr "" + +msgid "UBLinux module include blender and utilities" +msgstr "" + +msgid "UBLinux module includes Chromium and some plugins" +msgstr "" + +msgid "UBLinux module includes postgresql, mariadb database and utilities" +msgstr "" + +msgid "UBLinux module includes docker and webmanager and utils" +msgstr "" + +msgid "UBLinux module include Brother printer drivers" +msgstr "" + +msgid "UBLinux module include Canon CAPT Printer Driver" +msgstr "" + +msgid "UBLinux module include Canon UFR II LIPSLX CARPS2 printer driver" +msgstr "" + +msgid "UBLinux module include Epson printer drivers" +msgstr "" + +msgid "UBLinux module include Kyocera printer drivers" +msgstr "" + +msgid "UBLinux module include Lexmark drivers" +msgstr "" + +msgid "UBLinux module include Pantum printer drivers" +msgstr "" + +msgid "UBLinux module include hplip, gutenprint, foomatic" +msgstr "" + +msgid "UBLinux module include Ricoh drivers" +msgstr "" + +msgid "UBLinux module include Samsung drivers" +msgstr "" + +msgid "UBLinux module include Xerox drivers" +msgstr "" + +msgid "UBLinux module includes education soft" +msgstr "" + +msgid "UBLinux module includes Firefox and some plugins" +msgstr "" + +msgid "UBLinux module include Java OpenJFX 17 client application platform" +msgstr "" + +msgid "UBLinux module includes OpenJDK Java 11 development kit" +msgstr "" + +msgid "UBLinux module includes OpenJDK Java 17 development kit" +msgstr "" + +msgid "UBLinux module includes OpenJDK Java 21 development kit" +msgstr "" + +msgid "UBLinux module includes OpenJDK Java 8 development kit" +msgstr "" + +msgid "UBLinux module includes some library 32-bit" +msgstr "" + +msgid "UBLinux module include LibreOffice" +msgstr "" + +msgid "UBLinux module includes dkms additionals modules" +msgstr "" + +msgid "UBLinux module include NVIDIA 470xx driver for linux" +msgstr "" + +msgid "UBLinux module include NVIDIA 390xx driver for linux" +msgstr "" + +msgid "UBLinux module includes OnlyOffice suite" +msgstr "" + +msgid "UBLinux module include apps patch" +msgstr "" + +msgid "UBLinux module includes podman and webmanager and utils" +msgstr "" + +msgid "UBLinux module include pycharm-community-edition and utilities" +msgstr "" + +msgid "UBLinux module includes QEMU, manager and utils" +msgstr "" + +msgid "UBLinux module includes R7 Office" +msgstr "" + +msgid "UBLinux module includes realvnc viewer and server" +msgstr "" + +msgid "UBLinux module includes rustdesk" +msgstr "" + +msgid "UBLinux module includes Telegram" +msgstr "" + +msgid "UBLinux module include UBPile Workflow" +msgstr "" + +msgid "UBLinux module includes agents for Linux guest" +msgstr "" + +msgid "UBLinux module includes VirtualBox and extension packs" +msgstr "" + +msgid "UBLinux module includes Web servers" +msgstr "" + +msgid "UBLinux module includes Webmin and Usermin" +msgstr "" + +msgid "UBLinux module includes interactive whiteboard soft" +msgstr "" + +msgid "UBLinux module include Winbox" +msgstr "" + +msgid "UBLinux module includes wine and utilities" +msgstr "" + +msgid "UBLinux module include Kingsoft Office (WPS Office) - an office productivity suite" +msgstr "" + +msgid "UBLinux module includes Yandex Browser and some utils" +msgstr "" + +msgid "UBLinux module the kernel and modules" +msgstr "" + +msgid "UBLinux module headers and scripts for building modules for the Meta UBlinux kernel, modules, headers and documentation" +msgstr "" + +msgid "UBLinux module includes the core developer components" +msgstr "" + +msgid "UBLinux module includes Liquidshell basic desktop shell using QtWidgets" +msgstr "" + +msgid "UBLinux module includes AMDGRU PRO driver and utilities" +msgstr "" + +msgid "UBLinux module includes anydesk" +msgstr "" + +msgid "UBLinux module includes Chromium-GOST and some plugins" +msgstr "" + +msgid "UBLinux module includes database applications" +msgstr "" + +msgid "UBLinux module includes docker and webmanager and utils" +msgstr "" + +msgid "UBLinux module include Hedgewars game similiar to Worms" +msgstr "" + +msgid "UBLinux module includes Gitea and MemCached" +msgstr "" + +msgid "UBLinux module include Gitlab CLI tools" +msgstr "" + +msgid "UBLinux module include Java OpenJFX 11 client application platform" +msgstr "" + +msgid "UBLinux module include Free Pascal and Lazarus GTK2" +msgstr "" + +msgid "UBLinux module include Free Pascal and Lazarus QT5" +msgstr "" + +msgid "UBLinux module includes LSI MegaRaid SM, StorCLI, MegaCLI and utils" +msgstr "" + +msgid "UBLinux module includes NVIDIA 340xx driver and utilities" +msgstr "" + +msgid "UBLinux module includes NVIDIA 390xx driver and utilities" +msgstr "" + +msgid "UBLinux module includes NVIDIA 470xx driver and utilities" +msgstr "" + +msgid "UBLinux module includes NVIDIA 510xx driver and utilities" +msgstr "" + +msgid "UBLinux module includes NVIDIA 515xx driver and utilities" +msgstr "" + +msgid "UBLinux module includes NVIDIA Optimus" +msgstr "" + +msgid "UBLinux module includes OnlyOffice DocumentServer suite" +msgstr "" + +msgid "UBLinux module includes Opera and some plugins" +msgstr "" + +msgid "UBLinux module includes patch" +msgstr "" + +msgid "UBLinux module includes QEMU headless and utils" +msgstr "" + +msgid "UBLinux module include QT4" +msgstr "" + +msgid "UBLinux module include rustdesk-server" +msgstr "" + +msgid "UBLinux module include Skype" +msgstr "" + +msgid "UBLinux module include Tor utils and browser" +msgstr "" + +msgid "UBLinux module includes agents for Linux guest without X support" +msgstr "" + +msgid "UBLinux module includes VirtualBox headless and extension packs" +msgstr "" + +msgid "UBLinux module includes phpvirtualbox for VirtualBox" +msgstr "" + +msgid "UBLinux module include Vivaldi browser" +msgstr "" + +msgid "UBLinux module includes VMware-Workstation 16" +msgstr "" + +msgid "UBLinux module include Wiki.js" +msgstr "" + +msgid "UBLinux module include X11 remote utils" +msgstr "" + +msgid "UBLinux module include Zoom" +msgstr "" diff --git a/locale/kernel-modules_ru.po b/locale/kernel-modules_ru.po new file mode 100644 index 0000000..f424a3a --- /dev/null +++ b/locale/kernel-modules_ru.po @@ -0,0 +1,333 @@ +# Language translations for ubinstal package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubinstal package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ubinstal 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "UBLinux module headers and scripts for building modules" +msgstr "Заголовочные файлы и скрипты для сборки модулей UBLinux" + +msgid "UBLinux module documentation for the UBLinux kernel" +msgstr "Документация по модулю UBLinux для ядра UBLinux" + +msgid "UBLinux module firmwares" +msgstr "Прошивки модуля UBLinux" + +msgid "UBLinux module includes basic components Xorg" +msgstr "Модуль UBLinux включает базовые компоненты Xorg" + +msgid "UBLinux module includes basic fonts" +msgstr "Модуль UBLinux включает базовые шрифты" + +msgid "UBLinux module includes graphics accelerators" +msgstr "Модуль UBLinux включает графические ускорители" + +msgid "UBLinux module includes GTK libs" +msgstr "Модуль UBLinux включает библиотеки GTK" + +msgid "UBLinux module includes Qt5 and Qt6 libs" +msgstr "Модуль UBLinux включает библиотеки Qt5 и Qt6" + +msgid "UBLinux module includes QT5 libs" +msgstr "Модуль UBLinux включает библиотеки QT5" + +msgid "UBLinux module includes QT6 libs" +msgstr "Модуль UBLinux включает библиотеки QT6" + +msgid "UBLinux module includes Xfce applications" +msgstr "Модуль UBLinux включает приложения Xfce" + +msgid "UBLinux module includes KDE Plasma applications" +msgstr "Модуль UBLinux включает приложения KDE Plasma" + +msgid "UBLinux module includes GNOME next generation desktop shell" +msgstr "Модуль UBLinux включает оболочку рабочего стола GNOME следующего поколения" + +msgid "UBLinux module includes MATE desktop shell" +msgstr "Модуль UBLinux включает оболочку рабочего стола MATE" + +msgid "UBLinux module includes Pantheon desktop shell" +msgstr "Модуль UBLinux включает оболочку рабочего стола Pantheon" + +msgid "UBLinux module includes GTK applications" +msgstr "Модуль UBLinux включает приложения GTK" + +msgid "UBLinux module includes QT applications" +msgstr "Модуль UBLinux включает приложения QT" + +msgid "UBLinux module includes GTK and icons themes" +msgstr "Модуль UBLinux включает темы GTK и значков" + +msgid "UBLinux module includes Lightdm display manager" +msgstr "Модуль UBLinux включает Менеджер дисплея Lightdm" + +msgid "UBLinux module includes multimedia applications" +msgstr "Модуль UBLinux включает мультимедийные приложения" + +msgid "UBLinux module include system utilites" +msgstr "Модуль UBLinux включает системные утилиты" + +msgid "UBLinux module include AnyDesk" +msgstr "Модуль UBLinux включает AnyDesk" + +msgid "UBLinux module include desktop backgrounds" +msgstr "Модуль UBLinux включает фоновые изображения рабочего стола" + +msgid "UBLinux module include blender and utilities" +msgstr "Модуль UBLinux включает Blender и утилиты" + +msgid "UBLinux module includes Chromium and some plugins" +msgstr "Модуль UBLinux включает Chromium и некоторые плагины" + +msgid "UBLinux module includes postgresql, mariadb database and utilities" +msgstr "Модуль UBLinux включает PostgreSQL, базу данных MariaDB и утилиты" + +msgid "UBLinux module include Brother printer drivers" +msgstr "Модуль UBLinux включает драйверы принтеров Brother" + +msgid "UBLinux module include Canon CAPT Printer Driver" +msgstr "Модуль UBLinux включает драйвер принтера Canon CAPT" + +msgid "UBLinux module include Canon UFR II LIPSLX CARPS2 printer driver" +msgstr "Модуль UBLinux включает драйвер принтера Canon UFR II LIPSLX CARPS2" + +msgid "UBLinux module include Epson printer drivers" +msgstr "Модуль UBLinux включает драйверы принтеров Epson" + +msgid "UBLinux module include Kyocera printer drivers" +msgstr "Модуль UBLinux включает драйверы принтера Kyocera" + +msgid "UBLinux module include Lexmark drivers" +msgstr "Модуль UBLinux включает драйверы Lexmark" + +msgid "UBLinux module include Pantum printer drivers" +msgstr "Модуль UBLinux включает драйверы принтера Pantum" + +msgid "UBLinux module include hplip, gutenprint, foomatic" +msgstr "В состав модулей UBLinux входят hplip, gutenprint, foomatic" + +msgid "UBLinux module include Ricoh drivers" +msgstr "Модуль UBLinux включает драйверы Ricoh" + +msgid "UBLinux module include Samsung drivers" +msgstr "Модуль UBlinux включает драйверы Samsung" + +msgid "UBLinux module include Xerox drivers" +msgstr "Модуль UBLinux включает драйверы Xerox" + +msgid "UBLinux module includes education soft" +msgstr "Модуль UBLinux включает в себя образовательное программное обеспечение" + +msgid "UBLinux module includes Firefox and some plugins" +msgstr "Модуль UBLinux включает в себя Firefox и некоторые плагины" + +msgid "UBLinux module include Java OpenJFX 17 client application platform" +msgstr "Модуль UBLinux включает в себя платформу клиентских приложений Java OpenJFX 17" + +msgid "UBLinux module includes OpenJDK Java 11 development kit" +msgstr "Модуль UBLinux включает в себя OpenJDK и комплект разработки Java 11" + +msgid "UBLinux module includes OpenJDK Java 17 development kit" +msgstr "Модуль UBLinux включает в себя OpenJDK и комплект разработки Java 17" + +msgid "UBLinux module includes OpenJDK Java 21 development kit" +msgstr "Модуль UBLinux включает в себя OpenJDK и комплект разработки Java 21" + +msgid "UBLinux module includes OpenJDK Java 8 development kit" +msgstr "Модуль UBLinux включает в себя OpenJDK и комплект разработки Java 8" + +msgid "UBLinux module includes some library 32-bit" +msgstr "Модуль UBLinux включает в себя некоторые 32-битные библиотеки." + +msgid "UBLinux module include LibreOffice" +msgstr "Модуль UBLinux включает LibreOffice" + +msgid "UBLinux module includes dkms additionals modules" +msgstr "Модуль UBLinux включает дополнительные модули dkms" + +msgid "UBLinux module include NVIDIA 470xx driver for linux" +msgstr "Модуль UBLinux включает драйвер NVIDIA 470xx для Linux" + +msgid "UBLinux module include NVIDIA 390xx driver for linux" +msgstr "Модуль UBLinux включает драйвер NVIDIA 390xx для Linux" + +msgid "UBLinux module includes OnlyOffice suite" +msgstr "Модуль UBLinux включает пакет OnlyOffice" + +msgid "UBLinux module include apps patch" +msgstr "Модуль UBLinux включает патчи для приложений" + +msgid "UBLinux module includes podman and webmanager and utils" +msgstr "Модуль UBLinux включает podman, webmanager и утилиты" + +msgid "UBLinux module include pycharm-community-edition and utilities" +msgstr "Модуль UBLinux включает pycharm-community-edition и утилиты" + +msgid "UBLinux module includes QEMU, manager and utils" +msgstr "Модуль UBLinux включает QEMU, менеджер и утилиты" + +msgid "UBLinux module includes R7 Office" +msgstr "Модуль UBLinux включает R7 Office" + +msgid "UBLinux module includes realvnc viewer and server" +msgstr "Модуль UBLinux включает RealVNC Viewer и сервер" + +msgid "UBLinux module includes rustdesk" +msgstr "Модуль UBLinux включает RustDesk" + +msgid "UBLinux module includes Telegram" +msgstr "Модуль UBLinux включает Telegram" + +msgid "UBLinux module include UBPile Workflow" +msgstr "Модуль UBLinux включает UBPile Workflow" + +msgid "UBLinux module includes agents for Linux guest" +msgstr "Модуль UBLinux включает агенты для гостевой системы Linux" + +msgid "UBLinux module includes VirtualBox and extension packs" +msgstr "Модуль UBLinux включает VirtualBox и пакеты расширений" + +msgid "UBLinux module includes Web servers" +msgstr "Модуль UBLinux включает веб-серверы" + +msgid "UBLinux module includes Webmin and Usermin" +msgstr "Модуль UBLinux включает Webmin и Usermin" + +msgid "UBLinux module includes interactive whiteboard soft" +msgstr "Модуль UBLinux включает программное обеспечение для интерактивной доски" + +msgid "UBLinux module include Winbox" +msgstr "Модуль UBLinux включает Winbox" + +msgid "UBLinux module includes wine and utilities" +msgstr "Модуль UBLinux включает Wine и утилиты" + +msgid "UBLinux module include Kingsoft Office (WPS Office) - an office productivity suite" +msgstr "В модуль UBLinux входят Kingsoft Office (WPS Office) — офисный пакет для повышения производительности" + +msgid "UBLinux module includes Yandex Browser and some utils" +msgstr "В модуль UBLinux входят Yandex Browser и некоторые утилиты" + +msgid "UBLinux module headers and scripts for building modules for the Meta UBlinux kernel, modules, headers and documentation" +msgstr "В модуль UBLinux входят заголовочные файлы и скрипты для сборки модулей для ядра Meta UBlinux, модули, заголовочные файлы и документация" + +msgid "UBLinux module includes the core developer components" +msgstr "В модуль UBLinux входят основные компоненты для разработчиков" + +msgid "UBLinux module includes Liquidshell basic desktop shell using QtWidgets" +msgstr "В модуль UBLinux входит базовая оболочка рабочего стола Liquidshell с использованием QtWidgets" + +msgid "UBLinux module includes AMDGRU PRO driver and utilities" +msgstr "В модуль UBLinux входят драйвер AMDGRU PRO и утилиты" + +msgid "UBLinux module includes anydesk" +msgstr "В модуль UBLinux входит anydesk" + +msgid "UBLinux module includes Chromium-GOST and some plugins" +msgstr "В модуль UBLinux входит Chromium-GOST и некоторые плагины" + +msgid "UBLinux module includes database applications" +msgstr "В модуль UBLinux входят приложения для работы с базами данных" + +msgid "UBLinux module includes docker and webmanager and utils" +msgstr "В модуль UBLinux входят Docker, WebManager и утилиты" + +msgid "UBLinux module include Hedgewars game similiar to Worms" +msgstr "В модуль UBLinux входит игра Hedgewars, похожая на Worms" + +msgid "UBLinux module includes Gitea and MemCached" +msgstr "В модуль UBLinux входят Gitea и MemCached" + +msgid "UBLinux module include Gitlab CLI tools" +msgstr "В модуль UBLinux входят инструменты командной строки Gitlab" + +msgid "UBLinux module include Java OpenJFX 11 client application platform" +msgstr "В модуль UBLinux входит платформа клиентских приложений Java OpenJFX 11" + +msgid "UBLinux module include Free Pascal and Lazarus GTK2" +msgstr "В модуль UBLinux входят Free Pascal и Lazarus GTK2" + +msgid "UBLinux module include Free Pascal and Lazarus QT5" +msgstr "В модуль UBLinux входят Free Pascal и Lazarus QT5" + +msgid "UBLinux module includes LSI MegaRaid SM, StorCLI, MegaCLI and utils" +msgstr "В модуль UBLinux входят LSI MegaRaid SM, StorCLI, MegaCLI и утилиты" + +msgid "UBLinux module includes NVIDIA 340xx driver and utilities" +msgstr "В модуль UBLinux входят драйвер и утилиты для NVIDIA 340xx" + +msgid "UBLinux module includes NVIDIA 390xx driver and utilities" +msgstr "В модуль UBLinux входят драйвер и утилиты для NVIDIA 390xx" + +msgid "UBLinux module includes NVIDIA 470xx driver and utilities" +msgstr "Модуль UBLinux включает драйвер и утилиты для NVIDIA 470xx" + +msgid "UBLinux module includes NVIDIA 510xx driver and utilities" +msgstr "Модуль UBLinux включает драйвер и утилиты для NVIDIA 510xx" + +msgid "UBLinux module includes NVIDIA 515xx driver and utilities" +msgstr "Модуль UBLinux включает драйвер и утилиты для NVIDIA 515xx" + +msgid "UBLinux module includes NVIDIA Optimus" +msgstr "Модуль UBLinux включает NVIDIA Optimus" + +msgid "UBLinux module includes OnlyOffice DocumentServer suite" +msgstr "Модуль UBLinux включает пакет OnlyOffice DocumentServer" + +msgid "UBLinux module includes Opera and some plugins" +msgstr "Модуль UBLinux включает Opera и некоторые плагины" + +msgid "UBLinux module includes patch" +msgstr "Модуль UBLinux включает патч" + +msgid "UBLinux module includes QEMU headless and utils" +msgstr "Модуль UBLinux включает QEMU headless и утилиты" + +msgid "UBLinux module include QT4" +msgstr "Модуль UBLinux включает QT4" + +msgid "UBLinux module include rustdesk-server" +msgstr "Модуль UBLinux включает rustdesk-server" + +msgid "UBLinux module include Skype" +msgstr "Модуль UBLinux включает Skype" + +msgid "UBLinux module include Tor utils and browser" +msgstr "Модуль UBLinux включает утилиты Tor и браузер" + +msgid "UBLinux module includes agents for Linux guest without X support" +msgstr "Модуль UBLinux включает агенты для гостевой системы Linux без поддержки X" + +msgid "UBLinux module includes VirtualBox headless and extension packs" +msgstr "Модуль UBLinux включает VirtualBox в режиме без графического интерфейса и пакеты расширений" + +msgid "UBLinux module includes phpvirtualbox for VirtualBox" +msgstr "Модуль UBLinux включает phpvirtualbox для VirtualBox" + +msgid "UBLinux module include Vivaldi browser" +msgstr "Модуль UBLinux включает браузер Vivaldi" + +msgid "UBLinux module includes VMware-Workstation 16" +msgstr "Модуль UBLinux включает VMware-Workstation 16" + +msgid "UBLinux module include Wiki.js" +msgstr "Модуль UBLinux включает Wiki.js" + +msgid "UBLinux module include X11 remote utils" +msgstr "Модуль UBLinux включает удаленные утилиты X11" + +msgid "UBLinux module include Zoom" +msgstr "Модуль UBLinux включает Zoom" \ No newline at end of file diff --git a/locale/ubinstall-gtk.pot b/locale/ubinstall-gtk.pot index cf10456..0bfce82 100644 --- a/locale/ubinstall-gtk.pot +++ b/locale/ubinstall-gtk.pot @@ -1825,6 +1825,12 @@ msgid "" "network or the Internet (even over slow connection channels)." msgstr "" +msgid "About" +msgstr "" + +msgid "Documentation" +msgstr "" + msgid "Generic 86-key PC" msgstr "" diff --git a/locale/ubinstall-gtk_ru.po b/locale/ubinstall-gtk_ru.po index 12e9805..11cf630 100644 --- a/locale/ubinstall-gtk_ru.po +++ b/locale/ubinstall-gtk_ru.po @@ -475,14 +475,6 @@ msgstr "Настройка установщика завершена" msgid "System installation is about to begin" msgstr "Начало установки системы" -#: source/ubl-strings.h:128 -msgid "Documentation" -msgstr "Справка" - -#: source/ubl-strings.h:129 -msgid "About" -msgstr "О программе" - #: source/ubl-strings.h:131 msgid "Would you like to read documentation in the Web?" msgstr "Вы хотите прочитать документацию в Сети?" @@ -1985,6 +1977,12 @@ msgstr "" "Позволяет загрузку системы для бездисковых и обычных рабочих станций через " "локальную сеть или Интернет (даже используя \"слабые\" каналы связи)" +msgid "About" +msgstr "О программе" + +msgid "Documentation" +msgstr "Справка" + msgid "Afrikaans" msgstr "Африканский" diff --git a/modules-list.csv b/modules-list.csv new file mode 100644 index 0000000..c09728f --- /dev/null +++ b/modules-list.csv @@ -0,0 +1,208 @@ +OS_VERSION_ID;PACKAGE_UBM;NAME_UBM;TAG_UBM;DESCRIPTION_UBM +2405;ubm-001-linux515;001-linux515-*-*-*.ubm;base;UBLinux module the kernel and modules +2405;ubm-001-linux61;001-linux61-*-*-*.ubm;base;UBLinux module the kernel and modules +2405;ubm-001-linux66;001-linux66-*-*-*.ubm;base;UBLinux module the kernel and modules +2405;ubm-002-linux515-headers;002-linux515-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules +2405;ubm-002-linux61-headers;002-linux61-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules +2405;ubm-002-linux66-headers;002-linux66-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules +2405;ubm-003-linux515-docs;003-linux515-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel +2405;ubm-003-linux61-docs;003-linux61-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel +2405;ubm-003-linux66-docs;003-linux66-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel +2405;ubm-004-linux-firmware;004-linux-firmware-*-*-*.ubm;base;UBLinux module firmwares +2405;ubm-010-core;010-core-*-*-*.ubm;base;UBLinux module includes the core developer components +2405;ubm-010-core-devel;010-core-devel-*-*-*.ubm;base;UBLinux module includes the core developer components +2405;ubm-020-xorg-base;020-xorg-base-*-*-*.ubm;base;UBLinux module includes basic components Xorg +2405;ubm-021-xorg-fonts;021-xorg-fonts-*-*-*.ubm;base;UBLinux module includes basic fonts +2405;ubm-025-xorg-gl;025-xorg-gl-*-*-*.ubm;base;UBLinux module includes graphics accelerators +2405;ubm-030-xorg-gtk;030-xorg-gtk-*-*-*.ubm;base;UBLinux module includes GTK libs +2405;ubm-035-xorg-qt;035-xorg-qt-*-*-*.ubm;base;UBLinux module includes Qt5 and Qt6 libs +2405;ubm-036-xorg-qt5;036-xorg-qt5-*-*-*.ubm;base;UBLinux module includes QT5 libs +2405;ubm-037-xorg-qt6;037-xorg-qt6-*-*-*.ubm;base;UBLinux module includes QT6 libs +2405;ubm-040-xorg-xfce;040-xorg-xfce-*-*-*.ubm;base;UBLinux module includes Xfce applications +2405;ubm-041-xorg-plasma;041-xorg-plasma-*-*-*.ubm;base;UBLinux module includes KDE Plasma applications +2405;ubm-042-xorg-gnome;042-xorg-gnome-*-*-*.ubm;base;UBLinux module includes GNOME next generation desktop shell +2405;ubm-043-xorg-mate;043-xorg-mate-*-*-*.ubm;base;UBLinux module includes MATE desktop shell +2405;ubm-045-xorg-pantheon;045-xorg-pantheon-*-*-*.ubm;base;UBLinux module includes Pantheon desktop shell +2405;ubm-050-xorg-gtk-app;050-xorg-gtk-app-*-*-*.ubm;base;UBLinux module includes GTK applications +2405;ubm-055-xorg-qt-app;055-xorg-qt-app-*-*-*.ubm;base;UBLinux module includes QT applications +2405;ubm-060-xorg-theme;060-xorg-theme-*-*-*.ubm;base;UBLinux module includes GTK and icons themes +2405;ubm-070-dm-lightdm;070-dm-lightdm-*-*-*.ubm;base;UBLinux module includes Lightdm display manager +2405;ubm-080-multimedia;080-multimedia-*-*-*.ubm;base;UBLinux module includes multimedia applications +2405;ubm-100-ublinux;100-ublinux-*-*-*.ubm;base;UBLinux module include system utilites +2405;ubm-anydesk;anydesk-*-*-*.ubm;extra;UBLinux module include AnyDesk +2405;ubm-backgrounds;backgrounds-*-*-*.ubm;extra;UBLinux module include desktop backgrounds +2405;ubm-blender;blender-*-*-*.ubm;extra;UBLinux module include blender and utilities +2405;ubm-chromium;chromium-*-*-*.ubm;extra;UBLinux module includes Chromium and some plugins +2405;ubm-chromium-gost;chromium-gost-*-*-*.ubm;extra;UBLinux module includes Chromium and some plugins +2405;ubm-database;database-*-*-*.ubm;extra;UBLinux module includes postgresql, mariadb database and utilities +2405;ubm-docker;docker-*-*-*.ubm;extra;UBLinux module includes docker and webmanager and utils +2405;ubm-drv-brother;drv-brother-*-*-*.ubm;extra;UBLinux module include Brother printer drivers +2405;ubm-drv-canon-capt;drv-canon-capt-*-*-*.ubm;extra;UBLinux module include Canon CAPT Printer Driver +2405;ubm-drv-canon-ufrii;drv-canon-ufrii-*-*-*.ubm;extra;UBLinux module include Canon UFR II LIPSLX CARPS2 printer driver +2405;ubm-drv-epson;drv-epson-*-*-*.ubm;extra;UBLinux module include Epson printer drivers +2405;ubm-drv-kyocera;drv-kyocera-*-*-*.ubm;extra;UBLinux module include Kyocera printer drivers +2405;ubm-drv-lexmark;drv-lexmark-*-*-*.ubm;extra;UBLinux module include Lexmark drivers +2405;ubm-drv-pantum;drv-pantum-*-*-*.ubm;extra;UBLinux module include Pantum printer drivers +2405;ubm-drv-printer;drv-printer-*-*-*.ubm;extra;UBLinux module include hplip, gutenprint, foomatic +2405;ubm-drv-ricoh;drv-ricoh-*-*-*.ubm;extra;UBLinux module include Ricoh drivers +2405;ubm-drv-samsung;drv-samsung-*-*-*.ubm;extra;UBLinux module include Samsung drivers +2405;ubm-drv-xerox;drv-xerox-*-*-*.ubm;extra;UBLinux module include Xerox drivers +2405;ubm-education;education-*-*-*.ubm;extra;UBLinux module includes education soft +2405;ubm-firefox;firefox-*-*-*.ubm;extra;UBLinux module includes Firefox and some plugins +2405;ubm-java17-openjfx;java17-openjfx-*-*-*.ubm;extra;UBLinux module include Java OpenJFX 17 client application platform +2405;ubm-jdk11;jdk11-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 11 development kit +2405;ubm-jdk17;jdk17-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 17 development kit +2405;ubm-jdk21;jdk21-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 21 development kit +2405;ubm-jdk8;jdk8-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 8 development kit +2405;ubm-lib32;lib32-*-*-*.ubm;extra;UBLinux module includes some library 32-bit +2405;ubm-libreoffice;libreoffice-*-*-*.ubm;extra;UBLinux module include LibreOffice +2405;ubm-linux515-dkms;linux515-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules +2405;ubm-linux515-nvidia;linux515-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2405;ubm-linux515-nvidia-390xx;linux515-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux +2405;ubm-linux515-nvidia-470xx;linux515-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2405;ubm-linux61-dkms;linux61-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules +2405;ubm-linux61-nvidia;linux61-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2405;ubm-linux61-nvidia-390xx;linux61-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux +2405;ubm-linux61-nvidia-470xx;linux61-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2405;ubm-linux61-r8168-8136;linux61-r8168-8136-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules +2405;ubm-linux66-dkms;linux66-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules +2405;ubm-onlyoffice;onlyoffice-*-*-*.ubm;extra;UBLinux module includes OnlyOffice suite +2405;ubm-patch;patch-*-*-*.ubm;extra;UBLinux module include apps patch +2405;ubm-podman;podman-*-*-*.ubm;extra;UBLinux module includes podman and webmanager and utils +2405;ubm-pycharm;pycharm-*-*-*.ubm;extra;UBLinux module include pycharm-community-edition and utilities +2405;ubm-qaratms-ru;qaratms-ru-*-*-*.ubm;extra;UBLinux module include pycharm-community-edition and utilities +2405;ubm-qemu;qemu-*-*-*.ubm;extra;UBLinux module includes QEMU, manager and utils +2405;ubm-r7-office;r7-office-*-*-*.ubm;extra;UBLinux module includes R7 Office +2405;ubm-realvnc;realvnc-*-*-*.ubm;extra;UBLinux module includes realvnc viewer and server +2405;ubm-rustdesk;rustdesk-*-*-*.ubm;extra;UBLinux module includes rustdesk +2405;ubm-rustdesk-server;rustdesk-server-*-*-*.ubm;extra;UBLinux module includes rustdesk +2405;ubm-telegram;telegram-*-*-*.ubm;extra;UBLinux module includes Telegram +2405;ubm-ubpile-workflow;ubpile-workflow-*-*-*.ubm;extra;UBLinux module include UBPile Workflow +2405;ubm-virtual-guest;virtual-guest-*-*-*.ubm;extra;UBLinux module includes agents for Linux guest +2405;ubm-virtualbox-host;virtualbox-host-*-*-*.ubm;extra;UBLinux module includes VirtualBox and extension packs +2405;ubm-web;web-*-*-*.ubm;extra;UBLinux module includes Web servers +2405;ubm-webmin;webmin-*-*-*.ubm;extra;UBLinux module includes Webmin and Usermin +2405;ubm-whiteboard;whiteboard-*-*-*.ubm;extra;UBLinux module includes interactive whiteboard soft +2405;ubm-winbox;winbox-*-*-*.ubm;extra;UBLinux module include Winbox +2405;ubm-wine;wine-*-*-*.ubm;extra;UBLinux module includes wine and utilities +2405;ubm-wps-office;wps-office-*-*-*.ubm;extra;UBLinux module include Kingsoft Office (WPS Office) - an office productivity suite +2405;ubm-yandex-browser;yandex-browser-*-*-*.ubm;extra;UBLinux module includes Yandex Browser and some utils +2204;ubm-001-linux;001-linux-*-*-*.ubm;base;UBLinux module the kernel and modules +2204;ubm-001-linux515;001-linux515-*-*-*.ubm;base;UBLinux module the kernel and modules +2204;ubm-001-linux61;001-linux61-*-*-*.ubm;base;UBLinux module the kernel and modules +2204;ubm-001-linux66;001-linux66-*-*-*.ubm;base;UBLinux module the kernel and modules +2204;ubm-002-linux-headers;002-linux-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules for the Meta UBlinux kernel, modules, headers and documentation +2204;ubm-002-linux515-headers;002-linux515-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules +2204;ubm-002-linux61-headers;002-linux61-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules +2204;ubm-002-linux66-headers;002-linux66-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules +2204;ubm-003-linux-docs;003-linux-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel +2204;ubm-003-linux515-docs;003-linux515-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel +2204;ubm-003-linux61-docs;003-linux61-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel +2204;ubm-003-linux66-docs;003-linux66-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel +2204;ubm-004-linux-firmware;004-linux-firmware-*-*-*.ubm;base;UBLinux module firmwares +2204;ubm-010-core;010-core-*-*-*.ubm;base;UBLinux module includes the core developer components +2204;ubm-010-core-devel;010-core-devel-*-*-*.ubm;base;UBLinux module includes the core developer components +2204;ubm-020-xorg-base;020-xorg-base-*-*-*.ubm;base;UBLinux module includes basic components Xorg +2204;ubm-021-xorg-fonts;021-xorg-fonts-*-*-*.ubm;base;UBLinux module includes basic fonts +2204;ubm-025-xorg-gl;025-xorg-gl-*-*-*.ubm;base;UBLinux module includes graphics accelerators +2204;ubm-030-xorg-gtk;030-xorg-gtk-*-*-*.ubm;base;UBLinux module includes GTK libs +2204;ubm-035-xorg-qt5;035-xorg-qt5-*-*-*.ubm;base;UBLinux module includes QT5 libs +2204;ubm-036-xorg-qt6;036-xorg-qt6-*-*-*.ubm;base;UBLinux module includes QT6 libs +2204;ubm-040-xorg-xfce;040-xorg-xfce-*-*-*.ubm;base;UBLinux module includes Xfce applications +2204;ubm-041-xorg-plasma;041-xorg-plasma-*-*-*.ubm;base;UBLinux module includes KDE Plasma applications +2204;ubm-042-xorg-gnome;042-xorg-gnome-*-*-*.ubm;base;UBLinux module includes GNOME next generation desktop shell +2204;ubm-043-xorg-mate;043-xorg-mate-*-*-*.ubm;base;UBLinux module includes MATE desktop shell +2204;ubm-045-xorg-pantheon;045-xorg-pantheon-*-*-*.ubm;base;UBLinux module includes Pantheon desktop shell +2204;ubm-049-xorg-liquidshell;049-xorg-liquidshell-*-*-*.ubm;base;UBLinux module includes Liquidshell basic desktop shell using QtWidgets +2204;ubm-050-xorg-gtk-app;050-xorg-gtk-app-*-*-*.ubm;base;UBLinux module includes GTK applications +2204;ubm-055-xorg-qt-app;055-xorg-qt-app-*-*-*.ubm;base;UBLinux module includes QT applications +2204;ubm-060-xorg-theme;060-xorg-theme-*-*-*.ubm;base;UBLinux module includes GTK and icons themes +2204;ubm-070-dm-lightdm;070-dm-lightdm-*-*-*.ubm;base;UBLinux module includes Lightdm display manager +2204;ubm-080-multimedia;080-multimedia-*-*-*.ubm;base;UBLinux module includes multimedia applications +2204;ubm-100-ublinux;100-ublinux-*-*-*.ubm;base;UBLinux module include system utilites +2204;ubm-amdgpu-pro;amdgpu-pro-*-*-*.ubm;extra;UBLinux module includes AMDGRU PRO driver and utilities +2204;ubm-anydesk;anydesk-*-*-*.ubm;extra;UBLinux module includes anydesk +2204;ubm-backgrounds;backgrounds-*-*-*.ubm;extra;UBLinux module include desktop backgrounds +2204;ubm-blender;blender-*-*-*.ubm;extra;UBLinux module includes wine and utilities +2204;ubm-chromium;chromium-*-*-*.ubm;extra;UBLinux module includes Chromium-GOST and some plugins +2204;ubm-chromium-gost;chromium-gost-*-*-*.ubm;extra;UBLinux module includes Chromium-GOST and some plugins +2204;ubm-database;database-*-*-*.ubm;extra;UBLinux module includes database applications +2204;ubm-docker;docker-*-*-*.ubm;extra;UBLinux module includes docker and webmanager and utils +2204;ubm-drv-brother;drv-brother-*-*-*.ubm;extra;UBLinux module include Brother printer drivers +2204;ubm-drv-canon-capt;drv-canon-capt-*-*-*.ubm;extra;UBLinux module include Canon CAPT Printer Driver +2204;ubm-drv-canon-ufrii;drv-canon-ufrii-*-*-*.ubm;extra;UBLinux module include Canon UFR II LIPSLX CARPS2 printer driver +2204;ubm-drv-epson;drv-epson-*-*-*.ubm;extra;UBLinux module include Epson printer drivers +2204;ubm-drv-kyocera;drv-kyocera-*-*-*.ubm;extra;UBLinux module include Kyocera printer drivers +2204;ubm-drv-lexmark;drv-lexmark-*-*-*.ubm;extra;UBLinux module include Lexmark drivers +2204;ubm-drv-pantum;drv-pantum-*-*-*.ubm;extra;UBLinux module include Pantum printer drivers +2204;ubm-drv-printer;drv-printer-*-*-*.ubm;extra;UBLinux module include hplip, gutenprint, foomatic +2204;ubm-drv-ricoh;drv-ricoh-*-*-*.ubm;extra;UBLinux module include Ricoh drivers +2204;ubm-drv-samsung;drv-samsung-*-*-*.ubm;extra;UBLinux module include Samsung drivers +2204;ubm-drv-xerox;drv-xerox-*-*-*.ubm;extra;UBLinux module include Xerox drivers +2204;ubm-firefox;firefox-*-*-*.ubm;extra;UBLinux module includes Firefox and some plugins +2204;ubm-gambas3;gambas3-*-*-*.ubm;extra;UBLinux module includes Gambas3 and components +2204;ubm-game-hedgewars;game-hedgewars-*-*-*.ubm;extra;UBLinux module include Hedgewars game similiar to Worms +2204;ubm-game-warfork;game-warfork-*-*-*.ubm;extra;UBLinux module include Hedgewars game similiar to Worms +2204;ubm-gitea;gitea-*-*-*.ubm;extra;UBLinux module includes Gitea and MemCached +2204;ubm-gitlab;gitlab-*-*-*.ubm;extra;UBLinux module include Gitlab CLI tools +2204;ubm-gitlab-cli;gitlab-cli-*-*-*.ubm;extra;UBLinux module include Gitlab CLI tools +2204;ubm-java11-openjfx;java11-openjfx-*-*-*.ubm;extra;UBLinux module include Java OpenJFX 11 client application platform +2204;ubm-java17-openjfx;java17-openjfx-*-*-*.ubm;extra;UBLinux module include Java OpenJFX 17 client application platform +2204;ubm-jdk11;jdk11-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 11 development kit +2204;ubm-jdk17;jdk17-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 17 development kit +2204;ubm-jdk8;jdk8-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 8 development kit +2204;ubm-lazarus-gtk2;lazarus-gtk2-*-*-*.ubm;extra;UBLinux module include Free Pascal and Lazarus GTK2 +2204;ubm-lazarus-qt5;lazarus-qt5-*-*-*.ubm;extra;UBLinux module include Free Pascal and Lazarus QT5 +2204;ubm-lib32;lib32-*-*-*.ubm;extra;UBLinux module includes some library 32-bit +2204;ubm-libreoffice;libreoffice-*-*-*.ubm;extra;UBLinux module includes rustdesk +2204;ubm-linux-dkms;linux-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules +2204;ubm-linux515-dkms;linux515-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules +2204;ubm-linux515-nvidia;linux515-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2204;ubm-linux515-nvidia-390xx;linux515-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux +2204;ubm-linux515-nvidia-470xx;linux515-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2204;ubm-linux61-dkms;linux61-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules +2204;ubm-linux61-nvidia;linux61-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2204;ubm-linux61-nvidia-390xx;linux61-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux +2204;ubm-linux61-nvidia-470xx;linux61-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2204;ubm-linux66-dkms;linux66-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules +2204;ubm-linux66-nvidia;linux66-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2204;ubm-linux66-nvidia-390xx;linux66-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux +2204;ubm-linux66-nvidia-470xx;linux66-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux +2204;ubm-lsi-megaraid;lsi-megaraid-*-*-*.ubm;extra;UBLinux module includes LSI MegaRaid SM, StorCLI, MegaCLI and utils +2204;ubm-nvidia-340;nvidia-340-*-*-*.ubm;extra;UBLinux module includes NVIDIA 340xx driver and utilities +2204;ubm-nvidia-390;nvidia-390-*-*-*.ubm;extra;UBLinux module includes NVIDIA 390xx driver and utilities +2204;ubm-nvidia-470;nvidia-470-*-*-*.ubm;extra;UBLinux module includes NVIDIA 470xx driver and utilities +2204;ubm-nvidia-510;nvidia-510-*-*-*.ubm;extra;UBLinux module includes NVIDIA 510xx driver and utilities +2204;ubm-nvidia-515;nvidia-515-*-*-*.ubm;extra;UBLinux module includes NVIDIA 515xx driver and utilities +2204;ubm-nvidia-optimus;nvidia-optimus-*-*-*.ubm;extra;UBLinux module includes NVIDIA Optimus +2204;ubm-onlyoffice;onlyoffice-*-*-*.ubm;extra;UBLinux module includes OnlyOffice DocumentServer suite +2204;ubm-onlyoffice-documentserver;onlyoffice-documentserver-*-*-*.ubm;extra;UBLinux module includes OnlyOffice DocumentServer suite +2204;ubm-opera;opera-*-*-*.ubm;extra;UBLinux module includes Opera and some plugins +2204;ubm-patch;patch-*-*-*.ubm;extra;UBLinux module includes patch +2204;ubm-podman;podman-*-*-*.ubm;extra;UBLinux module includes podman and webmanager and utils +2204;ubm-qemu;qemu-*-*-*.ubm;extra;UBLinux module includes QEMU headless and utils +2204;ubm-qemu-headless;qemu-headless-*-*-*.ubm;extra;UBLinux module includes QEMU headless and utils +2204;ubm-qt4;qt4-*-*-*.ubm;extra;UBLinux module include QT4 +2204;ubm-realvnc;realvnc-*-*-*.ubm;extra;UBLinux module includes realvnc viewer and server +2204;ubm-rustdesk;rustdesk-*-*-*.ubm;extra;UBLinux module include rustdesk-server +2204;ubm-rustdesk-server;rustdesk-server-*-*-*.ubm;extra;UBLinux module include rustdesk-server +2204;ubm-skype;skype-*-*-*.ubm;extra;UBLinux module include Skype +2204;ubm-telegram;telegram-*-*-*.ubm;extra;UBLinux module includes Telegram +2204;ubm-tor;tor-*-*-*.ubm;extra;UBLinux module include Tor utils and browser +2204;ubm-ubpile-workflow;ubpile-workflow-*-*-*.ubm;extra;UBLinux module include UBPile Workflow +2204;ubm-virtual-guest;virtual-guest-*-*-*.ubm;extra;UBLinux module includes agents for Linux guest without X support +2204;ubm-virtual-guest-nox;virtual-guest-nox-*-*-*.ubm;extra;UBLinux module includes agents for Linux guest without X support +2204;ubm-virtualbox-host;virtualbox-host-*-*-*.ubm;extra;UBLinux module includes VirtualBox headless and extension packs +2204;ubm-virtualbox-host-headless;virtualbox-host-headless-*-*-*.ubm;extra;UBLinux module includes VirtualBox headless and extension packs +2204;ubm-virtualbox-web;virtualbox-web-*-*-*.ubm;extra;UBLinux module includes phpvirtualbox for VirtualBox +2204;ubm-vivaldi;vivaldi-*-*-*.ubm;extra;UBLinux module include Vivaldi browser +2204;ubm-vmware-workstation16;vmware-workstation16-*-*-*.ubm;extra;UBLinux module includes VMware-Workstation 16 +2204;ubm-web;web-*-*-*.ubm;extra;UBLinux module includes Webmin and Usermin +2204;ubm-webmin;webmin-*-*-*.ubm;extra;UBLinux module includes Webmin and Usermin +2204;ubm-wiki-js;wiki-js-*-*-*.ubm;extra;UBLinux module include Wiki.js +2204;ubm-winbox;winbox-*-*-*.ubm;extra;UBLinux module include Winbox +2204;ubm-wine;wine-*-*-*.ubm;extra;UBLinux module includes wine and utilities +2204;ubm-wps-office;wps-office-*-*-*.ubm;extra;UBLinux module include Kingsoft Office (WPS Office) - an office productivity suite +2204;ubm-xremote;xremote-*-*-*.ubm;extra;UBLinux module include X11 remote utils +2204;ubm-yandex-browser;yandex-browser-*-*-*.ubm;extra;UBLinux module includes Yandex Browser and some utils +2204;ubm-zoom;zoom-*-*-*.ubm;extra;UBLinux module include Zoom \ No newline at end of file diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c index 65f7229..2897eb3 100644 --- a/source/ubinstall-gtk-bootloader.c +++ b/source/ubinstall-gtk-bootloader.c @@ -7,12 +7,6 @@ int yon_bootloader_save(main_window *widgets){ } else { yon_config_remove_by_key(GRUB_TIMEOUT_parameter); } - char *OS = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry)); - if (strcmp(OS,DEFAULT_BOOTLOAD_MENU_ITEM_LABEL)){ - yon_config_register(GRUB_DEFAULT_parameter,GRUB_DEFAULT_parameter_command,OS); - } else { - yon_config_remove_by_key(GRUB_DEFAULT_parameter); - } if (gtk_switch_get_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch))){ GtkTreeIter iter; yon_config_register(AUTOLOGINUSER_parameter,AUTOLOGINUSER_parameter_command,"yes"); @@ -380,6 +374,32 @@ yon_menu_item *yon_menu_item_new(){ return item; } +char *yon_bootloader_get_os_name(char *parameter){ + bind_textdomain_codeset("ublinux-init-grub-functions","UTF-8"); + textdomain("ublinux-init-grub-functions"); + char *final_os_name = NULL; + int size; + config_str menu_entries = yon_config_load(get_menus_entry_command,&size); + for (int i=0;i"); + if (!yon_char_is_empty(name)){ + name++; + final_os_name = yon_char_new(name); + } else { + final_os_name = yon_char_new(_(parsed[1])); + } + } + yon_char_parsed_free(parsed,parsed_size); + } + yon_char_parsed_free(menu_entries,size); + textdomain(LocaleName); + return final_os_name; +} + void yon_bootloader_interface_update(main_window *widgets){ char *timeout = config(GRUB_TIMEOUT_parameter); char *admins = config(GRUB_SUPERUSERS_parameter); @@ -430,11 +450,16 @@ void yon_bootloader_init(main_window *widgets){ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->BootloadTimerSpin),0); } if (!yon_char_is_empty(os)){ - gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),os); + char *os_name = yon_bootloader_get_os_name(os); + if (!yon_char_is_empty(os_name)){ + gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),os_name); + free(os_name); + } } else { gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_BOOTLOAD_MENU_ITEM_LABEL); } if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"yes")||!strcmp(autologin,"enable"))){ + gtk_list_store_clear(widgets->BootloadUsersList); gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),1); int admins_size; config_str admins_parsed = yon_char_parse(admins,&admins_size,","); diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 0f6034d..1bd2324 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -103,12 +103,12 @@ void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *d row->name = yon_char_new(name); char *description_full = yon_char_new(description); - if (strlen(description)>100){ - guint size; - config_str description_wrapped = yon_char_wrap_to_lines(description,3,&size); - description_full = yon_char_parsed_to_string(description_wrapped,size,"\n"); - yon_char_parsed_free(description_wrapped,size); - } + // if (strlen(description)>100){ + // guint size; + // config_str description_wrapped = yon_char_wrap_to_lines(description,2,&size); + // description_full = yon_char_parsed_to_string(description_wrapped,size,"\n"); + // yon_char_parsed_free(description_wrapped,size); + // } gtk_label_set_label(GTK_LABEL(row->NameLabel),name); gtk_label_set_label(GTK_LABEL(row->VersionLabel),version); gtk_label_set_label(GTK_LABEL(row->DescriptionLabel),description_full); @@ -122,7 +122,7 @@ gboolean yon_os_component_insert(struct row_data *row_input){ main_window *widgets = row_input->widgets; gtk_list_box_insert(GTK_LIST_BOX(widgets->OSSoftwareListBox),row->row,-1); - yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,row_input->description); + yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,_(row_input->description)); char *modules = config(modules_parameter); if (yon_char_is_empty(modules)||yon_char_check_element(modules,row_input->name,",")||!strcmp(modules,"auto")){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); @@ -226,7 +226,7 @@ gboolean yon_software_insert(struct row_data *row_input){ main_window *widgets = row_input->widgets; gtk_list_box_insert(GTK_LIST_BOX(widgets->AdditionalComponentsList),row->row,-1); - yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,row_input->description); + yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,_(row_input->description)); char *modules = config(modules_extra_parameter); if (yon_char_check_element(modules,row_input->name,",")){ @@ -297,7 +297,7 @@ void yon_pacman_init(main_window *widgets){ char *version = yon_packages_get_version(YON_PACKAGES_SYNC,parsed[i]); GtkTreeIter iter; gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter); - gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,description,-1); + gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),-1); } yon_char_parsed_free(parsed,size); } \ No newline at end of file diff --git a/source/ubinstall-gtk-config-hub.c b/source/ubinstall-gtk-config-hub.c index 0edfcb5..40dea24 100644 --- a/source/ubinstall-gtk-config-hub.c +++ b/source/ubinstall-gtk-config-hub.c @@ -147,6 +147,7 @@ void yon_configuration_hub_add(GtkFlowBox *target, char *name, char *icon, enum cur_icon->page = page; GtkWidget *flow = gtk_flow_box_child_new(); gtk_style_context_add_class(gtk_widget_get_style_context(flow),"bggrey"); + gtk_widget_set_margin_end(cur_icon->Label,5); gtk_label_set_xalign(GTK_LABEL(cur_icon->Label),0); g_object_set_data(G_OBJECT(flow),"config_hub_icon",cur_icon); diff --git a/source/ubinstall-gtk-configuration-mode.c b/source/ubinstall-gtk-configuration-mode.c index 79eff78..4030c1b 100644 --- a/source/ubinstall-gtk-configuration-mode.c +++ b/source/ubinstall-gtk-configuration-mode.c @@ -64,7 +64,6 @@ void on_configuration_exit(GtkWidget *,configuration_window *window){ GList *box = gtk_container_get_children(GTK_CONTAINER(widgets->ConfigurationModeMenuItem)); GList *children = gtk_container_get_children(GTK_CONTAINER(box->data)); - GtkWidget *Check = GTK_WIDGET(g_list_nth_data(children,1)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Check),0); g_list_free(box); @@ -82,7 +81,7 @@ void on_configuration_mode_switch(GtkWidget *self,main_window *widgets){ GtkWidget *Check = GTK_WIDGET(g_list_nth_data(children,1)); int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Check)); - if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Check))){ + if (!active){ GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_configuration_mode); configuration_window *window = malloc(sizeof(configuration_window)); window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c index f199159..16f2e0c 100644 --- a/source/ubinstall-gtk-kernel.c +++ b/source/ubinstall-gtk-kernel.c @@ -292,17 +292,17 @@ void on_kernel_addon_info(GtkLabel *self){ yon_char_remove_last_symbol(info[i],'\n'); GtkTreeIter iter; int parsed_size; - config_str parsed = yon_char_parse(info[i],&parsed_size,":"); + config_str parsed = yon_char_parse(info[i],&parsed_size," : "); gtk_list_store_append(element->InfoList,&iter); gtk_list_store_set(element->InfoList,&iter,0,parsed[0],1,parsed[1],-1); } } else { label = gtk_label_new(PACKAGE_NOT_FOUND_LABEL); - yon_gtk_label_set_font(GTK_LABEL(label)); + yon_gtk_label_set_font(GTK_LABEL(label)); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(window->MainBox),label,0,0,0); - gtk_label_set_xalign(GTK_LABEL(label),0); + gtk_label_set_xalign(GTK_LABEL(label),0); } gtk_widget_show(window->Window); } diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c index 659fa74..9e1c7f1 100644 --- a/source/ubinstall-gtk-keyboard.c +++ b/source/ubinstall-gtk-keyboard.c @@ -51,6 +51,11 @@ void yon_keyboard_init(main_window *widgets){ g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardModelCombo),G_CALLBACK(on_model_changed),widgets); g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),G_CALLBACK(on_layout_default_toggled),widgets); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo)); + gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KeyboardNumLockCombo)); + + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardNumLockCombo),NULL,DEFAULT_LABEL); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardNumLockCombo),NULL,ON_LABEL); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardNumLockCombo),NULL,OFF_LABEL); int size; gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo),DEFAULT_LABEL); config_str models = yon_config_load(get_keyboard_models_command,&size); diff --git a/source/ubinstall-gtk-network.c b/source/ubinstall-gtk-network.c index 9908e2c..726bf95 100644 --- a/source/ubinstall-gtk-network.c +++ b/source/ubinstall-gtk-network.c @@ -44,6 +44,11 @@ void on_type_changed(GtkComboBox *self,network_info *info){ } } +void on_network_removed(GtkWidget *,network_info *info){ + gtk_widget_destroy(info->MainBox); + free(info); +} + network_info *yon_network_info_new(){ network_info *info = new(network_info); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_network_info); @@ -77,6 +82,7 @@ network_info *yon_network_info_new(){ g_signal_connect(G_OBJECT(info->AutoGetIPSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),info->GatewayEntry); g_signal_connect(G_OBJECT(info->AutoGetIPSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),info->MaskEntry); g_signal_connect(G_OBJECT(info->AutoGetIPSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),info->DNSEntry); + g_signal_connect(G_OBJECT(info->RemoveButton),"clicked",G_CALLBACK(on_network_removed),info); g_signal_connect(G_OBJECT(info->TypeCombo),"changed",G_CALLBACK(on_type_changed),info); yon_gtk_revealer_set_from_switch_inversed(GTK_REVEALER(info->IpRevealer),GTK_SWITCH(info->AutoGetIPSwitch)); @@ -87,6 +93,7 @@ network_info *yon_network_info_new(){ gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(info->TypeCombo),iter->data,iter->data); } g_list_free(list); + gtk_combo_box_set_active(GTK_COMBO_BOX(info->TypeCombo),0); gtk_widget_show(info->MainBox); return info; @@ -322,6 +329,15 @@ void yon_network_init(main_window *widgets){ gtk_entry_set_text(GTK_ENTRY(widgets->NetworkDomainPasswordEntry),domain_password); } } + { + gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->NetworkNTPCombo)); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->NetworkNTPCombo),NULL,DEFAULT_LABEL); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->NetworkNTPCombo),NULL,"DHCP"); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->NetworkNTPCombo),NULL,"NTP (ntp.org)"); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->NetworkNTPCombo),NULL,"NTP (vniiftri.ru)"); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->NetworkNTPCombo),NULL,MANUAL_LABEL); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->NetworkNTPCombo),NULL,DO_NOT_CONFIGURE_LABEL); + } if (!yon_char_is_empty(ntp)){ gtk_switch_set_active(GTK_SWITCH(widgets->NetworkNTPServerSwitch),1); gtk_widget_set_sensitive(widgets->NetworkNTPEntry,0); diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index 0ac87d0..48d30c5 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -53,6 +53,7 @@ GtkTreeIter *yon_subcategory_check(GtkTreeStore *target, GtkTreeIter *parent_ite } void yon_packages_tab_init(main_window *widgets){ + gtk_tree_store_clear(widgets->PackagesList); int size; config_str packages = yon_resource_open_file(groups_list_path,&size); for (int i=1;iPackagesTree)),&model,&iter); + if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->PackagesTree)),&model,&iter)) return; GtkTreeIter cur_parent, cur_iter; int status; gtk_tree_model_get(model,&iter,3,&status,-1); diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index 053c0d8..0887f18 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -170,12 +170,14 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ case YON_PAGE_CONFIGURE_SAVE: case YON_PAGE_COMPLETION: gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_LABEL); - gtk_widget_set_sensitive(widgets->BackButton,0); - gtk_widget_set_sensitive(widgets->CancelInstallButton,0); + gtk_widget_hide(widgets->BackButton); + gtk_widget_set_sensitive(widgets->CancelInstallButton,1); + gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL); gtk_widget_set_sensitive(widgets->NextButton,1); break; case YON_PAGE_SECTIONS: gtk_widget_show(widgets->SourceButton); + gtk_widget_show(widgets->BackButton); gtk_widget_set_sensitive(widgets->BackButton,1); gtk_widget_set_sensitive(widgets->NextButton,1); gtk_widget_set_sensitive(widgets->CancelInstallButton,1); @@ -418,7 +420,7 @@ enum YON_PAGES yon_recovery_get_next(main_window *widgets){ void yon_page_init(main_window *widgets, enum YON_PAGES page){ switch(page){ case YON_PAGE_WELCOME: - set_locales_list(widgets); + yon_set_locales_list(widgets); break; case YON_PAGE_CONFIG_HUB: yon_configuration_hub_init(widgets); @@ -518,6 +520,11 @@ void on_page_cancel_clicked(GtkWidget *, main_window *widgets){ enum YON_PAGES cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)); switch (cur_page){ case YON_PAGE_CONFIGURE_END: + case YON_PAGE_COMPLETED: + case YON_PAGE_RECOVERY_COMPLETION: + case YON_PAGE_INSTALL_ERROR: + case YON_PAGE_CONFIGURE_SAVE: + case YON_PAGE_COMPLETION: gtk_main_quit(); break; default: { diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c index cbb8b4c..92d2d26 100644 --- a/source/ubinstall-gtk-region.c +++ b/source/ubinstall-gtk-region.c @@ -28,8 +28,11 @@ void on_zone_changed(GtkWidget *, main_window *widgets){ const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo)); const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo)); - char *timezone = yon_char_unite(region,"/",zone,NULL); - cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),timezone); + if (!yon_char_is_empty(region)&&!yon_char_is_empty(zone)){ + char *timezone = yon_char_unite(region,"/",zone,NULL); + cc_timezone_map_set_timezone(CC_TIMEZONE_MAP(widgets->RegionMapTarget),timezone); + free(timezone); + } g_signal_handlers_unblock_by_func(G_OBJECT(widgets->RegionMapTarget),G_CALLBACK(on_map_selection_changed),widgets); } #endif @@ -65,6 +68,8 @@ void on_map_selection_changed(GtkWidget *,CcTimezoneLocation *location,main_wind #endif void yon_region_init(main_window *widgets){ + gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->RegionCombo)); + gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KeyboardNumLockCombo)); #ifdef TIMEZONEMAP_INCLUDE yon_debug_output("%s\n","TIMEZONEMAP enabled"); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->RegionMapBox)); diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index a469abd..39d3a03 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -56,14 +56,14 @@ void on_config_global_load(GtkWidget *,main_window *widgets){ yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); } -void on_config_custom_load(GtkWidget *,main_window *widgets){ +void on_config_custom_load(GtkWidget *,main_window *){ yon_load_proceed(YON_CONFIG_CUSTOM); // yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); main_config.load_mode=YON_CONFIG_CUSTOM; - yon_main_window_update_locale(widgets); + // yon_main_window_update_locale(widgets); } -void on_config_custom_load_last(GtkWidget *,main_window *widgets){ +void on_config_custom_load_last(GtkWidget *,main_window *){ yon_config_clean(); if (!yon_char_is_empty(config_get_default_command)) yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); @@ -71,7 +71,7 @@ void on_config_custom_load_last(GtkWidget *,main_window *widgets){ yon_config_load_config(YON_CONFIG_CUSTOM,command,NULL); // yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); main_config.load_mode=YON_CONFIG_CUSTOM; - yon_main_window_update_locale(widgets); + // yon_main_window_update_locale(widgets); } void on_config_global_local_save(GtkWidget *,main_window *widgets){ @@ -241,7 +241,7 @@ void *on_setup_system_configuration(void * data){ if (user_size){ int final_size; config_str final = yon_char_parsed_merge(all_parameters,size,users,user_size,&final_size); - yon_char_parsed_free(users,user_size); + // yon_char_parsed_free(users,user_size); if (size) yon_char_parsed_free(all_parameters,size); all_parameters = final; size = final_size; @@ -250,7 +250,7 @@ void *on_setup_system_configuration(void * data){ if (users){ int final_size; config_str final = yon_char_parsed_merge(all_parameters,size,users,user_size,&final_size); - yon_char_parsed_free(users,user_size); + // yon_char_parsed_free(users,user_size); if (size) yon_char_parsed_free(all_parameters,size); all_parameters = final; size = final_size; @@ -260,7 +260,7 @@ void *on_setup_system_configuration(void * data){ if (network_size){ int final_size; config_str final = yon_char_parsed_merge(all_parameters,size,networks,network_size,&final_size); - yon_char_parsed_free(networks,network_size); + // yon_char_parsed_free(networks,network_size); if (size) yon_char_parsed_free(all_parameters,size); all_parameters = final; size = final_size; diff --git a/source/ubinstall-gtk-startup-apps.c b/source/ubinstall-gtk-startup-apps.c index 3ae0a4a..3014f1e 100644 --- a/source/ubinstall-gtk-startup-apps.c +++ b/source/ubinstall-gtk-startup-apps.c @@ -43,7 +43,7 @@ void on_startup_apps_remove(GtkWidget *self,main_window *widgets){ void yon_startup_apps_setup(main_window *widgets){ GtkTreeIter iter; - if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->StartupAppsList),&iter)){ + gtk_list_store_clear(widgets->StartupAppsList); int size; config_str apps = yon_resource_open_file(apps_list_path,&size); for (int i=1;iStartupAppsList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(_(parsed[2]),""),-1); } } - } + char *startup = config(SERVICES_ENABLE_parameter); if (!yon_char_is_empty(startup)){ if (!strcmp(startup,"auto")){ diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c index 4bfb3ca..b99a166 100644 --- a/source/ubinstall-gtk-startup-services.c +++ b/source/ubinstall-gtk-startup-services.c @@ -51,7 +51,7 @@ void on_startup_services_remove(GtkWidget *self,main_window *widgets){ void yon_startup_services_setup(main_window *widgets){ GtkTreeIter iter; - if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->StartupList),&iter)){ + gtk_list_store_clear(widgets->StartupList); int size; config_str services = yon_resource_open_file(services_list_path,&size); for (int i=1;iStartupList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(_(parsed[2]),""),-1); } } - } + char *startup = config(SERVICES_ENABLE_parameter); if (!yon_char_is_empty(startup)){ if (!strcmp(startup,"auto")){ diff --git a/source/ubinstall-gtk-ui-lang.c b/source/ubinstall-gtk-ui-lang.c index 79e0184..ff5332a 100644 --- a/source/ubinstall-gtk-ui-lang.c +++ b/source/ubinstall-gtk-ui-lang.c @@ -4,6 +4,11 @@ void on_locale_changed(GtkWidget *,main_window *widgets){ GtkTreeIter iter; GtkTreeModel *model; if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LanguagesTree)),&model,&iter)) return; + // { + // GtkTreePath *path = gtk_tree_model_get_path(GTK_TREE_MODEL(widgets->InstallerLanguageList),&iter); + // gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(widgets->LanguagesTree),path,0,0,0,0); + // gtk_tree_path_free(path); + // } gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter)); char *config_code = config(installer_locale_parameter); if (yon_char_is_empty(config_code)){ @@ -42,7 +47,6 @@ void on_installer_language_changed(GtkWidget *self,GtkTreePath*,GtkTreeViewColum config_str parameters = yon_config_get_save_parameters_by_key(&size,installer_locale_parameter,NULL); char *command_parameters = yon_char_parsed_to_string(parameters,size," "); char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL); - g_signal_handlers_block_by_func(G_OBJECT(widgets->MainWindow),G_CALLBACK(on_yon_exit),widgets); if (!system(command)){}; yon_main_window_update_locale(widgets); g_signal_handlers_block_by_func(G_OBJECT(self),G_CALLBACK(on_locale_changed),widgets); @@ -69,12 +73,17 @@ void yon_startup_language_init(){ if (size>1&&!yon_char_is_empty(parsed[1])&&strcmp(parsed[1],"(null)\n")){ yon_char_remove_last_symbol(parsed[1],'\n'); free(yon_char_divide_search(parsed[1],"=",-1)); - yon_config_register(lang_parameter,lang_parameter_command,parsed[1]); + yon_char_remove_brackets(parsed[1]); + yon_config_register(installer_locale_parameter,installer_locale_parameter_command,parsed[1]); } if (size>2&&!yon_char_is_empty(parsed[2])&&strcmp(parsed[2],"(null)\n")){ yon_char_remove_last_symbol(parsed[2],'\n'); free(yon_char_divide_search(parsed[2],"=",-1)); - yon_config_register(SYSTEM_LANG_parameter,SYSTEM_LANG_parameter_command,parsed[2]); + yon_char_remove_brackets(parsed[2]); + yon_config_register(installer_locale_parameter,installer_locale_parameter_command,parsed[2]); + } else { + yon_config_register(installer_locale_parameter,installer_locale_parameter_command,setlocale(LC_ALL,"")); + } } } @@ -94,15 +103,17 @@ void yon_main_window_update_locale(main_window *widgets){ } } locale = setlocale(LC_ALL,locale); + yon_config_register(installer_locale_parameter,installer_locale_parameter_command,(char*)locale); - gtk_widget_destroy(widgets->MainWindow); + // gtk_widget_destroy(widgets->MainWindow); textdomain(LocaleName); g_setenv("LANGUAGE",locale,1); - - yon_main_window_create(widgets); + yon_update_translation(widgets); + // yon_main_window_create(widgets); 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_load(path); + } typedef struct{ @@ -120,15 +131,21 @@ int yon_char_parsed_compare(const void *a, const void *b){ } gboolean on_languages_search_func(GtkTreeModel *model, gint ,const char *key, GtkTreeIter *iter, main_window *){ - char *language, *language_localised; - gtk_tree_model_get(model,iter,1,&language,4,&language_localised,-1); - if (strstr(language,key)||strstr(language_localised,key)){ - return 0; - } - return 1; + char *target; + char *loc_target; + gtk_tree_model_get(model, iter, 1,&target, 4, &loc_target,-1); + char *string_utf = g_utf8_casefold(key,-1); + char *target_utf = g_utf8_casefold(target,-1); + char *loc_target_utf = g_utf8_casefold(loc_target,-1); + + char *string_normalized = g_utf8_strdown(g_utf8_normalize(string_utf,-1,G_NORMALIZE_DEFAULT),-1); + char *target_normalized = g_utf8_strdown(g_utf8_normalize(target_utf,-1,G_NORMALIZE_DEFAULT),-1); + char *loc_target_normalized = g_utf8_strdown(g_utf8_normalize(loc_target_utf,-1,G_NORMALIZE_DEFAULT),-1); + + return !(g_str_has_prefix(target_normalized,string_normalized) || g_str_has_prefix(loc_target_normalized,string_normalized)); } -void set_locales_list(main_window *widgets){ +void yon_set_locales_list(main_window *widgets){ gtk_list_store_clear(widgets->InstallerLanguageList); gtk_list_store_clear(widgets->InstallerCountryList); @@ -172,18 +189,22 @@ void set_locales_list(main_window *widgets){ 2,code, 3,_(title), -1); - if (yon_char_is_empty(config_code)){ - config_code=yon_char_new(setlocale(LC_ALL,NULL)); - } + } + for_iter (GTK_TREE_MODEL(widgets->InstallerLanguageList), &iter){ + char *compare_target; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->InstallerLanguageList),&iter, 3, &compare_target, -1); + if (!yon_char_is_empty(config_code)){ char *temp = strstr(config_code,"."); if (temp) temp[0]='\0'; - if (!strcmp(config_code,locales[i])){ + if (!strcmp(config_code,compare_target)){ + gtk_widget_realize(widgets->LanguagesTree); GtkTreePath *path = gtk_tree_model_get_path(GTK_TREE_MODEL(widgets->InstallerLanguageList),&iter); gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(widgets->LanguagesTree),path,0,0,0,0); gtk_tree_path_free(path); gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LanguagesTree)),&iter); on_locale_changed(NULL,widgets); } + } } textdomain(LocaleName); @@ -210,4 +231,103 @@ gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *w } return 0; +} + +void yon_translation_init(GtkBuilder *builder){ + + GSList *list = gtk_builder_get_objects(builder); + GSList *iter; + for (iter = list; iter; iter = iter->next){ + GObject *cur_widget = NULL; + const char *widget_text = NULL; + if (GTK_IS_BUTTON(iter->data)){ + cur_widget = G_OBJECT(iter->data); + widget_text = yon_char_new(gtk_button_get_label(GTK_BUTTON(cur_widget))); + } else if (GTK_IS_LABEL(iter->data)){ + cur_widget = G_OBJECT(iter->data); + widget_text = yon_char_new(gtk_label_get_text(GTK_LABEL(cur_widget))); + } else if (GTK_IS_TREE_VIEW_COLUMN(iter->data)){ + cur_widget = G_OBJECT(iter->data); + widget_text = yon_char_new(gtk_tree_view_column_get_title(GTK_TREE_VIEW_COLUMN(cur_widget))); + } else if (GTK_IS_MENU_ITEM(iter->data)){ + cur_widget = G_OBJECT(iter->data); + GList *list = gtk_container_get_children(GTK_CONTAINER(cur_widget)); + if (list) { + GtkWidget *widget = list->data; + g_list_free(list); + if (GTK_IS_BOX(widget)){ + continue; + } + } + widget_text = yon_char_new(gtk_menu_item_get_label(GTK_MENU_ITEM(cur_widget))); + } else continue; + g_object_set_data(G_OBJECT(cur_widget),"original_label",(void*)widget_text); + + } +} + +void yon_update_translation(main_window *widgets){ + GtkBuilder *builder = widgets->builder; + GSList *list = gtk_builder_get_objects(builder); + list = g_slist_append(list,widgets->DocumentationMenuItem); + list = g_slist_append(list,widgets->AboutMenuItem); + GSList *iter; + for (iter = list; iter; iter = iter->next){ + if (iter->data == widgets->LicenceLabel){ + yon_licence_load(widgets); + } else if (GTK_IS_BUTTON(iter->data)){ + GtkWidget *cur_button = GTK_WIDGET(iter->data); + char *source_label = g_object_get_data(G_OBJECT(cur_button),"original_label"); + if (!yon_char_is_empty(source_label)){ + gtk_button_set_label(GTK_BUTTON(cur_button),_(source_label)); + } + + } else if (GTK_IS_LABEL(iter->data)){ + GtkWidget *cur_label = GTK_WIDGET(iter->data); + char *source_label = g_object_get_data(G_OBJECT(cur_label),"original_label"); + if (!yon_char_is_empty(source_label)){ + gtk_label_set_text(GTK_LABEL(cur_label),_(source_label)); + } + + } else if (GTK_IS_MENU_ITEM(iter->data)){ + GtkWidget *cur_menu_item = GTK_WIDGET(iter->data); + char *source_label = g_object_get_data(G_OBJECT(cur_menu_item),"original_label"); + if (!yon_char_is_empty(source_label)){ + gtk_menu_item_set_label(GTK_MENU_ITEM(cur_menu_item),_(source_label)); + } + + } else if (GTK_IS_TREE_VIEW_COLUMN(iter->data)){ + GObject *cur_column = G_OBJECT(iter->data); + char *source_label = g_object_get_data(G_OBJECT(cur_column),"original_label"); + if (!yon_char_is_empty(source_label)){ + gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(cur_column),_(source_label)); + } + } else if (iter->data == widgets->LanguagesTree){ + yon_set_locales_list(widgets); + } + } + { + GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->DocumentationMenuItem)); + GList *container = gtk_container_get_children(list->data); + + GObject *cur_button = G_OBJECT(container->next->data); + char *source_label = g_object_get_data(G_OBJECT(widgets->DocumentationMenuItem),"original_label"); + if (!yon_char_is_empty(source_label)){ + gtk_label_set_text(GTK_LABEL(cur_button),_(source_label)); + } + g_list_free(list); + g_list_free(container); + } + { + GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AboutMenuItem)); + GList *container = gtk_container_get_children(list->data); + + GObject *cur_button = G_OBJECT(container->next->data); + char *source_label = g_object_get_data(G_OBJECT(widgets->AboutMenuItem),"original_label"); + if (!yon_char_is_empty(source_label)){ + gtk_label_set_text(GTK_LABEL(cur_button),_(source_label)); + } + g_list_free(list); + g_list_free(container); + } } \ No newline at end of file diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c index 850f300..681e23a 100644 --- a/source/ubinstall-gtk-users.c +++ b/source/ubinstall-gtk-users.c @@ -106,6 +106,9 @@ yon_user_struct *yon_user_struct_new(){ } void yon_user_init(main_window *widgets){ + gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo)); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo),NULL,DEFAULT_LABEL); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->UserRootPasswordCombo),NULL,SET_PASSWORD_LABEL); yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserRootPasswordEntry)); char *root_password = config(root_password_parameter); char *autologin = config(autologin_parameter); diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index b8e855d..f655afe 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -399,9 +399,25 @@ gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){ return 1; } +void yon_licence_load(main_window *widgets){ + int size; + config_str parsed = NULL; + parsed = yon_file_open(licence_path,&size); + if (size){ + bind_textdomain_codeset("ublinux-init-eula","UTF-8"); + textdomain("ublinux-init-eula"); + char *licence = yon_char_parsed_to_string(parsed,size,""); + gtk_label_set_text(GTK_LABEL(widgets->LicenceLabel),_(licence)); + free(licence); + yon_char_parsed_free(parsed,size); + textdomain(LocaleName); + } +} void yon_main_window_create(main_window *widgets){ + __attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8"); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path); + yon_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,"on_toggle_button_switch_on",G_CALLBACK(on_toggle_button_switch_on)); // Custom widgets configuration @@ -708,169 +724,189 @@ void yon_main_window_create(main_window *widgets){ } g_signal_connect(G_OBJECT(widgets->MainWindow),"delete-event",G_CALLBACK(on_yon_exit),widgets); GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2"); + + g_object_set_data(G_OBJECT(widgets->DocumentationMenuItem),"original_label",yon_char_new(DOCUMENTATION_LABEL)); + g_object_set_data(G_OBJECT(widgets->AboutMenuItem),"original_label",yon_char_new(ABOUT_LABEL)); gtk_style_context_add_class(gtk_widget_get_style_context(widgets->DocumentationMenuItem),"menuitemmiddle"); gtk_style_context_remove_class(gtk_widget_get_style_context(widgets->DocumentationMenuItem),"menuitemtop"); gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->DocumentationMenuItem); gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->AboutMenuItem); - g_signal_connect(G_OBJECT(widgets->LicenseAgreeRadio),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->NextButton); - - g_signal_connect(G_OBJECT(widgets->LoadGlobalConfigurationMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets); - g_signal_connect(G_OBJECT(widgets->LoadLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); - g_signal_connect(G_OBJECT(widgets->LoadExternalConfigurationMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets); - - - g_signal_connect(G_OBJECT(widgets->ReadFullLogButton),"clicked",G_CALLBACK(on_process_log_view),widgets); - g_signal_connect(G_OBJECT(widgets->ReadShortLogButton),"clicked",G_CALLBACK(on_summary_log_view),widgets); - - g_signal_connect(G_OBJECT(widgets->CommonGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->SameGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->NextInstallationGPartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->UserdataGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->GrubUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->GrubInstallGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->AdvancedGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - - g_signal_connect(G_OBJECT(widgets->CommonUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); - g_signal_connect(G_OBJECT(widgets->SameUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); - g_signal_connect(G_OBJECT(widgets->NextInstallationUpdateGPartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); - g_signal_connect(G_OBJECT(widgets->UserdataUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); - g_signal_connect(G_OBJECT(widgets->GrubUpdateUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); - g_signal_connect(G_OBJECT(widgets->GrubInstallUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); - g_signal_connect(G_OBJECT(widgets->AdvancedUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),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->LocaleAddButton),"clicked",G_CALLBACK(on_language_open),widgets); - g_signal_connect(G_OBJECT(widgets->LocaleRemoveButton),"clicked",G_CALLBACK(on_language_remove),widgets); - g_signal_connect(G_OBJECT(widgets->LocaleDefaultSwitch),"state-set",G_CALLBACK(on_language_default_toggled),widgets); - g_signal_connect(G_OBJECT(widgets->LocaleCell),"toggled",G_CALLBACK(on_locale_toggled),widgets); - - g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_cancel_clicked),widgets); - #ifdef TIMEZONEMAP_INCLUDE - g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(on_region_changed),widgets); - g_signal_connect(G_OBJECT(widgets->ZoneCombo),"changed",G_CALLBACK(on_zone_changed),widgets); - #endif - g_signal_connect(G_OBJECT(widgets->RegionSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->RegionCombo); - g_signal_connect(G_OBJECT(widgets->RegionSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->ZoneCombo); - g_signal_connect(G_OBJECT(widgets->RegionSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->RegionMapBox); - - g_signal_connect(G_OBJECT(widgets->KeyboardLayoutTree),"cursor-changed",G_CALLBACK(on_layout_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),"state-set",G_CALLBACK(on_layout_default_toggled),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),"state-set",G_CALLBACK(on_layout_default_sensitive_toggled),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardLayoutMoveUpButton),"clicked",G_CALLBACK(on_layout_move_up),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardLayoutMoveDownButton),"clicked",G_CALLBACK(on_layout_move_down),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardLayoutAddButton),"clicked",G_CALLBACK(on_system_layouts_add),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardLayoutRemoveButton),"clicked",G_CALLBACK(on_system_layouts_remove),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardModelCombo),"changed",G_CALLBACK(on_model_changed),widgets); - - g_signal_connect(G_OBJECT(widgets->GrubInstallDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->GrubUpdateDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->NextInstallationSysDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->SamePlaceDeviceTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->UserdataDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - - - g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); - g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); - g_signal_connect(G_OBJECT(widgets->NextInstallationSizeTypeSpin),"changed",G_CALLBACK(on_partition_changed),widgets); - - g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordEntry); - g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordButton); - g_signal_connect(G_OBJECT(widgets->UserAddButton),"clicked",G_CALLBACK(on_user_add),widgets); - g_signal_connect(G_OBJECT(widgets->UserRootPasswordButton),"clicked",G_CALLBACK(yon_password_root_new),widgets); - g_signal_connect(G_OBJECT(widgets->BootloadDefaulOSButton),"clicked",G_CALLBACK(yon_menu_window_open),widgets); - - g_signal_connect(G_OBJECT(widgets->LanguagesTree),"cursor-changed",G_CALLBACK(on_locale_changed),widgets); - g_signal_connect(G_OBJECT(widgets->CountryLanguagesTree),"row-activated",G_CALLBACK(on_installer_language_changed),widgets); - // g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets); - - g_signal_connect(G_OBJECT(widgets->StartupServicesTree),"cursor-changed",G_CALLBACK(on_startup_services_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->StartupServicesAddButton),"clicked",G_CALLBACK(on_startup_service_add),widgets); - g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets); - g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets); - g_signal_connect(G_OBJECT(widgets->StartupChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets); - - g_signal_connect(G_OBJECT(widgets->StartupAppsTree),"cursor-changed",G_CALLBACK(on_startup_apps_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->StartupAppsAddButton),"clicked",G_CALLBACK(on_startup_app_add),widgets); - g_signal_connect(G_OBJECT(widgets->StartupAppsEditButton),"clicked",G_CALLBACK(on_startup_app_edit),widgets); - g_signal_connect(G_OBJECT(widgets->StartupAppsRemoveButton),"clicked",G_CALLBACK(on_startup_apps_remove),widgets); - g_signal_connect(G_OBJECT(widgets->StartupAppsChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets); - - g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry); + { + g_signal_connect(G_OBJECT(widgets->LicenseAgreeRadio),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->NextButton); + + g_signal_connect(G_OBJECT(widgets->LoadGlobalConfigurationMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets); + g_signal_connect(G_OBJECT(widgets->LoadLocalConfigurationMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); + g_signal_connect(G_OBJECT(widgets->LoadExternalConfigurationMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets); + + + g_signal_connect(G_OBJECT(widgets->ReadFullLogButton),"clicked",G_CALLBACK(on_process_log_view),widgets); + g_signal_connect(G_OBJECT(widgets->ReadShortLogButton),"clicked",G_CALLBACK(on_summary_log_view),widgets); + + g_signal_connect(G_OBJECT(widgets->CommonGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->SameGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->NextInstallationGPartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->UserdataGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->GrubUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->GrubInstallGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->AdvancedGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + + g_signal_connect(G_OBJECT(widgets->CommonUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->SameUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationUpdateGPartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->UserdataUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->GrubUpdateUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->GrubInstallUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->AdvancedUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),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->LocaleAddButton),"clicked",G_CALLBACK(on_language_open),widgets); + g_signal_connect(G_OBJECT(widgets->LocaleRemoveButton),"clicked",G_CALLBACK(on_language_remove),widgets); + g_signal_connect(G_OBJECT(widgets->LocaleDefaultSwitch),"state-set",G_CALLBACK(on_language_default_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->LocaleCell),"toggled",G_CALLBACK(on_locale_toggled),widgets); + + g_signal_connect(G_OBJECT(widgets->CancelInstallButton),"clicked",G_CALLBACK(on_page_cancel_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(on_region_changed),widgets); + #ifdef TIMEZONEMAP_INCLUDE + g_signal_connect(G_OBJECT(widgets->ZoneCombo),"changed",G_CALLBACK(on_zone_changed),widgets); + #endif + g_signal_connect(G_OBJECT(widgets->RegionSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->RegionCombo); + g_signal_connect(G_OBJECT(widgets->RegionSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->ZoneCombo); + g_signal_connect(G_OBJECT(widgets->RegionSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->RegionMapBox); + + g_signal_connect(G_OBJECT(widgets->KeyboardLayoutTree),"cursor-changed",G_CALLBACK(on_layout_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),"state-set",G_CALLBACK(on_layout_default_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),"state-set",G_CALLBACK(on_layout_default_sensitive_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->KeyboardLayoutMoveUpButton),"clicked",G_CALLBACK(on_layout_move_up),widgets); + g_signal_connect(G_OBJECT(widgets->KeyboardLayoutMoveDownButton),"clicked",G_CALLBACK(on_layout_move_down),widgets); + g_signal_connect(G_OBJECT(widgets->KeyboardLayoutAddButton),"clicked",G_CALLBACK(on_system_layouts_add),widgets); + g_signal_connect(G_OBJECT(widgets->KeyboardLayoutRemoveButton),"clicked",G_CALLBACK(on_system_layouts_remove),widgets); + g_signal_connect(G_OBJECT(widgets->KeyboardModelCombo),"changed",G_CALLBACK(on_model_changed),widgets); + + g_signal_connect(G_OBJECT(widgets->GrubInstallDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->GrubUpdateDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationSysDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->SamePlaceDeviceTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->UserdataDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); + + + g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationSizeTypeSpin),"changed",G_CALLBACK(on_partition_changed),widgets); + + g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordEntry); + g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordButton); + g_signal_connect(G_OBJECT(widgets->UserAddButton),"clicked",G_CALLBACK(on_user_add),widgets); + g_signal_connect(G_OBJECT(widgets->UserRootPasswordButton),"clicked",G_CALLBACK(yon_password_root_new),widgets); + g_signal_connect(G_OBJECT(widgets->BootloadDefaulOSButton),"clicked",G_CALLBACK(yon_menu_window_open),widgets); + + g_signal_connect(G_OBJECT(widgets->LanguagesTree),"cursor-changed",G_CALLBACK(on_locale_changed),widgets); + g_signal_connect(G_OBJECT(widgets->CountryLanguagesTree),"row-activated",G_CALLBACK(on_installer_language_changed),widgets); + // g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets); + + g_signal_connect(G_OBJECT(widgets->StartupServicesTree),"cursor-changed",G_CALLBACK(on_startup_services_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->StartupServicesAddButton),"clicked",G_CALLBACK(on_startup_service_add),widgets); + g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets); + g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets); + g_signal_connect(G_OBJECT(widgets->StartupChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets); + + g_signal_connect(G_OBJECT(widgets->StartupAppsTree),"cursor-changed",G_CALLBACK(on_startup_apps_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->StartupAppsAddButton),"clicked",G_CALLBACK(on_startup_app_add),widgets); + g_signal_connect(G_OBJECT(widgets->StartupAppsEditButton),"clicked",G_CALLBACK(on_startup_app_edit),widgets); + g_signal_connect(G_OBJECT(widgets->StartupAppsRemoveButton),"clicked",G_CALLBACK(on_startup_apps_remove),widgets); + g_signal_connect(G_OBJECT(widgets->StartupAppsChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets); + + g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry); - yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->NextInstallationFormatRevealer),GTK_SWITCH(widgets->NextInstallationFormatSwitch)); - yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->SameInstallationFormatRevealer),GTK_SWITCH(widgets->SameInstallationFormatSwitch)); - yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->UserdataRevealer),GTK_SWITCH(widgets->UserdataFormatSwitch)); - - g_signal_connect(G_OBJECT(widgets->OSGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->OSUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); - g_signal_connect(G_OBJECT(widgets->OSDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->OSFormatEncryptionCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->OSFormatEncryptionEntry); - g_signal_connect(G_OBJECT(widgets->OSFormatEncryptionCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->OSFormatEncryptionButton); - g_signal_connect(G_OBJECT(widgets->OSFormatEncryptionButton),"clicked",G_CALLBACK(yon_os_password_open),widgets); - yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->OSRevealer),GTK_SWITCH(widgets->OSFormatSwitch)); - - g_signal_connect(G_OBJECT(widgets->UserdataFormatEncryptionCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserdataFormatEncryptionButton); - g_signal_connect(G_OBJECT(widgets->UserdataFormatEncryptionButton),"clicked",G_CALLBACK(yon_userdata_password_open),widgets); - - g_signal_connect(G_OBJECT(widgets->PacmanSoftwareAllCell),"toggled",G_CALLBACK(on_pacman_software_all_toggled),widgets); - g_signal_connect(G_OBJECT(widgets->PacmanSoftwareChosenCell),"toggled",G_CALLBACK(on_pacman_software_chosen_toggled),widgets); - g_signal_connect(G_OBJECT(widgets->PacmanSoftwareSearchEntry),"icon-press",G_CALLBACK(on_pacman_icon_press),widgets); - g_signal_connect(G_OBJECT(widgets->BootloadUserAddButton),"clicked",G_CALLBACK(on_bootloader_user_add),widgets); - - g_signal_connect(G_OBJECT(widgets->BootloadTimerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->BootloadTimerSpin); - g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserRemoveButton); - g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserAddButton); - g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserTree); - - g_signal_connect(G_OBJECT(widgets->NetworkDomainSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkDomainNameEntry); - g_signal_connect(G_OBJECT(widgets->NetworkDomainSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkDomainAdminEntry); - g_signal_connect(G_OBJECT(widgets->NetworkDomainSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkDomainPasswordEntry); - g_signal_connect(G_OBJECT(widgets->NetworkNTPServerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkNTPCombo); - g_signal_connect(G_OBJECT(widgets->NetworkNTPServerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkNTPEntry); - g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->HotnameEntry); - g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AutoHostnameCheck); - g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(on_autohostname_sensitiveness_check),widgets); - g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(on_autohostname_check),widgets); - g_signal_connect(G_OBJECT(widgets->HotnameEntry),"changed",G_CALLBACK(on_hostname_entry_changed),widgets); - g_signal_connect(G_OBJECT(widgets->NetworkConnectionsAddButton),"clicked",G_CALLBACK(on_connection_add),widgets); - g_signal_connect(G_OBJECT(widgets->NetworkNTPCombo),"changed",G_CALLBACK(on_ntp_sync),widgets); - yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->AdvancedLoadTypeRevealer),GTK_SWITCH(widgets->AdvancedLoadTypeSwitch)); - yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->AdvancedSwapRevealer),GTK_SWITCH(widgets->AdvancedSwapSwitch)); - - g_signal_connect(G_OBJECT(widgets->AdvancedSwapFixedSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AdvancedSwapFixedSpin); - g_signal_connect(G_OBJECT(widgets->AdvancedSwapFixedSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AdvancedSwapFixedSizeSwitch); - - g_signal_connect(G_OBJECT(widgets->AdvancedDeviceChosenCell),"toggled",G_CALLBACK(on_install_advanced_device_chosen),widgets); - g_signal_connect(G_OBJECT(widgets->StartScenarioButton),"clicked",G_CALLBACK(yon_quick_install),widgets); - g_signal_connect(G_OBJECT(widgets->SourceButton),"clicked",G_CALLBACK(on_source_clicked),widgets); - g_signal_connect(G_OBJECT(widgets->AdvancedAddButton),"clicked",G_CALLBACK(on_advanced_partition_create),widgets); - g_signal_connect(G_OBJECT(widgets->AdvancedPartChosenCell),"toggled",G_CALLBACK(on_install_advanced_partition_chosen),widgets); - g_signal_connect(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),"changed",G_CALLBACK(on_advanced_virtual_device_changed),widgets); - g_signal_connect(G_OBJECT(widgets->PackagesTree),"cursor-changed",G_CALLBACK(yon_on_packages_selected),widgets); - g_signal_connect(G_OBJECT(widgets->PackagesTree),"row-activated",G_CALLBACK(yon_on_packages_activated),widgets); - g_signal_connect(G_OBJECT(widgets->PackagesChosenCell),"toggled",G_CALLBACK(yon_on_packages_chosen),widgets); - - g_signal_connect(G_OBJECT(widgets->HubPersonalListBox),"child-activated",G_CALLBACK(on_configuration_hub_open),widgets); - g_signal_connect(G_OBJECT(widgets->HubSystemListBox),"child-activated",G_CALLBACK(on_configuration_hub_open),widgets); - g_signal_connect(G_OBJECT(widgets->HubPackagesListBox),"child-activated",G_CALLBACK(on_configuration_hub_open),widgets); - g_signal_connect(G_OBJECT(widgets->HubPersonalListBox),"selected-children-changed",G_CALLBACK(on_configuration_hub_selected),widgets); - g_signal_connect(G_OBJECT(widgets->HubSystemListBox),"selected-children-changed",G_CALLBACK(on_configuration_hub_selected),widgets); - g_signal_connect(G_OBJECT(widgets->HubPackagesListBox),"selected-children-changed",G_CALLBACK(on_configuration_hub_selected),widgets); - - g_signal_connect(G_OBJECT(widgets->ScrollLeftEventBox),"button-release-event",G_CALLBACK(on_install_slider_prev),widgets); - g_signal_connect(G_OBJECT(widgets->ScrollRightEventBox),"button-release-event",G_CALLBACK(on_install_slider_next),widgets); - g_signal_connect(G_OBJECT(widgets->ScrollLeftEventBox),"enter-notify-event",G_CALLBACK(on_install_slider_hover_highlight),widgets); - g_signal_connect(G_OBJECT(widgets->ScrollRightEventBox),"enter-notify-event",G_CALLBACK(on_install_slider_hover_highlight),widgets); - g_signal_connect(G_OBJECT(widgets->ScrollLeftEventBox),"leave-notify-event",G_CALLBACK(on_install_slider_hover_highlight_end),widgets); - g_signal_connect(G_OBJECT(widgets->ScrollRightEventBox),"leave-notify-event",G_CALLBACK(on_install_slider_hover_highlight_end),widgets); - - g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(yon_on_about),NULL); - g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),WIKI_LINK); + yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->NextInstallationFormatRevealer),GTK_SWITCH(widgets->NextInstallationFormatSwitch)); + yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->SameInstallationFormatRevealer),GTK_SWITCH(widgets->SameInstallationFormatSwitch)); + yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->UserdataRevealer),GTK_SWITCH(widgets->UserdataFormatSwitch)); + + g_signal_connect(G_OBJECT(widgets->OSGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->OSUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->OSDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->OSFormatEncryptionCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->OSFormatEncryptionEntry); + g_signal_connect(G_OBJECT(widgets->OSFormatEncryptionCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->OSFormatEncryptionButton); + g_signal_connect(G_OBJECT(widgets->OSFormatEncryptionButton),"clicked",G_CALLBACK(yon_os_password_open),widgets); + yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->OSRevealer),GTK_SWITCH(widgets->OSFormatSwitch)); + + g_signal_connect(G_OBJECT(widgets->UserdataFormatEncryptionCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserdataFormatEncryptionButton); + g_signal_connect(G_OBJECT(widgets->UserdataFormatEncryptionButton),"clicked",G_CALLBACK(yon_userdata_password_open),widgets); + + g_signal_connect(G_OBJECT(widgets->PacmanSoftwareAllCell),"toggled",G_CALLBACK(on_pacman_software_all_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->PacmanSoftwareChosenCell),"toggled",G_CALLBACK(on_pacman_software_chosen_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->PacmanSoftwareSearchEntry),"icon-press",G_CALLBACK(on_pacman_icon_press),widgets); + g_signal_connect(G_OBJECT(widgets->BootloadUserAddButton),"clicked",G_CALLBACK(on_bootloader_user_add),widgets); + + g_signal_connect(G_OBJECT(widgets->BootloadTimerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->BootloadTimerSpin); + g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserRemoveButton); + g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserAddButton); + g_signal_connect(G_OBJECT(widgets->BootloadNoPasswordSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),widgets->BootloadUserTree); + + g_signal_connect(G_OBJECT(widgets->NetworkDomainSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkDomainNameEntry); + g_signal_connect(G_OBJECT(widgets->NetworkDomainSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkDomainAdminEntry); + g_signal_connect(G_OBJECT(widgets->NetworkDomainSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkDomainPasswordEntry); + g_signal_connect(G_OBJECT(widgets->NetworkNTPServerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkNTPCombo); + g_signal_connect(G_OBJECT(widgets->NetworkNTPServerSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->NetworkNTPEntry); + g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->HotnameEntry); + g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AutoHostnameCheck); + g_signal_connect(G_OBJECT(widgets->HostnameSensitiveSwitch),"state-set",G_CALLBACK(on_autohostname_sensitiveness_check),widgets); + g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(on_autohostname_check),widgets); + g_signal_connect(G_OBJECT(widgets->HotnameEntry),"changed",G_CALLBACK(on_hostname_entry_changed),widgets); + g_signal_connect(G_OBJECT(widgets->NetworkConnectionsAddButton),"clicked",G_CALLBACK(on_connection_add),widgets); + g_signal_connect(G_OBJECT(widgets->NetworkNTPCombo),"changed",G_CALLBACK(on_ntp_sync),widgets); + yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->AdvancedLoadTypeRevealer),GTK_SWITCH(widgets->AdvancedLoadTypeSwitch)); + yon_gtk_revealer_set_from_switch(GTK_REVEALER(widgets->AdvancedSwapRevealer),GTK_SWITCH(widgets->AdvancedSwapSwitch)); + + g_signal_connect(G_OBJECT(widgets->AdvancedSwapFixedSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AdvancedSwapFixedSpin); + g_signal_connect(G_OBJECT(widgets->AdvancedSwapFixedSwitch),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch),widgets->AdvancedSwapFixedSizeSwitch); + + g_signal_connect(G_OBJECT(widgets->AdvancedDeviceChosenCell),"toggled",G_CALLBACK(on_install_advanced_device_chosen),widgets); + g_signal_connect(G_OBJECT(widgets->StartScenarioButton),"clicked",G_CALLBACK(yon_quick_install),widgets); + g_signal_connect(G_OBJECT(widgets->SourceButton),"clicked",G_CALLBACK(on_source_clicked),widgets); + g_signal_connect(G_OBJECT(widgets->AdvancedAddButton),"clicked",G_CALLBACK(on_advanced_partition_create),widgets); + g_signal_connect(G_OBJECT(widgets->AdvancedPartChosenCell),"toggled",G_CALLBACK(on_install_advanced_partition_chosen),widgets); + g_signal_connect(G_OBJECT(widgets->AdvancedVirtualDeviceCombo),"changed",G_CALLBACK(on_advanced_virtual_device_changed),widgets); + g_signal_connect(G_OBJECT(widgets->PackagesTree),"cursor-changed",G_CALLBACK(yon_on_packages_selected),widgets); + g_signal_connect(G_OBJECT(widgets->PackagesTree),"row-activated",G_CALLBACK(yon_on_packages_activated),widgets); + g_signal_connect(G_OBJECT(widgets->PackagesChosenCell),"toggled",G_CALLBACK(yon_on_packages_chosen),widgets); + + g_signal_connect(G_OBJECT(widgets->HubPersonalListBox),"child-activated",G_CALLBACK(on_configuration_hub_open),widgets); + g_signal_connect(G_OBJECT(widgets->HubSystemListBox),"child-activated",G_CALLBACK(on_configuration_hub_open),widgets); + g_signal_connect(G_OBJECT(widgets->HubPackagesListBox),"child-activated",G_CALLBACK(on_configuration_hub_open),widgets); + g_signal_connect(G_OBJECT(widgets->HubPersonalListBox),"selected-children-changed",G_CALLBACK(on_configuration_hub_selected),widgets); + g_signal_connect(G_OBJECT(widgets->HubSystemListBox),"selected-children-changed",G_CALLBACK(on_configuration_hub_selected),widgets); + g_signal_connect(G_OBJECT(widgets->HubPackagesListBox),"selected-children-changed",G_CALLBACK(on_configuration_hub_selected),widgets); + + g_signal_connect(G_OBJECT(widgets->ScrollLeftEventBox),"button-release-event",G_CALLBACK(on_install_slider_prev),widgets); + g_signal_connect(G_OBJECT(widgets->ScrollRightEventBox),"button-release-event",G_CALLBACK(on_install_slider_next),widgets); + g_signal_connect(G_OBJECT(widgets->ScrollLeftEventBox),"enter-notify-event",G_CALLBACK(on_install_slider_hover_highlight),widgets); + g_signal_connect(G_OBJECT(widgets->ScrollRightEventBox),"enter-notify-event",G_CALLBACK(on_install_slider_hover_highlight),widgets); + g_signal_connect(G_OBJECT(widgets->ScrollLeftEventBox),"leave-notify-event",G_CALLBACK(on_install_slider_hover_highlight_end),widgets); + g_signal_connect(G_OBJECT(widgets->ScrollRightEventBox),"leave-notify-event",G_CALLBACK(on_install_slider_hover_highlight_end),widgets); + + g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(yon_on_about),NULL); + g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),WIKI_LINK); + } + + yon_window_config_setup(GTK_WINDOW(widgets->MainWindow)); + int fullscreen = 0; + char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); + if (access(path,F_OK)){ + fullscreen = 1; + g_thread_new("fullscreen",(GThreadFunc)yon_maximize,widgets); + + } + yon_window_config_load(path); + yon_window_config_add_instant_parameter("fullscreen","window",&fullscreen,YON_TYPE_BOOLEAN); + + yon_startup_language_init(); + yon_locale_init(); + yon_main_window_update_locale(widgets); yon_gtk_window_setup(GTK_WINDOW(widgets->MainWindow),NULL,TITLE_LABEL,icon_path,NULL); @@ -922,28 +958,10 @@ void yon_main_window_create(main_window *widgets){ if (main_config.lock_load_global == 1){ gtk_widget_set_sensitive(widgets->LoadGlobalConfigurationMenuItem,0); } - if (getuid()){ - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets->ConfigurationModeMenuItem),1); - } - gtk_window_set_title(GTK_WINDOW(widgets->MainWindow),TITLE_LABEL); gtk_window_set_icon_name(GTK_WINDOW(widgets->MainWindow),icon_path); } - { - int size; - config_str parsed = NULL; - parsed = yon_file_open(licence_path,&size); - if (size){ - bind_textdomain_codeset("ublinux-init-eula","UTF-8"); - textdomain("ublinux-init-eula"); - char *licence = yon_char_parsed_to_string(parsed,size,""); - gtk_label_set_text(GTK_LABEL(widgets->LicenceLabel),_(licence)); - free(licence); - yon_char_parsed_free(parsed,size); - textdomain(LocaleName); - } - } gtk_builder_connect_signals(builder,NULL); if (!yon_char_is_empty(config(AUTOINSTALL_TYPE_INSTALL))){ gtk_widget_show(widgets->StartScenarioButton); @@ -953,6 +971,12 @@ void yon_main_window_create(main_window *widgets){ } else { gtk_widget_hide(widgets->StartScenarioButton); } + if (getuid()){ + gtk_menu_item_activate(GTK_MENU_ITEM(widgets->ConfigurationModeMenuItem)); + if (yon_char_is_empty(main_config.config_save_path)){ + exit (1); + } + } if (main_config.force_ini){ if (yon_configuration_path_check(main_config.config_save_path)){ GList *box = gtk_container_get_children(GTK_CONTAINER(widgets->ConfigurationModeMenuItem)); @@ -963,12 +987,9 @@ void yon_main_window_create(main_window *widgets){ yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(widgets->StatusBox),"config_mode",CONFIGURATION_MODE_STATUS_LABEL,BACKGROUND_IMAGE_INFO_TYPE); yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(widgets->StatusBox2),"config_mede",CONFIG_PATH_LABEL(main_config.config_save_path),BACKGROUND_IMAGE_INFO_TYPE); } else { - gtk_main_quit(); exit (1); } } - yon_locale_init(); - set_locales_list(widgets); } gboolean yon_maximize_start(main_window *widgets){ @@ -989,7 +1010,7 @@ void *yon_maximize(main_window *widgets){ * Функция настройки основного окна приложения. [widgets] - структура со стандартным интерфейсом. */ main_window *yon_main_window_complete(){ - if (main_config.force_ini){ + if (main_config.force_ini){ //Check if config path exists if (yon_configuration_path_check(main_config.config_save_path)){ { main_config.configure_mode=1; @@ -997,17 +1018,19 @@ main_window *yon_main_window_complete(){ } } main_window *widgets=NULL; - widgets = yon_remalloc(widgets,sizeof(main_window)); + widgets = malloc(sizeof(main_window)); memset(widgets,0,sizeof(main_window)); - yon_startup_language_init(); yon_main_window_create(widgets); - yon_window_config_setup(GTK_WINDOW(widgets->MainWindow)); - // yon_window_config_custom_window_setup(GTK_WINDOW(widgets->MainWindow),"MainWindow"); + + // yon_set_locales_list(widgets); + // yon_main_window_update_locale(widgets); + // // yon_window_config_custom_window_setup(GTK_WINDOW(widgets->MainWindow),"MainWindow"); + return widgets; } int main(int argc, char *argv[]){ - __attribute__((unused)) char *locale = setlocale(LC_ALL, ""); + // __attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8"); textdomain(LocaleName); yon_ubl_connect_config((_template_config*)&main_config); config_init(); @@ -1040,34 +1063,24 @@ int main(int argc, char *argv[]){ } gtk_init(&argc,&argv); main_window *widgets = NULL; - if (widgets){}; - int fullscreen = 0; - widgets = yon_main_window_complete(); - GtkWidget *root_button = yon_root_button_new(argv,argc); - gtk_style_context_add_class(gtk_widget_get_style_context(root_button),"menuitemtop"); - - gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),root_button); - - yon_root_button_init(root_button,GTK_WINDOW(widgets->MainWindow)); - on_config_global_load(NULL,widgets); - char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); - if (access(path,F_OK)){ - fullscreen = 1; - g_thread_new("fullscreen",(GThreadFunc)yon_maximize,widgets); - - } - yon_window_config_load(path); - yon_window_config_add_instant_parameter("fullscreen","window",&fullscreen,YON_TYPE_BOOLEAN); - main_config.launch_arguments=yon_char_parsed_copy(argv,argc); - main_config.launch_size=argc; GtkCssProvider *css=gtk_css_provider_new(); gtk_css_provider_load_from_resource(css,CssPath); gtk_style_context_add_provider_for_screen(gdk_screen_get_default(), GTK_STYLE_PROVIDER(css), -1); - if (getuid()!=0){ - yon_ubl_status_box_render(yon_char_get_localised_from_lib(ROOT_WARNING_LABEL),BACKGROUND_IMAGE_FAIL_TYPE); + { + widgets = yon_main_window_complete(); + GtkWidget *root_button = yon_root_button_new(argv,argc); + gtk_style_context_add_class(gtk_widget_get_style_context(root_button),"menuitemtop"); + gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),root_button); + + yon_root_button_init(root_button,GTK_WINDOW(widgets->MainWindow)); + + on_config_global_load(NULL,widgets); } + + main_config.launch_arguments=yon_char_parsed_copy(argv,argc); + main_config.launch_size=argc; gtk_main(); return 0; } \ No newline at end of file diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 35857e6..5f5c28a 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1350,7 +1350,7 @@ source_element *yon_source_element_new(); void on_rdp_toggled(GtkWidget *self, main_window *); void on_vnc_toggled(GtkWidget *self, main_window *widgets); void yon_main_window_create(main_window *widgets); -void set_locales_list(main_window *widgets); +void yon_set_locales_list(main_window *widgets); void on_installer_language_changed(GtkWidget *self, GtkTreePath *, GtkTreeViewColumn *, main_window *widgets); gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets); int yon_char_parsed_compare(const void *a, const void *b); @@ -1468,4 +1468,9 @@ void yon_main_window_update_locale(main_window *widgets); gboolean yon_progress_bar_start(main_window *widgets); void *yon_progress_file_buzyfy(void*); void yon_startup_language_init(); -gboolean on_languages_search_func(GtkTreeModel *model, gint col,const char *key, GtkTreeIter *iter, main_window *widgets); \ No newline at end of file +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_translation_init(GtkBuilder *builder); +void yon_licence_load(main_window *widgets); +void on_network_removed(GtkWidget *,network_info *info); +char *yon_bootloader_get_os_name(char *parameter); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 0b67ee3..5da39e2 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -123,6 +123,9 @@ NULL) #define DOCUMENTATION_HEAD_LABEL _("You will be redirected to documentation website where documentation is\ntranslated and supported by community.") #define DOCUMENTATION_CHECK_LABEL _("Always redirect to online documentation") #define OPEN_DOCUMENTATION_LABEL _("Open documentation") +#define ABOUT_LABEL yon_char_get_localised_from_lib("About") +#define DOCUMENTATION_LABEL yon_char_get_localised_from_lib("Documentation") + #define INSTALLATION_ERROR _("Installation error") #define ATTENTION_NEXT_LABEL _("Attention! The system will be installed on the selected partition with OS already installed. All user data will be saved.") @@ -272,6 +275,14 @@ NULL) #define GROUP_LABEL _("Group:") #define APP_TABLE_LABEL _("Application") #define GROUP_TABLE_LABEL _("Group") +#define ON_LABEL _("On") +#define OFF_LABEL _("Off") +#define DO_NOT_CONFIGURE_LABEL _("Do not configure") + +#define LOAD_CUSTOM_LABEL yon_char_get_localised_from_lib("Load from specific file") +#define LOAD_LOCAL_LABEL yon_char_get_localised_from_lib("Load local configuration") +#define LOAD_GLOBAL_LABEL yon_char_get_localised_from_lib("Load global configuration") +#define LOAD_LABEL yon_char_get_localised_from_lib("Load") // #define _LABEL _("Select your language:") // #define _LABEL _("Selecting additional system kernel components") @@ -285,7 +296,6 @@ NULL) // #define _LABEL _("File system type:") // #define _LABEL _("File system label:") // #define _LABEL _("Encryption:") -// #define _LABEL _("Off") // #define _LABEL _("Encryption password:") // #define _LABEL _("User name:") // #define _LABEL _("User password:") @@ -368,7 +378,6 @@ NULL) // #define _LABEL _("Domain administrator:") // #define _LABEL _("NTP Server:") // #define _LABEL _("Manual") -// #define _LABEL _("Do not configure") // #define _LABEL _("auto") // #define _LABEL _("Net interfaces") // #define _LABEL _("Installation process") @@ -414,7 +423,6 @@ NULL) // #define _LABEL _("Selecting software packages to install from the repository. Internet access is required") // #define _LABEL _("Selecting software modules to install from the repository. Internet access is required") // #define _LABEL _("Language") -// #define _LABEL _("On") // #define _LABEL _("Selecting the software group to install from the repository. Internet access is required") // #define _LABEL _("Recovery configuration has ended") // #define _LABEL _("System recovery is about to begin") diff --git a/ubinstall-gtk-os-row.glade b/ubinstall-gtk-os-row.glade index 16900aa..e1f0660 100644 --- a/ubinstall-gtk-os-row.glade +++ b/ubinstall-gtk-os-row.glade @@ -80,6 +80,7 @@ False 2 Description + True 0 0 diff --git a/ubinstall-gtk-package-info.glade b/ubinstall-gtk-package-info.glade index 4d537d2..31f424e 100644 --- a/ubinstall-gtk-package-info.glade +++ b/ubinstall-gtk-package-info.glade @@ -27,7 +27,7 @@ InfoList False False - vertical + both none @@ -48,7 +48,10 @@ column - + + word + 150 + 1 diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 2eb0586..3d5eb9c 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -608,6 +608,7 @@ True False vertical + 5 True @@ -4669,11 +4670,6 @@ agreement True False 0 - - Default - On - Off - True @@ -5296,7 +5292,7 @@ agreement word - 450 + 175 3 @@ -5572,7 +5568,7 @@ agreement word - 450 + 175 3 @@ -5875,7 +5871,7 @@ agreement True - True + False True @@ -13237,6 +13233,9 @@ separately into the selected partition. True False + False @@ -13250,6 +13249,7 @@ separately into the selected partition. True True Read installation log + start image16