From 85b2e56e85cc0b3938354d3e799378974498fae0 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 10 Mar 2025 17:56:36 +0600 Subject: [PATCH 1/4] Fixed custom config loading --- source/ubl-settings-system.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 82b9049..82f4d30 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -5,7 +5,9 @@ config main_config; //functions int yon_load_proceed(YON_CONFIG_TYPE type){ - yon_config_clean(); + if (type!=YON_CONFIG_CUSTOM){ + yon_config_clean(); + } if (!yon_char_is_empty(config_get_default_command)) yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); if (type==YON_CONFIG_GLOBAL){ @@ -31,12 +33,13 @@ int yon_load_proceed(YON_CONFIG_TYPE type){ path=yon_char_unite("'",file,"'",NULL); main_config.custom_load_path = path; } + yon_config_clean(); + yon_config_load_config(type,config_get_command(path),NULL); gtk_widget_destroy(dialog); } else { gtk_widget_destroy(dialog); return 0; } - yon_config_load_config(type,config_get_command(path),NULL); } return 1; -- 2.35.1 From 6ab4ddb6115623e16e9aba720248cf606828041c Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 31 Mar 2025 12:07:57 +0600 Subject: [PATCH 2/4] Added password reveal/hide button --- source/ubl-settings-system.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 82f4d30..5562ffd 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -600,6 +600,8 @@ connection_window *yon_connection_window_new(){ g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->StatusEntry),"clicked",G_CALLBACK(on_status_clicked),window); g_signal_connect(G_OBJECT(window->CheckButton),"clicked",G_CALLBACK(yon_update_thread),window); + + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordEntry)); return window; } -- 2.35.1 From d7cebab383389976b5eec26a9171f78703b233d4 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 31 Mar 2025 12:41:57 +0600 Subject: [PATCH 3/4] Fixed loading --- source/CMakeLists.txt | 10 ++++++++-- source/ubl-cmake.in | 1 - source/ubl-settings-system.c | 32 ++++++++++++++++++++++++++++++++ source/ubl-settings-system.h | 1 + 4 files changed, 41 insertions(+), 3 deletions(-) delete mode 100644 source/ubl-cmake.in diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index ed45a17..d77379f 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -60,10 +60,16 @@ add_custom_target( ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \ - -O2 -pipe -fno-plt -fexceptions \ - -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ + -O2 -pipe -fno-plt -fexceptions \ + -Wformat -Werror=format-security \ -fstack-clash-protection -fcf-protection") +string(FIND "${CMAKE_CXX_FLAGS}" "-D_FORTIFY_SOURCE" FORTIFY_FOUND) + +if(FORTIFY_FOUND EQUAL -1) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wp,-D_FORTIFY_SOURCE=2") +endif() + set(SOURCE_FILES ubl-settings-system.c diff --git a/source/ubl-cmake.in b/source/ubl-cmake.in deleted file mode 100644 index d4623a7..0000000 --- a/source/ubl-cmake.in +++ /dev/null @@ -1 +0,0 @@ -#cmakedefine WEBKIT_FOUND diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 5562ffd..2a25370 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -4,6 +4,32 @@ config main_config; //functions +void on_save_done(main_window *widgets, config_str output, int size){ + char *final_output = yon_char_parsed_to_string(output,size,""); + if (final_output){ + printf("%s\n",final_output); + free(final_output); + } + yon_char_parsed_free(output,size); + textdomain(template_ui_LocaleName); + switch (main_config.save_config){ + case 0: + yon_ubl_status_box_render(GLOBAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + break; + case 1: + yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + break; + case 2: + yon_ubl_status_box_render(GLOBAL_LOCAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + break; + case 3: + yon_ubl_status_box_render(SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + + } + textdomain(LocaleName); + +} + int yon_load_proceed(YON_CONFIG_TYPE type){ if (type!=YON_CONFIG_CUSTOM){ yon_config_clean(); @@ -194,6 +220,7 @@ void yon_config_global_load(GtkWidget *self, main_window *widgets){ } void yon_config_global_local_save(){ + main_config.save_config=2; int changed = yon_config_get_status(id_parameter)==1; template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_command("global"),NULL); if (window){ @@ -280,6 +307,7 @@ void yon_config_custom_load(GtkWidget *self, main_window *widgets){ } void yon_config_local_save(){ + main_config.save_config=1; int changed = yon_config_get_status(id_parameter)==1; template_saving_window *window = yon_save_proceed("system",YON_CONFIG_LOCAL,config_get_command("system"),NULL); if (window){ @@ -291,6 +319,7 @@ void yon_config_local_save(){ } void yon_config_global_save(){ + main_config.save_config=0; int changed = yon_config_get_status(id_parameter)==1; template_saving_window *window = yon_save_proceed("global",YON_CONFIG_GLOBAL,config_get_command("global"),NULL); if (window){ @@ -303,6 +332,7 @@ void yon_config_global_save(){ } void yon_config_custom_save(){ + main_config.save_config=3; template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,config_get_command("system"),NULL); } @@ -714,6 +744,7 @@ void config_init(){ main_config.lock_save_global=0; main_config.lock_save_local=0; main_config.domain_connected=0; + main_config.save_config=0; } void on_check_domain_connected(GtkWidget *self, main_window *widgets){ @@ -852,6 +883,7 @@ main_window *yon_main_window_complete(main_window *widgets){ char *domain = yon_config_get_by_key(DOMAIN); if (!yon_char_is_empty(domain)) gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),domain); + yon_save_window_set_postsave_function(on_save_done,widgets); return widgets; } diff --git a/source/ubl-settings-system.h b/source/ubl-settings-system.h index 2d53139..6b08fb2 100644 --- a/source/ubl-settings-system.h +++ b/source/ubl-settings-system.h @@ -98,6 +98,7 @@ char *local; typedef struct { template_config_fields GtkListStore *localeslist; + int save_config; int domain_connected; } config; -- 2.35.1 From ddf0f9a3d261188dc486822383fda3d075efd6da Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 31 Mar 2025 14:45:34 +0600 Subject: [PATCH 4/4] Test fix for icons --- source/ubl-settings-system.c | 4 +++- ubl-settings-system-layouts.glade | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c index 2a25370..6c1468e 100644 --- a/source/ubl-settings-system.c +++ b/source/ubl-settings-system.c @@ -328,7 +328,6 @@ void yon_config_global_save(){ } } - } void yon_config_custom_save(){ @@ -399,6 +398,9 @@ void on_locale_open(GtkWidget *self, main_window *widgets){ g_signal_connect(G_OBJECT(window->CloseButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_locale_accept),dict); g_signal_connect(G_OBJECT(window->MainTree),"row-activated",G_CALLBACK(on_locale_toggle),window); + + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),TITLE_LABEL,main_icon,"LocalesWindow"); + gtk_dialog_run(GTK_DIALOG(window->Window)); } diff --git a/ubl-settings-system-layouts.glade b/ubl-settings-system-layouts.glade index 2dfb5fc..e3caeb8 100644 --- a/ubl-settings-system-layouts.glade +++ b/ubl-settings-system-layouts.glade @@ -16,6 +16,8 @@ 450 550 False + True + com.ublinux.ubl-settings-system dialog -- 2.35.1