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();
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_day(GTK_CALENDAR(widgets->DateCalendar),g_date_time_get_day_of_month(datetime));
@ -314,6 +314,10 @@ void *on_sync_error(void*){
return NULL;
}
void on_date_format_changed(GtkWidget *, main_window *widgets){
yon_interface_update(widgets);
}
void *yon_sync_thread_start(void *arg){
struct datetime_arg *data = (struct datetime_arg*)arg;
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){
guint year=0, month=0, day=0;
gtk_calendar_get_date(GTK_CALENDAR(widgets->DateCalendar),&year,&month,&day);
char *ye_str = yon_char_from_int(year);
char *mo_str = yon_char_from_int(++month);
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);
GDateTime *datetime = g_date_time_new_local(year,++month,day,0,0,0);
char *date = g_date_time_format(datetime,yon_settings_configuration_get(date_format_parameter));
gtk_entry_set_text(GTK_ENTRY(widgets->DateEntry),date);
gtk_popover_popdown(GTK_POPOVER(widgets->DatePopover));
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->RegionCombo),"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
{
@ -520,6 +519,15 @@ void yon_main_window_complete(main_window *widgets){
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_interface_update(widgets);
yon_save_window_set_postsave_function(on_save_done,widgets);
@ -539,8 +547,6 @@ int main(int argc, char *argv[]){
gtk_init(&argc,&argv);
template_main_window *widgets = yon_ubl_window_setup();
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){
textdomain(template_ui_LocaleName);
yon_ubl_status_box_render(ROOT_WARNING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);

@ -52,6 +52,8 @@
#define zone_path "/usr/share/zoneinfo/"
#define date_format_parameter "DateFormat"
typedef char* string;
string version_application;
@ -146,3 +148,5 @@ config_str yon_char_parsed_sort(config_str parsed, int size);
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_date_format_changed(GtkWidget *, main_window *widgets);

@ -22,3 +22,6 @@
#define REGION_LABEL _("Region:")
#define ZONE_LABEL _("Zone:")
#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="visible">True</property>
<property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">Date
format</property>
</object>
<packing>
<property name="expand">True</property>

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

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

Loading…
Cancel
Save