From 0fa81923c3b96cabd27466b8fb29ad3dc7d66d3b Mon Sep 17 00:00:00 2001 From: MiraMaX166 Date: Fri, 3 Mar 2023 12:34:29 +0600 Subject: [PATCH] fix readme in project ubl-settings-datetime --- ubl-settings-datetime/README.md | 278 ++++++++++++++++---------------- 1 file changed, 139 insertions(+), 139 deletions(-) diff --git a/ubl-settings-datetime/README.md b/ubl-settings-datetime/README.md index 7c7bd19..eb5ba90 100644 --- a/ubl-settings-datetime/README.md +++ b/ubl-settings-datetime/README.md @@ -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) - \ No newline at end of file +