]> err.no Git - mapper/blob - src/hildon-wrappers.c
a73d9b1ce79f195a60730fba6b566ccd0489ff45
[mapper] / src / hildon-wrappers.c
1 /****************************************************************************
2  * Hildon function Wrappers for non-hildon build
3  ****************************************************************************/
4 #define _GNU_SOURCE
5
6 #include "config.h"
7
8 #include <gtk/gtk.h>
9 #include "ui-common.h"
10
11 #ifndef WITH_HILDONFM
12
13 GtkWidget *hildon_file_chooser_dialog_new(GtkWindow * parent,
14                                           GtkFileChooserAction action)
15 {
16 GtkWidget *dialog;
17
18 if (action == GTK_FILE_CHOOSER_ACTION_SAVE) {
19         dialog = gtk_file_chooser_dialog_new("Save", parent, action,
20                                              GTK_STOCK_CANCEL,
21                                              GTK_RESPONSE_CANCEL,
22                                              GTK_STOCK_SAVE,
23                                              GTK_RESPONSE_ACCEPT, NULL);
24         gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE);
25 } else {
26         dialog = gtk_file_chooser_dialog_new("Open", parent, action,
27                                              GTK_STOCK_CANCEL,
28                                              GTK_RESPONSE_CANCEL,
29                                              GTK_STOCK_OPEN,
30                                              GTK_RESPONSE_ACCEPT, NULL);
31 }
32 return dialog;
33 }
34
35 #endif
36
37 #ifndef WITH_HILDON
38
39 static gint _sb_sid=0;
40
41 static gboolean
42 status_bar_clear(void)
43 {
44 gtk_statusbar_pop(_status_bar, 0);
45 _sb_sid=0;
46 return FALSE;
47 }
48
49 void hildon_banner_show_information(GtkWidget *w, void *t, gchar *text)
50 {
51 gtk_statusbar_pop(GTK_STATUSBAR(_status_bar), 0);
52 gtk_statusbar_push(GTK_STATUSBAR(_status_bar), 0, text);
53 if (_sb_sid!=0)
54         g_source_remove(_sb_sid);
55 _sb_sid=g_timeout_add(6000, status_bar_clear, NULL);
56 }
57
58 GtkWidget *hildon_banner_show_progress(GtkWidget * widget, GtkProgressBar *bar,
59                                        const gchar * text)
60 {
61 gtk_widget_show(_progress_item);
62 gtk_progress_bar_set_text(_progress_item, text);
63 hildon_banner_show_information(_status_bar, NULL, text);
64 return NULL;
65 }
66
67 GtkWidget *hildon_note_new_confirmation(GtkWidget *widget, const gchar *text)
68 {
69 return gtk_message_dialog_new(widget,
70                         GTK_DIALOG_DESTROY_WITH_PARENT,
71                         GTK_MESSAGE_ERROR,
72                         GTK_BUTTONS_OK_CANCEL, text);
73 }
74
75 void hildon_banner_set_fraction(GtkWidget * widget, gdouble fraction)
76 {
77 gtk_progress_bar_set_fraction(_progress_item, fraction);
78 if (fraction==1.0)
79         gtk_widget_hide(_progress_item);
80 else
81         gtk_widget_show(_progress_item);
82 }
83
84 GtkWidget *hildon_banner_show_animation(GtkWidget *widget,
85                                         const gchar *animation_name,
86                                         const gchar *text)
87 {
88 hildon_banner_show_information(_status_bar, NULL, text);
89 gtk_widget_show(_progress_item);
90 gtk_progress_bar_pulse(_progress_item);
91 return NULL;
92 }
93
94 void gtk_widget_tap_and_hold_setup(GtkWidget * a, GtkWidget * w, void *p, gint t)
95 {
96 }
97
98 GtkWidget *hildon_number_editor_new(gint min, gint max)
99 {
100 return gtk_spin_button_new_with_range(min, max, 1);
101 }
102
103 gint hildon_number_editor_get_value(GtkWidget * w)
104 {
105 return gtk_spin_button_get_value_as_int(GTK_WIDGET(w));
106 }
107
108 void hildon_number_editor_set_value(GtkWidget * w, gint v)
109 {
110 gtk_spin_button_set_value(w, v);
111 }
112
113 void hildon_number_editor_set_range(GtkWidget * w, gint min, gint max)
114 {
115 gtk_spin_button_set_range(w, min, max);
116 }
117
118 GtkWidget *hildon_controlbar_new()
119 {
120 return gtk_hscale_new_with_range(1, 10, 1);
121 }
122
123 gint hildon_controlbar_get_value(GtkWidget * w)
124 {
125 return gtk_range_get_value(w);
126 }
127
128 void hildon_controlbar_set_value(GtkWidget * w, gint v)
129 {
130 gtk_range_set_value(w, (gdouble)v);
131 }
132
133 void hildon_controlbar_set_range(GtkWidget * w, gint min, gint max)
134 {
135 gtk_range_set_range(w, (gdouble)min, (gdouble)max);
136 }
137
138 #else
139
140 void
141 hildon_banner_hide(GtkWidget *w)
142 {
143 gtk_widget_destroy(w);
144 }
145
146 #endif