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

Reviewed-on: #16
pull/17/head
Dmitry Razumov 3 years ago
commit 37e2801896

@ -4,19 +4,18 @@
Графическое средство настройки даты и времени в ОС UBLinux Графическое средство настройки даты и времени в ОС UBLinux
1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:** 1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:**
Общий срок работ по созданию приложения составляет N дней: 1. Общий срок работ по созданию приложения составляет N дней:
- N дня - макет и дизайн приложения и его утверждение - N дня - макет и дизайн приложения и его утверждение
- N дней - разработка приложения - N дней - разработка приложения
- N дня - тестирование приложения и исправление ошибок - N дня - тестирование приложения и исправление ошибок
1. Перечень этапов разработки приложения:
Перечень этапов разработки приложения: - Разработка макета и дизайна приложения, самостоятельно
- Разработка макета и дизайна приложения, самостоятельно - Утверждение и доработка макета, самостоятельно
- Утверждение и доработка макета, самостоятельно - Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно
- Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно 1. Проектирование алгоритма работы приложения, самостоятельно
- Проектирование алгоритма работы приложения, самостоятельно 1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
- Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно 1. Тестирование и исправление ошибок, самостоятельно
- Тестирование и исправление ошибок, самостоятельно 1. Публикация
- Публикация
1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:** 1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:**
1. Приложение разрабатывается под нужды операционной системы UBLinux 1. Приложение разрабатывается под нужды операционной системы UBLinux
@ -47,40 +46,40 @@
1. Categories: X-UBL-SettingsManager;X-UBL-SystemSettings 1. Categories: X-UBL-SettingsManager;X-UBL-SystemSettings
1. Главное окно: 1. Главное окно:
1. Требования к внешнему виду: 1. Требования к внешнему виду:
- Адаптивный (резиновый) дизайн. 1. Адаптивный (резиновый) дизайн.
- Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей. 1. Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей.
- Шапка в стиле приложений GTK3 с содержимым: 1. Шапка в стиле приложений GTK3 с содержимым:
- Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию") 1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию")
- Заголовок окна, название приложения 1. Заголовок окна, название приложения
- Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию") 1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию")
- Кнопка с иконкой с выпадающим списком -> "Справка, О приложении" 1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении"
- Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть" 1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть"
- В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением. 1. В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением.
- Срока уведомления, представляющая собой полосу с инфографикой строки уведомлений. 1. Срока уведомления, представляющая собой полосу с инфографикой строки уведомлений.
- Рабочая область. 1. Рабочая область.
1. Требования к "Рабочей области". Выводятся группы настроек запуска: 1. Требования к "Рабочей области". Выводятся группы настроек запуска:
1. Блок с заголовком "Текущие дата и время" 1. Блок с заголовком "Текущие дата и время"
- лейбл "Время". 1. лейбл "Время".
- счётчик от 00 до 23 (часы). 1. счётчик от 00 до 23 (часы).
- лейбл ":" (разделитель). 1. лейбл ":" (разделитель).
- счётчик от 00 до 59 (минуты). 1. счётчик от 00 до 59 (минуты).
- лейбл "Дата". 1. лейбл "Дата".
- поле ввода. Ввод даты в формате ДД.ММ.ГГГГ 1. поле ввода. Ввод даты в формате ДД.ММ.ГГГГ
- кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты). 1. кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты).
- кнопка "Синхронизировать". Синхронизация выставленных даты и времени с часами и датой системы. Неактивно, если выбраны значения "По умолчанию, DHCP, Вручную" чекбокса в блоке "Синхронизация через NTP". 1. кнопка "Синхронизировать". Синхронизация выставленных даты и времени с часами и датой системы. Неактивно, если выбраны значения "По умолчанию, DHCP, Вручную" чекбокса в блоке "Синхронизация через NTP".
- кнопка "Синхронизировать аппаратное время". Синхронизация даты и времени с временем BIOS рабочей станции. 1. кнопка "Синхронизировать аппаратное время". Синхронизация даты и времени с временем BIOS рабочей станции.
1. Блок с заголовком "Синхронизация через NTP" 1. Блок с заголовком "Синхронизация через NTP"
- комбобокс с вариантами выбора сервера: "Остановлено, По умолчанию, DHCP, Вручную". При выборе "По умолчанию", второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. При выборе "По умолчанию" в конфигурационный файл передаются значения: "NTPSERVERS=default". 1. комбобокс с вариантами выбора сервера: "Остановлено, По умолчанию, DHCP, Вручную". При выборе "По умолчанию", второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. При выборе "По умолчанию" в конфигурационный файл передаются значения: "NTPSERVERS=default".
- поле ввода для ручного указания серверов. Неактивно, если выбраны значения "Отключено, Остановлено, По умолчанию, DHCP" комбобокса в блоке "Синхронизация через NTP". 1. поле ввода для ручного указания серверов. Неактивно, если выбраны значения "Отключено, Остановлено, По умолчанию, DHCP" комбобокса в блоке "Синхронизация через NTP".
1. Блок с заголовком "Часовой пояс". 1. Блок с заголовком "Часовой пояс".
- лейбл "Синхронизация аппаратного времени:" 1. лейбл "Синхронизация аппаратного времени:"
- комбокс с вариантами "Локальное время, Время по UTC" 1. комбокс с вариантами "Локальное время, Время по UTC"
- вложенный блок с заголовком "Часовой пояс". 1. вложенный блок с заголовком "Часовой пояс".
- блок с заголовком "Синхронизация через NTP" 1. блок с заголовком "Синхронизация через NTP"
- лейбл "Регион:". 1. лейбл "Регион:".
- комбобокс. Локализованный перечень регионов. 1. комбобокс. Локализованный перечень регионов.
- лейбл "Зона:". 1. лейбл "Зона:".
- комбобокс. Перечень городов с поправкой на часовой пояс. Например, "(UTC +06) Омск". Перечень регионов, локализация стандартными средствами. 1. комбобокс. Перечень городов с поправкой на часовой пояс. Например, "(UTC +06) Омск". Перечень регионов, локализация стандартными средствами.
1. **ОСОБЕННОСТИ** 1. **ОСОБЕННОСТИ**
1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"). 1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла").
1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit. 1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit.
@ -90,60 +89,60 @@
- песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы. - песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
- красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы. - красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы.
1. Окно с выводом информации о программе: 1. Окно с выводом информации о программе:
- Заголовок окна по локализованному названию утилиты 1. Заголовок окна по локализованному названию утилиты
- Версия берётся из main.cpp глобальной переменной в исходника: UBAPP_VERSION 1. Версия берётся из main.cpp глобальной переменной в исходника: UBAPP_VERSION
- Копирайты, порядок: 1. Копирайты, порядок:
- Иконка приложения 1. Иконка приложения
- Название утилиты 1. Название утилиты
- Версия программы 1. Версия программы
- Название утилиты, локализованное 1. Название утилиты, локализованное
- Ссылка "Домашняя страница проекта" на https://ublinux.ru/ 1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
- Copyright (c) 2023 - UBSoft Software LLC 1. Copyright (c) 2023 - UBSoft Software LLC
1. **КОМАНДЫ** 1. **КОМАНДЫ**
1. Текущие дата и время 1. Текущие дата и время
- Чтение значения: 1. Чтение значения:
- через средства функции на языке Си 1. через средства функции на языке Си
- Установить значение: 1. Установить значение:
- счётчики часы и минуты: `date +%T -s "h:m:sec"` (кнопка "Синхронизировать") 1. счётчики часы и минуты: `date +%T -s "h:m:sec"` (кнопка "Синхронизировать")
- дата: `date +%Y%m%d -s "2000:06:14"` (кнопка "Синхронизировать") 1. дата: `date +%Y%m%d -s "2000:06:14"` (кнопка "Синхронизировать")
- Синхронизировать аппаратное время: 1. Синхронизировать аппаратное время:
- Установить значение: `hwclock --systohc` (кнопка "Синхронизировать аппаратное время") 1. Установить значение: `hwclock --systohc` (кнопка "Синхронизировать аппаратное время")
1. Синхронизация через NTP 1. Синхронизация через NTP
- Чтение значения: 1. Чтение значения:
- из локального конфигурационного файла: `/usr/bin/ubconfig --source system get network NTPSERVERS` 1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get network NTPSERVERS`
- из глобального конфигурационного файла: `/usr/bin/ubconfig --source global get network NTPSERVERS` 1. из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get network NTPSERVERS`
- Установить значение: 1. Установить значение:
- "Остановлено" 1. "Остановлено"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=stop` в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=stop`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=stop` в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=stop`
- "По умолчанию" 1. "По умолчанию"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=default` в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=default`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=default` в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=default`
- "DHCP" 1. "DHCP"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=dhcp` в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=dhcp`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=dhcp` в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=dhcp`
- "Вручную" 1. "Вручную"
в локальный конфигурационный файл: `/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", разделённых "," или ";".
- Проверка запущенных процессов синхронизации (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. Чтение значений:
- из локального конфигурационного файла: `/usr/bin/ubconfig --source system get clock HWCLOCK_SYNC` - из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get clock HWCLOCK_SYNC`
- из глобального конфигурационного файла: `/usr/bin/ubconfig --source global get clock HWCLOCK_SYNC` - из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get clock HWCLOCK_SYNC`
- Установить значение: 1. Установить значение:
- "Локальное время" 1. "Локальное время"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=localtime` в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=localtime`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=localtime` в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=localtime`
- "Время по UTC" 1. "Время по UTC"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=utc` в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=utc`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=utc` в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=utc`
- Комбобокс "Регион", "Зона": 1. Комбобокс "Регион", "Зона":
- Чтение значений: 1. Чтение значений:
- из локального конфигурационного файла: `/usr/bin/ubconfig --source system get clock ZONE` - из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system get clock ZONE`
- из глобального конфигурационного файла: `/usr/bin/ubconfig --source global get clock ZONE` - из глобального конфигурационного файла: `/usr/bin/ubconfig --default --source global get clock ZONE`
- Установить значение: 1. Установить значение:
- в локальный конфигурационный файл: `/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".

Loading…
Cancel
Save