summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gui.c4
-rw-r--r--gtk/theme.c14
-rw-r--r--gtk/window.c32
3 files changed, 34 insertions, 16 deletions
diff --git a/gtk/gui.c b/gtk/gui.c
index 649c4a239..77b72f874 100644
--- a/gtk/gui.c
+++ b/gtk/gui.c
@@ -681,10 +681,6 @@ void gui_quit(void)
gtk_fetch_filetype_fin();
}
-
-
-
-
static void nsgtk_select_menu_clicked(GtkCheckMenuItem *checkmenuitem,
gpointer user_data)
{
diff --git a/gtk/theme.c b/gtk/theme.c
index 9d50c5931..ff0144cc8 100644
--- a/gtk/theme.c
+++ b/gtk/theme.c
@@ -793,11 +793,8 @@ theme_install_callback(hlcache_handle *c,
const hlcache_event *event, void *pw)
{
switch (event->type) {
- case CONTENT_MSG_READY:
- break;
- case CONTENT_MSG_DONE:
- {
+ case CONTENT_MSG_DONE: {
const char *source_data;
unsigned long source_size;
@@ -807,21 +804,14 @@ theme_install_callback(hlcache_handle *c,
warn_user("ThemeInvalid", 0);
hlcache_handle_release(c);
+ break;
}
- break;
case CONTENT_MSG_ERROR:
warn_user(event->data.error, 0);
break;
- case CONTENT_MSG_STATUS:
- break;
-
- case CONTENT_MSG_LOADING:
- case CONTENT_MSG_REFORMAT:
- case CONTENT_MSG_REDRAW:
default:
- assert(0);
break;
}
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);
+}