master #20

Merged
asmeron merged 13 commits from :master into master 3 years ago

@ -21,7 +21,7 @@
1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:** 1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:**
1. Приложение разрабатывается под нужды операционной системы UBLinux 1. Приложение разрабатывается под нужды операционной системы UBLinux
1. Использование фирменного логотипа компании 1. Использование фирменного логотипа компании
1. Название приложения, техническое: **ubl-settings-bootloader** (далее **${NAME_APPLICATION}**) 1. Название приложения, техническое: **ubl-settings-bootloader** (далее **\${NAME_APPLICATION}**)
1. Название приложения, публичное: **Загрузка системы** 1. Название приложения, публичное: **Загрузка системы**
1. Стек технологий: 1. Стек технологий:
1. Язык программирования: Bash или C(++) 1. Язык программирования: Bash или C(++)
@ -29,33 +29,38 @@
1. Графические библиотеки: GTK3 1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB 1. Операционная система разработки: UBLinux DB
1. Структура: 1. Структура:
1. В исходных кодах использовать префикс корня **CMAKE_INSTALL_PREFIX** для сборки приложений. Например, `CMAKE_INSTALL_PREFIX/share`.
1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++) 1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++)
**/usr/bin/${NAME_APPLICATION} (скомпилированный бинарный файл)** **/usr/bin/\${NAME_APPLICATION} (скомпилированный бинарный файл)**
1. Графическая часть, фронт 1. Графическая часть, фронт
**/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade** **/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade**
1. Стили виджетов GTK 1. Стили виджетов GTK
**/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css** **/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css**
1. Элементы изображений 1. Элементы изображений
1. Иконки: 1. Иконки:
**/usr/share/icons/hicolor/scalable/apps/${NAME_APPLICATION}{\*.png,\*.svg}** **/usr/share/icons/hicolor/scalable/apps/\${NAME_APPLICATION}{\*.png,\*.svg}**
Файлы изображений png иконок должны иметь имена вида: Файлы изображений png иконок должны иметь имена вида:
- ru.ublinux.\${NAME_APPLICATION}.svg - ru.ublinux.\${NAME_APPLICATION}.svg
- ru.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg - ru.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg
Где ${NAME_ICONS} - имя графического элемента, например: checked, warning, alert и т.д. Где \${NAME_ICONS} - имя графического элемента, например: checked, warning, alert и т.д.
Файлы изображений png иконок должны генерироваться из svg файла в размеры 16, 32, 48, 64 пикселей сценарием make-файла. Файлы изображений png иконок должны генерироваться из svg файла в размеры 16, 32, 48, 64 пикселей сценарием make-файла.
1. Изображения: 1. Изображения:
**/usr/share/\${NAME_APPLICATION}/ui/{\*.png,\*.svg}** **/usr/share/\${NAME_APPLICATION}/ui/{\*.png,\*.svg}**
1. Локализация En/Ru 1. Локализация En/Ru
Для локализации должен быть создан файл-шаблон ***${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути: 1. Для локализации должен быть создан файл-шаблон ***\${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути:
**/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}** **/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}**
где ${LANG} - каталог с именем локали, например, "ru" или "ru_RU", где \${LANG} - каталог с именем локали, например, "ru" или "ru_RU",
\${FILE_MO} - файл локализации программы, например, "${NAME_APPLICATION}.mo" \${FILE_MO} - файл локализации программы, например, "\${NAME_APPLICATION}.mo"
1. Вывод **всех** текстовых элементов осуществляется через средства локализации.
1. Файл с перечнем и описанием параметров передаваемых ядру 1. Файл с перечнем и описанием параметров передаваемых ядру
**/usr/share/ubl-sttings-bootloadr/boot-options.csv** **/usr/share/ubl-sttings-bootloadr/boot-options.csv**
1. Файл с перечнем и описанием параметров терминала для ввода 1. Файл с перечнем и описанием параметров терминала для ввода
**/usr/share/ubl-sttings-bootloadr/input-options.csv** **/usr/share/ubl-sttings-bootloadr/input-options.csv**
1. Файл с перечнем и описанием параметров терминала для вывода 1. Файл с перечнем и описанием параметров терминала для вывода
**/usr/share/ubl-sttings-bootloadr/output-options.csv** **/usr/share/ubl-sttings-bootloadr/output-options.csv**
1. Версия ПО
1. Файл, в котором хранится версия - VERSION.md, находится в корне каталога проекта.
1. При компиляции (через сценарий make-файла) данные из файла VERSION.md передаются в значение переменной (-ых) version_application в файлах-исходниках ПО.
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** 1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл): 1. Ярлык (desktop-файл):
@ -122,25 +127,26 @@
1. **ОСОБЕННОСТИ** 1. **ОСОБЕННОСТИ**
1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"). 1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла").
1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit. 1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit.
1. Сохранение должно происходить *только* при наличии изменённых данных в элементах форм приложения, в противном случае выводить в информационной строке сообщение: "Нечего сохранять!".
1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла"). 1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла").
1. Кнопка "Сохранить" -> ("Сохранить в глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию" происходит отдельное сохранение настроек. 1. Кнопка "Сохранить" -> ("Сохранить в глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию" происходит отдельное сохранение настроек.
1. Кнопка с иконкой с выпадающим списком -> “Справка, О приложении” 1. Кнопка с иконкой с выпадающим списком -> “Справка, О приложении”
1. Справка - запуск браузера с переходом на ссылку: 1. Справка - запуск браузера с переходом на ссылку:
1. локализованный (ru_RU) вариант: 1. локализованный (ru_RU) вариант:
https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/${NAME_APPLICATION} (далее ${URLWIKI}) https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/\${NAME_APPLICATION} (далее \${URLWIKI})
1. локализованный (en_EN) вариант: 1. локализованный (en_EN) вариант:
https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/${NAME_APPLICATION} (далее ${URLWIKI}) https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/\${NAME_APPLICATION} (далее \${URLWIKI})
1. О приложении. Открывается диалоговое окно с выводом информации о программе: 1. О приложении. Открывается диалоговое окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты 1. Заголовок окна по локализованному названию утилиты
1. Копирайты, порядок: 1. Копирайты, порядок:
1. Иконка приложения 1. Иконка приложения
1. Название утилиты 1. Название утилиты
1. Версия программы 1. Версия программы (переменная version_application)
1. Название утилиты, локализованное 1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/ 1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Авторские права © ООО "Юбисофт", 2022 - $LASTYEAR 1. Авторские права © ООО "Юбисофт", 2022 - \$LASTYEAR
- локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - $LASTYEAR" - локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - \$LASTYEAR"
- где $LASTYEAR - текущий год. - где \$LASTYEAR - текущий год.
1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!" 1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!"
1. Строка уведомлений. Цвет в зависимости от сигнала: 1. Строка уведомлений. Цвет в зависимости от сигнала:
- песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы. - песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
@ -155,7 +161,7 @@ https://wiki.ublinux.com/ru/Программное_обеспечение/Про
1. **КОМАНДЫ** 1. **КОМАНДЫ**
1. Справка, О приложении > Домашняя страница проекта: 1. Справка, О приложении > Домашняя страница проекта:
xdg-open ${URLWIKI} & xdg-open \${URLWIKI} &
1. Меню загрузки 1. Меню загрузки
1. Таймер выбора варианта загрузки: 1. Таймер выбора варианта загрузки:
1. Чтение значения: 1. Чтение значения:
@ -164,7 +170,7 @@ xdg-open ${URLWIKI} &
1. Установить значение: 1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE` 1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE` 1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE`
где $VALUE - параметр, цифровой, от 1 до 60. где \$VALUE - параметр, цифровой, от 1 до 60.
1. Загрузка по умолчанию: 1. Загрузка по умолчанию:
1. Должен быть получен список ОС и вариантов загрузки. 1. Должен быть получен список ОС и вариантов загрузки.
1. Последний выбор станет выбором загрузки по умолчанию: 1. Последний выбор станет выбором загрузки по умолчанию:
@ -174,7 +180,7 @@ xdg-open ${URLWIKI} &
1. Установить значение: 1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE` 1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE` 1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE`
где $VALUE - параметр, цифровой, 1 или 0. Указывает на включение или отключение данной опции. где \$VALUE - параметр, цифровой, 1 или 0. Указывает на включение или отключение данной опции.
1. Параметры, передаваемые ядру 1. Параметры, передаваемые ядру
1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Параметры, передаваемые ядру" 1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Параметры, передаваемые ядру"
1. Параметры командной строки: 1. Параметры командной строки:
@ -184,7 +190,7 @@ xdg-open ${URLWIKI} &
1. Установить значение: 1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config CMDLINE=$VALUE` 1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config CMDLINE=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config CMDLINE=$VALUE` 1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config CMDLINE=$VALUE`
где $VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Параметры, передаваемые ядру", разделённых пробелом. где \$VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Параметры, передаваемые ядру", разделённых пробелом.
1. Терминал для ввода 1. Терминал для ввода
1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Терминал для ввода" 1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Терминал для ввода"
1. Параметры командной строки: 1. Параметры командной строки:
@ -194,7 +200,7 @@ xdg-open ${URLWIKI} &
1. Установить значение: 1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE` 1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE` 1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE`
где $VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Терминал для ввода", разделённых пробелом. где \$VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Терминал для ввода", разделённых пробелом.
1. Терминал для вывода 1. Терминал для вывода
1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Терминал для вывода" 1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Терминал для вывода"
1. Параметры командной строки: 1. Параметры командной строки:
@ -204,7 +210,7 @@ xdg-open ${URLWIKI} &
1. Установить значение: 1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE` 1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE` 1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE`
где $VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Терминал для вывода", разделённых пробелом. где \$VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Терминал для вывода", разделённых пробелом.
1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.** 1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно 1. Главное окно

@ -21,7 +21,7 @@
1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:** 1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:**
1. Приложение разрабатывается под нужды операционной системы UBLinux 1. Приложение разрабатывается под нужды операционной системы UBLinux
1. Использование фирменного логотипа компании 1. Использование фирменного логотипа компании
1. Название приложения, техническое: **ubl-settings-datetime** (далее **${NAME_APPLICATION}**) 1. Название приложения, техническое: **ubl-settings-datetime** (далее **\${NAME_APPLICATION}**)
1. Название приложения, публичное: **Дата и время** 1. Название приложения, публичное: **Дата и время**
1. Стек технологий: 1. Стек технологий:
1. Язык программирования: Bash или C(++) 1. Язык программирования: Bash или C(++)
@ -29,27 +29,32 @@
1. Графические библиотеки: GTK3 1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB 1. Операционная система разработки: UBLinux DB
1. Структура: 1. Структура:
1. В исходных кодах использовать префикс корня **CMAKE_INSTALL_PREFIX** для сборки приложений. Например, `CMAKE_INSTALL_PREFIX/share`.
1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++) 1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++)
**/usr/bin/${NAME_APPLICATION} (скомпилированный бинарный файл)** **/usr/bin/\${NAME_APPLICATION} (скомпилированный бинарный файл)**
1. Графическая часть, фронт 1. Графическая часть, фронт
**/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade** **/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade**
1. Стили виджетов GTK 1. Стили виджетов GTK
**/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css** **/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css**
1. Элементы изображений 1. Элементы изображений
1. Иконки: 1. Иконки:
**/usr/share/icons/hicolor/scalable/apps/${NAME_APPLICATION}{\*.png,\*.svg}** **/usr/share/icons/hicolor/scalable/apps/\${NAME_APPLICATION}{\*.png,\*.svg}**
Файлы изображений png иконок должны иметь имена вида: Файлы изображений png иконок должны иметь имена вида:
- ru.ublinux.\${NAME_APPLICATION}.svg - ru.ublinux.\${NAME_APPLICATION}.svg
- ru.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg - ru.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg
Где ${NAME_ICONS} - имя графического элемента, например: checked, warning, alert и т.д. Где \${NAME_ICONS} - имя графического элемента, например: checked, warning, alert и т.д.
Файлы изображений png иконок должны генерироваться из svg файла в размеры 16, 32, 48, 64 пикселей сценарием make-файла. Файлы изображений png иконок должны генерироваться из svg файла в размеры 16, 32, 48, 64 пикселей сценарием make-файла.
1. Изображения: 1. Изображения:
**/usr/share/\${NAME_APPLICATION}/ui/{\*.png,\*.svg}** **/usr/share/\${NAME_APPLICATION}/ui/{\*.png,\*.svg}**
1. Локализация En/Ru 1. Локализация En/Ru
Для локализации должен быть создан файл-шаблон ***${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути: 1. Для локализации должен быть создан файл-шаблон ***\${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути:
**/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}** **/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}**
где ${LANG} - каталог с именем локали, например, "ru" или "ru_RU", где \${LANG} - каталог с именем локали, например, "ru" или "ru_RU",
\${FILE_MO} - файл локализации программы, например, "${NAME_APPLICATION}.mo" \${FILE_MO} - файл локализации программы, например, "\${NAME_APPLICATION}.mo"
1. Вывод **всех** текстовых элементов осуществляется через средства локализации.
1. Версия ПО
1. Файл, в котором хранится версия - VERSION.md, находится в корне каталога проекта.
1. При компиляции (через сценарий make-файла) данные из файла VERSION.md передаются в значение переменной (-ых) version_application в файлах-исходниках ПО.
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** 1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл): 1. Ярлык (desktop-файл):
@ -80,7 +85,7 @@
1. лейбл ":" (разделитель). Статический элемент. Выравнивание по левому краю. 1. лейбл ":" (разделитель). Статический элемент. Выравнивание по левому краю.
1. счётчик от 00 до 59 (минуты). Статический элемент. Выравнивание по левому краю. 1. счётчик от 00 до 59 (минуты). Статический элемент. Выравнивание по левому краю.
1. лейбл "Дата". Статический элемент. Выравнивание по левому краю. 1. лейбл "Дата". Статический элемент. Выравнивание по левому краю.
1. поле ввода. Ввод даты в формате ДД.ММ.ГГГГ Статический элемент. Выравнивание по левому краю. 1. поле ввода. Ввод даты в формате ДД.ММ.ГГГГ. Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами.
1. кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты). Статический элемент. Выравнивание по левому краю. 1. кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты). Статический элемент. Выравнивание по левому краю.
1. кнопка "Синхронизировать". Синхронизация выставленных даты и времени с часами и датой системы. Неактивно, если выбраны значения "По умолчанию, DHCP, Вручную" чекбокса в блоке "Синхронизация через NTP". Динамический элемент. Выравнивание по левому краю. Делит пространство в равных долях с соседними элементами. 1. кнопка "Синхронизировать". Синхронизация выставленных даты и времени с часами и датой системы. Неактивно, если выбраны значения "По умолчанию, DHCP, Вручную" чекбокса в блоке "Синхронизация через NTP". Динамический элемент. Выравнивание по левому краю. Делит пространство в равных долях с соседними элементами.
1. кнопка "Синхронизировать аппаратное время". Синхронизация даты и времени с временем BIOS рабочей станции. Динамический элемент. Выравнивание по левому краю. Делит пространство в равных долях с соседними элементами. 1. кнопка "Синхронизировать аппаратное время". Синхронизация даты и времени с временем BIOS рабочей станции. Динамический элемент. Выравнивание по левому краю. Делит пространство в равных долях с соседними элементами.
@ -89,7 +94,7 @@
1. поле ввода для ручного указания серверов. Неактивно, если выбраны значения "Отключено, Остановлено, По умолчанию, DHCP" комбобокса в блоке "Синхронизация через NTP". Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами. 1. поле ввода для ручного указания серверов. Неактивно, если выбраны значения "Отключено, Остановлено, По умолчанию, DHCP" комбобокса в блоке "Синхронизация через NTP". Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами.
1. Блок с заголовком "Часовой пояс". Динамический элемент. От края до края окна по горизонтали. 1. Блок с заголовком "Часовой пояс". Динамический элемент. От края до края окна по горизонтали.
1. лейбл "Синхронизация аппаратного времени:". Статический элемент. Выравнивание по левому краю. 1. лейбл "Синхронизация аппаратного времени:". Статический элемент. Выравнивание по левому краю.
1. комбокс с вариантами "Локальное время, Время по UTC". Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами. 1. комбобокс с вариантами "Локальное время, Время по UTC". Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами.
1. лейбл "Регион:". Статический элемент. Выравнивание по левому краю. 1. лейбл "Регион:". Статический элемент. Выравнивание по левому краю.
1. комбобокс. Локализованный перечень регионов. Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами. 1. комбобокс. Локализованный перечень регионов. Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами.
1. лейбл "Зона:". Статический элемент. Выравнивание по левому краю. 1. лейбл "Зона:". Статический элемент. Выравнивание по левому краю.
@ -98,25 +103,26 @@
1. **ОСОБЕННОСТИ** 1. **ОСОБЕННОСТИ**
1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"). 1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла").
1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit. 1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit.
1. Сохранение должно происходить *только* при наличии изменённых данных в элементах форм приложения, в противном случае выводить в информационной строке сообщение: "Нечего сохранять!".
1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла"). 1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла").
1. Кнопка "Сохранить" -> ("Сохранить глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию" происходит отдельное сохранение настроек. 1. Кнопка "Сохранить" -> ("Сохранить глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию" происходит отдельное сохранение настроек.
1. Кнопка с иконкой с выпадающим списком -> “Справка, О приложении” 1. Кнопка с иконкой с выпадающим списком -> “Справка, О приложении”
1. Справка - запуск браузера с переходом на ссылку: 1. Справка - запуск браузера с переходом на ссылку:
1. локализованный (ru_RU) вариант: 1. локализованный (ru_RU) вариант:
https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/${NAME_APPLICATION} (далее ${URLWIKI}) https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/\${NAME_APPLICATION} (далее \${URLWIKI})
1. локализованный (en_EN) вариант: 1. локализованный (en_EN) вариант:
https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/${NAME_APPLICATION} (далее ${URLWIKI}) https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/\${NAME_APPLICATION} (далее \${URLWIKI})
1. О приложении. Открывается диалоговое окно с выводом информации о программе: 1. О приложении. Открывается диалоговое окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты 1. Заголовок окна по локализованному названию утилиты
1. Копирайты, порядок: 1. Копирайты, порядок:
1. Иконка приложения 1. Иконка приложения
1. Название утилиты 1. Название утилиты
1. Версия программы 1. Версия программы (переменная version_application)
1. Название утилиты, локализованное 1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/ 1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Авторские права © ООО "Юбисофт", 2022 - $LASTYEAR 1. Авторские права © ООО "Юбисофт", 2022 - \$LASTYEAR
- локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - $LASTYEAR" - локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - \$LASTYEAR"
- где $LASTYEAR - текущий год. - где \$LASTYEAR - текущий год.
1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!" 1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!"
1. Строка уведомлений. Цвет в зависимости от сигнала: 1. Строка уведомлений. Цвет в зависимости от сигнала:
- песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы. - песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
@ -124,7 +130,7 @@ https://wiki.ublinux.com/ru/Программное_обеспечение/Про
1. **КОМАНДЫ** 1. **КОМАНДЫ**
1. Справка, О приложении > Домашняя страница проекта: 1. Справка, О приложении > Домашняя страница проекта:
xdg-open ${URLWIKI} & xdg-open \${URLWIKI} &
1. Текущие дата и время 1. Текущие дата и время
1. Чтение значения: 1. Чтение значения:
1. через средства функции на языке С(++) 1. через средства функции на языке С(++)
@ -151,6 +157,8 @@ xdg-open ${URLWIKI} &
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=$VALUE` в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=$VALUE`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=$VALUE` в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=$VALUE`
где $VALUE - перечень серверов, полученных из поля в блоке "Синхронизация через NTP", разделённых "," или ";". где $VALUE - перечень серверов, полученных из поля в блоке "Синхронизация через NTP", разделённых "," или ";".
1. Если выбрано значение "По умолчанию", то неактивное поле ввода заполняется командой:
- `ubconfig --source default get [] NTPSERVERS_DEFAULT`
1. Проверка запущенных процессов синхронизации (systemd-timesyncd, ntpd, chronyd) и остановка этих сервисов сервисов, осуществляется выполнением команды `/usr/bin/ubconfig remove network NTPSERVERS` при выборе опции "Остановлено" из выпадающего списка блока "Синхронизация через NTP" 1. Проверка запущенных процессов синхронизации (systemd-timesyncd, ntpd, chronyd) и остановка этих сервисов сервисов, осуществляется выполнением команды `/usr/bin/ubconfig remove network NTPSERVERS` при выборе опции "Остановлено" из выпадающего списка блока "Синхронизация через NTP"
1. Часовой пояс 1. Часовой пояс
1. Синхронизация аппаратного времени: 1. Синхронизация аппаратного времени:
@ -173,6 +181,39 @@ xdg-open ${URLWIKI} &
- в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set clock ZONE=$VALUE` - в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set clock ZONE=$VALUE`
где $VALUE - сложение срок-значений из комбобокса "Регион" и "Зона" через символ "/", например "Asia/Omsk". где $VALUE - сложение срок-значений из комбобокса "Регион" и "Зона" через символ "/", например "Asia/Omsk".
1. **ПОМОЩЬ И ПАРАМЕТРЫ ЗАПУСКА**
1. Помощь
- Пример вывода:
> ubl-settings-datetime version: \$VERSION
> GTK settings datetime for UBLinux
>
> Использование: ubl-settings-datetime [OPTIONS...]
> Параметры приложения:
> \$OPTIONS
Где \$OPTIONS - параметры запуска, \$VERSION - версия программы (переменная version_application).
1. Параметры запуска:
1. *-h, --help* - Показать параметры справки
1. *-V, --version* - Показать текущую версию
1. *--lock-datetime* - Блокировка изменения даты и времени
1. *--lock-timezone* - Блокировка изменения часового пояса
1. *--lock-ntp-mode* - Блокировка выбора режима NTP
1. *--lock-ntp-edit* - Блокировка перечня NTP серверов
1. *--lock-save* - Блокировка сохранения локальной и глобальной конфигурации
1. *--lock-save-local* - Блокировка сохранения локальной конфигурации
1. *--lock-save-global* - Блокировка сохранения глобальной конфигурации
1. *--lock-load-global* - Блокировка загрузки глобальной конфигурации
1. Действия при указанных параметрах:
1. *--lock-datetime* - делать неактивными лейбл "Время:", счётчик (часы), лейбл ":", счётчик (минуты), лейбл "Дата:", поле ввода, кнопка с иконкой календаря.
1. *--lock-timezone* - делать неактивными лейбл "Регион:", комбобокс с выбором регионов, лейбл "Зона:", комбобокс с выбором зон.
1. *--lock-ntp-mode* - делать неактивным выпадающий список вариантов синхронизации NTP.
1. *--lock-ntp-edit* - делать неактивным поле ввода списка серверов NTP.
1. *--lock-save* - делать неактивной кнопку "Сохранить".
1. *--lock-save-local* - делать неактивным пункт "Сохранить локальную конфигурацию" в выпадающем списке кнопки "Сохранить".
1. *--lock-save-global* - делать неактивным пункт "Сохранить глобальную и локальную конфигурацию" и "Сохранить глобальную конфигурацию" в выпадающем списке кнопки "Сохранить".
1. *--lock-load-global* - делать неактивным пункт "Сохранить глобальную и локальную конфигурацию" и "Загрузить глобальную конфигурацию" в выпадающем списке кнопки "Загрузить".
1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.** 1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно 1. Главное окно

@ -21,7 +21,7 @@
1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:** 1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:**
1. Приложение разрабатывается под нужды операционной системы UBLinux 1. Приложение разрабатывается под нужды операционной системы UBLinux
1. Использование фирменного логотипа компании 1. Использование фирменного логотипа компании
1. Название приложения, техническое: **ubl-settings-info** (далее **${NAME_APPLICATION}**) 1. Название приложения, техническое: **ubl-settings-info** (далее **\${NAME_APPLICATION}**)
1. Название приложения, публичное: **Информация о системе** 1. Название приложения, публичное: **Информация о системе**
1. Стек технологий: 1. Стек технологий:
1. Язык программирования: Bash или C(++) 1. Язык программирования: Bash или C(++)
@ -29,27 +29,32 @@
1. Графические библиотеки: GTK3 1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB 1. Операционная система разработки: UBLinux DB
1. Структура: 1. Структура:
1. В исходных кодах использовать префикс корня **CMAKE_INSTALL_PREFIX** для сборки приложений. Например, `CMAKE_INSTALL_PREFIX/share`.
1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++) 1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++)
**/usr/bin/${NAME_APPLICATION} (скомпилированный бинарный файл)** **/usr/bin/\${NAME_APPLICATION} (скомпилированный бинарный файл)**
1. Графическая часть, фронт 1. Графическая часть, фронт
**/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade** **/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade**
1. Стили виджетов GTK 1. Стили виджетов GTK
**/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css** **/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css**
1. Элементы изображений 1. Элементы изображений
1. Иконки: 1. Иконки:
**/usr/share/icons/hicolor/scalable/apps/${NAME_APPLICATION}{\*.png,\*.svg}** **/usr/share/icons/hicolor/scalable/apps/\${NAME_APPLICATION}{\*.png,\*.svg}**
Файлы изображений png иконок должны иметь имена вида: Файлы изображений png иконок должны иметь имена вида:
- ru.ublinux.\${NAME_APPLICATION}.svg - ru.ublinux.\${NAME_APPLICATION}.svg
- ru.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg - ru.ublinux.\${NAME_APPLICATION}.\${NAME_ICONS}.svg
Где ${NAME_ICONS} - имя графического элемента, например: checked, warning, alert и т.д. Где \${NAME_ICONS} - имя графического элемента, например: checked, warning, alert и т.д.
Файлы изображений png иконок должны генерироваться из svg файла в размеры 16, 32, 48, 64 пикселей сценарием make-файла. Файлы изображений png иконок должны генерироваться из svg файла в размеры 16, 32, 48, 64 пикселей сценарием make-файла.
1. Изображения: 1. Изображения:
**/usr/share/\${NAME_APPLICATION}/ui/{\*.png,\*.svg}** **/usr/share/\${NAME_APPLICATION}/ui/{\*.png,\*.svg}**
1. Локализация En/Ru 1. Локализация En/Ru
Для локализации должен быть создан файл-шаблон ***${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути: 1. Для локализации должен быть создан файл-шаблон ***\${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути:
**/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}** **/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}**
где ${LANG} - каталог с именем локали, например, "ru" или "ru_RU", где \${LANG} - каталог с именем локали, например, "ru" или "ru_RU",
\${FILE_MO} - файл локализации программы, например, "${NAME_APPLICATION}.mo" \${FILE_MO} - файл локализации программы, например, "\${NAME_APPLICATION}.mo"
1. Вывод **всех** текстовых элементов осуществляется через средства локализации.
1. Версия ПО
1. Файл, в котором хранится версия - VERSION.md, находится в корне каталога проекта.
1. При компиляции (через сценарий make-файла) данные из файла VERSION.md передаются в значение переменной (-ых) version_application в файлах-исходниках ПО.
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** 1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл): 1. Ярлык (desktop-файл):
@ -97,24 +102,24 @@
1. Кнопка с иконкой с выпадающим списком -> “Справка, О приложении” 1. Кнопка с иконкой с выпадающим списком -> “Справка, О приложении”
1. Справка - запуск браузера с переходом на ссылку: 1. Справка - запуск браузера с переходом на ссылку:
1. локализованный (ru_RU) вариант: 1. локализованный (ru_RU) вариант:
https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/${NAME_APPLICATION} (далее ${URLWIKI}) https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/\${NAME_APPLICATION} (далее \${URLWIKI})
1. локализованный (en_EN) вариант: 1. локализованный (en_EN) вариант:
https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/${NAME_APPLICATION} (далее ${URLWIKI}) https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/\${NAME_APPLICATION} (далее \${URLWIKI})
1. О приложении. Открывается диалоговое окно с выводом информации о программе: 1. О приложении. Открывается диалоговое окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты 1. Заголовок окна по локализованному названию утилиты
1. Копирайты, порядок: 1. Копирайты, порядок:
1. Иконка приложения 1. Иконка приложения
1. Название утилиты 1. Название утилиты
1. Версия программы 1. Версия программы (переменная version_application)
1. Название утилиты, локализованное 1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/ 1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Авторские права © ООО "Юбисофт", 2022 - $LASTYEAR 1. Авторские права © ООО "Юбисофт", 2022 - \$LASTYEAR
- локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - $LASTYEAR" - локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - \$LASTYEAR"
- где $LASTYEAR - текущий год. - где \$LASTYEAR - текущий год.
1. **КОМАНДЫ** 1. **КОМАНДЫ**
1. Справка, О приложении > Домашняя страница проекта: 1. Справка, О приложении > Домашняя страница проекта:
xdg-open ${URLWIKI} & xdg-open \${URLWIKI} &
1. Получить имя текущего пользователя 1. Получить имя текущего пользователя
1. команда - `` 1. команда - ``
1. Получить имя хоста 1. Получить имя хоста

@ -21,7 +21,7 @@
1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:** 1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:**
1. Приложение разрабатывается под нужды операционной системы UBLinux 1. Приложение разрабатывается под нужды операционной системы UBLinux
1. Использование фирменного логотипа компании 1. Использование фирменного логотипа компании
1. Название приложения, техническое: **ubl-settings-video** 1. Название приложения, техническое: **ubl-settings-video** (далее **\${NAME_APPLICATION}**)
1. Название приложения, публичное: **Видеокарта/Экран** 1. Название приложения, публичное: **Видеокарта/Экран**
1. Стек технологий: 1. Стек технологий:
1. Язык программирования: Bash или C(++) 1. Язык программирования: Bash или C(++)
@ -29,19 +29,32 @@
1. Графические библиотеки: GTK3 1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB 1. Операционная система разработки: UBLinux DB
1. Структура: 1. Структура:
1. В исходных кодах использовать префикс корня **CMAKE_INSTALL_PREFIX** для сборки приложений. Например, `CMAKE_INSTALL_PREFIX/share`.
1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++) 1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++)
**/usr/bin/ubl-settings-video (скомпилированный бинарный файл)** **/usr/bin/\${NAME_APPLICATION} (скомпилированный бинарный файл)**
1. Графическая часть, фронт 1. Графическая часть, фронт
Файл **glade** скомпилирован в бинарный файл **/usr/share/\${NAME_APPLICATION}/ui/\${NAME_APPLICATION}.glade**
1. Стили виджетов GTK 1. Стили виджетов GTK
Файл **css** скомпилирован в бинарный файл **/usr/share/\${NAME_APPLICATION}/css/\${NAME_APPLICATION}.css**
1. Элементы изображений 1. Элементы изображений
**/usr/share/ubl-settings-video/images/{\*.png,\*.svg}** 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. Локализация En/Ru
Для локализации должен быть создан файл-шаблон ***name_programm.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути: 1. Для локализации должен быть создан файл-шаблон ***\${NAME_APPLICATION}.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути:
**/usr/share/locale/\${LANG}/LC_MESSAGES/${FILE_MO}** **/usr/share/locale/\${LANG}/LC_MESSAGES/\${FILE_MO}**
где ${LANG} - каталог с именем локали, например, "ru" или "ru_RU", где \${LANG} - каталог с именем локали, например, "ru" или "ru_RU",
\${FILE_MO} - файл локализации программы, например, "${NAME_APPLICATION}.mo" \${FILE_MO} - файл локализации программы, например, "\${NAME_APPLICATION}.mo"
1. Вывод **всех** текстовых элементов осуществляется через средства локализации.
1. Версия ПО
1. Файл, в котором хранится версия - VERSION.md, находится в корне каталога проекта.
1. При компиляции (через сценарий make-файла) данные из файла VERSION.md передаются в значение переменной (-ых) version_application в файлах-исходниках ПО.
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** 1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл): 1. Ярлык (desktop-файл):
@ -70,6 +83,7 @@
1. **ОСОБЕННОСТИ** 1. **ОСОБЕННОСТИ**
1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"). 1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла").
1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit. 1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit.
1. Сохранение должно происходить *только* при наличии изменённых данных в элементах форм приложения, в противном случае выводить в информационной строке сообщение: "Нечего сохранять!".
1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла"). 1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла").
1. Кнопка "Сохранить" -> ("Сохранить глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию" происходит отдельное сохранение настроек. 1. Кнопка "Сохранить" -> ("Сохранить глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию" происходит отдельное сохранение настроек.
1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!" 1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!"
@ -81,12 +95,12 @@
1. Копирайты, порядок: 1. Копирайты, порядок:
1. Иконка приложения 1. Иконка приложения
1. Название утилиты 1. Название утилиты
1. Версия программы 1. Версия программы (переменная version_application)
1. Название утилиты, локализованное 1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/ 1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Авторские права © ООО "Юбисофт", 2022 - $LASTYEAR 1. Авторские права © ООО "Юбисофт", 2022 - \$LASTYEAR
- локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - $LASTYEAR" - локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - \$LASTYEAR"
- где $LASTYEAR - текущий год. - где \$LASTYEAR - текущий год.
1. **КОМАНДЫ** 1. **КОМАНДЫ**
@ -94,4 +108,3 @@
1. Главное окно 1. Главное окно

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Loading…
Cancel
Save