rosenrot-browser

A hackable browser based on Webkitgtk
Log | Files | Refs | README

commit 5c56652e871a435aa22a297d6d443e6f32cfdff0
parent 38eee1eb4459b5b4ec2397e888f17a970f22e31f
Author: NunoSempere <nuno.semperelh@protonmail.com>
Date:   Fri, 22 Mar 2024 07:48:49 -0300

refactor toggle bar code.

Diffstat:
Mplugins/style/style.c | 2+-
Mplugins/style/style.h | 2+-
Mrosenrot | 0
Mrosenrot.c | 30++++++++++++++++++------------
4 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/plugins/style/style.c b/plugins/style/style.c @@ -1,7 +1,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#define STYLE_N 7274 + 1000 +#define STYLE_N 7624 + 1000 void read_style_js(char* string) { diff --git a/plugins/style/style.h b/plugins/style/style.h @@ -1,7 +1,7 @@ #ifndef STYLE #define STYLE -#define STYLE_N 7274 + 1000 +#define STYLE_N 7624 + 1000 void read_style_js(char* string); diff --git a/rosenrot b/rosenrot Binary files differ. diff --git a/rosenrot.c b/rosenrot.c @@ -1,7 +1,7 @@ +#include <gdk/gdk.h> #include <stdlib.h> #include <string.h> #include <webkit2/webkit2.h> -#include <gdk/gdk.h> #include "config.h" #include "plugins/plugins.h" @@ -28,13 +28,13 @@ WebKitWebView* notebook_get_webview(GtkNotebook* notebook) /* Load content*/ -void show_bar(GtkNotebook* notebook); +void toggle_bar(GtkNotebook* notebook); void load_uri(WebKitWebView* view, const char* uri) { if (strlen(uri) == 0) { webkit_web_view_load_uri(view, ""); bar.entry_mode = _SEARCH; - show_bar(notebook); + toggle_bar(notebook); } else if (g_str_has_prefix(uri, "http://") || g_str_has_prefix(uri, "https://") || g_str_has_prefix(uri, "file://") || g_str_has_prefix(uri, "about:")) { webkit_web_view_load_uri(view, uri); @@ -210,17 +210,17 @@ void notebook_create_new_tab(GtkNotebook* notebook, const char* uri) } /* Top bar */ -void show_bar(GtkNotebook* notebook) +void toggle_bar(GtkNotebook* notebook) { - if (bar.entry_mode == _SEARCH) { + switch (bar.entry_mode) { + case _SEARCH: const char* url = webkit_web_view_get_uri(notebook_get_webview(notebook)); gtk_entry_set_placeholder_text(bar.line, "Search"); gtk_entry_buffer_set_text(bar.line_text, url, strlen(url)); gtk_widget_show(GTK_WIDGET(bar.widget)); gtk_window_set_focus(window, GTK_WIDGET(bar.line)); - } else if (bar.entry_mode == _HIDDEN) { - gtk_widget_hide(GTK_WIDGET(bar.widget)); - } else { + break; + case _FIND: const char* search_text = webkit_find_controller_get_search_text( webkit_web_view_get_find_controller(notebook_get_webview(notebook))); @@ -230,6 +230,12 @@ void show_bar(GtkNotebook* notebook) gtk_entry_set_placeholder_text(bar.line, "Find"); gtk_widget_show(GTK_WIDGET(bar.widget)); gtk_window_set_focus(window, GTK_WIDGET(bar.line)); + break; + default: + // fallthrough + case _HIDDEN: + gtk_widget_hide(GTK_WIDGET(bar.widget)); + break; // not needed now, but might reorder } } // Handle what happens when the user is on the bar and presses enter @@ -332,12 +338,12 @@ int handle_shortcut(func id, GtkNotebook* notebook) case show_searchbar: bar.entry_mode = _SEARCH; - show_bar(notebook); + toggle_bar(notebook); break; case show_finder: bar.entry_mode = _FIND; - show_bar(notebook); + toggle_bar(notebook); break; case finder_next: @@ -354,12 +360,12 @@ int handle_shortcut(func id, GtkNotebook* notebook) notebook_create_new_tab(notebook, NULL); gtk_notebook_set_show_tabs(notebook, true); bar.entry_mode = _SEARCH; - show_bar(notebook); + toggle_bar(notebook); break; case hide_bar: bar.entry_mode = _HIDDEN; - show_bar(notebook); + toggle_bar(notebook); break; case prettify: {