source: trunk/macosx/Controller.h @ 247

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

Adds Action button that allows quick setting of upload and download limits,
Makes the bottom bar look like Mail's,
Moves stats to a top, hideable bar.

File size: 5.6 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 "Badger.h"
30
31@class TorrentTableView;
32
33@interface Controller : NSObject
34{
35    tr_handle_t                 * fLib;
36    int                         fCompleted;
37    NSMutableArray              * fTorrents;
38
39    NSToolbar                   * fToolbar;
40
41    IBOutlet NSMenuItem         * fAdvancedBarItem;
42    IBOutlet NSMenuItem         * fPauseResumeItem;
43    IBOutlet NSMenuItem         * fRemoveItem;
44    IBOutlet NSMenuItem         * fRemoveTorrentItem;
45    IBOutlet NSMenuItem         * fRemoveDataItem;
46    IBOutlet NSMenuItem         * fRemoveBothItem;
47    IBOutlet NSMenuItem         * fRevealItem;
48    IBOutlet NSMenuItem         * fShowHideToolbar;
49
50    IBOutlet NSWindow           * fWindow;
51    IBOutlet NSScrollView       * fScrollView;
52    IBOutlet TorrentTableView   * fTableView;
53    IBOutlet NSTextField        * fTotalDLField;
54    IBOutlet NSTextField        * fTotalULField;
55    IBOutlet NSTextField        * fTotalTorrentsField;
56    IBOutlet NSBox              * fStats;
57    BOOL                        fStatusBar;
58
59    IBOutlet NSPanel            * fInfoPanel;
60    IBOutlet NSImageView        * fInfoImageView;
61    IBOutlet NSTextField        * fInfoName;
62    IBOutlet NSTextField        * fInfoSize;
63    IBOutlet NSTextField        * fInfoTracker;
64    IBOutlet NSTextField        * fInfoAnnounce;
65    IBOutlet NSTextField        * fInfoPieceSize;
66    IBOutlet NSTextField        * fInfoPieces;
67    IBOutlet NSTextField        * fInfoHash1;
68    IBOutlet NSTextField        * fInfoHash2;
69    IBOutlet NSTextField        * fInfoSeeders;
70    IBOutlet NSTextField        * fInfoLeechers;
71    IBOutlet NSTextField        * fInfoDownloaded;
72    IBOutlet NSTextField        * fInfoUploaded;
73    NSImage                     * fAppIcon;
74
75    io_connect_t                fRootPort;
76    NSTimer                     * fTimer;
77    NSTimer                     * fUpdateTimer;
78   
79    IBOutlet NSPanel            * fPrefsWindow;
80    IBOutlet PrefsController    * fPrefsController;
81    NSUserDefaults              * fDefaults;
82   
83    BOOL                        fHasGrowl;
84    Badger                      * fBadger; 
85    BOOL                        fCheckIsAutomatic;
86}
87
88- (void) advancedChanged: (id) sender;
89- (void) openShowSheet:   (id) sender;
90- (void) openSheetClosed: (NSOpenPanel *) s returnCode: (int) code
91                        contextInfo: (void *) info;
92
93- (void) quitSheetDidEnd:   (NSWindow *)sheet returnCode:(int)returnCode
94                            contextInfo:(void *)contextInfo;
95                       
96- (void) resumeTorrent:             (id) sender;
97- (void) resumeAllTorrents:         (id) sender;
98- (void) resumeTorrentWithIndex:    (NSIndexSet *) indexSet;
99- (void) stopTorrent:               (id) sender;
100- (void) stopAllTorrents:           (id) sender;
101- (void) stopTorrentWithIndex:      (NSIndexSet *) indexSet;
102
103- (void) removeTorrent:             (id) sender;
104- (void) removeTorrentDeleteFile:   (id) sender;
105- (void) removeTorrentDeleteData:   (id) sender;
106- (void) removeTorrentDeleteBoth:   (id) sender;
107- (void) removeTorrentWithIndex:    (NSIndexSet *) indexSet
108                deleteTorrent:      (BOOL) deleteTorrent
109                deleteData:         (BOOL) deleteData;
110               
111- (void) removeSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode
112                        contextInfo:(NSDictionary *)dict;
113- (void) confirmRemoveTorrentWithIndex: (NSIndexSet *) indexSet
114            deleteTorrent: (BOOL) deleteTorrent
115            deleteData: (BOOL) deleteData;
116                     
117- (void) showInfo:        (id) sender;
118
119- (void) updateUI:        (NSTimer *) timer;
120- (void) updateTorrentHistory;
121- (void) sleepCallBack:   (natural_t) messageType argument:
122                        (void *) messageArgument;
123
124- (void) runCustomizationPalette: (id) sender;
125- (void) showHideToolbar: (id) sender;
126- (void) toggleStatusBar: (id) sender;
127
128- (void) showPreferenceWindow: (id) sender;
129
130- (void) showMainWindow:    (id) sender;
131- (void) linkHomepage:      (id) sender;
132- (void) linkForums:        (id) sender;
133- (void) notifyGrowl:       (NSString *) file;
134- (void) revealFromMenu:    (id) sender;
135- (void) growlRegister:     (id) sender;
136
137- (void) checkForUpdate:      (id) sender;
138- (void) checkForUpdateTimer: (NSTimer *) timer;
139- (void) checkForUpdateAuto:  (BOOL) automatic;
140
141@end
142
143#endif
Note: See TracBrowser for help on using the repository browser.