ModestProgressBarWidget *me = NULL;
ObservableData *data = NULL;
ModestProgressBarWidgetPrivate *priv = NULL;
- ModestMailOperationState *state = NULL;
me = MODEST_PROGRESS_BAR_WIDGET (self);
priv = MODEST_PROGRESS_BAR_WIDGET_GET_PRIVATE (me);
data = g_malloc0 (sizeof (ObservableData));
data->mail_op = g_object_ref (mail_op);
- data->signal_handler = g_signal_connect (data->mail_op,
+ data->signal_handler = g_signal_connect (data->mail_op,
"progress-changed",
G_CALLBACK (on_progress_changed),
me);
/* Set curent operation */
- if (priv->current == NULL) {
- priv->current = mail_op;
-
- priv->count = 0;
-
- /* Call progress_change handler to initialize progress message */
- state = g_malloc0(sizeof(ModestMailOperationState));
- state->done = 0;
- state->total = 0;
- state->op_type = modest_mail_operation_get_type_operation (mail_op);
- on_progress_changed (mail_op, state, me);
- g_free(state);
- }
+/* if (priv->current == NULL) { */
+ priv->current = mail_op;
+
+ priv->count = 0;
+
+ /* Call progress_change handler to initialize progress message */
+ modest_progress_bar_widget_set_undetermined_progress (MODEST_PROGRESS_BAR_WIDGET(self), mail_op);
+/* } */
/* Add operation to obserbable objects list */
priv->observables = g_slist_prepend (priv->observables, data);
/* If we have byte information use it */
if ((state->bytes_done != 0) && (state->bytes_total != 0))
- modest_progress_bar_widget_set_progress (self, msg,
- state->bytes_done,
+ modest_progress_bar_widget_set_progress (self, msg,
+ state->bytes_done,
state->bytes_total);
else
modest_progress_bar_widget_set_progress (self, msg,
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (priv->progress_bar), message);
}
+
+void
+modest_progress_bar_widget_set_undetermined_progress (ModestProgressBarWidget *self,
+ ModestMailOperation *mail_op)
+{
+ ModestMailOperationState *state = NULL;
+
+ state = g_malloc0(sizeof(ModestMailOperationState));
+ state->done = 0;
+ state->total = 0;
+ state->op_type = modest_mail_operation_get_type_operation (mail_op);
+ on_progress_changed (mail_op, state, self);
+ g_free(state);
+}
if (folder) {
/* Get account and set it into mail_operation */
priv->account = modest_tny_folder_get_account (TNY_FOLDER(folder));
+
+ /* Check for cached messages */
+ if (tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED)
+ priv->op_type = MODEST_MAIL_OPERATION_TYPE_OPEN;
+ else
+ priv->op_type = MODEST_MAIL_OPERATION_TYPE_RECEIVE;
helper = g_slice_new0 (GetMsgAsyncHelper);
helper->mail_op = self;
header = TNY_HEADER (tny_iterator_get_current (iter));
folder = tny_header_get_folder (header);
+ /* Check for cached messages */
+ if (tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED)
+ priv->op_type = MODEST_MAIL_OPERATION_TYPE_OPEN;
+ else
+ priv->op_type = MODEST_MAIL_OPERATION_TYPE_RECEIVE;
+
/* Get message from folder */
if (folder) {
TnyMsg *msg;