From e1fc46779508f6f56638fca5cffe5b39d2edaf39 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Sun, 11 Feb 2024 18:04:22 +0100 Subject: [PATCH] remove repeated code. --- rose | Bin 42848 -> 42888 bytes rose.c | 61 +++++++++++++++++++++++++-------------------------------- 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/rose b/rose index 03f81a1dedb6ceb66cbb3662c15cff37a094db55..a65d59db2cc2cd27537a9a68c02e463ca6898de9 100755 GIT binary patch delta 9419 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 TGMV@<)^qa!aS_Yi{KS6&mg%Ic diff --git a/rose.c b/rose.c index 527f6c1..e21c054 100644 --- a/rose.c +++ b/rose.c @@ -18,7 +18,14 @@ static struct { } bar; // top bar. static int num_tabs = 0; -/* */ +/* Utils */ +WebKitWebView* notebook_get_webview(GtkNotebook* notebook) +{ + return WEBKIT_WEB_VIEW(gtk_notebook_get_nth_page( + notebook, gtk_notebook_get_current_page(notebook))); +} + +/* Webkit initialization */ WebKitWebView* webview_new() { char* style; @@ -79,24 +86,28 @@ void load_uri(WebKitWebView* view, const char* uri) } } - -WebKitWebView* notebook_get_webview(GtkNotebook* notebook) -{ - return WEBKIT_WEB_VIEW(gtk_notebook_get_nth_page( - notebook, gtk_notebook_get_current_page(notebook))); -} - /* Deal with new load or changed load */ void redirect_if_annoying(WebKitWebView* view, const char* uri) { - int l = LIBRE_N + strlen(uri) + 1; - char uri_filtered[l]; - str_init(uri_filtered, l); + if (LIBRE_REDIRECT_ENABLED) { + int l = LIBRE_N + strlen(uri) + 1; + char uri_filtered[l]; + str_init(uri_filtered, l); - int check = libre_redirect(uri, uri_filtered); + int check = libre_redirect(uri, uri_filtered); - if (check == 2) { - webkit_web_view_load_uri(view, uri_filtered); + if (check == 2) { + webkit_web_view_load_uri(view, uri_filtered); + } + } +} +void set_custom_style(WebKitWebView* view){ + if (CUSTOM_STYLE_ENABLED) { + char* style_js = malloc(STYLE_N + 1); + read_style_js(style_js); + webkit_web_view_run_javascript(notebook_get_webview(notebook), style_js, + NULL, NULL, NULL); + free(style_js); } } void handle_signal_load_changed(WebKitWebView* self, WebKitLoadEvent load_event, @@ -106,33 +117,15 @@ void handle_signal_load_changed(WebKitWebView* self, WebKitLoadEvent load_event, /* see */ case WEBKIT_LOAD_STARTED: - if (CUSTOM_STYLE_ENABLED) { - char* style_js = malloc(STYLE_N + 1); - read_style_js(style_js); - webkit_web_view_run_javascript(notebook_get_webview(notebook), style_js, - NULL, NULL, NULL); - free(style_js); - } - if (LIBRE_REDIRECT_ENABLED) { + set_custom_style(self); redirect_if_annoying(self, webkit_web_view_get_uri(self)); - } break; case WEBKIT_LOAD_REDIRECTED: - if (LIBRE_REDIRECT_ENABLED) { redirect_if_annoying(self, webkit_web_view_get_uri(self)); - } break; case WEBKIT_LOAD_COMMITTED: - if (LIBRE_REDIRECT_ENABLED) { redirect_if_annoying(self, webkit_web_view_get_uri(self)); - } - if (CUSTOM_STYLE_ENABLED) { - char* style_js = malloc(STYLE_N + 1); - read_style_js(style_js); - webkit_web_view_run_javascript(notebook_get_webview(notebook), style_js, - NULL, NULL, NULL); - free(style_js); - } + set_custom_style(self); break; case WEBKIT_LOAD_FINISHED: { /* Add gtk tab title */