Merge pull request 'master' (#171) from YanTheKaller/ubl-settings-datetime:master into master

Reviewed-on: #171
pull/189/head v2.16
Dmitry Razumov 1 year ago
commit f0da8dd793

@ -47,7 +47,9 @@ void yon_save_parameters(GtkWidget *self, main_window *widgets){
break;
case 3:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"ntp-ru");
break;
case 5:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"stop");
case 5:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"disable");
break;
case 6:yon_config_register(NTPSERVERS_parameter,NTPSERVERS_parameter_command,"stop");
break;
case 4:
char *value = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->NTPEntry));
@ -81,22 +83,39 @@ void yon_save_parameters(GtkWidget *self, main_window *widgets){
}
void on_config_save(GtkWidget *){
int check_input(main_window *widgets){
int ntp_active = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->DHCPCombo));
if (ntp_active == 4){
const char *ntp = gtk_entry_get_text(GTK_ENTRY(widgets->NTPEntry));
if (yon_char_is_empty(ntp)){
yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(widgets->NTPEntry);
return 0;
}
}
return 1;
}
void on_config_save(GtkWidget *,main_window *widgets){
if (!check_input(widgets)) return;
main_config.save_config=2;
yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL);
}
void on_config_save_global(GtkWidget *){
void on_config_save_global(GtkWidget *,main_window *widgets){
if (!check_input(widgets)) return;
main_config.save_config=0;
yon_save_proceed(NULL,YON_CONFIG_GLOBAL,config_get_global_command,NULL);
}
void on_config_save_local(GtkWidget *){
void on_config_save_local(GtkWidget *,main_window *widgets){
if (!check_input(widgets)) return;
main_config.save_config=1;
yon_save_proceed(NULL,YON_CONFIG_LOCAL,config_get_local_command,NULL);
}
void on_config_save_custom(GtkWidget *){
void on_config_save_custom(GtkWidget *,main_window *widgets){
if (!check_input(widgets)) return;
main_config.save_config=3;
yon_save_proceed(NULL,YON_CONFIG_CUSTOM,config_get_global_command,NULL);
}
@ -222,8 +241,10 @@ void yon_interface_update(main_window *widgets){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),2);
} else if (!strcmp(ntp,"ntp-ru")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),3);
} else if (!strcmp(ntp,"stop")||!strcmp(ntp,"no")||!strcmp(ntp,"disable")){
} else if (!strcmp(ntp,"no")||!strcmp(ntp,"disable")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),5);
} else if (!strcmp(ntp,"stop")){
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),6);
} else {
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->DHCPCombo),4);
gtk_widget_set_sensitive(widgets->NTPEntry,1);
@ -409,17 +430,44 @@ void on_ntp_sync(GtkWidget *, main_window *widgets){
switch(mode){
case 0:
if (main_config.ntp_default){
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),main_config.ntp_default);
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),main_config.ntp_default);
}
break;
case 2:{
int size;
config_str parsed = yon_config_load(get_ntp_default_command,&size);
if (size&&!yon_char_is_empty(parsed[0])&&strcmp(parsed[0],"(null)\n")){
free(yon_char_divide_search(parsed[0],"=",-1));
yon_char_remove_last_symbol(parsed[0],'\n');
yon_char_remove_brackets(parsed[0]);
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),parsed[0]);
yon_char_parsed_free(parsed,size);
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
}
}
break;
case 3:{
int size;
config_str parsed = yon_config_load(get_ntp_ru_command,&size);
if (size&&!yon_char_is_empty(parsed[0])&&strcmp(parsed[0],"(null)\n")){
free(yon_char_divide_search(parsed[0],"=",-1));
yon_char_remove_last_symbol(parsed[0],'\n');
yon_char_remove_brackets(parsed[0]);
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),parsed[0]);
yon_char_parsed_free(parsed,size);
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
}
}
break;
case 1:
case 2:
case 3:
case 5:
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),"");
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
break;
case 4:
gtk_widget_set_sensitive(widgets->NTPEntry,1);
gtk_entry_set_placeholder_text(GTK_ENTRY(widgets->NTPEntry),"");
gtk_entry_set_text(GTK_ENTRY(widgets->NTPEntry),"");
break;
}
@ -544,37 +592,34 @@ void yon_main_window_complete(main_window **window){
g_signal_connect(G_OBJECT(widgets->ZoneCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
}
// Initial data loading
char *ntp_default = NULL;
char *time_sync_default = NULL;
char *ntp_default = NULL;
char *time_sync_default = NULL;
{
{
int size;
config_str parsed = yon_config_load(NTPSERVERS_parameter_command,&size);
if (size&&!yon_char_is_empty(parsed[0])){
yon_char_remove_last_symbol(parsed[0],'\n');
free(yon_char_divide_search(parsed[0],"=",-1));
if (!strcmp(parsed[0],"dhcp")){
if (!yon_char_is_empty(main_config.ntp_default)){
if (!strcmp(main_config.ntp_default,"dhcp")){
ntp_default = DHCP_LABEL;
} else if (!strcmp(parsed[0],"default")){
} else if (!strcmp(main_config.ntp_default,"default")){
ntp_default = NTP_LABEL;
} else if (!strcmp(parsed[0],"ntp-ru")){
} else if (!strcmp(main_config.ntp_default,"ntp-ru")){
ntp_default = NTp_RU_LABEL;
} else if (!strcmp(parsed[0],"disable")||!strcmp(parsed[0],"stop")){
} else if (!strcmp(main_config.ntp_default,"disable")){
ntp_default = STOPPED_LABEL;
} else if(!strcmp(main_config.ntp_default,"stop")) {
ntp_default = DISABLED_LABEL;
} else {
ntp_default = yon_char_new(parsed[0]);
ntp_default = yon_char_new(main_config.ntp_default);
}
yon_char_parsed_free(parsed,size);
}
}
{
int size;
config_str parsed = yon_config_load(HWCLOCK_SYNC_parameter_command,&size);
if (size&&!yon_char_is_empty(parsed[0])&&strcmp(parsed[0],"(null)\n")){
yon_char_remove_last_symbol(parsed[0],'\n');
if (size&&!yon_char_is_empty(parsed[0])){
free(yon_char_divide_search(parsed[0],"=",-1));
if (!strcmp(parsed[0],"utc")){
time_sync_default = UTC_LABEL;
@ -605,8 +650,6 @@ void yon_main_window_complete(main_window **window){
if (size) yon_char_parsed_free(parsed,size);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0);
}
gtk_window_resize(GTK_WINDOW(widgets->Window),100,150);
while(gtk_events_pending()) gtk_main_iteration();

@ -37,6 +37,9 @@
#define config_get_global_only_parameters ""
#define config_get_local_only_parameters ""
#define get_ntp_default_command "ubconfig --default get [network] NTPSERVERS_DEFAULT"
#define get_ntp_ru_command "ubconfig --default get [network] NTPSERVERS_RU"
#define NTPSERVERS_parameter "NTPSERVERS"
#define NTPSERVERS_parameter_command "ubconfig --source global get network NTPSERVERS"
#define NTPSERVERS_parameter_raw_command "ubconfig --source global --raw get network NTPSERVERS"
@ -121,13 +124,15 @@ void on_ntp_sync(GtkWidget *, main_window *widgets);
void yon_save_parameters(GtkWidget *self,main_window *widgets);
void on_config_save(GtkWidget *);
int check_input(main_window *widgets);
void on_config_save(GtkWidget *,main_window *widgets);
void on_config_save_global(GtkWidget *);
void on_config_save_global(GtkWidget *,main_window *widgets);
void on_config_save_local(GtkWidget *);
void on_config_save_local(GtkWidget *,main_window *widgets);
void on_config_save_custom(GtkWidget *);
void on_config_save_custom(GtkWidget *,main_window *widgets);
void on_config_load_global();

@ -15,7 +15,8 @@
#define SYNC_HARDWARE_LABEL _("Synchronize hardware time:")
#define SYNC_NTP_LABEL _("Synchronize via NTP")
#define DEFAULT_LABEL _("Default")
#define STOPPED_LABEL _("Stopped")
#define STOPPED_LABEL _("Do not configure")
#define DISABLED_LABEL _("Stop")
#define DHCP_LABEL "DHCP"
#define UTC_LABEL "UTC"
#define NTP_LABEL _("NTP-servers")

@ -5,6 +5,18 @@
.boxInfoMessOK{
background-color: #f3f0ac;
}
.errorBox {
border-width: 2px;
border-color: #ea9999;
border-style:solid;
}
.chosenOutline{
transition: 0ms;
border-width: 1px;
border-color: #f3f0ac;
border-style:solid;
}
.textHead{
text-shadow: 2px 2px @theme_bg_color;
color: @theme_text_color;

@ -273,10 +273,11 @@ format</property>
<property name="active">0</property>
<items>
<item translatable="yes">DHCP</item>
<item translatable="yes">NTP-servers</item>
<item translatable="yes">NTP-servers (RU)</item>
<item translatable="yes">NTP (ntp.org)</item>
<item translatable="yes">NTP (vniiftri.ru)</item>
<item translatable="yes">Manual</item>
<item translatable="yes">Stopped</item>
<item translatable="yes">Do not configure</item>
<item translatable="yes">Stop</item>
</items>
</object>
<packing>

File diff suppressed because it is too large Load Diff

@ -33,99 +33,67 @@ msgstr "Ошибка синхронизации аппаратных часов"
msgid "Important field is empty"
msgstr "Пустое важное поле"
#: source/ubl-strings.h:6
msgid "Date format:"
msgstr "Формат даты:"
#: source/ubl-strings.h:6
msgid "Date\nformat"
msgstr "Дата\nформат"
#: source/ubl-strings.h:29
msgid "YYYY"
msgstr "ГГГГ"
#: source/ubl-strings.h:30
msgid "MM"
msgstr "ММ"
#: source/ubl-strings.h:31
msgid "DD"
msgstr "ДД"
#: source/ubl-strings.h:32
msgid "DD.MM.YYYY"
msgstr "ДД.ММ.ГГГГ"
#: source/ubl-strings.h:33
msgid "DD-MM-YYYY"
msgstr "ДД-ММ-ГГГГ"
#: source/ubl-strings.h:34
msgid "DD/MM/YYYY"
msgstr "ДД/ММ/ГГГГ"
#: source/ubl-strings.h:35
msgid "MM-DD-YYYY"
msgstr "ММ-ДД-ГГГГ"
#: source/ubl-strings.h:7
#: source/ubl-strings.h:8
msgid "Accept"
msgstr "Принять"
#: source/ubl-strings.h:8
#: source/ubl-strings.h:9
msgid "Cancel"
msgstr "Отменить"
#: source/ubl-strings.h:9
#: source/ubl-strings.h:10
msgid "Current date and time"
msgstr "Текущие дата и время"
#: source/ubl-strings.h:10
#: source/ubl-strings.h:11
msgid "Time:"
msgstr "Время:"
#: source/ubl-strings.h:11
#: source/ubl-strings.h:12
msgid "Date:"
msgstr "Дата:"
#: source/ubl-strings.h:12
#: source/ubl-strings.h:13
msgid "Synchronize"
msgstr "Синхронизировать"
#: source/ubl-strings.h:13
#: source/ubl-strings.h:14
msgid "Synchronize hardware time"
msgstr "Синхронизировать аппаратное время"
#: source/ubl-strings.h:13
#: source/ubl-strings.h:15
msgid "Synchronize hardware time:"
msgstr "Синхронизировать аппаратное время:"
#: source/ubl-strings.h:14
#: source/ubl-strings.h:16
msgid "Synchronize via NTP"
msgstr "Синхронизировать через NTP"
#: source/ubl-strings.h:15
#: source/ubl-strings.h:17
msgid "Default"
msgstr "По умолчанию"
#: source/ubl-strings.h:16
msgid "Stopped"
msgstr "Остановлен"
#: source/ubl-strings.h:18
msgid "Do not configure"
msgstr "Не настраивать"
#: source/ubl-strings.h:17
msgid "Manual"
msgstr "Вручную"
#: source/ubl-strings.h:19
msgid "Stop"
msgstr "Отключить"
#: source/ubl-strings.h:17
#: source/ubl-strings.h:22
msgid "NTP-servers"
msgstr "NTP-серверы"
#: source/ubl-strings.h:17
#: source/ubl-strings.h:23
msgid "NTP-servers (RU)"
msgstr "NTP-серверы (RU)"
#: source/ubl-strings.h:18
#: source/ubl-strings.h:24
msgid "Manual"
msgstr "Вручную"
#: source/ubl-strings.h:25
msgid ""
"Enter the name of the ntp server or its ip address. When entering multiple "
"addresses, separate them with spaces."
@ -133,22 +101,65 @@ msgstr ""
"Введите имя ntp-сервера или его ip-адрес.\n"
"При вводе нескольких адресов, разделяйте их запятыми."
#: source/ubl-strings.h:19
#: source/ubl-strings.h:26
msgid "Time Zone"
msgstr "Часовой пояс"
#: source/ubl-strings.h:20
#: source/ubl-strings.h:27
msgid "Region:"
msgstr "Регион:"
#: source/ubl-strings.h:21
#: source/ubl-strings.h:28
msgid "Zone:"
msgstr "Зона:"
#: source/ubl-strings.h:22
#: source/ubl-strings.h:29
msgid "Local time"
msgstr "Локальное время"
#: source/ubl-strings.h:31
msgid "Date format:"
msgstr "Формат даты:"
#: source/ubl-strings.h:32
msgid ""
"Date\n"
"format"
msgstr ""
"Дата\n"
"формат"
#: source/ubl-strings.h:34
msgid "YYYY"
msgstr "ГГГГ"
#: source/ubl-strings.h:35
msgid "MM"
msgstr "ММ"
#: source/ubl-strings.h:36
msgid "DD"
msgstr "ДД"
#: source/ubl-strings.h:37
msgid "DD.MM.YYYY"
msgstr "ДД.ММ.ГГГГ"
#: source/ubl-strings.h:38
msgid "DD-MM-YYYY"
msgstr "ДД-ММ-ГГГГ"
#: source/ubl-strings.h:39
msgid "DD/MM/YYYY"
msgstr "ДД/ММ/ГГГГ"
#: source/ubl-strings.h:40
msgid "MM-DD-YYYY"
msgstr "ММ-ДД-ГГГГ"
msgid "Stopped"
msgstr "Остановлен"
msgid "Abidjan"
msgstr "Абиджан"

Loading…
Cancel
Save