fix readme in project ubl-settings-datetime

pull/17/head
MiraMaX166 3 years ago
parent 9145906eb1
commit 0fa81923c3
Signed by: user-166
GPG Key ID: C58520EF14C48E3A

@ -4,151 +4,151 @@
Графическое средство настройки даты и времени в ОС UBLinux
1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:**
1. Общий срок работ по созданию приложения составляет N дней:
1. N дня - макет и дизайн приложения и его утверждение
1. N дней - разработка приложения
1. N дня - тестирование приложения и исправление ошибок
1. Перечень этапов разработки приложения:
1. Разработка макета и дизайна приложения, самостоятельно
1. Утверждение и доработка макета, самостоятельно
1. Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно
1. Проектирование алгоритма работы приложения, самостоятельно
1. Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
1. Тестирование и исправление ошибок, самостоятельно
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-datetime**
1. Название приложения, публичное: **Дата и время**
1. Стек технологий:
1. Язык программирования: Bash или C++
1. Приложение для разработки графического интерфейса: Glade 3
1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB
1. Структура:
1. **/usr/bin/ubl-settings-datetime (скомпилированный бинарный файл)**
Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++
1. Файл **glade** скомпилирован в бинарный файл
Графическая часть, фронт
1. Файл **css** скомпилирован в бинарный файл
Стили виджетов GTK
1. **/usr/share/ubl-settings-datetime/images/{\*.png,\*.svg}**
Элементы изображений
1. **/usr/share/ubl-settings-datetime/locale -> /usr/share/locale**
Локализация En/Ru
1. Приложение разрабатывается под нужды операционной системы UBLinux
1. Использование фирменного логотипа компании
1. Название приложения, техническое: **ubl-settings-datetime**
1. Название приложения, публичное: **Дата и время**
1. Стек технологий:
1. Язык программирования: Bash или C++
1. Приложение для разработки графического интерфейса: Glade 3
1. Графические библиотеки: GTK3
1. Операционная система разработки: UBLinux DB
1. Структура:
1. **/usr/bin/ubl-settings-datetime (скомпилированный бинарный файл)**
Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++
1. Файл **glade** скомпилирован в бинарный файл
Графическая часть, фронт
1. Файл **css** скомпилирован в бинарный файл
Стили виджетов GTK
1. **/usr/share/ubl-settings-datetime/images/{\*.png,\*.svg}**
Элементы изображений
1. **/usr/share/ubl-settings-datetime/locale -> /usr/share/locale**
Локализация En/Ru
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл):
1. Type: Application
1. Exec: ubl-settings-datetime
1. Categories: X-UBL-SettingsManager;X-UBL-SystemSettings
1. Главное окно:
1. Требования к внешнему виду:
1. Адаптивный (резиновый) дизайн.
1. Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей.
1. Шапка в стиле приложений GTK3 с содержимым:
1. Иконка приложения
1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию")
1. Заголовок окна, название приложения
1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию")
1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении"
1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть"
1. В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением.
1. Срока уведомления, представляющая собой полосу с инфографикой строки уведомлений.
1. Рабочая область.
1. Требования к "Рабочей области". Выводятся группы настроек запуска:
1. Блок с заголовком "Текущие дата и время"
1. лейбл "Время".
1. счётчик от 00 до 23 (часы).
1. лейбл ":" (разделитель).
1. счётчик от 00 до 59 (минуты).
1. лейбл "Дата".
1. поле ввода. Ввод даты в формате ДД.ММ.ГГГГ
1. кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты).
1. кнопка "Синхронизировать". Синхронизация выставленных даты и времени с часами и датой системы. Неактивно, если выбраны значения "По умолчанию, DHCP, Вручную" чекбокса в блоке "Синхронизация через NTP".
1. кнопка "Синхронизировать аппаратное время". Синхронизация даты и времени с временем BIOS рабочей станции.
1. Блок с заголовком "Синхронизация через NTP"
1. комбобокс с вариантами выбора сервера: "Остановлено, По умолчанию, DHCP, Вручную". При выборе "По умолчанию", второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. При выборе "По умолчанию" в конфигурационный файл передаются значения: "NTPSERVERS=default".
1. поле ввода для ручного указания серверов. Неактивно, если выбраны значения "Отключено, Остановлено, По умолчанию, DHCP" комбобокса в блоке "Синхронизация через NTP".
1. Блок с заголовком "Часовой пояс".
1. лейбл "Синхронизация аппаратного времени:"
1. комбокс с вариантами "Локальное время, Время по UTC"
1. вложенный блок с заголовком "Часовой пояс".
1. блок с заголовком "Синхронизация через NTP"
1. лейбл "Регион:".
1. комбобокс. Локализованный перечень регионов.
1. лейбл "Зона:".
1. комбобокс. Перечень городов с поправкой на часовой пояс. Например, "(UTC +06) Омск". Перечень регионов, локализация стандартными средствами.
1. Ярлык (desktop-файл):
1. Type: Application
1. Exec: ubl-settings-datetime
1. Categories: X-UBL-SettingsManager;X-UBL-SystemSettings
1. Главное окно:
1. Требования к внешнему виду:
1. Адаптивный (резиновый) дизайн.
1. Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей.
1. Шапка в стиле приложений GTK3 с содержимым:
1. Иконка приложения
1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию")
1. Заголовок окна, название приложения
1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобальную конфигурацию, Сохранить локальную конфигурацию")
1. Кнопка с иконкой с выпадающим списком -> "Справка, О приложении"
1. Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть"
1. В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением.
1. Срока уведомления, представляющая собой полосу с инфографикой строки уведомлений.
1. Рабочая область.
1. Требования к "Рабочей области". Выводятся группы настроек запуска:
1. Блок с заголовком "Текущие дата и время"
1. лейбл "Время".
1. счётчик от 00 до 23 (часы).
1. лейбл ":" (разделитель).
1. счётчик от 00 до 59 (минуты).
1. лейбл "Дата".
1. поле ввода. Ввод даты в формате ДД.ММ.ГГГГ
1. кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты).
1. кнопка "Синхронизировать". Синхронизация выставленных даты и времени с часами и датой системы. Неактивно, если выбраны значения "По умолчанию, DHCP, Вручную" чекбокса в блоке "Синхронизация через NTP".
1. кнопка "Синхронизировать аппаратное время". Синхронизация даты и времени с временем BIOS рабочей станции.
1. Блок с заголовком "Синхронизация через NTP"
1. комбобокс с вариантами выбора сервера: "Остановлено, По умолчанию, DHCP, Вручную". При выборе "По умолчанию", второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. При выборе "По умолчанию" в конфигурационный файл передаются значения: "NTPSERVERS=default".
1. поле ввода для ручного указания серверов. Неактивно, если выбраны значения "Отключено, Остановлено, По умолчанию, DHCP" комбобокса в блоке "Синхронизация через NTP".
1. Блок с заголовком "Часовой пояс".
1. лейбл "Синхронизация аппаратного времени:"
1. комбокс с вариантами "Локальное время, Время по UTC"
1. вложенный блок с заголовком "Часовой пояс".
1. блок с заголовком "Синхронизация через NTP"
1. лейбл "Регион:".
1. комбобокс. Локализованный перечень регионов.
1. лейбл "Зона:".
1. комбобокс. Перечень городов с поправкой на часовой пояс. Например, "(UTC +06) Омск". Перечень регионов, локализация стандартными средствами.
1. **ОСОБЕННОСТИ**
1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла").
1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit.
1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла").
1. Кнопка "Сохранить" -> ("Cохранить конфигурацию, Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию"). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию" происходит отдельное сохранение настроек.
1. Строка уведомлений. Цвет в зависимости от сигнала:
- песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
- красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы.
1. Окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты
1. Версия берётся из main.cpp глобальной переменной в исходника: UBAPP_VERSION
1. Копирайты, порядок:
1. Иконка приложения
1. Название утилиты
1. Версия программы
1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Copyright (c) 2023 - UBSoft Software LLC
1. При загрузке утилиты по умолчанию загружаются данные из локального конфигурационного файла (выполняются команды блоков "Чтение значений: из локального конфигурационного файла").
1. Функции записи в локальный конфигурационный файл и чтения-записи в глобальный конфигурационный файл должны проходить процедуру повышения привилегий прав пользователя через polkit.
1. Кнопка "Загрузить" -> ("Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию"). При нажатии на кнопку происходит открытие меню с пунктами: "Загрузить глобальную конфигурацию, Загрузить локальную конфигурацию". Загрузка текущей и глобальной конфигурации в системе через скрипт ubconfig (выполняются команды блоков "Чтение значений: из локального конфигурационного файла"), загрузка конфигурации из файла настроек ОС ublinux.ini (выполняются команды блоков "Чтение значений: из глобального конфигурационного файла").
1. Кнопка "Сохранить" -> ("Cохранить конфигурацию, Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию"). Сохраняет текущие настройки через скрипт ubconfig (выполняются команды блоков "Установить значение: в локальный конфигурационный файл") и в конфигурационный файл настроек ОС ublinux.ini (выполняются команды блоков "Установить значение: в глобальный конфигурационный файл"). При выборе пунктов "Сохранить в глобальную конфигурацию, Сохранить в локальную конфигурацию" происходит отдельное сохранение настроек.
1. Строка уведомлений. Цвет в зависимости от сигнала:
- песочный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
- красный, пиктограмма "Восклицательный знак", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы.
1. Окно с выводом информации о программе:
1. Заголовок окна по локализованному названию утилиты
1. Версия берётся из main.cpp глобальной переменной в исходника: UBAPP_VERSION
1. Копирайты, порядок:
1. Иконка приложения
1. Название утилиты
1. Версия программы
1. Название утилиты, локализованное
1. Ссылка "Домашняя страница проекта" на https://ublinux.ru/
1. Copyright (c) 2023 - UBSoft Software LLC
1. **КОМАНДЫ**
1. Текущие дата и время
1. Чтение значения:
1. через средства функции на языке Си
1. Установить значение:
1. счётчики часы и минуты: `date +%T -s "h:m:sec"` (кнопка "Синхронизировать")
1. дата: `date +%Y%m%d -s "2000:06:14"` (кнопка "Синхронизировать")
1. Синхронизировать аппаратное время:
1. Установить значение: `hwclock --systohc` (кнопка "Синхронизировать аппаратное время")
1. Синхронизация через NTP
1. Чтение значения:
1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system 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 global set network NTPSERVERS=stop`
1. "По умолчанию"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=default`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=default`
1. "DHCP"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system 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 global set network NTPSERVERS=$VALUE`
где $VALUE - перечень серверов, полученных из поля в блоке "Синхронизация через NTP", разделённых "," или ";".
1. Проверка запущенных процессов синхронизации (systemd-timesyncd, ntpd, chronyd) и остановка этих сервисов сервисов, осуществляется выполнением команды `/usr/bin/ubconfig remove network NTPSERVERS` при выборе опции "Остановлено" из выпадающего списка блока "Синхронизация через NTP"
1. Часовой пояс
1. Синхронизация аппаратного времени:
1. Чтение значений:
- из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system 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 global set clock HWCLOCK_SYNC=localtime`
1. "Время по UTC"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=utc`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=utc`
1. Комбобокс "Регион", "Зона":
1. Чтение значений:
- из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system 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 global set clock ZONE=$VALUE`
где $VALUE - сложение срок-значений из комбобокса "Регион" и "Зона" через символ "/", например "Asia/Omsk".
1. Текущие дата и время
1. Чтение значения:
1. через средства функции на языке Си
1. Установить значение:
1. счётчики часы и минуты: `date +%T -s "h:m:sec"` (кнопка "Синхронизировать")
1. дата: `date +%Y%m%d -s "2000:06:14"` (кнопка "Синхронизировать")
1. Синхронизировать аппаратное время:
1. Установить значение: `hwclock --systohc` (кнопка "Синхронизировать аппаратное время")
1. Синхронизация через NTP
1. Чтение значения:
1. из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system 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 global set network NTPSERVERS=stop`
1. "По умолчанию"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set network NTPSERVERS=default`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set network NTPSERVERS=default`
1. "DHCP"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system 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 global set network NTPSERVERS=$VALUE`
где $VALUE - перечень серверов, полученных из поля в блоке "Синхронизация через NTP", разделённых "," или ";".
1. Проверка запущенных процессов синхронизации (systemd-timesyncd, ntpd, chronyd) и остановка этих сервисов сервисов, осуществляется выполнением команды `/usr/bin/ubconfig remove network NTPSERVERS` при выборе опции "Остановлено" из выпадающего списка блока "Синхронизация через NTP"
1. Часовой пояс
1. Синхронизация аппаратного времени:
1. Чтение значений:
- из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system 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 global set clock HWCLOCK_SYNC=localtime`
1. "Время по UTC"
в локальный конфигурационный файл: `/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=utc`
в глобальный конфигурационный файл: `/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=utc`
1. Комбобокс "Регион", "Зона":
1. Чтение значений:
- из локального конфигурационного файла: `/usr/bin/ubconfig --default --source system 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 global set clock ZONE=$VALUE`
где $VALUE - сложение срок-значений из комбобокса "Регион" и "Зона" через символ "/", например "Asia/Omsk".
1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно
1. Главное окно
![](https://gitea.ublinux.ru/miramax166/design-ubl-settings-apps/raw/branch/master/ubl-settings-datetime/pic/01%28ru_RU%29.png)

Loading…
Cancel
Save