diff --git a/ubl-settings-datetime/README.md b/ubl-settings-datetime/README.md new file mode 100644 index 0000000..1bae06b --- /dev/null +++ b/ubl-settings-datetime/README.md @@ -0,0 +1,99 @@ +ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-datetime** + +1. **ОПИСАНИЕ:** +Графическое средство настройки даты и времени в ОС UBLinux + +1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:** +Общий срок работ по созданию приложения составляет N дней: + - N дня - макет и дизайн приложения и его утверждение + - N дней - разработка приложения + - N дня - тестирование приложения и исправление ошибок + + Перечень этапов разработки приложения: + - Разработка макета и дизайна приложения, самостоятельно + - Утверждение и доработка макета, самостоятельно + - Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно + - Проектирование алгоритма работы приложения, самостоятельно + - Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно + - Тестирование и исправление ошибок, самостоятельно + - Публикация + +1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:** + 1. Приложение разрабатывается под нужды операционной системы UBLinux + 1. Использование фирменного логотипа компании + 1. Название приложения, техническое: **ubl-settings-datetime** + 1. Название приложения, публичное: **UBConfig - Дата и время** + 1. Стек технологий: + - Язык программирования: Bash или C++ + - Приложение для разработки графического интерфейса: Glade 3 + - Графические библиотеки: GTK3 + - Операционная система разработки: UBLinux DB + 1. Структура: + - **/usr/bin/ubl-settings-datetime (скомпилированный бинарный файл)** + Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++ + - **/usr/share/ubl-settings-datetime/images/{\*.png,\*.svg}** + Элементы изображений + - **/usr/share/ubl-settings-datetime/locale -> /usr/share/locale** + Локализация En/Ru + +1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** + 1. Главное окно: + 1. Требования к внешнему виду: + - Адаптивный (резиновый) дизайн. + - Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей. + - Шапка в стиле приложений GTK3. + - В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением. + - Рабочая область делится на два блока, которые обрамлены рамками с заголовками: «Локальная настройка», «Глобальная настройка». + 1. Требования к «Рабочей области». Выводятся группы настроек запуска: + 1. Локальная настройка + - лейбл "Время". + - счётчик от 00 до 23 (часы). + - лейбл «:» (разделитель). + - счётчик от 00 до 59 (минуты). + - лейбл «Дата». + - поле ввода. Ввод даты в формате ДД.ММ.ГГГГ + - кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты). + - кнопка «Синхронизировать». Синхронизация выставленных даты и времени с часами и датой системы. + - кнопка «Синхронизировать аппаратное время». Синхронизация даты и времени с временем BIOS рабочей станции. + - вложенный блок с заголовком «Часовой пояс». + - лейбл «Регион:». + - комбобокс. Перечень регионов, локализация стандартными средствами. + - лейбл «Зона:». + - комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами. + 1. Глобальная настройка + - чекбокс "Синхронизоравать через NTP" + - комбобокс с вариантами выбора сервера: «По умолчанию, DHCP, Вручную». При выборе «По умолчанию», второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. Содержание поля - ответ полученный на запрос «ubconfig --source=default get NTPSERVERS\_DEFAULT». При выборе «По умолчанию» в конфиг файл передаются значения: «NTPSERVERS=default». Неактивно, если не включен чекбокс "Синхронизоравать через NTP". + - поле ввода для ручного указания серверов. Неактивно, если не включен чекбокс "Синхронизоравать через NTP", выбрана опция «По умолчанию» в комбобоксе с вариантами выбора сервера. + - дроплист с именами пользователей системы + пользователь root (доступно, если активен чекбокс "Выполнить от имени другого пользователя") + - вложенный блок с заголовком «Часовой пояс». + - лейбл «Регион:». + - комбобокс. Перечень регионов, локализация стандартными средствами. + - лейбл «Зона:». + - комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами. + +1. **КОМАНДЫ** + 1. Задать время: `date +%T -s "h:m:sec"` + 1. Задать дату: `date +%Y%m%d -s "2000:06:14"` + 1. Синхронизировать аппаратное время: `hwclock --systohc` + 1. Проверка запущенных процессов синхронизации, например, `pidof -q systemd-timesyncd ntpd chronyd`. + 1. Остановка сервисов: + 1. systemd-timesyncd `[[ systemctl --quiet is-active systemd-timesyncd &>/dev/null ]] && systemctl stop systemd-timesyncd` + 1. ntp `[[ systemctl --quiet is-active ntpd &>/dev/null ]] && systemctl stop ntpd` + 1. openntp `[[ systemctl --quiet is-active openntpd &>/dev/null ]] && systemctl stop openntpd` + 1. linuxptp `[[ systemctl --quiet is-active ptp4l &>/dev/null ]] && systemctl stop ptp4l` + 1. Установка часового пояса: `ln -s /usr/share/zoneinfo/ && ln -s /usr/share/zoneinfo/REGION/ZONE` + 1. Команды записи в конфигурационный файл: + 1. получить статус синхронизации NTP: `/usr/bin/ubconfig get network NTPSERVERS` + 1. Задать значение NTPSERVERS: + 1. Если выбран по умолчанию: `/usr/bin/ubconfig set network NTPSERVERS=default` + 1. Если выбран dhcp: `/usr/bin/ubconfig set network NTPSERVERS=dhcp` + 1. Если выбран вручную: `/usr/bin/ubconfig set network NTPSERVERS=АДРЕСА ИЗ ПОЛЯ` + 1. Получить текущую временную зону: `/usr/bin/ubconfig get clock ZONE` + 1. Задать временную зону: `/usr/bin/ubconfig set clock ZONE=REGION/ZONE` + 1. Отключить синхронизацию NTP: `/usr/bin/ubconfig remove network NTPSERVERS` + +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 diff --git a/ubl-settings-datetime/layout/ubl-settings-datetime(en_EN).bmpr b/ubl-settings-datetime/layout/ubl-settings-datetime(en_EN).bmpr new file mode 100644 index 0000000..5cdcff6 Binary files /dev/null and b/ubl-settings-datetime/layout/ubl-settings-datetime(en_EN).bmpr differ diff --git a/ubl-settings-datetime/layout/ubl-settings-datetime(ru_RU).bmpr b/ubl-settings-datetime/layout/ubl-settings-datetime(ru_RU).bmpr new file mode 100644 index 0000000..58decee Binary files /dev/null and b/ubl-settings-datetime/layout/ubl-settings-datetime(ru_RU).bmpr differ diff --git a/ubl-settings-datetime/pdf/ubl-settings-datetime(en_EN).pdf b/ubl-settings-datetime/pdf/ubl-settings-datetime(en_EN).pdf new file mode 100644 index 0000000..bf40cef Binary files /dev/null and b/ubl-settings-datetime/pdf/ubl-settings-datetime(en_EN).pdf differ diff --git a/ubl-settings-datetime/pdf/ubl-settings-datetime(ru_RU).pdf b/ubl-settings-datetime/pdf/ubl-settings-datetime(ru_RU).pdf new file mode 100644 index 0000000..453520b Binary files /dev/null and b/ubl-settings-datetime/pdf/ubl-settings-datetime(ru_RU).pdf differ diff --git a/ubl-settings-datetime/pic/01(en_EN).png b/ubl-settings-datetime/pic/01(en_EN).png new file mode 100644 index 0000000..07f702e Binary files /dev/null and b/ubl-settings-datetime/pic/01(en_EN).png differ diff --git a/ubl-settings-datetime/pic/01(ru_RU).png b/ubl-settings-datetime/pic/01(ru_RU).png new file mode 100644 index 0000000..9496bbd Binary files /dev/null and b/ubl-settings-datetime/pic/01(ru_RU).png differ diff --git a/ubl-settings-datetime/pic/02(en_EN).png b/ubl-settings-datetime/pic/02(en_EN).png new file mode 100644 index 0000000..befddfc Binary files /dev/null and b/ubl-settings-datetime/pic/02(en_EN).png differ diff --git a/ubl-settings-datetime/pic/02(ru_RU).png b/ubl-settings-datetime/pic/02(ru_RU).png new file mode 100644 index 0000000..0c02634 Binary files /dev/null and b/ubl-settings-datetime/pic/02(ru_RU).png differ diff --git a/ubl-settings-datetime/pic/03(en_EN).png b/ubl-settings-datetime/pic/03(en_EN).png new file mode 100644 index 0000000..a8acc76 Binary files /dev/null and b/ubl-settings-datetime/pic/03(en_EN).png differ diff --git a/ubl-settings-datetime/pic/03(ru_RU).png b/ubl-settings-datetime/pic/03(ru_RU).png new file mode 100644 index 0000000..9326deb Binary files /dev/null and b/ubl-settings-datetime/pic/03(ru_RU).png differ diff --git a/ubl-settings-datetime/pic/04(en_EN).png b/ubl-settings-datetime/pic/04(en_EN).png new file mode 100644 index 0000000..2152453 Binary files /dev/null and b/ubl-settings-datetime/pic/04(en_EN).png differ diff --git a/ubl-settings-datetime/pic/04(ru_RU).png b/ubl-settings-datetime/pic/04(ru_RU).png new file mode 100644 index 0000000..f50e85d Binary files /dev/null and b/ubl-settings-datetime/pic/04(ru_RU).png differ diff --git a/ubl-settings-datetime/pic/ubl-settings-datetime_page_1.jpg b/ubl-settings-datetime/pic/ubl-settings-datetime_page_1.jpg deleted file mode 100644 index 146d7f4..0000000 Binary files a/ubl-settings-datetime/pic/ubl-settings-datetime_page_1.jpg and /dev/null differ diff --git a/ubl-settings-datetime/ubl-settings-datetime.bmpr b/ubl-settings-datetime/ubl-settings-datetime.bmpr deleted file mode 100644 index a4033e8..0000000 Binary files a/ubl-settings-datetime/ubl-settings-datetime.bmpr and /dev/null differ diff --git a/ubl-settings-datetime/ubl-settings-datetime.pdf b/ubl-settings-datetime/ubl-settings-datetime.pdf deleted file mode 100644 index fa9e6ad..0000000 Binary files a/ubl-settings-datetime/ubl-settings-datetime.pdf and /dev/null differ