Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit4a49f7100b262649b9074fd4db495120bf239b8f (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-07-19 20:37:03 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-07-19 20:37:03 +0300
Files441b147f8b530e897e2dcaea45ad7736032e0b78
goodwolf-4a49f7100b262649b9074fd4db495120bf239b8f.tar
goodwolf-4a49f7100b262649b9074fd4db495120bf239b8f.tar.gz
goodwolf-4a49f7100b262649b9074fd4db495120bf239b8f.zip
Parentb09efb701fbbb9ca35968ae785628f517394dd15 (diff)
goodwolf: Added search in page button that toggles the browser toolbar
1 files changed, 23 insertions, 1 deletions
-rw-r--r--goodwolf.c24
diff --git a/goodwolf.c b/goodwolf.c
index ea17379..d970610 100644
--- a/goodwolf.c
+++ b/goodwolf.c
@@ -613,6 +613,17 @@ auto_load_imagesCb_toggled(GtkButton *auto_load_images, gpointer user_data)
}
static void
+searchCb_clicked(GtkButton *search, gpointer user_data)
+{
+ struct Client *browser = (struct Client *)user_data;
+
+ if (gtk_widget_get_visible(browser->statusbar))
+ gtk_widget_hide(browser->statusbar);
+ else
+ gtk_widget_show(browser->statusbar);
+}
+
+static void
backCb_clicked(GtkButton *back, gpointer user_data)
{
(void)back;
@@ -744,6 +755,9 @@ new_browser(struct Window *window, const gchar *target_url, struct Client *old_b
gtk_button_new_from_icon_name("document-print-symbolic", GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_widget_set_name(browser->back, "browser__print");
+ GtkWidget *search = gtk_button_new_from_icon_name("search-symbolic", GTK_ICON_SIZE_SMALL_TOOLBAR);
+ gtk_widget_set_name(search, "browser__searchbar");
+
browser->statusbar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_set_name(browser->statusbar, "browser__statusbar");
browser->search = gtk_search_entry_new();
@@ -860,6 +874,7 @@ new_browser(struct Window *window, const gchar *target_url, struct Client *old_b
TRUE,
TRUE,
GOODWOLF_TOOLBAR_PADDING);
+ gtk_box_pack_start(GTK_BOX(browser->toolbar), search, FALSE, FALSE, GOODWOLF_TOOLBAR_PADDING);
gtk_box_pack_start(GTK_BOX(browser->toolbar), print, FALSE, FALSE, GOODWOLF_TOOLBAR_PADDING);
gtk_container_set_focus_child(GTK_CONTAINER(browser->box), browser->toolbar);
@@ -940,6 +955,12 @@ new_browser(struct Window *window, const gchar *target_url, struct Client *old_b
/* signals for location entry widget */
g_signal_connect(browser->location, "activate", G_CALLBACK(locationCb_activate), browser);
+ /* signals for search button */
+ g_signal_connect(search, "clicked", G_CALLBACK(searchCb_clicked), browser);
+ /* prevents GtkNotebook from swapping it's context-menu */
+ g_signal_connect(search, "button-press-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
+ g_signal_connect(search, "button-release-event", G_CALLBACK(widgetCb_drop_button3_event), NULL);
+
/* signals for print button */
g_signal_connect(print, "clicked", G_CALLBACK(printCb_clicked), browser);
/* prevents GtkNotebook from spawning it's context-menu */
@@ -1140,7 +1161,8 @@ tray_icon_on_click(GtkStatusIcon *status_icon, gpointer main_window_ptr)
gtk_widget_show(main_window);
}
-static GtkStatusIcon *create_tray_icon(const struct Window *window) {
+static GtkStatusIcon *
+create_tray_icon(const struct Window *window) {
GtkStatusIcon *tray_icon;
tray_icon = gtk_status_icon_new();