Do ignore empty recipients when checking names
[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 >= 1
62 #include <hildon/hildon-helper.h>
63 #include <hildon/hildon-file-chooser-dialog.h>
64 #include <hildon/hildon-color-chooser.h>
65 #include <hildon/hildon-banner.h>
66 #include <hildon/hildon-color-button.h>
67 #include <hildon/hildon-note.h>
68 #include <hildon/hildon-color-button.h>
69 #include <hildon/hildon-font-selection-dialog.h>
70 #include <hildon/hildon-caption.h>
71 #include <hildon/hildon-find-toolbar.h>
72 #include <hildon/hildon-sort-dialog.h>
73 #include <hildon/hildon-number-editor.h>
74 #include <hildon/hildon-program.h>
75 #endif /* MODEST_HILDON_API >= 1 */
76
77
78 /* backward compatibility... */
79 #ifdef MODEST_HAVE_OSSO_MIME
80 #define hildon_mime_open_file_with_mime_type osso_mime_open_file_with_mime_type 
81 #define hildon_mime_open_file                osso_mime_open_file                
82
83 #define HildonURIAction                      OssoURIAction
84 #define hildon_uri_get_scheme_from_uri       osso_uri_get_scheme_from_uri
85 #define hildon_uri_get_actions               osso_uri_get_actions
86 #define hildon_uri_get_actions_by_uri        osso_uri_get_actions_by_uri
87 #define hildon_uri_action_get_translation    osso_uri_action_get_translation   
88 #define hildon_uri_is_default_action         osso_uri_is_default_action
89 #define hildon_uri_free_actions              osso_uri_free_actions
90
91 /* service->name */
92 #define hildon_uri_action_get_service        osso_uri_action_get_name
93 #define hildon_uri_open                      osso_uri_open
94
95 #define hildon_mime_get_icon_names           osso_mime_get_icon_names 
96 #endif /*MODEST_HAVE_OSSO_MIME*/
97
98 /* helplib to use */
99 #ifdef MODEST_HAVE_OSSO_HELP
100 #define hildon_help_show               ossohelp_show
101 #define hildon_help_dialog_help_enable ossohelp_dialog_help_enable
102 #define HILDON_HELP_SHOW_DIALOG        OSSO_HELP_SHOW_DIALOG
103 #else
104 #ifdef MODEST_HAVE_HILDON_HELP
105 /* nothing */
106 #endif /*MODEST_HAVE_HILDON_HELP*/
107 #endif /*MODEST_HAVE_OSSO_HELP*/
108
109 /* some extra #defines, so it will compile with the 'normal' gtk */
110 #ifndef MODEST_HAVE_HILDON_GTK
111 #define hildon_gtk_entry_set_input_mode(a,b) \
112         g_debug ("%s: hildon_gtk_entry_set_input_mode requires gtk-hildon", __FUNCTION__)
113 #define hildon_gtk_text_view_set_input_mode(a,b) \
114         g_debug ("%s: hildon_gtk_text_view_set_input_mode requires gtk-hildon", __FUNCTION__)
115 #define gtk_widget_tap_and_hold_setup(a,b,c,d)                          \
116         g_debug ("%s: gtk_widget_tap_and_hold_setup requires gtk-hildon", __FUNCTION__)
117
118 typedef enum
119 {
120   GTK_INVALID_INPUT_MAX_CHARS_REACHED,
121   GTK_INVALID_INPUT_MODE_RESTRICTION
122 } GtkInvalidInputType;
123
124 typedef enum
125 {
126   HILDON_GTK_INPUT_MODE_ALPHA        = 1 << 0,
127   HILDON_GTK_INPUT_MODE_NUMERIC      = 1 << 1,
128   HILDON_GTK_INPUT_MODE_SPECIAL      = 1 << 2,
129   HILDON_GTK_INPUT_MODE_HEXA         = 1 << 3,
130   HILDON_GTK_INPUT_MODE_TELE         = 1 << 4,
131   HILDON_GTK_INPUT_MODE_FULL         = (HILDON_GTK_INPUT_MODE_ALPHA | HILDON_GTK_INPUT_MODE_NUMERIC | HILDON_GTK_INPUT_MODE_SPECIAL),
132   HILDON_GTK_INPUT_MODE_MULTILINE    = 1 << 28,
133   HILDON_GTK_INPUT_MODE_INVISIBLE    = 1 << 29,
134   HILDON_GTK_INPUT_MODE_AUTOCAP      = 1 << 30,
135   HILDON_GTK_INPUT_MODE_DICTIONARY   = 1 << 31
136 } HildonGtkInputMode;
137 #endif /* !MODEST_HAVE_HILDON_GTK */
138
139 #endif /*__MODEST_HILDON_INCLUDES__*/