Develop and Download Open Source Software

Browse CVS Repository

Contents of /undmail/guiproto/MainController.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.17 - (show annotations) (download)
Fri Feb 14 16:47:45 2003 UTC (21 years, 2 months ago) by footashida
Branch: MAIN
Changes since 1.16: +60 -29 lines
*** empty log message ***

1 #import "MainController.h"
2 #import "MailBoxOutlineDataSource.h"
3 #import "MainToolbarSource.h"
4 #import "IconedCell.h"
5 #import "ComposeToolbarSource.h"
6 #import "PreferenceController.h"
7 #import "DUMMailBoxManager.h"
8 #import "MailBoxTableDataSource.h"
9 #import "DUMMail.h"
10 #import "DUMMailBox.h"
11 #import "AddressBookController.h"
12 #import "ComposeController.h"
13 #import "TextFormatter.h"
14 #import "LineTextFormatter.h"
15 #import "MailTextFormatManager.h"
16
17 @implementation MainController
18 -(void)setupToolbar{
19 NSToolbar *toolbar;
20 MainToolbarSource *mainToolbarSource;
21 toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainToolBar"];
22 mainToolbarSource = [[MainToolbarSource alloc] initWithController:self];
23 [toolbar setDelegate:mainToolbarSource];
24 [window setToolbar:toolbar];
25 [toolbar release];
26
27 }
28 -(void)awakeFromNib{
29 MailBoxOutlineDataSource *ds;
30 NSView *addressBookView;
31
32 [window center];
33 mailBoxManager = [[DUMMailBoxManager alloc] init];
34 ds = [[MailBoxOutlineDataSource alloc]
35 initWithMailBoxManager:mailBoxManager];
36 [folderTree setDataSource:ds];
37 [self setupToolbar];
38 // addressBookView = [[[self addressBookController] addressBookView] retain];
39 // [addressBookDrawer setContentView:addressBookView];
40 composeControllers = [[NSMutableArray alloc] init];
41
42 [[mailContents textStorage] setDelegate:self];
43 mailTextFormatManager = [[MailTextFormatManager alloc] init];
44 [mailTextFormatManager addHeaderTextFormatter:
45 [[TextFormatter alloc] initWithName:@"default"
46 pattern:@""
47 foregroundColor:[NSColor blackColor]
48 backgroundColor:[NSColor whiteColor]
49 font:[NSFont fontWithName:@"HiraKakuPro-W3" size:13.0]]];
50 [mailTextFormatManager addContentsTextFormatter:
51 [[TextFormatter alloc] initWithName:@"default"
52 pattern:@""
53 foregroundColor:[NSColor blackColor]
54 backgroundColor:[NSColor whiteColor]
55 font:[NSFont fontWithName:@"HiraKakuPro-W3" size:12.0]]];
56
57 [mailTextFormatManager addContentsTextFormatter:
58 [[LineTextFormatter alloc] initWithName:@"inyo"
59 pattern:@">"
60 foregroundColor:[NSColor colorWithCalibratedRed:0.0
61 green:0.8
62 blue:0.48
63 alpha:1.0]
64 backgroundColor:[NSColor whiteColor]
65 font:[NSFont fontWithName:@"HiraKakuPro-W3" size:12.0]]];
66
67 }
68 -(void)dealloc{
69 [window release];
70 [searchWindow release];
71 [mailList release];
72 [folderTree release];
73 [mailContents release];
74 [mailBoxManager release];
75 [prefController release];
76 [addressbookController release];
77 [mailTextFormatManager release];
78 [super dealloc];
79 }
80 -(BOOL)windowShouldClose:(id)sender{
81 NSLog(@"window close!");
82 [composeControllers removeObject:[sender windowController]];
83 return YES;
84 }
85 - (void)applicationDidFinishLaunching:(NSNotification*)notif
86 {
87 NSTableColumn* tableColumn;
88 IconedCell* iconedCell;
89 // �t�H���_�c���[���A�A�C�R��+�������\���������������ACell�����X���s���B
90 tableColumn = [folderTree tableColumnWithIdentifier:@"folderview"];
91 iconedCell = [[[IconedCell alloc] init] autorelease];
92 [tableColumn setDataCell:iconedCell];
93 }
94 -(IBAction)createNewMessage:(id)sender{
95 ComposeController *controller = [[ComposeController alloc] init];
96 [controller setAddressBookController:[self addressBookController]];
97 [[self addressBookController] setComposeController:controller];
98 [controller createNewMessageWithHeader:nil contents:nil];
99 [composeControllers addObject:controller];
100 [controller release];
101
102 }
103 -(IBAction)showPreference:(id)sender{
104 if(prefController == nil){
105 prefController = [[PreferenceController alloc] init];
106 }
107 [prefController showWindow:self];
108 }
109 -(IBAction)createRule:(id)sender{
110 [self showPreference:self];
111 [prefController selectPreferenceTabWithName:@"rule_tab"];
112 }
113 - (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item{
114 MailBoxTableDataSource *ds;
115
116 if([mailList dataSource] == nil){
117 ds = [[MailBoxTableDataSource alloc] initWithMailBox:item];
118 [mailList setDataSource:ds];
119 }else{
120 ds = [mailList dataSource];
121 [ds changeMailBox:item];
122 }
123 [mailList reloadData];
124 return YES;
125 }
126 - (BOOL)tableView:(NSTableView *)aTableView shouldSelectRow:(int)rowIndex{
127 MailBoxTableDataSource *ds;
128 DUMMailBox *selectedMailBox;
129 DUMMail *mail;
130 NSAttributedString *headerString;
131 NSAttributedString *contentsString;
132 NSTextStorage *textStorage;
133
134 ds = [aTableView dataSource];
135 selectedMailBox = [ds mailBox];
136 mail = [selectedMailBox mailAtIndex:rowIndex];
137 headerString = [mailTextFormatManager formatHeader:[mail headerText]];
138 contentsString = [mailTextFormatManager formatContents:[mail content]];
139 textStorage = [mailContents textStorage];
140 [textStorage beginEditing];
141 [textStorage deleteCharactersInRange:NSMakeRange(0, [textStorage length])];
142 [textStorage appendAttributedString:headerString];
143 [textStorage appendAttributedString:contentsString];
144 [textStorage endEditing];
145 [mail setIsUnread:NO];
146 [folderTree reloadData];
147 return YES;
148 }
149 //-(IBAction)showAddressBook{
150 // [addressBookDrawer toggle:self];
151 //}
152 -(AddressBookController *)addressBookController{
153 if(addressbookController == nil){
154 addressbookController
155 = [[AddressBookController alloc] init];
156 }
157 [addressbookController window];
158 return addressbookController;
159 }
160 @end

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26