source: trunk/macosx/Controller.h @ 256

Last change on this file since 256 was 256, checked in by titer, 16 years ago

Merged Mitchell's changes, this includes:
Adds stop at ratio,
Adds sorting by name, date or state,
Seperates Info window into its own nib,
Adds option to enable or disabled autostarting downloads,
Seperates Network / Transfers in the Preferences

File size: 5.4 KB
Line 
1/******************************************************************************
2 * Copyright (c) 2005-2006 Transmission authors and contributors
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 *****************************************************************************/
22
23#ifndef CONTROLLER_H
24#define CONTROLLER_H
25
26#import <Cocoa/Cocoa.h>
27#import <transmission.h>
28#import "PrefsController.h"
29#import "InfoWindowController.h"
30#import "Badger.h"
31
32@class TorrentTableView;
33
34@interface Controller : NSObject
35{
36    tr_handle_t                 * fLib;
37    int                         fCompleted;
38    NSMutableArray              * fTorrents;
39   
40    InfoWindowController        * fInfoController;
41
42    NSToolbar                   * fToolbar;
43
44    IBOutlet NSMenuItem         * fAdvancedBarItem;
45    IBOutlet NSMenuItem         * fPauseResumeItem;
46    IBOutlet NSMenuItem         * fRemoveItem;
47    IBOutlet NSMenuItem         * fRemoveTorrentItem;
48    IBOutlet NSMenuItem         * fRemoveDataItem;
49    IBOutlet NSMenuItem         * fRemoveBothItem;
50    IBOutlet NSMenuItem         * fRevealItem;
51    IBOutlet NSMenuItem         * fShowHideToolbar;
52
53    IBOutlet NSWindow           * fWindow;
54    IBOutlet NSScrollView       * fScrollView;
55    IBOutlet TorrentTableView   * fTableView;
56    IBOutlet NSTextField        * fTotalDLField;
57    IBOutlet NSTextField        * fTotalULField;
58    IBOutlet NSTextField        * fTotalTorrentsField;
59    IBOutlet NSBox              * fStats;
60    BOOL                        fStatusBar;
61   
62    IBOutlet NSButton           * fActionButton;
63   
64    NSString                    * fSortType;
65    IBOutlet NSMenuItem         * fNameSortItem,
66                                * fStateSortItem,
67                                * fDateSortItem;
68    NSMenuItem                  * fCurrentSortItem;
69
70    io_connect_t                fRootPort;
71    NSTimer                     * fTimer;
72    NSTimer                     * fUpdateTimer;
73   
74    IBOutlet NSPanel            * fPrefsWindow;
75    IBOutlet PrefsController    * fPrefsController;
76    NSUserDefaults              * fDefaults;
77   
78    BOOL                        fHasGrowl;
79    Badger                      * fBadger; 
80    BOOL                        fCheckIsAutomatic;
81}
82
83- (void) advancedChanged: (id) sender;
84- (void) openShowSheet:   (id) sender;
85- (void) openSheetClosed: (NSOpenPanel *) s returnCode: (int) code
86                        contextInfo: (void *) info;
87
88- (void) quitSheetDidEnd: (NSWindow *) sheet returnCode: (int) returnCode
89                            contextInfo: (void *) contextInfo;
90
91- (NSArray *) torrentsAtIndexes: (NSIndexSet *) indexSet;
92- (void) torrentNumberChanged;
93
94- (void) resumeTorrent:             (id) sender;
95- (void) resumeAllTorrents:         (id) sender;
96- (void) resumeTorrentWithIndex:    (NSIndexSet *) indexSet;
97- (void) stopTorrent:               (id) sender;
98- (void) stopAllTorrents:           (id) sender;
99- (void) stopTorrentWithIndex:      (NSIndexSet *) indexSet;
100
101- (void) removeTorrent:             (id) sender;
102- (void) removeTorrentDeleteFile:   (id) sender;
103- (void) removeTorrentDeleteData:   (id) sender;
104- (void) removeTorrentDeleteBoth:   (id) sender;
105- (void) removeTorrentWithIndex:    (NSIndexSet *) indexSet
106                deleteTorrent:      (BOOL) deleteTorrent
107                deleteData:         (BOOL) deleteData;
108               
109- (void) removeSheetDidEnd: (NSWindow *) sheet returnCode: (int) returnCode
110                        contextInfo: (NSDictionary *) dict;
111- (void) confirmRemoveTorrents: (NSArray *) torrents
112            deleteTorrent: (BOOL) deleteTorrent
113            deleteData: (BOOL) deleteData;
114
115- (void) revealTorrent: (id) sender;
116                     
117- (void) showInfo:        (id) sender;
118- (void) updateInfo;
119- (void) updateInfoStats;
120
121- (void) updateUI:        (NSTimer *) timer;
122- (void) updateTorrentHistory;
123
124- (void) sortTorrents;
125- (void) setSort: (id) sender;
126
127- (void) sleepCallBack:   (natural_t) messageType argument:
128                        (void *) messageArgument;
129
130- (void) toggleStatusBar: (id) sender;
131
132- (void) showPreferenceWindow: (id) sender;
133
134- (void) showMainWindow:    (id) sender;
135- (void) linkHomepage:      (id) sender;
136- (void) linkForums:        (id) sender;
137- (void) notifyGrowl:       (NSString *) file;
138- (void) growlRegister:     (id) sender;
139
140- (void) checkForUpdate:      (id) sender;
141- (void) checkForUpdateTimer: (NSTimer *) timer;
142- (void) checkForUpdateAuto:  (BOOL) automatic;
143
144@end
145
146#endif
Note: See TracBrowser for help on using the repository browser.