[Xfce4-commits] <midori:master> Add button to open addon in text editor
Christian Dywan
noreply at xfce.org
Mon Aug 30 01:02:01 CEST 2010
Updating branch refs/heads/master
to d7b68b9d94656d37f86b136bec96f79a2092191e (commit)
from ce56f60ccdb2604ac1de4257e84321806213dbcf (commit)
commit d7b68b9d94656d37f86b136bec96f79a2092191e
Author: Paweł Forysiuk <tuxator at o2.pl>
Date: Mon Aug 30 00:59:57 2010 +0200
Add button to open addon in text editor
extensions/addons.c | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/extensions/addons.c b/extensions/addons.c
index 7f5d68a..263c893 100644
--- a/extensions/addons.c
+++ b/extensions/addons.c
@@ -277,6 +277,39 @@ midori_addons_button_delete_clicked_cb (GtkWidget* toolitem,
}
}
}
+static void
+midori_addons_open_in_editor_clicked_cb (GtkWidget* toolitem,
+ Addons* addons)
+{
+ GtkTreeModel* model;
+ GtkTreeIter iter;
+
+ if (katze_tree_view_get_selected_iter (GTK_TREE_VIEW (addons->treeview),
+ &model, &iter))
+ {
+ struct AddonElement* element;
+ MidoriWebSettings* settings;
+ MidoriBrowser* browser;
+ gchar* text_editor;
+ gchar* element_uri;
+
+ browser = midori_browser_get_for_widget (GTK_WIDGET (addons->treeview));
+ settings = katze_object_get_object (browser, "settings");
+
+ gtk_tree_model_get (model, &iter, 0, &element, -1);
+ element_uri = g_filename_to_uri (element->fullpath, NULL, NULL);
+
+ g_object_get (settings, "text-editor", &text_editor, NULL);
+ if (text_editor && *text_editor)
+ sokoke_spawn_program (text_editor, element_uri, TRUE);
+ else
+ sokoke_show_uri (NULL, element_uri,
+ gtk_get_current_event_time (), NULL);
+
+ g_free (element_uri);
+ g_free (text_editor);
+ }
+}
GtkWidget*
addons_get_toolbar (MidoriViewable* viewable)
@@ -311,6 +344,14 @@ addons_get_toolbar (MidoriViewable* viewable)
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
gtk_widget_show (GTK_WIDGET (toolitem));
+ /* Text editor button */
+ toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_EDIT);
+ gtk_tool_item_set_is_important (toolitem, TRUE);
+ g_signal_connect (toolitem, "clicked",
+ G_CALLBACK (midori_addons_open_in_editor_clicked_cb), viewable);
+ gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
+ gtk_widget_show (GTK_WIDGET (toolitem));
+
/* Delete button */
toolitem = gtk_tool_button_new_from_stock (GTK_STOCK_DELETE);
gtk_tool_item_set_is_important (toolitem, TRUE);
More information about the Xfce4-commits
mailing list