#include <tny-camel-pop-folder.h>
#ifdef MODEST_TOOLKIT_HILDON2
#include <hildon/hildon-pannable-area.h>
+#include <hildon/hildon-gtk.h>
#include <modest-header-window.h>
#endif
return list;
+#ifdef MODEST_TOOLKIT_HILDON2
} else if (MODEST_IS_HEADER_WINDOW (win)) {
GtkWidget *header_view;
header_view = GTK_WIDGET (modest_header_window_get_header_view (MODEST_HEADER_WINDOW (win)));
return modest_header_view_get_selected_headers (MODEST_HEADER_VIEW(header_view));
+#endif
} else
return NULL;
}
GTK_WIDGET (user_data));
}
+#ifndef MODEST_TOOLKIT_HILDON2
/*
* This function is used to track changes in the selection of the
* folder view that is inside the "move to" dialog to enable/disable
/* Set sensitivity of the NEW button */
gtk_widget_set_sensitive (new_button, new_sensitive);
}
+#endif
+
+#ifdef MODEST_TOOLKIT_HILDON2
+static void
+on_move_to_dialog_folder_activated (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+ gpointer user_data)
+{
+ gtk_dialog_response (GTK_DIALOG (user_data), GTK_RESPONSE_ACCEPT);
+}
+#endif
#define MODEST_MOVE_TO_DIALOG_FOLDER_VIEW "move-to-dialog-folder-view"
GtkWidget *pannable;
#else
GtkWidget *scroll;
+ GtkWidget *ok_button;
#endif
- GtkWidget *new_button, *ok_button;
+ GtkWidget *new_button;
dialog = gtk_dialog_new_with_buttons (_("mcen_ti_moveto_folders_title"),
GTK_WINDOW (win),
NULL);
#ifndef MODEST_TOOLKIT_GTK
+#ifndef MODEST_TOOLKIT_HILDON2
ok_button = gtk_dialog_add_button (GTK_DIALOG (dialog), _("mcen_bd_dialog_ok"), GTK_RESPONSE_ACCEPT);
+#endif
/* We do this manually so GTK+ does not associate a response ID for
* the button. */
new_button = gtk_button_new_from_stock (_("mcen_bd_new"));
gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog)->action_area), new_button, FALSE, FALSE, 0);
- gtk_widget_show (new_button);
-#ifndef MODEST_TOOLKIT_HILDON2
+#ifdef MODEST_TOOLKIT_HILDON2
+ hildon_gtk_widget_set_theme_size (new_button, HILDON_SIZE_FINGER_HEIGHT);
+#else
gtk_dialog_add_button (GTK_DIALOG (dialog), _("mcen_bd_dialog_cancel"), GTK_RESPONSE_REJECT);
#endif
+ gtk_widget_show (new_button);
#else
/* We do this manually so GTK+ does not associate a response ID for
* the button. */
gtk_container_set_border_width (GTK_CONTAINER (dialog), 12);
gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 24);
#endif
+
+#ifndef MODEST_TOOLKIT_HILDON2
g_object_set_data (G_OBJECT (dialog), MOVE_FOLDER_OK_BUTTON, ok_button);
+#endif
g_object_set_data (G_OBJECT (dialog), MOVE_FOLDER_NEW_BUTTON, new_button);
/* Create scrolled window */
/* Create folder view */
*tree_view = modest_platform_create_folder_view (NULL);
+#ifdef MODEST_TOOLKIT_HILDON2
+ /* We return OK on activation */
+ g_signal_connect (*tree_view,
+ "row-activated",
+ G_CALLBACK (on_move_to_dialog_folder_activated),
+ dialog);
+#else
/* Track changes in the selection to
* disable the OK button whenever "Move to" is not possible
* disbale NEW button whenever New is not possible */
"folder_selection_changed",
G_CALLBACK (on_move_to_dialog_folder_selection_changed),
win);
+#endif
/* Listen to clicks on New button */
g_signal_connect (G_OBJECT (new_button),
G_CALLBACK(create_move_to_dialog_on_new_folder),
*tree_view);
+#ifdef MODEST_TOOLKIT_HILDON2
+ modest_folder_view_set_cell_style (MODEST_FOLDER_VIEW (*tree_view),
+ MODEST_FOLDER_VIEW_CELL_STYLE_COMPACT);
+#endif
+
/* It could happen that we're trying to move a message from a
window (msg window for example) after the main window was
closed, so we can not just get the model of the folder
folder = TNY_FOLDER_STORE (tny_header_get_folder (header));
g_object_unref (iter);
g_object_unref (headers);
+#ifdef MODEST_TOOLKIT_HILDON2
+ } else if (MODEST_IS_HEADER_WINDOW (win)) {
+ GtkWidget *header_view;
+ TnyList* headers = NULL;
+ TnyIterator *iter;
+ header_view = GTK_WIDGET (modest_header_window_get_header_view (MODEST_HEADER_WINDOW (win)));
+ headers = modest_header_view_get_selected_headers (MODEST_HEADER_VIEW (header_view));
+ if (!headers || tny_list_get_length (headers) == 0) {
+ if (headers)
+ g_object_unref (headers);
+ return NULL;
+ }
+ iter = tny_list_create_iterator (headers);
+ header = TNY_HEADER (tny_iterator_get_current (iter));
+ folder = TNY_FOLDER_STORE (tny_header_get_folder (header));
+ g_object_unref (iter);
+ g_object_unref (headers);
+#endif
} else if (MODEST_IS_MSG_VIEW_WINDOW (win)) {
header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (win));
folder = TNY_FOLDER_STORE (tny_header_get_folder (header));