diff options
author | Rob Kendrick <rjek@rjek.com> | 2014-01-05 16:45:32 +0000 |
---|---|---|
committer | Rob Kendrick <rjek@rjek.com> | 2014-01-05 16:45:32 +0000 |
commit | 550c8cd73c06f0984ce22b844d5a216d332cee43 (patch) | |
tree | 270a4a7b1d137dd63405b9ffc5cbe73164b549b6 /gtk/window.c | |
parent | 0d7f1cfc93008add9a082c2c54de8427ac0f1786 (diff) | |
download | netsurf-550c8cd73c06f0984ce22b844d5a216d332cee43.tar.gz netsurf-550c8cd73c06f0984ce22b844d5a216d332cee43.tar.bz2 |
Change gui_file_gadget_interface to pass gui_window not browser_window, add GTK implementation that of course does not work.
Diffstat (limited to 'gtk/window.c')
-rw-r--r-- | gtk/window.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gtk/window.c b/gtk/window.c index 8f449ced2..8f05c3799 100644 --- a/gtk/window.c +++ b/gtk/window.c @@ -1162,3 +1162,35 @@ void gui_window_get_dimensions(struct gui_window *g, int *width, int *height, LOG(("width: %i", *width)); LOG(("height: %i", *height)); } + +void gui_file_gadget_open(struct gui_window *g, hlcache_handle *hl, + struct form_control *gadget) +{ + GtkWidget *dialog; + + LOG(("Awooga.")); + + dialog = gtk_file_chooser_dialog_new("Select File", + nsgtk_scaffolding_window(g->scaffold), + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, + NULL); + + LOG(("*** open dialog: %p", dialog)); + + int ret = gtk_dialog_run(GTK_DIALOG(dialog)); + LOG(("*** return value: %d", ret)); + if (ret == GTK_RESPONSE_ACCEPT) { + char *filename; + + filename = gtk_file_chooser_get_filename( + GTK_FILE_CHOOSER(dialog)); + + browser_window_set_gadget_filename(g->bw, gadget, filename); + + g_free(filename); + } + + gtk_widget_destroy(dialog); +} |