PROP_TRASH
};
-enum {
+enum
+{
NEW_WINDOW,
STATUSBAR_TEXT_CHANGED,
ELEMENT_MOTION,
// Bookmarks
GtkWidget* box = gtk_vbox_new (FALSE, 0);
- GtkWidget* toolbar = gtk_ui_manager_get_widget (ui_manager, "/toolbar_bookmarks");
- gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_MENU);
- gtk_box_pack_start (GTK_BOX (box), toolbar, FALSE, FALSE, 0);
GtkTreeViewColumn* column;
GtkCellRenderer* renderer_text;
GtkCellRenderer* renderer_pixbuf;
gtk_box_pack_start (GTK_BOX (box), treeview, TRUE, TRUE, 0);
priv->panel_bookmarks = treeview;
gtk_widget_show_all (box);
+ GtkWidget* toolbar = gtk_ui_manager_get_widget (ui_manager,
+ "/toolbar_bookmarks");
+ gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_MENU);
+ gtk_widget_show_all (toolbar);
midori_panel_append_page (MIDORI_PANEL (priv->panel),
- box, "vcard", _("Bookmarks"));
- action = _action_by_name (browser, "PanelBookmarks");
+ box, toolbar,
+ "vcard", _("Bookmarks"));
// Transfers
priv->panel_pageholder = g_object_new (MIDORI_TYPE_WEB_VIEW,
NULL);
gtk_widget_show (priv->panel_pageholder);
midori_panel_append_page (MIDORI_PANEL (priv->panel),
- priv->panel_pageholder,
+ priv->panel_pageholder, NULL,
"package", _("Transfers"));
// Console
priv->panel_console = midori_console_new ();
gtk_widget_show (priv->panel_console);
+ toolbar = midori_console_get_toolbar (MIDORI_CONSOLE (priv->panel_console));
+ gtk_widget_show (toolbar);
midori_panel_append_page (MIDORI_PANEL (priv->panel),
- priv->panel_console,
+ priv->panel_console, toolbar,
"terminal", _("Console"));
// History
NULL);
gtk_widget_show (priv->panel_pageholder);
midori_panel_append_page (MIDORI_PANEL (priv->panel),
- priv->panel_pageholder,
+ priv->panel_pageholder, NULL,
"document-open-recent", _("History"));
// Pageholder
NULL);
gtk_widget_show (priv->panel_pageholder);
midori_panel_append_page (MIDORI_PANEL (priv->panel),
- priv->panel_pageholder,
+ priv->panel_pageholder, NULL,
GTK_STOCK_CONVERT, _("Pageholder"));
// Notebook, containing all web_views
midori_browser_activate_action (MidoriBrowser* browser,
const gchar* name)
{
- MidoriBrowserPrivate* priv = browser->priv;
-
GtkAction* action = _action_by_name (browser, name);
if (action)
gtk_action_activate (action);
MidoriConsolePrivate* priv = console->priv;
- // Create the toolbar
- GtkWidget* toolbar = gtk_toolbar_new ();
- gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH_HORIZ);
- gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_BUTTON);
- GtkToolItem* toolitem = gtk_tool_item_new ();
- // TODO: What about a find entry here that filters e.g. by url?
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
- toolitem = gtk_separator_tool_item_new ();
- gtk_separator_tool_item_set_draw (GTK_SEPARATOR_TOOL_ITEM (toolitem),
- FALSE);
- gtk_tool_item_set_expand (toolitem, TRUE);
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
- toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_CLEAR);
- gtk_tool_item_set_is_important (toolitem, TRUE);
- g_signal_connect (toolitem, "clicked",
- G_CALLBACK (midori_console_button_clear_clicked_cb), console);
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
- gtk_widget_show_all (toolbar);
- gtk_box_pack_start (GTK_BOX (console), toolbar, FALSE, FALSE, 0);
-
// Create the treeview
GtkTreeViewColumn* column;
GtkCellRenderer* renderer_text;
return GTK_WIDGET (console);
}
+/**
+ * midori_console_get_toolbar:
+ *
+ * Retrieves the toolbar of the console. A new widget is created on
+ * the first call of this function.
+ *
+ * Return value: a new #MidoriConsole
+ **/
+GtkWidget*
+midori_console_get_toolbar (MidoriConsole* console)
+{
+ g_return_if_fail (MIDORI_IS_CONSOLE (console));
+
+ MidoriConsolePrivate* priv = console->priv;
+
+ static GtkWidget* toolbar = NULL;
+
+ if (!toolbar)
+ {
+ toolbar = gtk_toolbar_new ();
+ gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH_HORIZ);
+ gtk_toolbar_set_icon_size (GTK_TOOLBAR (toolbar), GTK_ICON_SIZE_BUTTON);
+ GtkToolItem* toolitem = gtk_tool_item_new ();
+ // TODO: What about a find entry here that filters e.g. by url?
+ gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
+ gtk_widget_show (toolitem);
+ toolitem = gtk_separator_tool_item_new ();
+ gtk_separator_tool_item_set_draw (GTK_SEPARATOR_TOOL_ITEM (toolitem),
+ FALSE);
+ gtk_tool_item_set_expand (toolitem, TRUE);
+ gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
+ gtk_widget_show (toolitem);
+ toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_CLEAR);
+ gtk_tool_item_set_is_important (toolitem, TRUE);
+ g_signal_connect (toolitem, "clicked",
+ G_CALLBACK (midori_console_button_clear_clicked_cb), console);
+ gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
+ gtk_widget_show (toolitem);
+ }
+
+ return toolbar;
+}
+
/**
* midori_console_add:
* @console: a #MidoriConsole
GtkWidget*
midori_console_new (void);
+GtkWidget*
+midori_console_get_toolbar (MidoriConsole* console);
+
void
-midori_console_add (MidoriConsole* panel,
+midori_console_add (MidoriConsole* console,
const gchar* message,
gint line,
const gchar* source_id);
GtkWidget* toolbar;
GtkWidget* toolbar_label;
GtkWidget* frame;
+ GtkWidget* toolbook;
GtkWidget* notebook;
GSList* group;
GtkMenu* menu;
gtk_box_pack_start (GTK_BOX (vbox), labelbar, FALSE, FALSE, 0);
gtk_widget_show_all (vbox);
+ // Create the toolbook
+ priv->toolbook = gtk_notebook_new ();
+ gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->toolbook), FALSE);
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->toolbook), FALSE);
+ gtk_box_pack_start (GTK_BOX (vbox), priv->toolbook, FALSE, FALSE, 0);
+ gtk_widget_show (priv->toolbook);
+
// Create the notebook
priv->notebook = gtk_notebook_new ();
gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE);
* midori_panel_append_page:
* @panel: a #MidoriPanel
* @child: the child widget
+ * @toolbar: a toolbar widget, or %NULL
* @icon: a stock ID or icon name, or %NULL
* @label: a string to use as the label, or %NULL
*
- * Appends a new page to the panel.
+ * Appends a new page to the panel. If @toolbar is specified it will
+ * be packaged above @child.
*
* If @icon is an icon name, the according image is used as an
* icon for this page.
gint
midori_panel_append_page (MidoriPanel* panel,
GtkWidget* child,
+ GtkWidget* toolbar,
const gchar* icon,
const gchar* label)
{
g_return_val_if_fail (MIDORI_IS_PANEL (panel), -1);
g_return_val_if_fail (GTK_IS_WIDGET (child), -1);
+ g_return_val_if_fail (!toolbar || GTK_IS_WIDGET (toolbar), -1);
MidoriPanelPrivate* priv = panel->priv;
gtk_container_add (GTK_CONTAINER (scrolled), widget);
gtk_container_add (GTK_CONTAINER (priv->notebook), scrolled);
+ if (!toolbar)
+ toolbar = gtk_event_box_new ();
+ gtk_widget_show (toolbar);
+ gtk_container_add (GTK_CONTAINER (priv->toolbook), toolbar);
+
guint n = midori_panel_page_num (panel, child);
const gchar* text = label ? label : _("Untitled");
MidoriPanelPrivate* priv = panel->priv;
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->toolbook), n);
gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), n);
GtkWidget* child = midori_panel_get_nth_page (panel, n);
if (child)
gint
midori_panel_append_page (MidoriPanel* panel,
GtkWidget* child,
+ GtkWidget* toolbar,
const gchar* icon,
const gchar* label);
priv->middle_click_opens_selection = g_value_get_boolean (&value);
else if (!g_object_class_find_property (G_OBJECT_GET_CLASS (web_settings),
name))
- g_warning("Unexpected setting '%s'", name);
+ g_warning (_("Unexpected setting '%s'"), name);
g_value_unset (&value);
}
}
/**
- * midori_web_view_get_uri:
+ * midori_web_view_get_display_uri:
* @web_view: a #MidoriWebView
*
* Retrieves a string that is suitable for displaying, particularly an