/* 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 */
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);
}
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);
+}