This is a manual merge of branch drop split view intro trunk.
[modest] / src / maemo / modest-hildon-includes.h
1 /* Copyright (c) 2006, Nokia Corporation
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
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.
16  *
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 k * 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.
28  */
29 #ifndef __MODEST_HILDON_INCLUDES__
30 #define __MODEST_HILDON_INCLUDES__
31
32 #ifdef HAVE_CONFIG_H
33 #include <config.h>
34 #endif
35
36 /* helplib to use */
37 #ifdef MODEST_HAVE_OSSO_HELP
38 #include <osso-helplib.h>
39 #else
40 #ifdef MODEST_HAVE_HILDON_HELP
41 #include <hildon/hildon-help.h>
42 #endif /*MODEST_HAVE_HILDON_HELP*/
43 #endif /*MODEST_HAVE_OSSO_HELP*/
44
45 /* mimelib to use */
46 #ifdef MODEST_HAVE_OSSO_MIME
47 #include <osso-mime.h>
48 #include <osso-uri.h>
49 #else
50 #ifdef MODEST_HAVE_HILDON_MIME
51 #include <hildon-mime.h>
52 #include <hildon-uri.h>
53 #endif /*MODEST_HAVE_HILDON_MIME*/
54 #endif /*MODEST_HAVE_OSSO_MIME*/
55
56
57 #ifdef MODEST_HAVE_HILDON_NOTIFY
58 #include <hildon/hildon-notification.h>
59 #endif /*MODEST_HILDON_NOTIFY*/
60
61 #if MODEST_HILDON_API == 0
62 #include <hildon-widgets/hildon-color-selector.h>
63 #include <hildon-widgets/hildon-color-button.h>
64 #include <hildon-widgets/hildon-banner.h>
65 #include <hildon-widgets/hildon-caption.h>
66 #include <hildon-widgets/hildon-number-editor.h>
67 #include <hildon-widgets/hildon-note.h>
68 #include <hildon-widgets/hildon-file-chooser-dialog.h>
69 #include <hildon-widgets/hildon-font-selection-dialog.h>
70 #include <hildon-widgets/hildon-find-toolbar.h>
71 #include <hildon-widgets/hildon-sort-dialog.h>
72 #include <hildon-widgets/hildon-program.h>
73
74 #else
75
76 #if MODEST_HILDON_API >= 1
77 #include <hildon/hildon-helper.h>
78 #include <hildon/hildon-file-chooser-dialog.h>
79 #include <hildon/hildon-color-chooser.h>
80 #include <hildon/hildon-banner.h>
81 #include <hildon/hildon-color-button.h>
82 #include <hildon/hildon-note.h>
83 #include <hildon/hildon-color-button.h>
84 #include <hildon/hildon-font-selection-dialog.h>
85 #include <hildon/hildon-caption.h>
86 #include <hildon/hildon-find-toolbar.h>
87 #include <hildon/hildon-sort-dialog.h>
88 #include <hildon/hildon-number-editor.h>
89 #include <hildon/hildon-program.h>
90
91 #endif /*__MODEST_HAVE_HILDON1_WIDGETS*/
92 #endif /*__MODEST_HAVE_HILDON0_WIDGETS_*/
93
94
95 /* backward compatibility... */
96 #ifdef MODEST_HAVE_OSSO_MIME
97 #define hildon_mime_open_file_with_mime_type osso_mime_open_file_with_mime_type 
98 #define hildon_mime_open_file                osso_mime_open_file                
99
100 #define HildonURIAction                      OssoURIAction
101 #define hildon_uri_get_scheme_from_uri       osso_uri_get_scheme_from_uri
102 #define hildon_uri_get_actions               osso_uri_get_actions
103 #define hildon_uri_get_actions_by_uri        osso_uri_get_actions_by_uri
104 #define hildon_uri_action_get_translation    osso_uri_action_get_translation   
105 #define hildon_uri_is_default_action         osso_uri_is_default_action
106 #define hildon_uri_free_actions              osso_uri_free_actions
107
108 /* service->name */
109 #define hildon_uri_action_get_service        osso_uri_action_get_name
110 #define hildon_uri_open                      osso_uri_open
111
112 #define hildon_mime_get_icon_names           osso_mime_get_icon_names 
113 #endif /*MODEST_HAVE_OSSO_MIME*/
114
115 /* helplib to use */
116 #ifdef MODEST_HAVE_OSSO_HELP
117 #define hildon_help_show               ossohelp_show
118 #define hildon_help_dialog_help_enable ossohelp_dialog_help_enable
119 #define HILDON_HELP_SHOW_DIALOG        OSSO_HELP_SHOW_DIALOG
120 #else
121 #ifdef MODEST_HAVE_HILDON_HELP
122 /* nothing */
123 #endif /*MODEST_HAVE_HILDON_HELP*/
124 #endif /*MODEST_HAVE_OSSO_HELP*/
125
126 /* some extra #defines, so it will compile with the 'normal' gtk */
127 #ifndef MODEST_HAVE_HILDON_GTK
128 #define hildon_gtk_entry_set_input_mode(a,b) \
129         g_warning ("%s: hildon_gtk_entry_set_input_mode requires gtk-hildon", __FUNCTION__)
130 #define hildon_gtk_text_view_set_input_mode(a,b) \
131         g_warning ("%s: hildon_gtk_text_view_set_input_mode requires gtk-hildon", __FUNCTION__)
132 #define gtk_widget_tap_and_hold_setup(a,b,c,d)                          \
133         g_warning ("%s: gtk_widget_tap_and_hold_setup requires gtk-hildon", __FUNCTION__)
134
135 typedef enum
136 {
137   GTK_INVALID_INPUT_MAX_CHARS_REACHED,
138   GTK_INVALID_INPUT_MODE_RESTRICTION
139 } GtkInvalidInputType;
140
141 typedef enum
142 {
143   HILDON_GTK_INPUT_MODE_ALPHA        = 1 << 0,
144   HILDON_GTK_INPUT_MODE_NUMERIC      = 1 << 1,
145   HILDON_GTK_INPUT_MODE_SPECIAL      = 1 << 2,
146   HILDON_GTK_INPUT_MODE_HEXA         = 1 << 3,
147   HILDON_GTK_INPUT_MODE_TELE         = 1 << 4,
148   HILDON_GTK_INPUT_MODE_FULL         = (HILDON_GTK_INPUT_MODE_ALPHA | HILDON_GTK_INPUT_MODE_NUMERIC | HILDON_GTK_INPUT_MODE_SPECIAL),
149   HILDON_GTK_INPUT_MODE_MULTILINE    = 1 << 28,
150   HILDON_GTK_INPUT_MODE_INVISIBLE    = 1 << 29,
151   HILDON_GTK_INPUT_MODE_AUTOCAP      = 1 << 30,
152   HILDON_GTK_INPUT_MODE_DICTIONARY   = 1 << 31
153 } HildonGtkInputMode;
154 #endif /* !MODEST_HAVE_HILDON_GTK */
155
156 #endif /*__MODEST_HILDON_INCLUDES__*/