diff options
1 files changed, 23 insertions, 1 deletions
| -rw-r--r-- | goodwolf.c | 24 |
@@ -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(); |