From 669cd0e9a5239d38b56a3393ccdbee3cac8617c4 Mon Sep 17 00:00:00 2001 From: MiraMaX166 Date: Tue, 26 Sep 2023 10:48:07 +0600 Subject: [PATCH 1/4] add main template for Technical Assignment --- TEMPLATE_TA.md | 137 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 TEMPLATE_TA.md diff --git a/TEMPLATE_TA.md b/TEMPLATE_TA.md new file mode 100644 index 0000000..18541c4 --- /dev/null +++ b/TEMPLATE_TA.md @@ -0,0 +1,137 @@ +1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:** + 1. Приложение разрабатывается под нужды операционной системы UBLinux + 1. Использование фирменного логотипа компании + 1. Название приложения, техническое: **ubl-settings-\*\*\*** (далее **\${NAME_APPLICATION}**) + 1. Название приложения, публичное: **\*\*\*** + 1. Описание приложения: **\*\*\*** + 1. Стек технологий: + 1. Язык программирования: Bash или C + 1. Приложение для разработки графического интерфейса: Glade 3 + 1. Графические библиотеки: GTK3 + 1. Операционная система разработки: UBLinux DB + 1. Структура: + 1. В исходных кодах использовать префикс корня **CMAKE_INSTALL_PREFIX** для сборки приложений. Например, `CMAKE_INSTALL_PREFIX/share`. + 1. Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C +**/usr/bin/\${NAME_APPLICATION} (скомпилированный бинарный файл)** + 1. Работа с переменными: + - хранить с местом их расположения в ublinux.ini + - выносить в переменную внешнее имя иконки, имена выносить в переменные в шапку в #define для оперативных изменений. + 1. Графическая часть, фронт +**/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade** + 1. Стили виджетов GTK +**/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css** + 1. Элементы изображений + 1. Иконки: +**/usr/share/icons/hicolor/scalable/apps/\${NAME_APPLICATION}{\*.png,\*.svg}** +Файлы изображений png иконок должны иметь имена вида: + - ru.ublinux.\${NAME_APPLICATION}.svg + - ru.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg +Где \${NAME_ICONS} - имя графического элемента, например: checked, warning, alert и т.д. + Файлы изображений png иконок должны генерироваться из svg файла в размеры 16, 32, 48, 64 пикселей сценарием make-файла. + 1. Изображения: +**/usr/share/\${NAME_APPLICATION}/ui/{\*.png,\*.svg}** + 1. Локализация En/Ru + 1. Для локализации должен быть создан файл-шаблон ***\${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути: +**/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}** +где \${LANG} - каталог с именем локали, например, "ru" или "ru_RU", +\${FILE_MO} - файл локализации программы, например, "\${NAME_APPLICATION}.mo" + 1. В файле локализации .pot и .po должна присутствовать строчка информационная, показывающая позицию локализации в коде + + Пример: + ```bash + #: source/${NAME_APPLICATION}.c:41 + msgid "Example string for localization" + msgstr "Пример строки для локализации" + ``` + 1. Вывод **всех** текстовых элементов осуществляется через средства локализации. + 1. Файл с перечнем и описанием дополнительных элементов может быть размещён в спомогательном (-ых) файле (-ах), вида: +**/usr/share/${NAME_APPLICATION}/\*\*\*.csv** + - Вывод файлов csv так же должен быть локализован средствами pot-, po-, mo- файлов. + 1. Версия ПО + 1. Файл, в котором хранится версия - VERSION.md, находится в корне каталога проекта. + 1. При компиляции (через сценарий make-файла) данные из файла VERSION.md передаются в значение переменной (-ых) version_application в файлах-исходниках ПО. + +1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** + 1. Ярлык (desktop-файл): + 1. Type: Application + 1. Exec: ${NAME_APPLICATION} + 1. Categories: X-UBL-SettingsManager;X-UBL-SystemSettings + 1. Главное окно: + 1. Требования к внешнему виду: + 1. Адаптивный (резиновый) дизайн. + 1. Наличие элементов интерфейса: + 1. Статических - не меняют свою ширину при изменении размеров окна или родительского элемента. + 1. Динамических - меняют свою ширину при изменении размеров окна или родительского элемента. Обычно занимают пространство от края до края окна или родительского элемента, либо пространство от рядом расположенного элемента до до края окна или родительского элемента. + 1. Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей. + 1. Шапка в стиле приложений GTK3 с содержимым: + 1. Иконка приложения. Статический элемент. Выравнивание по левому краю. + 1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). Статический элемент. Выравнивание по левому краю. + 1. Заголовок окна, название приложения. Выравнивание по центру между элементами. + 1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить в глобальную и локальную конфигурацию, Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию"). Статический элемент. Выравнивание по правому краю. + 1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении". Статический элемент. Выравнивание по правому краю. + 1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть" + 1. В верхней части крупный логотип утилиты, справа от него имя (первая строка) и краткое описание утилиты (вторая строка). Фон заполнен изображением. Статические элементы. Выравнивание по левому краю. + 1. Строка уведомления, представляющая собой полосу с инфографикой строки уведомлений. Динамический элемент. От края до края окна по горизонтали. + 1. Рабочая область. + 1. Требования к «Рабочей области». Динамический элемент. От края до края по горизонтали и вертикали окна. + +1. **ОСОБЕННОСТИ** + 1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"). + 1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit. + 1. Если приложению требуется запуск с root-правами, но оно запущено от обычного пользователя, выводить в строку состояния (цвет красный) сообщение о необходимости запуска приложения от пользователя с правами root. Все интерактивные поля ввода, комбобоксы, чекбоксы делать недоступными для изменения, данные всё так же выводятся в эти элементы. + 1. Сохранение должно происходить *только* при наличии изменённых данных в элементах форм приложения, в противном случае делать неактивными опции сохранения в соответственном меню. + 1. Кнопка "Загрузить" -> ("Загрузить в глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла"). Если не хватает прав делать неактивным. + 1. Кнопка "Сохранить" -> ("Сохранить в глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию" происходит отдельное сохранение настроек. Если не хватает прав делать неактивным. + 1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении" + 1. Справка - запуск окна с встроенным браузером (WebKitWebView) с переходом на ссылку: + 1. локализованный (ru_RU) вариант: +https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/\${NAME_APPLICATION} (далее \${URLWIKI}) + 1. локализованный (en_EN) вариант: +https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/\${NAME_APPLICATION} (далее \${URLWIKI}) + Если WebKitWebView не доступен, то запуск через `xdg-open ${URLWIKI}`. + 1. О приложении. Открывается диалоговое окно с выводом информации о программе: + 1. Заголовок окна по локализованному названию утилиты + 1. Копирайты, порядок: + 1. Иконка приложения + 1. Название утилиты + 1. Версия программы (переменная version_application) + 1. Название утилиты, локализованное + 1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/ + 1. Авторские права © ООО "Юбисофт", 2022 - \$LASTYEAR + - локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - \$LASTYEAR" + - где \$LASTYEAR - текущий год. + 1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!" + 1. Строка уведомлений. Цвет в зависимости от сигнала: + - песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы. + - красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы, полученных от обработчика ошибок. + +1. **КОМАНДЫ** + 1. Использовать средства С; + 1. Если невозможно использовать средства С, использовать команды Bash. + +1. **ПОМОЩЬ И ПАРАМЕТРЫ ЗАПУСКА** + 1. Помощь + - Пример вывода: + > ${NAME_APPLICATION} version: \$VERSION + > Application Description for UBLinux + > + > Использование: ${NAME_APPLICATION} [OPTIONS...] + > Параметры приложения: + > \$OPTIONS + + Где \$OPTIONS - параметры запуска, \$VERSION - версия программы (переменная version_application). + + 1. Параметры запуска (типовые): + 1. *-h, --help* - Показать параметры справки + 1. *-V, --version* - Показать текущую версию + 1. *--lock-help* - Блокировка вызова справки + 1. *--lock-save* - Блокировка сохранения локальной и глобальной конфигурации + 1. *--lock-save-local* - Блокировка сохранения локальной конфигурации + 1. *--lock-save-global* - Блокировка сохранения глобальной конфигурации + 1. *--lock-load-global* - Блокировка загрузки глобальной конфигурации + 1. Действия при указанных параметрах: + 1. *--lock-help* - делать неактивным пункт "Справка" в выпадающем списке кнопки с иконкой. + 1. *--lock-save* - делать неактивной кнопку "Сохранить". + 1. *--lock-save-local* - делать неактивным пункт "Сохранить локальную конфигурацию" в выпадающем списке кнопки "Сохранить". + 1. *--lock-save-global* - делать неактивным пункт "Сохранить глобальную и локальную конфигурацию" и "Сохранить глобальную конфигурацию" в выпадающем списке кнопки "Сохранить". + 1. *--lock-load-global* - делать неактивным пункт "Сохранить глобальную и локальную конфигурацию" и "Загрузить глобальную конфигурацию" в выпадающем списке кнопки "Загрузить". -- 2.35.1 From a5a91d1b96d0667fa79e10253c09ea9cd302efa6 Mon Sep 17 00:00:00 2001 From: MiraMaX166 Date: Tue, 26 Sep 2023 10:58:31 +0600 Subject: [PATCH 2/4] edit main template for Technical Assignment --- TEMPLATE_TA.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TEMPLATE_TA.md b/TEMPLATE_TA.md index 18541c4..eb588a0 100644 --- a/TEMPLATE_TA.md +++ b/TEMPLATE_TA.md @@ -104,6 +104,10 @@ https://wiki.ublinux.com/ru/Программное_обеспечение/Про 1. Строка уведомлений. Цвет в зависимости от сигнала: - песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы. - красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы, полученных от обработчика ошибок. + 1. Индикация и отображение параметров по умолчанию в интерактивных элементах интерфейса: + - Параметр не задан пользователем и может быть получено значение используемое по умолчанию - выводим это значение (в зависимости от типа интерактивного элемента) и добавляем символ "*" в верхнем регистре. + - Параметр не задан и не может быть получен - выводим текстовое значение "По умолчанию" (в зависимости от типа интерактивного элемента). + - Если пользователь выбирает в качестве значения параметра вариант "По умолчанию" (в зависимости от типа интерактивного элемента), то после сохранения значение этого поля должны принять вид согласно двум вышеописанным условиям. 1. **КОМАНДЫ** 1. Использовать средства С; -- 2.35.1 From 07f08fd92a48f224e283598ab41b1880059d6ab3 Mon Sep 17 00:00:00 2001 From: MiraMaX166 Date: Tue, 26 Sep 2023 12:32:28 +0600 Subject: [PATCH 3/4] edit main template for Technical Assignment --- TEMPLATE_TA.md | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/TEMPLATE_TA.md b/TEMPLATE_TA.md index eb588a0..0143c64 100644 --- a/TEMPLATE_TA.md +++ b/TEMPLATE_TA.md @@ -10,26 +10,26 @@ 1. Графические библиотеки: GTK3 1. Операционная система разработки: UBLinux DB 1. Структура: - 1. В исходных кодах использовать префикс корня **CMAKE_INSTALL_PREFIX** для сборки приложений. Например, `CMAKE_INSTALL_PREFIX/share`. + 1. В исходных кодах использовать префикс корня **DESTDIR** и **PREFIX** для всех путей, за исключением файлов иконок, .policy и любых файлов, устанавливающихся в папку утилиты (.csv). 1. Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C -**/usr/bin/\${NAME_APPLICATION} (скомпилированный бинарный файл)** +**/usr/local/bin/\${NAME_APPLICATION} (скомпилированный бинарный файл)**, либо по пути, указанного в **PREFIX**. 1. Работа с переменными: - хранить с местом их расположения в ublinux.ini - - выносить в переменную внешнее имя иконки, имена выносить в переменные в шапку в #define для оперативных изменений. + - выносить в переменную внешнее имя иконки, имена выносить в переменные в отдельный заголовочный файл для оперативных изменений. 1. Графическая часть, фронт -**/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade** +**/com/ublinux/ui/${NAME_APPLICATION}.glade** - собирается в бинарник. 1. Стили виджетов GTK -**/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css** +**/com/ublinux/css/${NAME_APPLICATION}.css** - собирается в бинарник. 1. Элементы изображений - 1. Иконки: -**/usr/share/icons/hicolor/scalable/apps/\${NAME_APPLICATION}{\*.png,\*.svg}** + 1. Иконки (которые меняются в зависимости от темы DE): +**/usr/share/icons/hicolor/scalable/** Файлы изображений png иконок должны иметь имена вида: - - ru.ublinux.\${NAME_APPLICATION}.svg - - ru.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg + - com.ublinux.\${NAME_APPLICATION}.svg + - com.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg Где \${NAME_ICONS} - имя графического элемента, например: checked, warning, alert и т.д. Файлы изображений png иконок должны генерироваться из svg файла в размеры 16, 32, 48, 64 пикселей сценарием make-файла. - 1. Изображения: -**/usr/share/\${NAME_APPLICATION}/ui/{\*.png,\*.svg}** + 1. Изображение шапки: +**/com/ublinux/images/${NAME_APPLICATION}_banner.png** - собирается в бинарник. 1. Локализация En/Ru 1. Для локализации должен быть создан файл-шаблон ***\${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути: **/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}** @@ -48,8 +48,9 @@ **/usr/share/${NAME_APPLICATION}/\*\*\*.csv** - Вывод файлов csv так же должен быть локализован средствами pot-, po-, mo- файлов. 1. Версия ПО - 1. Файл, в котором хранится версия - VERSION.md, находится в корне каталога проекта. - 1. При компиляции (через сценарий make-файла) данные из файла VERSION.md передаются в значение переменной (-ых) version_application в файлах-исходниках ПО. + 1. Версия устанавливается через тэги гита в формате v1.0, через команду +`git describe --abbrev=0 --tags | sed 's/^v//'` +тэг получается и передаётся в переменную `string version_application`, находящуюся в заголовочном файле исходников утилиты. 1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** 1. Ярлык (desktop-файл): @@ -62,11 +63,13 @@ 1. Наличие элементов интерфейса: 1. Статических - не меняют свою ширину при изменении размеров окна или родительского элемента. 1. Динамических - меняют свою ширину при изменении размеров окна или родительского элемента. Обычно занимают пространство от края до края окна или родительского элемента, либо пространство от рядом расположенного элемента до до края окна или родительского элемента. - 1. Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей. + 1. Геометрия окна: + 1. Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей. + 1. Изначальный размер окна по высоте должен соответствовать его содержимому, но не превышать 600 пикселей. 1. Шапка в стиле приложений GTK3 с содержимым: 1. Иконка приложения. Статический элемент. Выравнивание по левому краю. 1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). Статический элемент. Выравнивание по левому краю. - 1. Заголовок окна, название приложения. Выравнивание по центру между элементами. + 1. Заголовок окна, название приложения. Выравнивание по центру между элементами. Шрифт - bold. 1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить в глобальную и локальную конфигурацию, Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию"). Статический элемент. Выравнивание по правому краю. 1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении". Статический элемент. Выравнивание по правому краю. 1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть" @@ -108,6 +111,7 @@ https://wiki.ublinux.com/ru/Программное_обеспечение/Про - Параметр не задан пользователем и может быть получено значение используемое по умолчанию - выводим это значение (в зависимости от типа интерактивного элемента) и добавляем символ "*" в верхнем регистре. - Параметр не задан и не может быть получен - выводим текстовое значение "По умолчанию" (в зависимости от типа интерактивного элемента). - Если пользователь выбирает в качестве значения параметра вариант "По умолчанию" (в зависимости от типа интерактивного элемента), то после сохранения значение этого поля должны принять вид согласно двум вышеописанным условиям. + 1. При выходе/закрытии приложения, если есть не сохранённые изменения, выводить диалоговое окно с предупреждением о несохранённых изменениях с возможностью вернуться в приложение и сохранить изменения или выйти без сохранения. 1. **КОМАНДЫ** 1. Использовать средства С; @@ -128,6 +132,7 @@ https://wiki.ublinux.com/ru/Программное_обеспечение/Про 1. Параметры запуска (типовые): 1. *-h, --help* - Показать параметры справки 1. *-V, --version* - Показать текущую версию + 1. *-c, --clear-config* - Загрузка приложения с предварительным удалением конфигурационного файла утилиты 1. *--lock-help* - Блокировка вызова справки 1. *--lock-save* - Блокировка сохранения локальной и глобальной конфигурации 1. *--lock-save-local* - Блокировка сохранения локальной конфигурации @@ -139,3 +144,10 @@ https://wiki.ublinux.com/ru/Программное_обеспечение/Про 1. *--lock-save-local* - делать неактивным пункт "Сохранить локальную конфигурацию" в выпадающем списке кнопки "Сохранить". 1. *--lock-save-global* - делать неактивным пункт "Сохранить глобальную и локальную конфигурацию" и "Сохранить глобальную конфигурацию" в выпадающем списке кнопки "Сохранить". 1. *--lock-load-global* - делать неактивным пункт "Сохранить глобальную и локальную конфигурацию" и "Загрузить глобальную конфигурацию" в выпадающем списке кнопки "Загрузить". + +1. **КОНФИГУРАЦИОННЫЙ ФАЙЛ УТИЛИТЫ** + Утилита может создавать и использовать собственный конфигурационный файл, расположенный по пути **~/home/.config/${NAME_APPLICATION}/\${NAME_APPLICATION}.cfg**, для: + 1. Хранения информации о геометрии окна. + 1. Хранение информации о положении окна. + 1. Хранения вспомогательной информации для работы утилиты (зависит от специфики работы самой утилиты). + -- 2.35.1 From 2ca57b2ebc3359ec3ac860640f16813d707e9f2f Mon Sep 17 00:00:00 2001 From: MiraMaX166 Date: Tue, 26 Sep 2023 12:42:46 +0600 Subject: [PATCH 4/4] edit main template for Technical Assignment --- TEMPLATE_TA.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/TEMPLATE_TA.md b/TEMPLATE_TA.md index 0143c64..be8786e 100644 --- a/TEMPLATE_TA.md +++ b/TEMPLATE_TA.md @@ -81,9 +81,13 @@ 1. **ОСОБЕННОСТИ** 1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"). 1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit. - 1. Если приложению требуется запуск с root-правами, но оно запущено от обычного пользователя, выводить в строку состояния (цвет красный) сообщение о необходимости запуска приложения от пользователя с правами root. Все интерактивные поля ввода, комбобоксы, чекбоксы делать недоступными для изменения, данные всё так же выводятся в эти элементы. + 1. Если приложению требуется запуск с root-правами, но оно запущено от обычного пользователя: + 1. Выводить в строку состояния (цвет красный) сообщение о необходимости запуска приложения от пользователя с правами root. + 1. Все интерактивные поля ввода, комбобоксы, чекбоксы делать недоступными для изменения, данные всё так же выводятся в эти элементы. + 1. Пункты в меню "Сохранить" все недоступны. + 1. Из пунктов меню "Загрузить" доступен только "Загрузить локальную конфигурацию". 1. Сохранение должно происходить *только* при наличии изменённых данных в элементах форм приложения, в противном случае делать неактивными опции сохранения в соответственном меню. - 1. Кнопка "Загрузить" -> ("Загрузить в глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла"). Если не хватает прав делать неактивным. + 1. Кнопка "Загрузить" -> ("Загрузить в глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла"). 1. Кнопка "Сохранить" -> ("Сохранить в глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию" происходит отдельное сохранение настроек. Если не хватает прав делать неактивным. 1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении" 1. Справка - запуск окна с встроенным браузером (WebKitWebView) с переходом на ссылку: -- 2.35.1