blob: b49d61eb90196b95c9e10373d55debd1851e52e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
//
// MCTMsgListViewController.m
// testUI
//
// Created by DINH Viêt Hoà on 1/20/13.
// Copyright (c) 2013 MailCore. All rights reserved.
//
#import "MCTMsgListViewController.h"
#include <MailCore/MailCore.h>
#import "MCTMsgViewController.h"
#define FOLDER @"INBOX"
@interface MCTMsgListViewController () <NSTableViewDelegate, NSTableViewDataSource>
@end
@implementation MCTMsgListViewController
- (void) awakeFromNib
{
[self connect];
}
- (void) connect
{
[_msgViewController setFolder:FOLDER];
NSString * login = [[NSUserDefaults standardUserDefaults] stringForKey:@"Login"];
NSString * password = [[NSUserDefaults standardUserDefaults] stringForKey:@"Password"];
if (([login length] == 0) || ([password length] == 0))
return;
_session = [[MCOIMAPSession alloc] init];
[_session setHostname:@"imap.gmail.com"];
[_session setPort:993];
[_session setUsername:login];
[_session setPassword:password];
[_session setConnectionType:MCOConnectionTypeTLS];
MCOIMAPMessagesRequestKind requestKind = (MCOIMAPMessagesRequestKind)
(MCOIMAPMessagesRequestKindHeaders | MCOIMAPMessagesRequestKindStructure |
MCOIMAPMessagesRequestKindInternalDate | MCOIMAPMessagesRequestKindHeaderSubject |
MCOIMAPMessagesRequestKindFlags);
_op = [_session fetchMessagesByUIDOperationWithFolder:FOLDER requestKind:requestKind uids:[MCOIndexSet indexSetWithRange:MCORangeMake(1, UINT64_MAX)]];
[_op setProgress:^(unsigned int current){
//NSLog(@"progress: %u", current);
}];
[_op start:^(NSError * error, NSArray * messages, MCOIndexSet * vanishedMessages) {
[_messages release];
_messages = [messages retain];
NSLog(@"%i messages", (int) [_messages count]);
//NSLog(@"%@", _messages);
[_tableView reloadData];
}];
}
- (NSInteger) numberOfRowsInTableView:(NSTableView *)aTableView
{
return [_messages count];
}
- (id) tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
MCOIMAPMessage * msg = [_messages objectAtIndex:rowIndex];
return [[msg header] subject];
}
- (void) tableViewSelectionDidChange:(NSNotification *)notification
{
int rowIndex = (int) [_tableView selectedRow];
if (rowIndex == -1) {
[_msgViewController setSession:nil];
[_msgViewController setMessage:nil];
}
else {
MCOIMAPMessage * msg = [_messages objectAtIndex:rowIndex];
[_msgViewController setSession:_session];
[_msgViewController setMessage:msg];
}
}
@end
|