diff options
Add print button
2 files changed, 26 insertions, 0 deletions
| -rw-r--r-- | badwolf.c | 24 | ||||
| -rw-r--r-- | interface.txt | 2 |
@@ -56,6 +56,7 @@ static gboolean javascriptCb_toggled(GtkButton *javascript, gpointer user_data); static gboolean auto_load_imagesCb_toggled(GtkButton *auto_load_images, gpointer user_data); static void backCb_clicked(GtkButton *back, gpointer user_data); static void forwardCb_clicked(GtkButton *forward, gpointer user_data); +static void printCb_clicked(GtkButton *forward, gpointer user_data); static gboolean SearchEntryCb_next__match(GtkSearchEntry *search, gpointer user_data); static gboolean SearchEntryCb_previous__match(GtkSearchEntry *search, gpointer user_data); static gboolean SearchEntryCb_search__changed(GtkSearchEntry *search, gpointer user_data); @@ -498,6 +499,18 @@ forwardCb_clicked(GtkButton *forward, gpointer user_data) webkit_web_view_go_forward(browser->webView); } +static void +printCb_clicked(GtkButton *print, gpointer user_data) +{ + (void)print; + struct Client *browser = (struct Client *)user_data; + + WebKitPrintOperation *print_operation = webkit_print_operation_new(browser->webView); + + webkit_print_operation_run_dialog(print_operation, GTK_WINDOW(browser->window)); +} + + static gboolean SearchEntryCb_next__match(GtkSearchEntry *search, gpointer user_data) { @@ -584,6 +597,9 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat browser->location = gtk_entry_new(); gtk_widget_set_name(browser->location, "browser__location"); + GtkWidget *print = gtk_button_new_from_icon_name("document-print-symbolic", GTK_ICON_SIZE_SMALL_TOOLBAR); + gtk_widget_set_name(browser->back, "browser__print"); + browser->statusbar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_name(browser->statusbar, "browser__statusbar"); @@ -660,6 +676,11 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat TRUE, TRUE, BADWOLF_TOOLBAR_PADDING); + gtk_box_pack_start(GTK_BOX(browser->toolbar), + print, + FALSE, + FALSE, + BADWOLF_TOOLBAR_PADDING); gtk_container_set_focus_child(GTK_CONTAINER(browser->box), browser->toolbar); gtk_container_set_focus_child(GTK_CONTAINER(browser->toolbar), browser->location); @@ -707,6 +728,9 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat g_signal_connect( browser->auto_load_images, "toggled", G_CALLBACK(auto_load_imagesCb_toggled), browser); + /* signals for print button */ + g_signal_connect(print, "clicked", G_CALLBACK(printCb_clicked), browser); + /* signals for WebView widget */ g_signal_connect(browser->webView, "web-process-terminated", diff --git a/interface.txt b/interface.txt index a8d524f..76d9526 100644 --- a/interface.txt +++ b/interface.txt @@ -21,6 +21,8 @@ The Browser View contains the following items: - Potentially some future elements - Location entry linked to the WebKit WebView, with integrated progress indication also linked to the WebKit WebView - Potentially some future elements +- Print button +- Potentially some future elements The element focused by default is the location entry. |