Settings window finish

pull/164/head
parent 0a9c3ed4b6
commit 424b1b1c32

@ -246,7 +246,7 @@ void yon_interface_update(main_window *widgets){
GDateTime *datetime = g_date_time_new_now_local(); GDateTime *datetime = g_date_time_new_now_local();
char *time = g_date_time_format(datetime,"%H %M"); char *time = g_date_time_format(datetime,"%H %M");
char *date = g_date_time_format(datetime,"%Y.%m.%d"); char *date = g_date_time_format(datetime,yon_settings_configuration_get(date_format_parameter));
gtk_calendar_select_month(GTK_CALENDAR(widgets->DateCalendar),g_date_time_get_month(datetime)-1,g_date_time_get_year(datetime)); gtk_calendar_select_month(GTK_CALENDAR(widgets->DateCalendar),g_date_time_get_month(datetime)-1,g_date_time_get_year(datetime));
gtk_calendar_select_day(GTK_CALENDAR(widgets->DateCalendar),g_date_time_get_day_of_month(datetime)); gtk_calendar_select_day(GTK_CALENDAR(widgets->DateCalendar),g_date_time_get_day_of_month(datetime));
@ -314,6 +314,10 @@ void *on_sync_error(void*){
return NULL; return NULL;
} }
void on_date_format_changed(GtkWidget *, main_window *widgets){
yon_interface_update(widgets);
}
void *yon_sync_thread_start(void *arg){ void *yon_sync_thread_start(void *arg){
struct datetime_arg *data = (struct datetime_arg*)arg; struct datetime_arg *data = (struct datetime_arg*)arg;
char *command_time = time_sync_command(data->time); char *command_time = time_sync_command(data->time);
@ -396,10 +400,8 @@ void on_sync_hardware_clicked(){
void on_date_accept(GtkWidget *,main_window *widgets){ void on_date_accept(GtkWidget *,main_window *widgets){
guint year=0, month=0, day=0; guint year=0, month=0, day=0;
gtk_calendar_get_date(GTK_CALENDAR(widgets->DateCalendar),&year,&month,&day); gtk_calendar_get_date(GTK_CALENDAR(widgets->DateCalendar),&year,&month,&day);
char *ye_str = yon_char_from_int(year); GDateTime *datetime = g_date_time_new_local(year,++month,day,0,0,0);
char *mo_str = yon_char_from_int(++month); char *date = g_date_time_format(datetime,yon_settings_configuration_get(date_format_parameter));
char *da_str = yon_char_from_int(day);
char *date = yon_char_unite(ye_str,".",month<10?"0":"",mo_str,".",day<10?"0":"",da_str,NULL);
gtk_entry_set_text(GTK_ENTRY(widgets->DateEntry),date); gtk_entry_set_text(GTK_ENTRY(widgets->DateEntry),date);
gtk_popover_popdown(GTK_POPOVER(widgets->DatePopover)); gtk_popover_popdown(GTK_POPOVER(widgets->DatePopover));
free(date); free(date);
@ -494,9 +496,6 @@ void yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->TimeSyncTypeCombo),"changed",G_CALLBACK(yon_save_parameters),widgets); g_signal_connect(G_OBJECT(widgets->TimeSyncTypeCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(yon_save_parameters),widgets); g_signal_connect(G_OBJECT(widgets->RegionCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
g_signal_connect(G_OBJECT(widgets->ZoneCombo),"changed",G_CALLBACK(yon_save_parameters),widgets); g_signal_connect(G_OBJECT(widgets->ZoneCombo),"changed",G_CALLBACK(yon_save_parameters),widgets);
yon_ubl_settings_window_init(GTK_MENU(gtk_widget_get_parent(widgets->DocumentationMenuItem)));
yon_configuration_window_add_combo_box_parameter(CONFIGURATION_PARAMETER_BOOL,"Test","Test parameter","D.M.Y","DD.MM.YYYY","D-M-Y","DD-MM-YYYY","D/M/Y","DD/MM/YYYY","M-D-Y","MM-DD-YYYY",NULL);
} }
// Initial data loading // Initial data loading
{ {
@ -519,6 +518,15 @@ void yon_main_window_complete(main_window *widgets){
if (size) yon_char_parsed_free(parsed,size); if (size) yon_char_parsed_free(parsed,size);
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->RegionCombo),0);
} }
yon_window_config_setup(GTK_WINDOW(widgets->Window));
char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL);
yon_window_config_load(path);
yon_ubl_settings_window_init(GTK_MENU(gtk_widget_get_parent(widgets->DocumentationMenuItem)));
yon_configuration_window_add_combo_box_parameter(CONFIGURATION_PARAMETER_BOOL,date_format_parameter,DATE_FORMAT_SETTINGS_LABEL,G_CALLBACK(on_date_format_changed),widgets,"%d.%m.%Y","DD.MM.YYYY","%d-%m-%Y","DD-MM-YYYY","%d/%m/%Y","DD/MM/YYYY","%m-%d-%Y","MM-DD-YYYY",NULL);
yon_load_proceed(YON_CONFIG_LOCAL); yon_load_proceed(YON_CONFIG_LOCAL);
yon_interface_update(widgets); yon_interface_update(widgets);
@ -539,8 +547,6 @@ int main(int argc, char *argv[]){
gtk_init(&argc,&argv); gtk_init(&argc,&argv);
template_main_window *widgets = yon_ubl_window_setup(); template_main_window *widgets = yon_ubl_window_setup();
yon_main_window_complete((main_window*)widgets); yon_main_window_complete((main_window*)widgets);
char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL);
yon_window_config_load(path);
if (getuid()!=0){ if (getuid()!=0){
textdomain(template_ui_LocaleName); textdomain(template_ui_LocaleName);
yon_ubl_status_box_render(ROOT_WARNING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(ROOT_WARNING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);

@ -52,6 +52,8 @@
#define zone_path "/usr/share/zoneinfo/" #define zone_path "/usr/share/zoneinfo/"
#define date_format_parameter "DateFormat"
typedef char* string; typedef char* string;
string version_application; string version_application;
@ -145,4 +147,6 @@ config_str yon_char_parsed_localize(config_str parsed, int size);
config_str yon_char_parsed_sort(config_str parsed, int size); config_str yon_char_parsed_sort(config_str parsed, int size);
int yon_char_parsed_compare(const void *a, const void *b); int yon_char_parsed_compare(const void *a, const void *b);
void on_save_done(main_window *widgets, config_str output, int size); void on_save_done(main_window *widgets, config_str output, int size);
void on_date_format_changed(GtkWidget *, main_window *widgets);

@ -21,4 +21,7 @@
#define TIME_ZONE_LABEL _("Time Zone") #define TIME_ZONE_LABEL _("Time Zone")
#define REGION_LABEL _("Region:") #define REGION_LABEL _("Region:")
#define ZONE_LABEL _("Zone:") #define ZONE_LABEL _("Zone:")
#define LOCAL_TIME_LABEL _("Local time") #define LOCAL_TIME_LABEL _("Local time")
#define DATE_FORMAT_SETTINGS_LABEL _("Date format:")
#define DATE_DORMAT_TOOLTIP_LABEL _("Date\nformat")

@ -143,6 +143,8 @@
<property name="width-request">-1</property> <property name="width-request">-1</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">Date
format</property>
</object> </object>
<packing> <packing>
<property name="expand">True</property> <property name="expand">True</property>

@ -33,6 +33,10 @@ msgstr ""
msgid "Important field is empty" msgid "Important field is empty"
msgstr "" msgstr ""
#: source/ubl-strings.h:6
msgid "Date format:"
msgstr ""
#: source/ubl-strings.h:7 #: source/ubl-strings.h:7
msgid "Accept" msgid "Accept"
msgstr "" msgstr ""

@ -33,6 +33,10 @@ msgstr "Ошибка синхронизации аппаратных часов"
msgid "Important field is empty" msgid "Important field is empty"
msgstr "Пустое важное поле" msgstr "Пустое важное поле"
#: source/ubl-strings.h:6
msgid "Date format:"
msgstr "Формат даты:"
#: source/ubl-strings.h:7 #: source/ubl-strings.h:7
msgid "Accept" msgid "Accept"
msgstr "Принять" msgstr "Принять"

Loading…
Cancel
Save