Merge pull request 'update design' (#18) from miramax166/design-ubl-settings-apps:master into master

Reviewed-on: #18
pull/19/head^2
Dmitry Razumov 3 years ago
commit e94e6f2523

@ -1,3 +1,4 @@
# design-ubl-settings-apps # design-ubl-settings-apps
### Эскизы для приложений настройки операционной системы UBLinux. ### Эскизы для приложений настройки операционной системы UBLinux.
- ubl-settings-firewall - Межсетевой экран - ubl-settings-firewall - Межсетевой экран
@ -21,19 +22,20 @@
| Очерёдность | Проект | Готовность | | Очерёдность | Проект | Готовность |
|--|--|--| |--|--|--|
| 1 | ubl-settings-datetime - Дата и время | 99% | | 1 | ubl-settings-datetime - Дата и время | 99% |
| 2 | ubl-settings-bootloader - Загрузчик | 10% | | 2 | ubl-settings-info - Информация о системе | 50% |
| 3 | ubl-settings-update - Обновление системы | 5% | | 3 | ubl-settings-bootloader - Загрузчик | 10% |
| 4 | ubl-settings-video - Видеокарта/Экран | 5% | | 4 | ubl-settings-update - Обновление системы | 5% |
| 5 | ubl-settings-quotas - Квоты | 5% | | 5 | ubl-settings-video - Видеокарта/Экран | 5% |
| 6 | ubl-settings-usergroups - Пользователи и группы | 5% | | 6 | ubl-settings-quotas - Квоты | 5% |
| 7 | ubl-settings-network - Сеть | 5% | | 7 | ubl-settings-usergroups - Пользователи и группы | 5% |
| 8 | ubl-settings-hardware - Оборудование | 5% | | 8 | ubl-settings-network - Сеть | 5% |
| 9 | ubl-settings-de - Окружение рабочего стола | 5% | | 9 | ubl-settings-hardware - Оборудование | 5% |
| 10 | ubl-settings-mount - Монтирование | 5% | | 10 | ubl-settings-de - Окружение рабочего стола | 5% |
| 11 | ubl-settings-services - Службы и процессы | 5% | | 11 | ubl-settings-mount - Монтирование | 5% |
| 12 | ubl-settings-system - Системные настройки | 5% | | 12 | ubl-settings-services - Службы и процессы | 5% |
| 13 | ubl-settings-modules - Настройка модулей | 5% | | 13 | ubl-settings-system - Системные настройки | 5% |
| 14 | ubl-settings-firewall - Межсетевой экран | 5% | | 14 | ubl-settings-modules - Настройка модулей | 5% |
| 15 | ubl-settings-finetuning - Тонкая настройка системы | 5% | | 15 | ubl-settings-firewall - Межсетевой экран | 5% |
| 16 | ubl-settings-security - Безопасность | 5% | | 16 | ubl-settings-finetuning - Тонкая настройка системы | 5% |
| 17 | ubl-settings-multiseat - Мультирабочее место | 5% | | 17 | ubl-settings-security - Безопасность | 5% |
| 18 | ubl-settings-multiseat - Мультирабочее место | 5% |

@ -1,8 +1,8 @@
ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-bootloader** ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-bootloader**
1. **ОПИСАНИЕ:** 1. **ОПИСАНИЕ:**
Графическое средство настройки загрузчика ОС UBLinux
Графическое средство настройки загрузчика ОС UBLinux
1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:** 1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:**
1. Общий срок работ по созданию приложения составляет N дней: 1. Общий срок работ по созданию приложения составляет N дней:
@ -10,10 +10,10 @@
1. N дней - разработка приложения 1. N дней - разработка приложения
1. N дня - тестирование приложения и исправление ошибок 1. N дня - тестирование приложения и исправление ошибок
1. Перечень этапов разработки приложения: 1. Перечень этапов разработки приложения:
1. Разработка макета и дизайна приложения, самостоятельно 1. Разработка макета и дизайна приложения
1. Утверждение и доработка макета, самостоятельно 1. Утверждение и доработка макета
1. Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно 1. Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д.
1. Проектирование алгоритма работы приложения, самостоятельно 1. Проектирование алгоритма работы приложения
1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно 1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
1. Тестирование и исправление ошибок, самостоятельно 1. Тестирование и исправление ошибок, самостоятельно
1. Публикация 1. Публикация
@ -24,23 +24,30 @@
1. Название приложения, техническое: **ubl-settings-bootloader** 1. Название приложения, техническое: **ubl-settings-bootloader**
1. Название приложения, публичное: **Загрузка системы** 1. Название приложения, публичное: **Загрузка системы**
1. Стек технологий: 1. Стек технологий:
1. Язык программирования: Bash или C++ 1. Язык программирования: Bash или C(++)
1. Приложение для разработки графического интерфейса: Glade 3 1. Приложение для разработки графического интерфейса: Glade 3
1. Графические библиотеки: GTK3 1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB 1. Операционная система разработки: UBLinux DB
1. Структура: 1. Структура:
1. **/usr/bin/ubl-settings-bootloader (скомпилированный бинарный файл)** 1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++)
Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++ **/usr/bin/ubl-settings-bootloader (скомпилированный бинарный файл)**
1. Файл **glade** скомпилирован в бинарный файл 1. Графическая часть, фронт
Графическая часть, фронт Файл **glade** скомпилирован в бинарный файл
1. Файл **css** скомпилирован в бинарный файл 1. Стили виджетов GTK
Стили виджетов GTK Файл **css** скомпилирован в бинарный файл
1. **/usr/share/ubl-settings-bootloader/images/{\*.png,\*.svg}** 1. Элементы изображений
Элементы изображений **/usr/share/ubl-settings-bootloader/images/{\*.png,\*.svg}**
1. **/usr/share/ubl-settings-bootloader/locale -> /usr/share/locale** 1. Локализация En/Ru
Локализация En/Ru Для локализации должен быть создан файл-шаблон ***name_programm.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути:
1. **/usr/share/ubl-sttings-bootloadr/list_bootoptions.csv** **/usr/share/locale/\${LANG}/LC_MESSAGES/${FILE_MO}**
Файл с перечнем и описанием параметров ядра и загрузчика где ${LANG} - каталог с именем локали, например, "ru" или "ru_RU",
\${FILE_MO} - файл локализации программы, например, "${NAME_APPLICATION}.mo"
1. Файл с перечнем и описанием параметров передаваемых ядру
**/usr/share/ubl-sttings-bootloadr/boot-options.csv**
1. Файл с перечнем и описанием параметров терминала для ввода
**/usr/share/ubl-sttings-bootloadr/input-options.csv**
1. Файл с перечнем и описанием параметров терминала для вывода
**/usr/share/ubl-sttings-bootloadr/output-options.csv**
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** 1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл): 1. Ярлык (desktop-файл):
@ -58,7 +65,7 @@ Bash/C: Весь функционал сосредоточен в графиче
1. Иконка приложения. Статический элемент. Выравнивание по левому краю. 1. Иконка приложения. Статический элемент. Выравнивание по левому краю.
1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). Статический элемент. Выравнивание по левому краю. 1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). Статический элемент. Выравнивание по левому краю.
1. Заголовок окна, название приложения. Выравнивание по центру между элементами. 1. Заголовок окна, название приложения. Выравнивание по центру между элементами.
1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию"). Статический элемент. Выравнивание по правому краю. 1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить в глобальную и локальную конфигурацию, Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию"). Статический элемент. Выравнивание по правому краю.
1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении". Статический элемент. Выравнивание по правому краю. 1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении". Статический элемент. Выравнивание по правому краю.
1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть" 1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть"
1. В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением. Статические элементы. Выравнивание по левому краю. 1. В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением. Статические элементы. Выравнивание по левому краю.
@ -105,46 +112,85 @@ Bash/C: Весь функционал сосредоточен в графиче
1. поле ввода с лэйблом "Параметры командной строки:". Динамический элемент. От края до края родительского элемента по горизонтали. 1. поле ввода с лэйблом "Параметры командной строки:". Динамический элемент. От края до края родительского элемента по горизонтали.
1. **ОСОБЕННОСТИ** 1. **ОСОБЕННОСТИ**
- Значения параметров ядра и загрузчика берутся из файла /usr/share/ubl-sttings-bootloadr/list_bootoptions.csv 1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла").
- Английские слова в файл проекта ubl-sttings-bootloadr.pot 1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit.
Перевод в файле локализации проекта ubl-sttings-bootloadr_ru.po 1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла").
1. Кнопка "Сохранить" -> ("Сохранить в глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию" происходит отдельное сохранение настроек.
1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!"
1. Строка уведомлений. Цвет в зависимости от сигнала:
- песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
- красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы, полученных от обработчика ошибок.
1. Окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты
1. Копирайты, порядок:
1. Иконка приложения
1. Название утилиты
1. Версия программы
1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Авторские права © ООО "Юбисофт", 2022 - $LASTYEAR
- локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - $LASTYEAR"
- где $LASTYEAR - текущий год.
1. Поля "Параметры командной строки" заполняются автоматически при выборе необходимых параметров в таблицах соответствующих блоков (активация через чекбоксы), в поле передаётся название параметра и его значение (если значение имеется), разделение через пробел.
1. При удалении параметра из поля "Параметры командной строки" соответствующий параметр теряет свой статус активности (галочка снимается) в таблице соответствующего блока.
1. При редактировании (изменении) параметра в поле "Параметры командной строки" соответствующий параметр теряет свой статус активности (галочка снимается) в таблице соответствующего блока.
1. Значения параметров, передаваемых ядру, берутся из файла /usr/share/ubl-sttings-bootloadr/boot-options.csv
1. Значения параметров, терминала для ввода, берутся из файла /usr/share/ubl-sttings-bootloadr/input-options.csv
1. Значения параметров, терминала для вывода, берутся из файла /usr/share/ubl-sttings-bootloadr/output-options.csv
1. Вывод файлов csv так же должен быть локализован средствами pot-, po-, mo- файлов.
1. **КОМАНДЫ** 1. **КОМАНДЫ**
1. Меню загрузки 1. Меню загрузки
1. Таймер выбора варианта загрузки: 1. Таймер выбора варианта загрузки:
1. Чтение значения:
1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get config XXXXXX`
1. из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get config XXXXXX`
1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE`
где $VALUE - параметр, цифровой, от 1 до 60.
1. Загрузка по умолчанию: 1. Загрузка по умолчанию:
1. Должен быть получен список ОС и вариантов загрузки.
1. Последний выбор станет выбором загрузки по умолчанию: 1. Последний выбор станет выбором загрузки по умолчанию:
1. Чтение значения:
1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get config XXXXXX`
1. из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get config XXXXXX`
1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE`
где $VALUE - параметр, цифровой, 1 или 0. Указывает на включение или отключение данной опции.
1. Параметры, передаваемые ядру 1. Параметры, передаваемые ядру
1. quiet (Загрузка без текстовых сообщений): 1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Параметры, передаваемые ядру"
1. splash (Показывать окно приветствия):
1. noplymouth (Отключить Plymouth):
1. acpi=off (Отключить ACPI):
1. noapic (Отключить APIC):
1. nolapic (Отключить локальный APIC):
1. single (Режим одного пользователя):
1. nomodeset (Отключить выбор и загрузку ядром драйверов видео):
1. i915.enable_dc=0 (Отключить управление питанием графического процессора):
1. ahci.mobile_lpm_policy=1 (Максимальная производительность, управление питанием):
1. snd-intel-dspcfg.dsp_driver=1 (Принудительный выбор драйвера звукового устройства от Intel):
1. intel_idle.max_cstate=1 (Предотвращает переход процессора в состояние глубокого сна):
1. intel_idle.max_cstate=4 (Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage):
1. Параметры командной строки: 1. Параметры командной строки:
1. Чтение значения:
1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get config CMDLINE`
1. из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get config CMDLINE`
1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config CMDLINE=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config CMDLINE=$VALUE`
где $VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Параметры, передаваемые ядру", разделённых пробелом.
1. Терминал для ввода 1. Терминал для ввода
1. console (PC BIOS & консоль EFI): 1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Терминал для ввода"
1. serial (Последовательный терминал):
1. ofconsole (Консоль Open Firmware):
1. at_keyboard (Клавиатура PC AT (Coreboot)):
1. usb_keyboard (Клавиатура USB Keyboard (протокол HID Boot)):
1. Параметры командной строки: 1. Параметры командной строки:
1. Чтение значения:
1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get config XXXXXX`
1. из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get config XXXXXX`
1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE`
где $VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Терминал для ввода", разделённых пробелом.
1. Терминал для вывода 1. Терминал для вывода
1. console (PC BIOS & консоль EFI): 1. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Терминал для вывода"
1. serial (Последовательный терминал):
1. ofconsole (Консоль Open Firmware):
1. gfxterm (Вывод в графическом режиме):
1. vga_text (Текстовый вывод VGA (Coreboot)):
1. Параметры командной строки: 1. Параметры командной строки:
1. Чтение значения:
1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get config XXXXXX`
1. из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get config XXXXXX`
1. Установить значение:
1. в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set config XXXXXX=$VALUE`
1. в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set config XXXXXX=$VALUE`
где $VALUE - перечень параметров, полученных исходя из выбранных опций в блоке "Терминал для вывода", разделённых пробелом.
1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.** 1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно 1. Главное окно
![](https://gitea.ublinux.ru/miramax166/design-ubl-settings-apps/raw/branch/master/ubl-settings-bootloader/pic/01%28ru_RU%29.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

@ -1,7 +1,8 @@
ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-datetime** ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-datetime**
1. **ОПИСАНИЕ:** 1. **ОПИСАНИЕ:**
Графическое средство настройки даты и времени в ОС UBLinux
Графическое средство настройки даты и времени в ОС UBLinux
1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:** 1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:**
1. Общий срок работ по созданию приложения составляет N дней: 1. Общий срок работ по созданию приложения составляет N дней:
@ -9,10 +10,10 @@
1. N дней - разработка приложения 1. N дней - разработка приложения
1. N дня - тестирование приложения и исправление ошибок 1. N дня - тестирование приложения и исправление ошибок
1. Перечень этапов разработки приложения: 1. Перечень этапов разработки приложения:
1. Разработка макета и дизайна приложения, самостоятельно 1. Разработка макета и дизайна приложения
1. Утверждение и доработка макета, самостоятельно 1. Утверждение и доработка макета
1. Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно 1. Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д.
1. Проектирование алгоритма работы приложения, самостоятельно 1. Проектирование алгоритма работы приложения
1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно 1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
1. Тестирование и исправление ошибок, самостоятельно 1. Тестирование и исправление ошибок, самостоятельно
1. Публикация 1. Публикация
@ -23,21 +24,24 @@
1. Название приложения, техническое: **ubl-settings-datetime** 1. Название приложения, техническое: **ubl-settings-datetime**
1. Название приложения, публичное: **Дата и время** 1. Название приложения, публичное: **Дата и время**
1. Стек технологий: 1. Стек технологий:
1. Язык программирования: Bash или C++ 1. Язык программирования: Bash или C(++)
1. Приложение для разработки графического интерфейса: Glade 3 1. Приложение для разработки графического интерфейса: Glade 3
1. Графические библиотеки: GTK3 1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB 1. Операционная система разработки: UBLinux DB
1. Структура: 1. Структура:
1. **/usr/bin/ubl-settings-datetime (скомпилированный бинарный файл)** 1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++)
Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++ **/usr/bin/ubl-settings-datetime (скомпилированный бинарный файл)**
1. Файл **glade** скомпилирован в бинарный файл 1. Графическая часть, фронт
Графическая часть, фронт Файл **glade** скомпилирован в бинарный файл
1. Файл **css** скомпилирован в бинарный файл 1. Стили виджетов GTK
Стили виджетов GTK Файл **css** скомпилирован в бинарный файл
1. **/usr/share/ubl-settings-datetime/images/{\*.png,\*.svg}** 1. Элементы изображений
Элементы изображений **/usr/share/ubl-settings-datetime/images/{\*.png,\*.svg}**
1. **/usr/share/ubl-settings-datetime/locale -> /usr/share/locale** 1. Локализация En/Ru
Локализация En/Ru Для локализации должен быть создан файл-шаблон ***name_programm.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути:
**/usr/share/locale/\${LANG}/LC_MESSAGES/${FILE_MO}**
где ${LANG} - каталог с именем локали, например, "ru" или "ru_RU",
\${FILE_MO} - файл локализации программы, например, "${NAME_APPLICATION}.mo"
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** 1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл): 1. Ярлык (desktop-файл):
@ -55,7 +59,7 @@
1. Иконка приложения. Статический элемент. Выравнивание по левому краю. 1. Иконка приложения. Статический элемент. Выравнивание по левому краю.
1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). Статический элемент. Выравнивание по левому краю. 1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). Статический элемент. Выравнивание по левому краю.
1. Заголовок окна, название приложения. Выравнивание по центру между элементами. 1. Заголовок окна, название приложения. Выравнивание по центру между элементами.
1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию"). Статический элемент. Выравнивание по правому краю. 1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобальную и локальную конфигурацию, Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию"). Статический элемент. Выравнивание по правому краю.
1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении". Статический элемент. Выравнивание по правому краю. 1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении". Статический элемент. Выравнивание по правому краю.
1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть" 1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть"
1. В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением. Статические элементы. Выравнивание по левому краю. 1. В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением. Статические элементы. Выравнивание по левому краю.
@ -82,28 +86,32 @@
1. комбобокс. Локализованный перечень регионов. Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами. 1. комбобокс. Локализованный перечень регионов. Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами.
1. лейбл "Зона:". Статический элемент. Выравнивание по левому краю. 1. лейбл "Зона:". Статический элемент. Выравнивание по левому краю.
1. комбобокс. Перечень городов с поправкой на часовой пояс. Например, "(UTC +06) Омск". Перечень регионов, локализация стандартными средствами. Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами. 1. комбобокс. Перечень городов с поправкой на часовой пояс. Например, "(UTC +06) Омск". Перечень регионов, локализация стандартными средствами. Динамический элемент. Выравнивание по левому краю. Делит пространство с соседними элементами.
1. **ОСОБЕННОСТИ** 1. **ОСОБЕННОСТИ**
1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"). 1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла").
1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit. 1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit.
1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла"). 1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла").
1. Кнопка "Сохранить" -> ("Cохранить конфигурацию, Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию"). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию" происходит отдельное сохранение настроек. 1. Кнопка "Сохранить" -> ("Сохранить глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию" происходит отдельное сохранение настроек.
1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!"
1. Строка уведомлений. Цвет в зависимости от сигнала: 1. Строка уведомлений. Цвет в зависимости от сигнала:
- песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы. - песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
- красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы. - красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы, полученных от обработчика ошибок.
1. Окно с выводом информации о программе: 1. Окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты 1. Заголовок окна по локализованному названию утилиты
1. Версия берётся из main.cpp глобальной переменной в исходника: UBAPP_VERSION
1. Копирайты, порядок: 1. Копирайты, порядок:
1. Иконка приложения 1. Иконка приложения
1. Название утилиты 1. Название утилиты
1. Версия программы 1. Версия программы
1. Название утилиты, локализованное 1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/ 1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Copyright (c) 2023 - UBSoft Software LLC 1. Авторские права © ООО "Юбисофт", 2022 - $LASTYEAR
- локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - $LASTYEAR"
- где $LASTYEAR - текущий год.
1. **КОМАНДЫ** 1. **КОМАНДЫ**
1. Текущие дата и время 1. Текущие дата и время
1. Чтение значения: 1. Чтение значения:
1. через средства функции на языке Си 1. через средства функции на языке С(++)
1. Установить значение: 1. Установить значение:
1. счётчики часы и минуты: `date +%T -s "h:m:sec"` (кнопка "Синхронизировать") 1. счётчики часы и минуты: `date +%T -s "h:m:sec"` (кнопка "Синхронизировать")
1. дата: `date +%Y%m%d -s "2000:06:14"` (кнопка "Синхронизировать") 1. дата: `date +%Y%m%d -s "2000:06:14"` (кнопка "Синхронизировать")
@ -148,6 +156,7 @@
- в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set clock ZONE=$VALUE` - в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set clock ZONE=$VALUE`
- в глобальный конфигурационный файл: `/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. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно 1. Главное окно

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 24 KiB

@ -1,7 +1,8 @@
ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-info** ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-info**
1. **ОПИСАНИЕ:** 1. **ОПИСАНИЕ:**
Графическое средство настройки даты и времени в ОС UBLinux
Графическое средство настройки даты и времени в ОС UBLinux
1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:** 1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:**
1. Общий срок работ по созданию приложения составляет N дней: 1. Общий срок работ по созданию приложения составляет N дней:
@ -9,10 +10,10 @@
1. N дней - разработка приложения 1. N дней - разработка приложения
1. N дня - тестирование приложения и исправление ошибок 1. N дня - тестирование приложения и исправление ошибок
1. Перечень этапов разработки приложения: 1. Перечень этапов разработки приложения:
1. Разработка макета и дизайна приложения, самостоятельно 1. Разработка макета и дизайна приложения
1. Утверждение и доработка макета, самостоятельно 1. Утверждение и доработка макета
1. Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно 1. Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д.
1. Проектирование алгоритма работы приложения, самостоятельно 1. Проектирование алгоритма работы приложения
1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно 1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
1. Тестирование и исправление ошибок, самостоятельно 1. Тестирование и исправление ошибок, самостоятельно
1. Публикация 1. Публикация
@ -23,21 +24,24 @@
1. Название приложения, техническое: **ubl-settings-info** 1. Название приложения, техническое: **ubl-settings-info**
1. Название приложения, публичное: **Информация о системе** 1. Название приложения, публичное: **Информация о системе**
1. Стек технологий: 1. Стек технологий:
1. Язык программирования: Bash или C++ 1. Язык программирования: Bash или C(++)
1. Приложение для разработки графического интерфейса: Glade 3 1. Приложение для разработки графического интерфейса: Glade 3
1. Графические библиотеки: GTK3 1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB 1. Операционная система разработки: UBLinux DB
1. Структура: 1. Структура:
1. **/usr/bin/ubl-settings-info (скомпилированный бинарный файл)** 1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++)
Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++ **/usr/bin/ubl-settings-info (скомпилированный бинарный файл)**
1. Файл **glade** скомпилирован в бинарный файл 1. Графическая часть, фронт
Графическая часть, фронт Файл **glade** скомпилирован в бинарный файл
1. Файл **css** скомпилирован в бинарный файл 1. Стили виджетов GTK
Стили виджетов GTK Файл **css** скомпилирован в бинарный файл
1. **/usr/share/ubl-settings-info/images/{\*.png,\*.svg}** 1. Элементы изображений
Элементы изображений **/usr/share/ubl-settings-info/images/{\*.png,\*.svg}**
1. **/usr/share/ubl-settings-info/locale -> /usr/share/locale** 1. Локализация En/Ru
Локализация En/Ru Для локализации должен быть создан файл-шаблон ***name_programm.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути:
**/usr/share/locale/\${LANG}/LC_MESSAGES/${FILE_MO}**
где ${LANG} - каталог с именем локали, например, "ru" или "ru_RU",
\${FILE_MO} - файл локализации программы, например, "${NAME_APPLICATION}.mo"
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** 1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл): 1. Ярлык (desktop-файл):
@ -62,30 +66,79 @@
1. Левый блок: 1. Левый блок:
- логотип текущей операционной системы (масштабируемый SVG-файл). Статический элемент. Выравнивание по центру родительского элемента. - логотип текущей операционной системы (масштабируемый SVG-файл). Статический элемент. Выравнивание по центру родительского элемента.
1. Правый блок: 1. Правый блок:
- список информации о программно-аппаратных характеристиках рабочей станции. Статический элемент. Выравнивание по левому краю.: 1. Список информации о программно-аппаратных характеристиках рабочей станции. Статический элемент. Выравнивание по левому краю.:
- Имя пользователя и хоста, например: *miramax166@mmx166-pc* 1. Имя пользователя и хоста, например: *miramax166@mmx166-pc*
- Название ОС, билд, редакция, например: *Система: UBLinux 2204 Desktop Basic* 1. Название ОС, билд, редакция, например: *Система: UBLinux 2204 Desktop Basic*
- Информация о ядре ОС, например: *Ядро: x86_64 Linux 5.17.6-2-ublinux* 1. Информация о ядре ОС, например: *Ядро: x86_64 Linux 5.17.6-2-ublinux*
- Аптайм системы, например, *Время работы: 2h 14m* 1. Аптайм системы, например, *Время работы: 2h 14m*
- Информация о пакетах, например: *Установлено пакетов: 2306* 1. Информация о пакетах, например: *Установлено пакетов: 2306*
- Информация об оболочке, например, *Оболочка: sh* 1. Информация об оболочке, например, *Оболочка: sh*
- Разрешение эрана (-ов), например, *Разрешение: 5760x1080* 1. Разрешение эрана (-ов), например, *Разрешение: 5760x1080*
- Информация о DE, например, *Среда рабочего стола: Xfce4* 1. Информация о DE, например, *Среда рабочего стола: Xfce4*
- Информация об оконном менеджере, например, *Оконный менеджер: Xfwm4* 1. Информация об оконном менеджере, например, *Оконный менеджер: Xfwm4*
- Информация о теме системы, например, *Тема оконного менеджера: Numix-Archblue* 1. Информация о теме системы, например, *Тема оконного менеджера: Numix-Archblue*
- Информация о теме GTK-среды, например, *Тема GTK: Arc-Dark [GTK2]* 1. Информация о теме GTK-среды, например, *Тема GTK: Arc-Dark [GTK2]*
- Информация о теме значков, например, *Тема значков: Faenza-Cupertino* 1. Информация о теме значков, например, *Тема значков: Faenza-Cupertino*
- Информация о шрифте, например, *Шрифт: Ubuntu 10* 1. Информация о шрифте, например, *Шрифт: Ubuntu 10*
- Информация о диске, например, *Диск: 394G / 960G (42%)* 1. Информация о диске, например, *Диск: 394G / 960G (42%)*
- Информация о процессоре, например, *CPU: Intel Core i3-9100 @ 4x 4.2GHz [38.0°C]* 1. Информация о процессоре, например, *CPU: Intel Core i3-9100 @ 4x 4.2GHz [38.0°C]*
- Информация о видеокарте, например, *GPU: NVIDIA GeForce GT 710* 1. Информация о видеокарте, например, *GPU: NVIDIA GeForce GT 710*
- Информация об ОЗУ, например, *Оперативная память: 4406MiB / 15934MiB*. 1. Информация об ОЗУ, например, *Оперативная память: 4406MiB / 15934MiB*.
1. **ОСОБЕННОСТИ**
1. Окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты
1. Копирайты, порядок:
1. Иконка приложения
1. Название утилиты
1. Версия программы
1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Авторские права © ООО "Юбисофт", 2022 - $LASTYEAR
- локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - $LASTYEAR"
- где $LASTYEAR - текущий год.
1. **КОМАНДЫ** 1. **КОМАНДЫ**
1. На данный момент реализовать методом парсинга вывода screenfetch. 1. Получить имя текущего пользователя
1. команда - ``
1. Получить имя хоста
1. команда - ``
1. Получить название ОС, билд, редакция
1. команда - ``
1. Поучить информацию о ядре ОС
1. команда - ``
1. Получить время работы системы
1. команда - ``
1. Получить информацию о пакете
1. команда - ``
1. Получить информацию об оболочке
1. команда - ``
1. Получить информацию об разрешение эрана (-ов)
1. команда - ``
1. Получить информацию о DE
1. команда - ``
1. Получить информацию об оконном менеджере
1. команда - ``
1. Получить информацию о теме системы
1. команда - ``
1. Получить информацию о теме GTK-среды
1. команда - ``
1. Получить информацию о теме значков
1. команда - ``
1. Получить информацию о шрифте
1. команда - ``
1. Получить информацию о диске
1. команда - ``
1. Получить информацию о процессоре
1. команда - ``
1. Получить информацию о видеокарте
1. команда - ``
1. Получить информацию об ОЗУ
1. команда - ``
1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.** 1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно 1. Главное окно
![](https://gitea.ublinux.ru/miramax166/design-ubl-settings-apps/raw/branch/master/ubl-settings-info/pic/01%28ru_RU%29.png)
![](https://gitea.ublinux.ru/miramax166/design-ubl-settings-apps/raw/branch/master/ubl-settings-info/pic/01%28ru_RU%29.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@ -0,0 +1,97 @@
ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-video**
1. **ОПИСАНИЕ:**
Графическое средство настройки вывода изображенния в ОС UBLinux
1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:**
1. Общий срок работ по созданию приложения составляет N дней:
1. N дня - макет и дизайн приложения и его утверждение
1. N дней - разработка приложения
1. N дня - тестирование приложения и исправление ошибок
1. Перечень этапов разработки приложения:
1. Разработка макета и дизайна приложения
1. Утверждение и доработка макета
1. Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д.
1. Проектирование алгоритма работы приложения
1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
1. Тестирование и исправление ошибок, самостоятельно
1. Публикация
1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:**
1. Приложение разрабатывается под нужды операционной системы UBLinux
1. Использование фирменного логотипа компании
1. Название приложения, техническое: **ubl-settings-video**
1. Название приложения, публичное: **Видеокарта/Экран**
1. Стек технологий:
1. Язык программирования: Bash или C(++)
1. Приложение для разработки графического интерфейса: Glade 3
1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB
1. Структура:
1. Bash/C(++): Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C(++)
**/usr/bin/ubl-settings-video (скомпилированный бинарный файл)**
1. Графическая часть, фронт
Файл **glade** скомпилирован в бинарный файл
1. Стили виджетов GTK
Файл **css** скомпилирован в бинарный файл
1. Элементы изображений
**/usr/share/ubl-settings-video/images/{\*.png,\*.svg}**
1. Локализация En/Ru
Для локализации должен быть создан файл-шаблон ***name_programm.pot***, на его основе должны быть созданы сами ***po-файлы*** переводов на необходимые языки, через файл сборки из po-файлов компилируются ***mo-файлы*** и размещаются сценарием установки по указанному пути:
**/usr/share/locale/\${LANG}/LC_MESSAGES/${FILE_MO}**
где ${LANG} - каталог с именем локали, например, "ru" или "ru_RU",
\${FILE_MO} - файл локализации программы, например, "${NAME_APPLICATION}.mo"
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл):
1. Type: Application
1. Exec: ubl-settings-video
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. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла").
1. Кнопка "Сохранить" -> ("Сохранить глобальную и локальную конфигурацию). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию" происходит отдельное сохранение настроек.
1. Обработчик ошибок. Встроенный небольшой обработчик кодов внутренних ошибок, который должен передавать статус возникшей ошибки в строку уведомления. Например: "Невозможно прочитать значение параметра XXXXXX!"
1. Строка уведомлений. Цвет в зависимости от сигнала:
- песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
- красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы, полученных от обработчика ошибок.
1. Окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты
1. Копирайты, порядок:
1. Иконка приложения
1. Название утилиты
1. Версия программы
1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Авторские права © ООО "Юбисофт", 2022 - $LASTYEAR
- локализованный (en_EN) вариант: "Copyright © UBSoft LLC, 2022 - $LASTYEAR"
- где $LASTYEAR - текущий год.
1. **КОМАНДЫ**
1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

Loading…
Cancel
Save