1 /* Copyright (c) 2006, Nokia Corporation
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * * Neither the name of the Nokia Corporation nor the names of its
14 * contributors may be used to endorse or promote products derived from
15 * this software without specific prior written permission.
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 #include <glib/gi18n.h>
31 #include <gtk/gtknotebook.h>
32 #include <gtk/gtkstock.h>
33 #include <gtk/gtklabel.h>
34 #include "modest-global-settings-dialog.h"
35 #include "modest-defs.h"
36 #include "modest-ui-constants.h"
37 #include "widgets/modest-combo-box.h"
38 /* include other impl specific header files */
40 /* 'private'/'protected' functions */
41 static void modest_global_settings_dialog_class_init (ModestGlobalSettingsDialogClass *klass);
42 static void modest_global_settings_dialog_init (ModestGlobalSettingsDialog *obj);
43 static void modest_global_settings_dialog_finalize (GObject *obj);
53 static GtkDialogClass *parent_class = NULL;
55 /* uncomment the following if you have defined any signals */
56 /* static guint signals[LAST_SIGNAL] = {0}; */
59 modest_global_settings_dialog_get_type (void)
61 static GType my_type = 0;
63 static const GTypeInfo my_info = {
64 sizeof(ModestGlobalSettingsDialogClass),
66 NULL, /* base finalize */
67 (GClassInitFunc) modest_global_settings_dialog_class_init,
68 NULL, /* class finalize */
69 NULL, /* class data */
70 sizeof(ModestGlobalSettingsDialog),
72 (GInstanceInitFunc) modest_global_settings_dialog_init,
75 my_type = g_type_register_static (GTK_TYPE_DIALOG,
76 "ModestGlobalSettingsDialog",
83 modest_global_settings_dialog_class_init (ModestGlobalSettingsDialogClass *klass)
85 GObjectClass *gobject_class;
86 gobject_class = (GObjectClass*) klass;
88 parent_class = g_type_class_peek_parent (klass);
89 gobject_class->finalize = modest_global_settings_dialog_finalize;
91 g_type_class_add_private (gobject_class, sizeof(ModestGlobalSettingsDialogPrivate));
95 modest_global_settings_dialog_init (ModestGlobalSettingsDialog *self)
97 ModestGlobalSettingsDialogPrivate *priv;
98 /* GdkGeometry *geometry; */
100 priv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (self);
102 priv->notebook = gtk_notebook_new ();
104 /* Add the buttons: */
105 gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_OK, GTK_RESPONSE_OK);
106 gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
108 /* /\* Connect to the dialog's response signal: *\/ */
109 /* /\* We use connect-before */
110 /* * so we can stop the signal emission, */
111 /* * to stop the default signal handler from closing the dialog. */
113 /* g_signal_connect (G_OBJECT (self), "response", */
114 /* G_CALLBACK (on_response), self); */
117 gtk_window_set_title (GTK_WINDOW (self), _("mcen_ti_options"));
120 /* geometry = g_malloc0(sizeof (GdkGeometry)); */
121 /* geometry->max_width = MODEST_DIALOG_WINDOW_MAX_WIDTH; */
122 /* geometry->min_width = MODEST_DIALOG_WINDOW_MIN_WIDTH; */
123 /* geometry->max_height = MODEST_DIALOG_WINDOW_MAX_HEIGHT; */
124 /* geometry->min_height = MODEST_DIALOG_WINDOW_MIN_HEIGHT; */
125 /* gtk_window_set_geometry_hints (GTK_WINDOW (self), */
126 /* GTK_WIDGET (self), */
128 /* GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE); */
129 gtk_widget_set_size_request (GTK_WIDGET (self),
130 MODEST_DIALOG_WINDOW_MAX_WIDTH,
131 MODEST_DIALOG_WINDOW_MAX_HEIGHT);
135 modest_global_settings_dialog_finalize (GObject *obj)
137 /* free/unref instance resources here */
138 G_OBJECT_CLASS(parent_class)->finalize (obj);
142 * Creates a pair list (number,string) and adds it to the given list
145 add_to_modest_pair_list (const gint num, const gchar *str, GSList **list)
150 number = g_malloc0 (sizeof (guint));
152 pair = modest_pair_new (number, g_strdup (str), TRUE);
153 *list = g_slist_prepend (*list, pair);
157 * Gets a list of pairs
160 _modest_global_settings_dialog_get_connected_via (void)
164 add_to_modest_pair_list (MODEST_CONNECTED_VIA_WLAN,
165 _("mcen_va_options_connectiontype_wlan"),
167 add_to_modest_pair_list (MODEST_CONNECTED_VIA_ANY,
168 _("mcen_va_options_connectiontype_all"),
171 return (ModestPairList *) g_slist_reverse (list);
175 * Gets a list of pairs of update intervals
178 _modest_global_settings_dialog_get_update_interval (void)
182 add_to_modest_pair_list (MODEST_UPDATE_INTERVAL_5_MIN,
183 _("mcen_va_options_updateinterval_5min"),
185 add_to_modest_pair_list (MODEST_UPDATE_INTERVAL_10_MIN,
186 _("mcen_va_options_updateinterval_10min"),
188 add_to_modest_pair_list (MODEST_UPDATE_INTERVAL_15_MIN,
189 _("mcen_va_options_updateinterval_15min"),
191 add_to_modest_pair_list (MODEST_UPDATE_INTERVAL_30_MIN,
192 _("mcen_va_options_updateinterval_30min"),
194 add_to_modest_pair_list (MODEST_UPDATE_INTERVAL_1_HOUR,
195 _("mcen_va_options_updateinterval_1h"),
197 add_to_modest_pair_list (MODEST_UPDATE_INTERVAL_2_HOUR,
198 _("mcen_va_options_updateinterval_2h"),
201 return (ModestPairList *) g_slist_reverse (list);
205 * Gets a list of pairs
208 _modest_global_settings_dialog_get_msg_formats (void)
212 add_to_modest_pair_list (MODEST_FILE_FORMAT_FORMATTED_TEXT,
213 _("mcen_va_options_messageformat_html"),
215 add_to_modest_pair_list (MODEST_FILE_FORMAT_PLAIN_TEXT,
216 _("mcen_va_options_messageformat_plain"),
219 return (ModestPairList *) g_slist_reverse (list);