source: trunk/macosx/Controller.h @ 261

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

Updated svn:keywords

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