summaryrefslogtreecommitdiffstats
path: root/src/tab-page.c
diff options
context:
space:
mode:
authorPatrick McDermott <pj@pehjota.net>2017-10-28 14:22:09 (EDT)
committer Patrick McDermott <pj@pehjota.net>2017-10-28 14:22:09 (EDT)
commit916e89104c2953bbbb73ea2488e50905d0f35911 (patch)
tree435509aa243e0e044314ff0cb357741bbac5edcf /src/tab-page.c
parent017d9313b2703024a6df4803d49b718bbfda33d0 (diff)
downloadmarquee-916e89104c2953bbbb73ea2488e50905d0f35911.zip
marquee-916e89104c2953bbbb73ea2488e50905d0f35911.tar.gz
marquee-916e89104c2953bbbb73ea2488e50905d0f35911.tar.bz2
mq_tab_page_open(): New function
Diffstat (limited to 'src/tab-page.c')
-rw-r--r--src/tab-page.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/tab-page.c b/src/tab-page.c
index 1a7b37a..b1bdc77 100644
--- a/src/tab-page.c
+++ b/src/tab-page.c
@@ -271,6 +271,40 @@ mq_tab_page_get_title(MqTabPage *tab_page)
return tab_page->title;
}
+static void
+open_response_cb(GtkWidget *dialog, gint response_id, MqTabPage *tab_page)
+{
+ gchar *filename;
+ gchar *uri;
+
+ if (response_id == GTK_RESPONSE_ACCEPT) {
+ filename = gtk_file_chooser_get_filename(
+ GTK_FILE_CHOOSER(dialog));
+ uri = g_strconcat("file://", filename, NULL);
+ g_free(filename);
+ mq_web_view_load_uri(MQ_WEB_VIEW(tab_page->web_view), uri);
+ g_free(uri);
+ }
+
+ gtk_widget_destroy(dialog);
+}
+
+void
+mq_tab_page_open(MqTabPage *tab_page)
+{
+ GtkWidget *dialog;
+
+ dialog = gtk_file_chooser_dialog_new("Open File",
+ GTK_WINDOW(tab_page->window),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ "_Cancel", GTK_RESPONSE_CANCEL,
+ "_Open", GTK_RESPONSE_ACCEPT,
+ NULL);
+ g_signal_connect(dialog, "response",
+ G_CALLBACK(open_response_cb), tab_page);
+ gtk_widget_show_all(dialog);
+}
+
void
mq_tab_page_scroll_tab_labels(MqTabPage *node)
{