@ -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. Публикация
|
||||||||||||
@ -23,25 +23,32 @@
|
|||||||||||||
1. Использование фирменного логотипа компании
|
1. Использование фирменного логотипа компании
|
||||||||||||
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-файл):
|
||||||||||||
1. Type: Application
|
1. Type: Application
|
||||||||||||
@ -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. через функции фронтенда передавать выбранный параметр в поле "Параметры командной строки" блока "Параметры, передаваемые ядру"
|
||||||||||||
|
asmeron
commented 3 years ago
Review
Можно добавлять параметры
user-166
commented 3 years ago
Review
Не совсем понял зачем это нужно, фронт получив опции собирает их и отправляет в бэк. Сама логика программы не нуждается в едичном добавлении параметров. Может оно и нужно будет для работы чисто с бэком из консоли, но посредством фронта это вообще не нужно, так как все данные летят пачкой единовременно при нажатии на кнопку "сохранить".
asmeron
commented 3 years ago
Review
Это я написал, для того что-бы уточнить, что есть такая возможность. Вдруг пригодиться. |
|||||||||||||
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. Параметры командной строки:
|
||||||||||||
1. ofconsole (Консоль Open Firmware):
|
1. Чтение значения:
|
||||||||||||
1. at_keyboard (Клавиатура PC AT (Coreboot)):
|
1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get config XXXXXX`
|
||||||||||||
1. usb_keyboard (Клавиатура USB Keyboard (протокол HID Boot)):
|
1. из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get config XXXXXX`
|
||||||||||||
1. Параметры командной строки:
|
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. Главное окно
|
||||||||||||
|
|
||||||||||||
|

|
||||||||||||
|
|||||||||||||
|
After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 113 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
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-файлы*** и размещаются сценарием установки по указанному пути:
|
||||||||||||
|
asmeron
commented 3 years ago
Review
name_programm заменить
user-166
commented 3 years ago
Review
Исправил. |
|||||||||||||
|
**/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. Главное окно
|
||||||||||||
|
|
||||||||||||
|
|||||||||||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 149 KiB |
name_programmзаменить на переменную, ранее писал об этомИсправил.
1c22510ad8