ModestMailOperationState *state,
gpointer user_data);
+static gboolean
+download_uncached_messages (TnyList *header_list, GtkWindow *win,
+ gboolean reply_fwd);
static void
* than later in a thread:
*/
if (tny_list_get_length (not_opened_headers) > 0) {
- gboolean connected = modest_platform_connect_and_wait (GTK_WINDOW (win), NULL);
-
- /* Don't go further if a connection would be necessary but none is available: */
- if (!connected) {
+ TnyIterator *iter;
+ gboolean found = FALSE;
+
+ iter = tny_list_create_iterator (not_opened_headers);
+ while (!tny_iterator_is_done (iter) && !found) {
+ TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter));
+ if (!(tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED))
+ found = TRUE;
+ else
+ tny_iterator_next (iter);
+
+ g_object_unref (header);
+ }
+ g_object_unref (iter);
+
+ if (found && !modest_platform_connect_and_wait (GTK_WINDOW (win), NULL)) {
g_object_unref (not_opened_headers);
- return;
+ return;
}
}
* of them are currently downloaded
*/
static gboolean
-download_uncached_messages (TnyList *header_list, GtkWindow *win,
+download_uncached_messages (TnyList *header_list,
+ GtkWindow *win,
gboolean reply_fwd)
{
TnyIterator *iter;
iter = tny_list_create_iterator (header_list);
while (!tny_iterator_is_done (iter)) {
TnyHeader *header;
- TnyHeaderFlags flags;
header = TNY_HEADER (tny_iterator_get_current (iter));
if (header) {
- flags = tny_header_get_flags (header);
- /* TODO: is this the right flag?, it seems that some
- headers that have been previously downloaded do not
- come with it */
- if (! (flags & TNY_HEADER_FLAG_CACHED))
+ if (!(tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED))
uncached_messages ++;
g_object_unref (header);
}
gtk_window_set_default_size (GTK_WINDOW(dialog), 300, 300);
if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {
-// modest_platform_connect_and_wait ();
+ /* TODO: Comment about why is this commented out: */
+ /* modest_platform_connect_and_wait (); */
}
}
gtk_widget_destroy (dialog);
ModestWindow *window)
{
GtkWidget *focused_widget;
+ GtkClipboard *clipboard;
+ clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
focused_widget = gtk_window_get_focus (GTK_WINDOW (window));
if (GTK_IS_EDITABLE (focused_widget)) {
gtk_editable_cut_clipboard (GTK_EDITABLE(focused_widget));
+ gtk_clipboard_set_can_store (clipboard, NULL, 0);
+ gtk_clipboard_store (clipboard);
} else if (GTK_IS_TEXT_VIEW (focused_widget)) {
GtkTextBuffer *buffer;
- GtkClipboard *clipboard;
- clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (focused_widget));
gtk_text_buffer_cut_clipboard (buffer, clipboard, TRUE);
gtk_clipboard_set_can_store (clipboard, NULL, 0);
+ gtk_clipboard_store (clipboard);
} else if (MODEST_IS_HEADER_VIEW (focused_widget)) {
modest_header_view_cut_selection (MODEST_HEADER_VIEW (focused_widget));
} else if (MODEST_IS_FOLDER_VIEW (focused_widget)) {
if (GTK_IS_LABEL (focused_widget)) {
gtk_clipboard_set_text (clipboard, gtk_label_get_text (GTK_LABEL (focused_widget)), -1);
+ gtk_clipboard_set_can_store (clipboard, NULL, 0);
+ gtk_clipboard_store (clipboard);
} else if (GTK_IS_EDITABLE (focused_widget)) {
gtk_editable_copy_clipboard (GTK_EDITABLE(focused_widget));
+ gtk_clipboard_set_can_store (clipboard, NULL, 0);
+ gtk_clipboard_store (clipboard);
} else if (GTK_IS_HTML (focused_widget)) {
gtk_html_copy (GTK_HTML (focused_widget));
+ gtk_clipboard_set_can_store (clipboard, NULL, 0);
+ gtk_clipboard_store (clipboard);
} else if (GTK_IS_TEXT_VIEW (focused_widget)) {
GtkTextBuffer *buffer;
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (focused_widget));
gtk_text_buffer_copy_clipboard (buffer, clipboard);
gtk_clipboard_set_can_store (clipboard, NULL, 0);
+ gtk_clipboard_store (clipboard);
} else if (MODEST_IS_HEADER_VIEW (focused_widget)) {
TnyList *header_list = modest_header_view_get_selected_headers (MODEST_HEADER_VIEW (focused_widget));
TnyIterator *iter = tny_list_create_iterator (header_list);