From 8910cc98be83fb31d04906805cbac1c195d7e6e4 Mon Sep 17 00:00:00 2001 From: asder8215 Date: Tue, 4 Jul 2023 18:13:08 -0400 Subject: [PATCH 1/8] Creating setting buttons and starting setting dialog blp --- .gresource.xml | 5 +++-- gui.c | 28 ++++++++++++++++++++-------- gui.h | 4 ++-- main.c | 2 +- res/main-window.blp | 5 +++++ res/setting.blp | 26 ++++++++++++++++++++++++++ 6 files changed, 57 insertions(+), 13 deletions(-) create mode 100644 res/setting.blp diff --git a/.gresource.xml b/.gresource.xml index c31d743..78f9de2 100644 --- a/.gresource.xml +++ b/.gresource.xml @@ -1,8 +1,9 @@ - + main-window.ui share-dialog.ui style.css + setting.ui - \ No newline at end of file + diff --git a/gui.c b/gui.c index 3264ebe..06d7b49 100644 --- a/gui.c +++ b/gui.c @@ -22,7 +22,7 @@ static void share_toggle_click(GtkToggleButton* toggle, GtkWindow* window) { // ~~Freed by `share_enable_response()`.~~ // Gives error when `g_free(builder), even though it should be freed accroding to https://docs.gtk.org/gtk4/ctor.Builder.new_from_resource.html - GtkBuilder* builder = gtk_builder_new_from_resource("/me/Asder8215/TextEditor/share-dialog.ui"); + GtkBuilder* builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/share-dialog.ui"); AdwMessageDialog* dialog = ADW_MESSAGE_DIALOG(gtk_builder_get_object(builder, "dialog")); ShareDialogEntries entries = share_dialog_entries(builder); // C moment :( Why must it be done like this @@ -122,19 +122,26 @@ static void save_file_click(GtkButton* button, FileClickParams* params) { editor_buffer_save(page.buffer, params->tab_view, params->window, false); } +static void setting_click(GtkButton* setting_btn, GtkWindow* window){ + GtkBuilder* settings_builder = gtk_builder_new_from_resource("me/Asder8215/TeXiT/setting.ui"); + AdwPreferencesWindow* prefs_window = ADW_PREFERENCES_WINDOW(gtk_builder_get_object(settings_builder, "setting-dialog")); + gtk_window_set_transient_for(GTK_WINDOW(prefs_window), window); + gtk_window_present(GTK_WINDOW(prefs_window)); +} -void main_window(GtkApplication *app) { - GtkBuilder* builder = gtk_builder_new_from_resource("/me/Asder8215/TextEditor/main-window.ui"); +void main_window(AdwApplication *app) { + GtkBuilder* builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/main-window.ui"); + //GtkBuilder* settings_builder = gtk_builder_new_from_resource("me/Asder8215/TextEditor/setting.ui"); FileClickParams* file_click_params = malloc(sizeof(FileClickParams)); MainMalloced* malloced = malloc(sizeof(MainMalloced)); malloced->file_click_params = file_click_params; - GtkWindow* window = GTK_WINDOW(gtk_builder_get_object(builder, "main-window")); - gtk_window_set_application(window, app); + AdwApplicationWindow* window = ADW_APPLICATION_WINDOW(gtk_builder_get_object(builder, "main-window")); + gtk_window_set_application(GTK_WINDOW(window), GTK_APPLICATION(app)); g_signal_connect(window, "destroy", G_CALLBACK(main_window_destroy), malloced); - file_click_params->window = window; + file_click_params->window = GTK_WINDOW(window); file_click_params->label = GTK_LABEL(gtk_builder_get_object(builder, "label")); file_click_params->tabbar = ADW_TAB_BAR(gtk_builder_get_object(builder, "tab-bar")); file_click_params->tab_view = ADW_TAB_VIEW(gtk_builder_get_object(builder, "tab-view")); @@ -152,12 +159,17 @@ void main_window(GtkApplication *app) { GtkToggleButton* share_toggle = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "share-toggle")); gtk_button_set_label(GTK_BUTTON(share_toggle), SERVER_TOGGLE_OFF_TITLE); g_signal_connect(share_toggle, "toggled", G_CALLBACK(share_toggle_click), window); + + GtkButton* setting_btn = GTK_BUTTON(gtk_builder_get_object(builder, "setting-btn")); + //GtkWindow* prefs_window = GTK_WINDOW(gtk_builder_get_object(builder, "setting-dialog")); + g_signal_connect(setting_btn, "clicked", G_CALLBACK(setting_click), window); - gtk_window_present(window); + gtk_window_present(GTK_WINDOW(window)); } -void main_window_destroy(GtkApplicationWindow* window, MainMalloced* params) { +void main_window_destroy(AdwApplicationWindow* window, MainMalloced* params) { free(params->file_click_params); + free(params); } diff --git a/gui.h b/gui.h index a29ac38..6d814fa 100644 --- a/gui.h +++ b/gui.h @@ -41,8 +41,8 @@ static void share_toggle_click(GtkToggleButton* toggle, GtkWindow* window); /// *params* is malloc-ed by `share_toggle_click()`, which is a callback, so *params* must be freed by this function. static void share_enable_response(AdwMessageDialog* dialog, const char* response, ShareEnableParams* params); -void main_window(GtkApplication *app); -void main_window_destroy(GtkApplicationWindow* window, MainMalloced* params); +void main_window(AdwApplication *app); +void main_window_destroy(AdwApplicationWindow* window, MainMalloced* params); /// Sets up signal callbacks for the entries of the dialog in the *builder*. /// Returns pointers to entries that will hold relevant values for hosting/connecting. diff --git a/main.c b/main.c index 1aa91a8..a84a587 100644 --- a/main.c +++ b/main.c @@ -4,7 +4,7 @@ int main(int argc, char **argv) { AdwApplication *app; int status; - app = adw_application_new("me.Asder8215.TextEditor", G_APPLICATION_DEFAULT_FLAGS); + app = adw_application_new("me.Asder8215.TeXiT", G_APPLICATION_DEFAULT_FLAGS); g_signal_connect(app, "activate", G_CALLBACK(main_window), NULL); status = g_application_run(G_APPLICATION(app), argc, argv); g_object_unref(app); diff --git a/res/main-window.blp b/res/main-window.blp index 71808c7..f570e17 100644 --- a/res/main-window.blp +++ b/res/main-window.blp @@ -29,6 +29,11 @@ Adw.ApplicationWindow main-window { [end] // label set in program ToggleButton share-toggle { label: "❌ Share";} + [end] + Button setting-btn { + Image { icon-name: "emblem-system-symbolic"; } + tooltip-text: "Setting"; + } } Gtk.Label label{ diff --git a/res/setting.blp b/res/setting.blp new file mode 100644 index 0000000..05ae14f --- /dev/null +++ b/res/setting.blp @@ -0,0 +1,26 @@ +using Gtk 4.0; +using Gio 2.0; +using Adw 1; + +Adw.PreferencesWindow setting-dialog { + Adw.PreferencesPage page-1 { + Adw.PreferencesGroup { + + } + } + Adw.PreferencesPage page-2 { + Adw.PreferencesGroup { + + } + } + Adw.PreferencesPage page-3 { + Adw.PreferencesGroup { + + } + } + Adw.PreferencesPage page-4 { + Adw.PreferencesGroup { + + } + } +} From a4303f7df783d0faa73be2beb2644ce1241fb1b7 Mon Sep 17 00:00:00 2001 From: asder8215 Date: Tue, 4 Jul 2023 18:21:54 -0400 Subject: [PATCH 2/8] Added / to fetch the setting ui :skull: --- gui.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui.c b/gui.c index 56482bd..347ba66 100644 --- a/gui.c +++ b/gui.c @@ -123,7 +123,7 @@ static void save_file_click(GtkButton* button, FileClickParams* params) { } static void setting_click(GtkButton* setting_btn, GtkWindow* window){ - GtkBuilder* settings_builder = gtk_builder_new_from_resource("me/Asder8215/TeXiT/setting.ui"); + GtkBuilder* settings_builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/setting.ui"); AdwPreferencesWindow* prefs_window = ADW_PREFERENCES_WINDOW(gtk_builder_get_object(settings_builder, "setting-dialog")); gtk_window_set_transient_for(GTK_WINDOW(prefs_window), window); gtk_window_present(GTK_WINDOW(prefs_window)); From ccde08ce487dc082ebe0592676b36b67704bb0fa Mon Sep 17 00:00:00 2001 From: asder8215 Date: Thu, 6 Jul 2023 04:24:54 -0400 Subject: [PATCH 3/8] Font page ui exist in the settings dialog; may add more to it later. --- gui.c | 8 +------- res/setting.blp | 41 ++++++++++++++++++++++++++++++++++++++--- settings.c | 10 ++++++++++ settings.h | 4 ++++ 4 files changed, 53 insertions(+), 10 deletions(-) create mode 100644 settings.c create mode 100644 settings.h diff --git a/gui.c b/gui.c index 347ba66..1aa0f44 100644 --- a/gui.c +++ b/gui.c @@ -1,6 +1,7 @@ #include "gui.h" #include "buffer.h" #include "tab-page.h" +#include "settings.h" #include #include #pragma GCC diagnostic ignored "-Wdeprecated-declarations" @@ -122,13 +123,6 @@ static void save_file_click(GtkButton* button, FileClickParams* params) { editor_buffer_save(page.buffer, params->tab_view, params->window, false); } -static void setting_click(GtkButton* setting_btn, GtkWindow* window){ - GtkBuilder* settings_builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/setting.ui"); - AdwPreferencesWindow* prefs_window = ADW_PREFERENCES_WINDOW(gtk_builder_get_object(settings_builder, "setting-dialog")); - gtk_window_set_transient_for(GTK_WINDOW(prefs_window), window); - gtk_window_present(GTK_WINDOW(prefs_window)); -} - void main_window(AdwApplication *app) { GtkBuilder* builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/main-window.ui"); //GtkBuilder* settings_builder = gtk_builder_new_from_resource("me/Asder8215/TextEditor/setting.ui"); diff --git a/res/setting.blp b/res/setting.blp index 05ae14f..a6e7b23 100644 --- a/res/setting.blp +++ b/res/setting.blp @@ -2,10 +2,45 @@ using Gtk 4.0; using Gio 2.0; using Adw 1; + +Gtk.StringList font-style-dropdown { + strings [ + "None", + "Bold", + "Italic", + "Bold Italic" + ] +} + Adw.PreferencesWindow setting-dialog { - Adw.PreferencesPage page-1 { - Adw.PreferencesGroup { - + Adw.PreferencesPage font-page { + title: "Font"; + Adw.PreferencesGroup font-group { + title: "Font Customization"; + description: "These are all the font customizability options that TeXiT currently supports."; + Adw.ActionRow font-family-row { + title: "Font Family and Size"; + Gtk.FontDialogButton font-dialog {} + } + Separator { styles ["spacer"] } + Adw.ComboRow font-style-row { + title: "Font Style"; + subtitle: "Choose whether to display the text editor in bold, italic, bold italic, or none."; + model: font-style-dropdown; + } + Separator { styles ["spacer"] } + Adw.ActionRow ligature-row { + title: "Ligature"; + subtitle: "Merge symbols (e.g. <=, ae, >=)"; + use-markup: false; + Gtk.Grid ligature-grid { + Gtk.Switch ligature-switch { + margin-top: 8; + height-request: 35; + width-request: 70; + } + } + } } } Adw.PreferencesPage page-2 { diff --git a/settings.c b/settings.c new file mode 100644 index 0000000..f89b9d2 --- /dev/null +++ b/settings.c @@ -0,0 +1,10 @@ +#include "settings.h" + +void setting_click(GtkButton* setting_btn, GtkWindow* window){ + GtkBuilder* settings_builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/setting.ui"); + AdwPreferencesWindow* prefs_window = ADW_PREFERENCES_WINDOW(gtk_builder_get_object(settings_builder, "setting-dialog")); + gtk_window_set_transient_for(GTK_WINDOW(prefs_window), window); + gtk_window_set_default_size(GTK_WINDOW(prefs_window), 200, 400); + gtk_window_present(GTK_WINDOW(prefs_window)); +} + diff --git a/settings.h b/settings.h new file mode 100644 index 0000000..7536bc6 --- /dev/null +++ b/settings.h @@ -0,0 +1,4 @@ +#include +#include + +void setting_click(GtkButton* setting_btn, GtkWindow* window); From 8bedc4bc3030f4803547bb2df33955f04cb10bbd Mon Sep 17 00:00:00 2001 From: asder8215 Date: Thu, 6 Jul 2023 04:38:15 -0400 Subject: [PATCH 4/8] Fixed the unsaved content icon on files that are opened by a file chooser; should not be turned on upon opening a file --- gui.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gui.c b/gui.c index d02b75e..a8a48cb 100644 --- a/gui.c +++ b/gui.c @@ -91,8 +91,7 @@ static void open_file_response(GtkNativeDialog* dialog, int response, FileClickP gtk_text_buffer_set_text(GTK_TEXT_BUFFER(buffer), content, -1); // Set to false because `gtk_text_buffer_set_text()` emmits signal "changed". editor_buffer_set_edited(buffer, false); - adw_tab_page_set_title(editor_buffer_get_page(buffer), g_file_get_basename(file)); - + adw_tab_page_set_indicator_icon(editor_buffer_get_page(buffer), NULL); g_object_unref(file); free(content); } From 6e14a42a97d6803f20ae10bd573b7cdd61226df2 Mon Sep 17 00:00:00 2001 From: Megadash452 Date: Thu, 6 Jul 2023 12:25:41 -0400 Subject: [PATCH 5/8] Setting*s* --- .gresource.xml | 2 +- gui.c | 4 ++-- res/main-window.blp | 4 ++-- res/{setting.blp => settings.blp} | 30 ++++++++++++++---------------- settings.c | 4 ++-- settings.h | 7 ++++++- 6 files changed, 27 insertions(+), 24 deletions(-) rename res/{setting.blp => settings.blp} (72%) diff --git a/.gresource.xml b/.gresource.xml index 78f9de2..340706f 100644 --- a/.gresource.xml +++ b/.gresource.xml @@ -4,6 +4,6 @@ main-window.ui share-dialog.ui style.css - setting.ui + settings.ui diff --git a/gui.c b/gui.c index a8a48cb..f6127d6 100644 --- a/gui.c +++ b/gui.c @@ -150,9 +150,9 @@ void main_window(AdwApplication *app) { gtk_button_set_label(GTK_BUTTON(share_toggle), SERVER_TOGGLE_OFF_TITLE); g_signal_connect(share_toggle, "toggled", G_CALLBACK(share_toggle_click), window); - GtkButton* setting_btn = GTK_BUTTON(gtk_builder_get_object(builder, "setting-btn")); + GtkButton* settings_btn = GTK_BUTTON(gtk_builder_get_object(builder, "settings-btn")); //GtkWindow* prefs_window = GTK_WINDOW(gtk_builder_get_object(builder, "setting-dialog")); - g_signal_connect(setting_btn, "clicked", G_CALLBACK(setting_click), window); + g_signal_connect(settings_btn, "clicked", G_CALLBACK(settings_click), window); gtk_window_present(GTK_WINDOW(window)); } diff --git a/res/main-window.blp b/res/main-window.blp index f570e17..a5ec550 100644 --- a/res/main-window.blp +++ b/res/main-window.blp @@ -30,9 +30,9 @@ Adw.ApplicationWindow main-window { // label set in program ToggleButton share-toggle { label: "❌ Share";} [end] - Button setting-btn { + Button settings-btn { Image { icon-name: "emblem-system-symbolic"; } - tooltip-text: "Setting"; + tooltip-text: "Settings"; } } diff --git a/res/setting.blp b/res/settings.blp similarity index 72% rename from res/setting.blp rename to res/settings.blp index a6e7b23..d99b2c6 100644 --- a/res/setting.blp +++ b/res/settings.blp @@ -3,22 +3,13 @@ using Gio 2.0; using Adw 1; -Gtk.StringList font-style-dropdown { - strings [ - "None", - "Bold", - "Italic", - "Bold Italic" - ] -} - Adw.PreferencesWindow setting-dialog { Adw.PreferencesPage font-page { title: "Font"; - Adw.PreferencesGroup font-group { + Adw.PreferencesGroup { title: "Font Customization"; description: "These are all the font customizability options that TeXiT currently supports."; - Adw.ActionRow font-family-row { + Adw.ActionRow { title: "Font Family and Size"; Gtk.FontDialogButton font-dialog {} } @@ -26,15 +17,22 @@ Adw.PreferencesWindow setting-dialog { Adw.ComboRow font-style-row { title: "Font Style"; subtitle: "Choose whether to display the text editor in bold, italic, bold italic, or none."; - model: font-style-dropdown; + model: Gtk.StringList { + strings [ + "None", + "Bold", + "Italic", + "Bold Italic" + ] + }; } Separator { styles ["spacer"] } - Adw.ActionRow ligature-row { + Adw.ActionRow { title: "Ligature"; - subtitle: "Merge symbols (e.g. <=, ae, >=)"; + subtitle: "Merge symbols (e.g. <=, >=)"; use-markup: false; - Gtk.Grid ligature-grid { - Gtk.Switch ligature-switch { + Gtk.Grid { + Gtk.Switch ligatures-switch { margin-top: 8; height-request: 35; width-request: 70; diff --git a/settings.c b/settings.c index f89b9d2..a62007c 100644 --- a/settings.c +++ b/settings.c @@ -1,7 +1,7 @@ #include "settings.h" -void setting_click(GtkButton* setting_btn, GtkWindow* window){ - GtkBuilder* settings_builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/setting.ui"); +void settings_click(GtkButton* settings_btn, GtkWindow* window){ + GtkBuilder* settings_builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/settings.ui"); AdwPreferencesWindow* prefs_window = ADW_PREFERENCES_WINDOW(gtk_builder_get_object(settings_builder, "setting-dialog")); gtk_window_set_transient_for(GTK_WINDOW(prefs_window), window); gtk_window_set_default_size(GTK_WINDOW(prefs_window), 200, 400); diff --git a/settings.h b/settings.h index 7536bc6..51d63a3 100644 --- a/settings.h +++ b/settings.h @@ -1,4 +1,9 @@ +#ifndef __SETTINGS_H_ +#define __SETTINGS_H_ + #include #include -void setting_click(GtkButton* setting_btn, GtkWindow* window); +void settings_click(GtkButton* setting_btn, GtkWindow* window); + +#endif // __SETTINGS_H_ \ No newline at end of file From 536f78df896109eac64a6289e185477732f62c91 Mon Sep 17 00:00:00 2001 From: Megadash452 Date: Thu, 6 Jul 2023 12:54:09 -0400 Subject: [PATCH 6/8] Fixed Settings ligatures switch --- gui.c | 2 +- res/settings.blp | 12 ++++++------ settings.c | 1 - 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/gui.c b/gui.c index f6127d6..3cc3a92 100644 --- a/gui.c +++ b/gui.c @@ -122,7 +122,7 @@ static void save_file_click(GtkButton* button, FileClickParams* params) { void main_window(AdwApplication *app) { GtkBuilder* builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/main-window.ui"); - //GtkBuilder* settings_builder = gtk_builder_new_from_resource("me/Asder8215/TextEditor/setting.ui"); + FileClickParams* file_click_params = malloc(sizeof(FileClickParams)); MainMalloced* malloced = malloc(sizeof(MainMalloced)); malloced->file_click_params = file_click_params; diff --git a/res/settings.blp b/res/settings.blp index d99b2c6..2d58de2 100644 --- a/res/settings.blp +++ b/res/settings.blp @@ -4,6 +4,9 @@ using Adw 1; Adw.PreferencesWindow setting-dialog { + default-width: 200; + default-height: 400; + Adw.PreferencesPage font-page { title: "Font"; Adw.PreferencesGroup { @@ -31,12 +34,9 @@ Adw.PreferencesWindow setting-dialog { title: "Ligature"; subtitle: "Merge symbols (e.g. <=, >=)"; use-markup: false; - Gtk.Grid { - Gtk.Switch ligatures-switch { - margin-top: 8; - height-request: 35; - width-request: 70; - } + Gtk.Switch ligatures-switch { + vexpand: false; + valign: center; } } } diff --git a/settings.c b/settings.c index a62007c..03e3b10 100644 --- a/settings.c +++ b/settings.c @@ -4,7 +4,6 @@ void settings_click(GtkButton* settings_btn, GtkWindow* window){ GtkBuilder* settings_builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/settings.ui"); AdwPreferencesWindow* prefs_window = ADW_PREFERENCES_WINDOW(gtk_builder_get_object(settings_builder, "setting-dialog")); gtk_window_set_transient_for(GTK_WINDOW(prefs_window), window); - gtk_window_set_default_size(GTK_WINDOW(prefs_window), 200, 400); gtk_window_present(GTK_WINDOW(prefs_window)); } From b9520415465d0e34f0e42265c677a90e2f7d7aeb Mon Sep 17 00:00:00 2001 From: Megadash452 Date: Thu, 6 Jul 2023 13:11:55 -0400 Subject: [PATCH 7/8] Trying to use signals in blueprint --- Makefile | 2 +- gui.c | 3 ++- res/main-window.blp | 6 +++++- settings.c | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 5e254bd..ff84b41 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ RES_DIR = ./res/ RES_FILE = ./.gresource.xml INCLUDE = -Iinclude/ # You should add your include directory here. CFLAGS = -g3 `pkg-config --cflags gtk4` `pkg-config --cflags libadwaita-1` -LFLAGS = `pkg-config --libs gtk4` `pkg-config --libs libadwaita-1` +LFLAGS = `pkg-config --libs gtk4` `pkg-config --libs libadwaita-1` `pkg-config --libs gmodule-export-2.0` all: $(NAME) diff --git a/gui.c b/gui.c index 3cc3a92..e322068 100644 --- a/gui.c +++ b/gui.c @@ -151,8 +151,9 @@ void main_window(AdwApplication *app) { g_signal_connect(share_toggle, "toggled", G_CALLBACK(share_toggle_click), window); GtkButton* settings_btn = GTK_BUTTON(gtk_builder_get_object(builder, "settings-btn")); + printf("BUTTON: %p; WINDOW: %p\n", settings_btn, window); //GtkWindow* prefs_window = GTK_WINDOW(gtk_builder_get_object(builder, "setting-dialog")); - g_signal_connect(settings_btn, "clicked", G_CALLBACK(settings_click), window); + // g_signal_connect(settings_btn, "clicked", G_CALLBACK(settings_click), window); gtk_window_present(GTK_WINDOW(window)); } diff --git a/res/main-window.blp b/res/main-window.blp index a5ec550..e4484a0 100644 --- a/res/main-window.blp +++ b/res/main-window.blp @@ -28,11 +28,15 @@ Adw.ApplicationWindow main-window { } [end] // label set in program - ToggleButton share-toggle { label: "❌ Share";} + ToggleButton share-toggle { + label: "❌ Share"; + // clicked => $share_toggle_click(); + } [end] Button settings-btn { Image { icon-name: "emblem-system-symbolic"; } tooltip-text: "Settings"; + clicked => $settings_click(); } } diff --git a/settings.c b/settings.c index 03e3b10..e29d50d 100644 --- a/settings.c +++ b/settings.c @@ -1,6 +1,7 @@ #include "settings.h" void settings_click(GtkButton* settings_btn, GtkWindow* window){ + printf("BUTTON: %p; WINDOW: %p\n", settings_btn, window); GtkBuilder* settings_builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/settings.ui"); AdwPreferencesWindow* prefs_window = ADW_PREFERENCES_WINDOW(gtk_builder_get_object(settings_builder, "setting-dialog")); gtk_window_set_transient_for(GTK_WINDOW(prefs_window), window); From de28aae4d44f26c928c9a2ad914091f7920728df Mon Sep 17 00:00:00 2001 From: asder8215 Date: Thu, 6 Jul 2023 13:46:21 -0400 Subject: [PATCH 8/8] Reverted the click signal event from the blueprint file; can't figure out how to pass gpointer data to it --- gui.c | 5 ++--- res/main-window.blp | 2 -- settings.c | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/gui.c b/gui.c index e322068..be98925 100644 --- a/gui.c +++ b/gui.c @@ -151,9 +151,8 @@ void main_window(AdwApplication *app) { g_signal_connect(share_toggle, "toggled", G_CALLBACK(share_toggle_click), window); GtkButton* settings_btn = GTK_BUTTON(gtk_builder_get_object(builder, "settings-btn")); - printf("BUTTON: %p; WINDOW: %p\n", settings_btn, window); - //GtkWindow* prefs_window = GTK_WINDOW(gtk_builder_get_object(builder, "setting-dialog")); - // g_signal_connect(settings_btn, "clicked", G_CALLBACK(settings_click), window); + GtkWindow* prefs_window = GTK_WINDOW(gtk_builder_get_object(builder, "setting-dialog")); + g_signal_connect(settings_btn, "clicked", G_CALLBACK(settings_click), window); gtk_window_present(GTK_WINDOW(window)); } diff --git a/res/main-window.blp b/res/main-window.blp index e4484a0..6fbe695 100644 --- a/res/main-window.blp +++ b/res/main-window.blp @@ -30,13 +30,11 @@ Adw.ApplicationWindow main-window { // label set in program ToggleButton share-toggle { label: "❌ Share"; - // clicked => $share_toggle_click(); } [end] Button settings-btn { Image { icon-name: "emblem-system-symbolic"; } tooltip-text: "Settings"; - clicked => $settings_click(); } } diff --git a/settings.c b/settings.c index e29d50d..03e3b10 100644 --- a/settings.c +++ b/settings.c @@ -1,7 +1,6 @@ #include "settings.h" void settings_click(GtkButton* settings_btn, GtkWindow* window){ - printf("BUTTON: %p; WINDOW: %p\n", settings_btn, window); GtkBuilder* settings_builder = gtk_builder_new_from_resource("/me/Asder8215/TeXiT/settings.ui"); AdwPreferencesWindow* prefs_window = ADW_PREFERENCES_WINDOW(gtk_builder_get_object(settings_builder, "setting-dialog")); gtk_window_set_transient_for(GTK_WINDOW(prefs_window), window);