~ubuntu-branches/ubuntu/saucy/geary/saucy-updates

« back to all changes in this revision

Viewing changes to src/engine/api/geary-conversation-monitor.vala

  • Committer: Package Import Robot
  • Author(s): Sebastien Bacher
  • Date: 2013-03-14 13:48:23 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20130314134823-gyk5av1g508zyj8a
Tags: 0.3.0~pr1-0ubuntu1
New upstream version (FFE lp: #1154316), supports multiple account as
well as full conversation views with inline replies

Show diffs side-by-side

added added

removed removed

Lines of Context:
364
364
        folder.opened.connect(on_folder_opened);
365
365
        folder.closed.connect(on_folder_closed);
366
366
        
367
 
        bool reseed_now = true;
368
 
        if (folder.get_open_state() == Geary.Folder.OpenState.CLOSED) {
369
 
            try {
370
 
                yield folder.open_async(readonly, cancellable);
371
 
            } catch (Error err) {
372
 
                is_monitoring = false;
373
 
                
374
 
                throw err;
375
 
            }
376
 
            
377
 
            reseed_now = false;
 
367
        bool reseed_now = (folder.get_open_state() != Geary.Folder.OpenState.CLOSED);
 
368
        try {
 
369
            yield folder.open_async(readonly, cancellable);
 
370
        } catch (Error err) {
 
371
            is_monitoring = false;
 
372
            
 
373
            folder.email_appended.disconnect(on_folder_email_appended);
 
374
            folder.email_removed.disconnect(on_folder_email_removed);
 
375
            folder.email_flags_changed.disconnect(on_folder_email_flags_changed);
 
376
            folder.opened.disconnect(on_folder_opened);
 
377
            folder.closed.disconnect(on_folder_closed);
 
378
            
 
379
            throw err;
378
380
        }
379
381
        
380
382
        notify_monitoring_started();
381
383
        
382
384
        // pull in all the local email immediamente
383
385
        debug("ConversationMonitor seeding with local email for %s", folder.to_string());
384
 
        yield load_async(-1, -1, Folder.ListFlags.LOCAL_ONLY, cancellable_monitor);
 
386
        yield load_async(-1, min_window_count, Folder.ListFlags.LOCAL_ONLY, cancellable_monitor);
385
387
        debug("ConversationMonitor seeded for %s", folder.to_string());
386
388
        
387
389
        // if already opened, go ahead and do a full load now from remote and local; otherwise,
736
738
        // reset
737
739
        retry_connection = false;
738
740
        
739
 
        debug("Folder %s closed due to error, restablishing connection to continue monitoring conversations",
 
741
        debug("Folder %s closed due to error, reestablishing connection to continue monitoring conversations",
740
742
            folder.to_string());
741
743
        
742
744
        // First retry is immediate; thereafter, a delay
763
765
                debug("Reestablished connection to %s, continuing to monitor conversations",
764
766
                    folder.to_string());
765
767
        } catch (Error start_err) {
766
 
            debug("Unable to restablish connection to %s, retrying in %d seconds: %s", folder.to_string(),
 
768
            debug("Unable to reestablish connection to %s, retrying in %d seconds: %s", folder.to_string(),
767
769
                RETRY_CONNECTION_SEC, start_err.message);
768
770
            
769
771
            schedule_retry(true);