diff options
Diffstat (limited to 'tests/test-ui.c')
-rw-r--r-- | tests/test-ui.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/test-ui.c b/tests/test-ui.c new file mode 100644 index 0000000..ad69adb --- /dev/null +++ b/tests/test-ui.c @@ -0,0 +1,61 @@ +/* vim: set sw=2 ts=2 sts=2 et: */ + +#include <gnome-autoar/autoar.h> +#include <gtk/gtk.h> +#include <stdio.h> +#include <stdlib.h> + +static gboolean +before_deleted (GtkWindow *window, + GdkEvent *event, + GtkWidget *simple) +{ + AutoarFormat format; + AutoarFilter filter; + char *str; + + autoar_gtk_format_filter_simple_get (simple, &format, &filter); + if (!format || !filter) { + GtkWidget *warning; + warning = gtk_message_dialog_new (window, + GTK_DIALOG_MODAL, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Your choice is not valid!"); + gtk_dialog_run (GTK_DIALOG (warning)); + gtk_widget_destroy (warning); + + return TRUE; + } + + puts (str = autoar_format_filter_get_description (format, filter)); + free (str); + puts (str = autoar_format_filter_get_extension (format, filter)); + free (str); + + gtk_main_quit(); + return FALSE; +} + +int +main (int argc, + char *argv[]) +{ + GtkWidget *window; + GtkWidget *simple; + + gtk_init (&argc, &argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), argv[0]); + + simple = autoar_gtk_format_filter_simple_new (); + gtk_container_add (GTK_CONTAINER (window), simple); + g_signal_connect (window, "delete-event", G_CALLBACK (before_deleted), simple); + + gtk_widget_show_all (window); + + gtk_main (); + + return 0; +} |