/* Label child of a captioned */
#define CAPTIONED_LABEL_CHILD "captioned-label"
+#ifdef MODEST_PLATFORM_MAEMO
+#define INTERNAL_MMC_USB_MODE "/system/osso/af/internal-mmc-used-over-usb"
+#endif
static osso_context_t *__osso_context = NULL; /* urgh global */
modest_maemo_utils_get_osso_context (void)
{
if (!__osso_context)
- g_warning ("%s: __osso_context == NULL", __FUNCTION__);
+ __osso_context = osso_initialize(PACKAGE,PACKAGE_VERSION,
+ FALSE, NULL);
return __osso_context;
}
-void
-modest_maemo_utils_set_osso_context (osso_context_t *osso_context)
-{
- g_return_if_fail (osso_context);
- __osso_context = osso_context;
-}
-
static void
get_properties_cb (DBusMessage *message)
{
get_default_adapter_cb (conn, msg);
dbus_message_unref (msg);
}
+
dbus_message_unref (request);
+ if (dbus_error_is_set (&error))
+ dbus_error_free (&error);
}
void
g_return_if_fail (GTK_IS_FILE_CHOOSER (chooser));
- conf_folder = modest_conf_get_string (modest_runtime_get_conf (), MODEST_CONF_LATEST_INSERT_IMAGE_PATH, NULL);
+ conf_folder = modest_conf_get_string (modest_runtime_get_conf (),
+ MODEST_CONF_LATEST_INSERT_IMAGE_PATH, NULL);
if (conf_folder && conf_folder[0] != '\0') {
gtk_file_chooser_set_current_folder_uri (chooser, conf_folder);
} else {
gchar *images_folder;
/* Set the default folder to images folder */
- images_folder = g_build_filename (g_getenv (MODEST_MAEMO_UTILS_MYDOCS_ENV),
- MODEST_MAEMO_UTILS_DEFAULT_IMAGE_FOLDER, NULL);
+ images_folder = (gchar *) g_strdup(g_get_user_special_dir (G_USER_DIRECTORY_PICTURES));
+ if (!images_folder) {
+ /* fallback */
+ images_folder = g_build_filename (g_getenv (MODEST_MAEMO_UTILS_MYDOCS_ENV),
+ MODEST_MAEMO_UTILS_DEFAULT_IMAGE_FOLDER, NULL);
+ }
gtk_file_chooser_set_current_folder (chooser, images_folder);
g_free (images_folder);
}
if (TNY_IS_MSG (part)) {
TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
filename = tny_header_dup_subject (header);
- if ((filename == NULL) || (filename[0] == '\0')) {
- g_free (filename);
- filename = g_strdup (_("mail_va_no_subject"));
- }
g_object_unref (header);
} else {
filename = g_strdup (tny_mime_part_get_filename (part));
}
+ if ((filename == NULL) || (filename[0] == '\0')) {
+ g_free (filename);
+ filename = g_strdup (_("mail_va_no_subject"));
+ }
gtk_list_store_append (GTK_LIST_STORE (model), &iter);
gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, filename, 1, part, -1);
attachments_added ++;
return result;
}
+
+#ifdef MODEST_PLATFORM_MAEMO
+gboolean
+modest_maemo_utils_in_usb_mode ()
+{
+ return modest_conf_get_bool (modest_runtime_get_conf (), INTERNAL_MMC_USB_MODE, NULL);
+}
+#endif
+
+void
+modest_maemo_utils_scroll_pannable (HildonPannableArea *pannable,
+ gint horizontal,
+ gint vertical)
+{
+ gint h_pos = -1;
+ gint v_pos = -1;
+
+ g_assert (pannable);
+ /* at atleast one of values have to be valid */
+ g_return_if_fail (h_pos == -1 && v_pos == -1);
+
+ if (horizontal != 0) {
+ GtkAdjustment *h_adj;
+
+ h_adj = hildon_pannable_area_get_hadjustment (pannable);
+ g_return_if_fail (h_adj);
+
+ h_pos = h_adj->value + h_adj->step_increment * horizontal;
+ if (horizontal > 0) {
+ h_pos += h_adj->page_size;
+ }
+ }
+
+ if (vertical != 0) {
+ GtkAdjustment *v_adj;
+
+ v_adj = hildon_pannable_area_get_vadjustment (pannable);
+ g_return_if_fail (v_adj);
+
+ v_pos = v_adj->value + v_adj->step_increment * vertical;
+ if (vertical > 0) {
+ v_pos += v_adj->page_size;
+ }
+ }
+
+ hildon_pannable_area_scroll_to (pannable, h_pos, v_pos);
+}