]> err.no Git - mapper/blob - src/dialogs.c
Add min/max zoom fields to repo struct
[mapper] / src / dialogs.c
1 #include "config.h"
2
3 #include <glib/gstdio.h>
4 #include <gtk/gtk.h>
5
6 #include "ui-maemo.h"
7 #include "hildon-wrappers.h"
8 #include "dialogs.h"
9
10 /**
11  * Pop up a modal dialog box with simple error information in it.
12  */
13 void 
14 popup_error(GtkWidget *window, const gchar *error)
15 {
16 GtkWidget *dialog;
17
18 #ifdef WITH_HILDON
19 dialog=hildon_note_new_information(GTK_WINDOW(window), error);
20 #else
21 dialog=gtk_message_dialog_new (GTK_WINDOW(window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, error);
22 #endif
23 gtk_dialog_run(GTK_DIALOG(dialog));
24 gtk_widget_destroy(dialog);
25 }
26
27 gboolean
28 dialog_confirm(GtkWidget *window, const gchar *msg)
29 {
30 GtkWidget *confirm;
31 gboolean r;
32
33 confirm=hildon_note_new_confirmation(GTK_WINDOW(window),msg);
34 r=(GTK_RESPONSE_OK == gtk_dialog_run(GTK_DIALOG(confirm))) ? TRUE : FALSE;
35 gtk_widget_destroy(confirm);
36 return r;
37 }
38
39 GtkWidget *
40 progress_dialog(GtkWidget *window, const gchar *title, GtkWidget *progress)
41 {
42 GtkWidget *dialog;
43
44 dialog=gtk_dialog_new();
45 gtk_window_set_title(GTK_WINDOW(dialog), title);
46 if (window)
47         gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(window));
48 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE);
49 #ifndef WITH_HILDON
50 gtk_window_set_deletable(GTK_WINDOW(dialog), FALSE);
51 #endif
52 /* gtk_window_set_decorated(GTK_WINDOW(dialog), FALSE); */
53 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), gtk_label_new(title), TRUE, FALSE, 0);
54 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), progress, TRUE, FALSE, 0);
55 gtk_window_set_default_size(GTK_WINDOW(dialog), 350, -1);
56 return dialog;
57 }
58
59 void
60 progress_dialog_remove(GtkWidget *dialog)
61 {
62 if (dialog)
63         gtk_widget_destroy(dialog);
64 }