Modified: trunk/Tools/MiniBrowser/gtk/BrowserSearchBar.c (260890 => 260891)
--- trunk/Tools/MiniBrowser/gtk/BrowserSearchBar.c 2020-04-29 10:23:01 UTC (rev 260890)
+++ trunk/Tools/MiniBrowser/gtk/BrowserSearchBar.c 2020-04-29 10:36:22 UTC (rev 260891)
@@ -57,13 +57,13 @@
if (!gtk_entry_get_text_length(entry)) {
webkit_find_controller_search_finish(webkit_web_view_get_find_controller(searchBar->webView));
- gtk_entry_set_icon_from_stock(entry, GTK_ENTRY_ICON_SECONDARY, NULL);
+ gtk_entry_set_icon_from_icon_name(entry, GTK_ENTRY_ICON_SECONDARY, NULL);
setFailedStyleForEntry(searchBar, FALSE);
return;
}
- if (!gtk_entry_get_icon_stock(entry, GTK_ENTRY_ICON_SECONDARY))
- gtk_entry_set_icon_from_stock(entry, GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR);
+ if (!gtk_entry_get_icon_name(entry, GTK_ENTRY_ICON_SECONDARY))
+ gtk_entry_set_icon_from_icon_name(entry, GTK_ENTRY_ICON_SECONDARY, "edit-clear");
WebKitFindOptions options = WEBKIT_FIND_OPTIONS_WRAP_AROUND;
if (!gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(searchBar->caseCheckButton)))
@@ -94,10 +94,8 @@
static void searchEntryMenuIconPressedCallback(BrowserSearchBar *searchBar, GtkEntryIconPosition iconPosition, GdkEvent *event)
{
- if (iconPosition == GTK_ENTRY_ICON_PRIMARY) {
- GdkEventButton *eventButton = (GdkEventButton *)event;
- gtk_menu_popup(GTK_MENU(searchBar->optionsMenu), NULL, NULL, NULL, NULL, eventButton->button, eventButton->time);
- }
+ if (iconPosition == GTK_ENTRY_ICON_PRIMARY)
+ gtk_menu_popup_at_pointer(GTK_MENU(searchBar->optionsMenu), event);
}
static void searchEntryClearIconReleasedCallback(BrowserSearchBar *searchBar, GtkEntryIconPosition iconPosition)
@@ -158,7 +156,7 @@
searchBar->entry = gtk_entry_new();
gtk_widget_set_name(searchBar->entry, "searchEntry");
gtk_entry_set_placeholder_text(GTK_ENTRY(searchBar->entry), "Search");
- gtk_entry_set_icon_from_stock(GTK_ENTRY(searchBar->entry), GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_FIND);
+ gtk_entry_set_icon_from_icon_name(GTK_ENTRY(searchBar->entry), GTK_ENTRY_ICON_PRIMARY, "edit-find");
gtk_box_pack_start(hBox, searchBar->entry, TRUE, TRUE, 0);
searchBar->cssProvider = gtk_css_provider_new();
@@ -167,28 +165,21 @@
GtkBox *hBoxButtons = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));
gtk_box_pack_start(hBox, GTK_WIDGET(hBoxButtons), TRUE, TRUE, 0);
- searchBar->prevButton = gtk_button_new();
+ searchBar->prevButton = gtk_button_new_from_icon_name("go-up", GTK_ICON_SIZE_SMALL_TOOLBAR);
GtkButton *button = GTK_BUTTON(searchBar->prevButton);
- GtkWidget *image = gtk_image_new_from_stock(GTK_STOCK_GO_UP, GTK_ICON_SIZE_SMALL_TOOLBAR);
- gtk_button_set_image(button, image);
gtk_button_set_relief(button, GTK_RELIEF_NONE);
- gtk_button_set_focus_on_click(button, FALSE);
+ gtk_widget_set_focus_on_click(searchBar->prevButton, FALSE);
gtk_box_pack_start(hBoxButtons, searchBar->prevButton, FALSE, FALSE, 0);
- searchBar->nextButton = gtk_button_new();
+ searchBar->nextButton = gtk_button_new_from_icon_name("go-down", GTK_ICON_SIZE_SMALL_TOOLBAR);
button = GTK_BUTTON(searchBar->nextButton);
- image = gtk_image_new_from_stock(GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_SMALL_TOOLBAR);
- gtk_button_set_image(button, image);
gtk_button_set_relief(button, GTK_RELIEF_NONE);
- gtk_button_set_focus_on_click(button, FALSE);
+ gtk_widget_set_focus_on_click(searchBar->nextButton, FALSE);
gtk_box_pack_start(hBoxButtons, searchBar->nextButton, FALSE, FALSE, 0);
- GtkWidget *closeButton = gtk_button_new();
- button = GTK_BUTTON(closeButton);
- image = gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR);
- gtk_button_set_image(button, image);
- gtk_button_set_relief(button, GTK_RELIEF_NONE);
- gtk_button_set_focus_on_click(button, FALSE);
+ GtkWidget *closeButton = gtk_button_new_from_icon_name("window-close", GTK_ICON_SIZE_SMALL_TOOLBAR);
+ gtk_button_set_relief(GTK_BUTTON(closeButton), GTK_RELIEF_NONE);
+ gtk_widget_set_focus_on_click(closeButton, FALSE);
gtk_box_pack_end(hBoxButtons, closeButton, FALSE, FALSE, 0);
searchBar->optionsMenu = g_object_ref_sink(gtk_menu_new());
Modified: trunk/Tools/MiniBrowser/gtk/BrowserWindow.c (260890 => 260891)
--- trunk/Tools/MiniBrowser/gtk/BrowserWindow.c 2020-04-29 10:23:01 UTC (rev 260890)
+++ trunk/Tools/MiniBrowser/gtk/BrowserWindow.c 2020-04-29 10:36:22 UTC (rev 260891)
@@ -210,15 +210,15 @@
}
#if !GTK_CHECK_VERSION(3, 98, 0)
-static void browserWindowHistoryItemSelected(BrowserWindow *window, GtkMenuItem *item)
+static void browserWindowHistoryItemSelected(BrowserWindow *window, GtkMenuItem *menuItem)
{
- GtkAction *action = ""
- browserWindowSetStatusText(window, action ? gtk_action_get_name(action) : NULL);
+ WebKitBackForwardListItem *item = g_object_get_data(G_OBJECT(menuItem), "back-forward-list-item");
+ browserWindowSetStatusText(window, item ? webkit_back_forward_list_item_get_uri(item) : NULL);
}
-static void browserWindowHistoryItemActivated(BrowserWindow *window, GtkAction *action)
+static void browserWindowHistoryItemActivated(BrowserWindow *window, GtkMenuItem *menuItem)
{
- WebKitBackForwardListItem *item = g_object_get_data(G_OBJECT(action), "back-forward-list-item");
+ WebKitBackForwardListItem *item = g_object_get_data(G_OBJECT(menuItem), "back-forward-list-item");
if (!item)
return;
@@ -235,16 +235,12 @@
GList *listItem;
for (listItem = list; listItem; listItem = g_list_next(listItem)) {
WebKitBackForwardListItem *item = (WebKitBackForwardListItem *)listItem->data;
- const char *uri = webkit_back_forward_list_item_get_uri(item);
const char *title = webkit_back_forward_list_item_get_title(item);
- GtkAction *action = "" title, NULL, NULL);
- g_object_set_data_full(G_OBJECT(action), "back-forward-list-item", g_object_ref(item), g_object_unref);
- g_signal_connect_swapped(action, "activate", G_CALLBACK(browserWindowHistoryItemActivated), window);
-
- GtkWidget *menuItem = gtk_action_create_menu_item(action);
+ GtkWidget *menuItem = gtk_menu_item_new_with_label(title);
+ g_object_set_data_full(G_OBJECT(menuItem), "back-forward-list-item", g_object_ref(item), g_object_unref);
g_signal_connect_swapped(menuItem, "select", G_CALLBACK(browserWindowHistoryItemSelected), window);
- g_object_unref(action);
+ g_signal_connect_swapped(menuItem, "activate", G_CALLBACK(browserWindowHistoryItemActivated), window);
gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), menuItem);
gtk_widget_show(menuItem);
@@ -256,7 +252,7 @@
}
#endif
-static void browserWindowUpdateNavigationActions(BrowserWindow *window, WebKitBackForwardList *backForwardlist)
+static void browserWindowUpdateNavigationMenu(BrowserWindow *window, WebKitBackForwardList *backForwardlist)
{
#if !GTK_CHECK_VERSION(3, 98, 0)
WebKitWebView *webView = browser_tab_get_web_view(window->activeTab);
@@ -300,7 +296,7 @@
static void backForwardlistChanged(WebKitBackForwardList *backForwardlist, WebKitBackForwardListItem *itemAdded, GList *itemsRemoved, BrowserWindow *window)
{
- browserWindowUpdateNavigationActions(window, backForwardlist);
+ browserWindowUpdateNavigationMenu(window, backForwardlist);
}
static void webViewClose(WebKitWebView *webView, BrowserWindow *window)
@@ -495,7 +491,7 @@
if (window->favicon)
gtk_entry_set_icon_from_pixbuf(entry, GTK_ENTRY_ICON_PRIMARY, window->favicon);
else
- gtk_entry_set_icon_from_stock(entry, GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_NEW);
+ gtk_entry_set_icon_from_icon_name(entry, GTK_ENTRY_ICON_PRIMARY, "document-new");
#endif
}
@@ -522,7 +518,7 @@
#if !GTK_CHECK_VERSION(3, 98, 0)
gboolean isLoading = webkit_web_view_is_loading(webView);
gtk_tool_button_set_label(GTK_TOOL_BUTTON(window->reloadOrStopButton), isLoading ? "Stop" : "Reload");
- gtk_tool_button_set_stock_id(GTK_TOOL_BUTTON(window->reloadOrStopButton), isLoading ? GTK_STOCK_STOP : GTK_STOCK_REFRESH);
+ gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(window->reloadOrStopButton), isLoading ? "process-stop" : "view-refresh");
#endif
}
@@ -758,6 +754,19 @@
G_OBJECT_CLASS(browser_window_parent_class)->dispose(gObject);
}
+static GtkWidget *
+browserWindowSetupEditorToolbarItem(BrowserWindow* window, GtkWidget* toolbar, GType type, const char* label, const char* namedIcon)
+{
+ GtkWidget *item = g_object_new(type, "icon-name", namedIcon, NULL);
+ gtk_widget_set_name(item, label);
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), label);
+ g_signal_connect(G_OBJECT(item), type == GTK_TYPE_TOGGLE_TOOL_BUTTON ? "toggled" : "clicked", G_CALLBACK(editingCommandCallback), window);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1);
+ gtk_widget_show(item);
+
+ return item;
+}
+
static void browserWindowSetupEditorToolbar(BrowserWindow *window)
{
#if !GTK_CHECK_VERSION(3, 98, 0)
@@ -765,87 +774,33 @@
gtk_orientable_set_orientation(GTK_ORIENTABLE(toolbar), GTK_ORIENTATION_HORIZONTAL);
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ);
- GtkToolItem *item = gtk_toggle_tool_button_new_from_stock(GTK_STOCK_BOLD);
- window->boldItem = GTK_WIDGET(item);
- gtk_widget_set_name(GTK_WIDGET(item), "Bold");
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Bold");
- g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
+ window->boldItem = browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOGGLE_TOOL_BUTTON, "Bold", "format-text-bold");
+ window->italicItem = browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOGGLE_TOOL_BUTTON, "Italic", "format-text-italic");
+ window->underlineItem = browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOGGLE_TOOL_BUTTON, "Underline", "format-text-underline");
+ window->strikethroughItem = browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOGGLE_TOOL_BUTTON, "Strikethrough", "format-text-strikethrough");
- item = gtk_toggle_tool_button_new_from_stock(GTK_STOCK_ITALIC);
- window->italicItem = GTK_WIDGET(item);
- gtk_widget_set_name(GTK_WIDGET(item), "Italic");
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Italic");
- g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(editingCommandCallback), window);
+ GtkToolItem *item = gtk_separator_tool_item_new();
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
gtk_widget_show(GTK_WIDGET(item));
- item = gtk_toggle_tool_button_new_from_stock(GTK_STOCK_UNDERLINE);
- window->underlineItem = GTK_WIDGET(item);
- gtk_widget_set_name(GTK_WIDGET(item), "Underline");
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Underline");
- g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
+ browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, WEBKIT_EDITING_COMMAND_CUT, "edit-cut");
+ browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, WEBKIT_EDITING_COMMAND_COPY, "edit-copy");
+ browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, WEBKIT_EDITING_COMMAND_PASTE, "edit-paste");
- item = gtk_toggle_tool_button_new_from_stock(GTK_STOCK_STRIKETHROUGH);
- gtk_widget_set_name(GTK_WIDGET(item), "Strikethrough");
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Strikethrough");
- window->strikethroughItem = GTK_WIDGET(item);
- g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
-
item = gtk_separator_tool_item_new();
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
gtk_widget_show(GTK_WIDGET(item));
- item = gtk_tool_button_new_from_stock(GTK_STOCK_CUT);
- gtk_widget_set_name(GTK_WIDGET(item), WEBKIT_EDITING_COMMAND_CUT);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), WEBKIT_EDITING_COMMAND_CUT);
- g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
+ browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, WEBKIT_EDITING_COMMAND_UNDO, "edit-undo");
+ browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, WEBKIT_EDITING_COMMAND_REDO, "edit-redo");
- item = gtk_tool_button_new_from_stock(GTK_STOCK_COPY);
- gtk_widget_set_name(GTK_WIDGET(item), WEBKIT_EDITING_COMMAND_COPY);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), WEBKIT_EDITING_COMMAND_COPY);
- g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
-
- item = gtk_tool_button_new_from_stock(GTK_STOCK_PASTE);
- gtk_widget_set_name(GTK_WIDGET(item), WEBKIT_EDITING_COMMAND_PASTE);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), WEBKIT_EDITING_COMMAND_PASTE);
- g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
-
item = gtk_separator_tool_item_new();
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
gtk_widget_show(GTK_WIDGET(item));
- item = gtk_tool_button_new_from_stock(GTK_STOCK_UNDO);
- gtk_widget_set_name(GTK_WIDGET(item), WEBKIT_EDITING_COMMAND_UNDO);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), WEBKIT_EDITING_COMMAND_UNDO);
- g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
-
- item = gtk_tool_button_new_from_stock(GTK_STOCK_REDO);
- gtk_widget_set_name(GTK_WIDGET(item), WEBKIT_EDITING_COMMAND_REDO);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), WEBKIT_EDITING_COMMAND_REDO);
- g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
-
- item = gtk_separator_tool_item_new();
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
-
- item = gtk_radio_tool_button_new_from_stock(NULL, GTK_STOCK_JUSTIFY_LEFT);
+ item = gtk_radio_tool_button_new(NULL);
GSList *justifyRadioGroup = gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON(item));
+ gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(item), "format-justify-left");
gtk_widget_set_name(GTK_WIDGET(item), "JustifyLeft");
gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Justify Left");
g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(editingCommandCallback), window);
@@ -852,8 +807,9 @@
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
gtk_widget_show(GTK_WIDGET(item));
- item = gtk_radio_tool_button_new_from_stock(justifyRadioGroup, GTK_STOCK_JUSTIFY_CENTER);
+ item = gtk_radio_tool_button_new(justifyRadioGroup);
justifyRadioGroup = gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON(item));
+ gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(item), "format-justify-center");
gtk_widget_set_name(GTK_WIDGET(item), "JustifyCenter");
gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Justify Center");
g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(editingCommandCallback), window);
@@ -860,7 +816,8 @@
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
gtk_widget_show(GTK_WIDGET(item));
- item = gtk_radio_tool_button_new_from_stock(justifyRadioGroup, GTK_STOCK_JUSTIFY_RIGHT);
+ item = gtk_radio_tool_button_new(justifyRadioGroup);
+ gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(item), "format-justify-right");
gtk_widget_set_name(GTK_WIDGET(item), "JustifyRight");
gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Justify Right");
g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(editingCommandCallback), window);
@@ -871,20 +828,9 @@
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
gtk_widget_show(GTK_WIDGET(item));
- item = gtk_tool_button_new_from_stock(GTK_STOCK_INDENT);
- gtk_widget_set_name(GTK_WIDGET(item), "Indent");
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Indent");
- g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
+ browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, "Indent", "format-indent-more");
+ browserWindowSetupEditorToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, "Outdent", "format-indent-less");
- item = gtk_tool_button_new_from_stock(GTK_STOCK_UNINDENT);
- gtk_widget_set_name(GTK_WIDGET(item), "Outdent");
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Outdent");
- g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(editingCommandCallback), window);
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
-
item = gtk_separator_tool_item_new();
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
gtk_widget_show(GTK_WIDGET(item));
@@ -963,7 +909,7 @@
#endif
WebKitBackForwardList *backForwardlist = webkit_web_view_get_back_forward_list(webView);
- browserWindowUpdateNavigationActions(window, backForwardlist);
+ browserWindowUpdateNavigationMenu(window, backForwardlist);
g_signal_connect(backForwardlist, "changed", G_CALLBACK(backForwardlistChanged), window);
}
@@ -972,6 +918,19 @@
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(window->notebook), gtk_notebook_get_n_pages(notebook) > 1);
}
+static GtkWidget* browserWindowSetupToolbarItem(BrowserWindow* window, GtkWidget* toolbar, GType type, const char* label, const char* namedIcon, GCallback callback)
+{
+ GtkWidget *item = g_object_new(type, "icon-name", namedIcon, NULL);
+ if (type == GTK_TYPE_MENU_TOOL_BUTTON)
+ gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(item), 0);
+ g_signal_connect_swapped(item, "clicked", callback, (gpointer)window);
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), label);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), GTK_TOOL_ITEM(item), -1);
+ gtk_widget_show(item);
+
+ return item;
+}
+
static void browser_window_init(BrowserWindow *window)
{
windowList = g_list_append(windowList, window);
@@ -1059,57 +1018,20 @@
gtk_orientable_set_orientation(GTK_ORIENTABLE(toolbar), GTK_ORIENTATION_HORIZONTAL);
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ);
- GtkToolItem *item = gtk_menu_tool_button_new_from_stock(GTK_STOCK_GO_BACK);
- window->backItem = GTK_WIDGET(item);
- gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(item), 0);
- g_signal_connect_swapped(item, "clicked", G_CALLBACK(goBackCallback), (gpointer)window);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Back");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
+ window->backItem = browserWindowSetupToolbarItem(window, toolbar, GTK_TYPE_MENU_TOOL_BUTTON, "Back", "go-previous", G_CALLBACK(goBackCallback));
+ window->forwardItem = browserWindowSetupToolbarItem(window, toolbar, GTK_TYPE_MENU_TOOL_BUTTON, "Forward", "go-next", G_CALLBACK(goForwardCallback));
+ browserWindowSetupToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, "Preferences", "preferences-system", G_CALLBACK(settingsCallback));
- item = gtk_menu_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD);
- window->forwardItem = GTK_WIDGET(item);
- gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(item), 0);
- g_signal_connect_swapped(G_OBJECT(item), "clicked", G_CALLBACK(goForwardCallback), (gpointer)window);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Forward");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
+ window->zoomOutItem = browserWindowSetupToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, "Zoom Out", "zoom-out", G_CALLBACK(zoomOutCallback));
+ window->zoomInItem = browserWindowSetupToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, "Zoom In", "zoom-in", G_CALLBACK(zoomInCallback));
- item = gtk_tool_button_new_from_stock(GTK_STOCK_PREFERENCES);
- g_signal_connect_swapped(G_OBJECT(item), "clicked", G_CALLBACK(settingsCallback), window);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Preferences");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
+ gtk_widget_add_accelerator(browserWindowSetupToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, "Find", "edit-find", G_CALLBACK(searchCallback)),
+ "clicked", window->accelGroup, GDK_KEY_F, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
- item = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_OUT);
- window->zoomOutItem = GTK_WIDGET(item);
- g_signal_connect_swapped(item, "clicked", G_CALLBACK(zoomOutCallback), window);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Zoom Out");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
+ gtk_widget_add_accelerator(browserWindowSetupToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, "Home", "go-home", G_CALLBACK(loadHomePage)),
+ "clicked", window->accelGroup, GDK_KEY_Home, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE);
- item = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_IN);
- window->zoomInItem = GTK_WIDGET(item);
- g_signal_connect_swapped(item, "clicked", G_CALLBACK(zoomInCallback), window);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Zoom In");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_show(GTK_WIDGET(item));
-
- item = gtk_tool_button_new_from_stock(GTK_STOCK_FIND);
- g_signal_connect_swapped(item, "clicked", G_CALLBACK(searchCallback), window);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Find");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_add_accelerator(GTK_WIDGET(item), "clicked", window->accelGroup, GDK_KEY_F, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
- gtk_widget_show(GTK_WIDGET(item));
-
- item = gtk_tool_button_new_from_stock(GTK_STOCK_HOME);
- g_signal_connect_swapped(item, "clicked", G_CALLBACK(loadHomePage), window);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Home");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
- gtk_widget_add_accelerator(GTK_WIDGET(item), "clicked", window->accelGroup, GDK_KEY_Home, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE);
- gtk_widget_show(GTK_WIDGET(item));
-
- item = gtk_tool_button_new(gtk_image_new_from_icon_name("tab-new", GTK_ICON_SIZE_SMALL_TOOLBAR), NULL);
+ GtkToolItem *item = gtk_tool_button_new(gtk_image_new_from_icon_name("tab-new", GTK_ICON_SIZE_SMALL_TOOLBAR), NULL);
g_signal_connect_swapped(item, "clicked", G_CALLBACK(newTabCallback), window);
gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "New Tab");
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
@@ -1123,13 +1045,8 @@
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
gtk_widget_show(GTK_WIDGET(item));
- item = gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH);
- window->reloadOrStopButton = GTK_WIDGET(item);
- g_signal_connect_swapped(item, "clicked", G_CALLBACK(reloadOrStopCallback), window);
- gtk_tool_button_set_label(GTK_TOOL_BUTTON(item), "Reload");
- gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
+ window->reloadOrStopButton = browserWindowSetupToolbarItem(window, toolbar, GTK_TYPE_TOOL_BUTTON, "Reload", "view-refresh", G_CALLBACK(reloadOrStopCallback));
gtk_widget_add_accelerator(window->reloadOrStopButton, "clicked", window->accelGroup, GDK_KEY_F5, 0, GTK_ACCEL_VISIBLE);
- gtk_widget_show(window->reloadOrStopButton);
#endif
GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
window->mainBox = vbox;