Changeset 247
- Timestamp:
- May 1, 2006, 12:15:18 AM (17 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Transmission.xcodeproj/project.pbxproj
r199 r247 16 16 4D1838C009DEC0430047D688 /* metainfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1838A109DEC0430047D688 /* metainfo.h */; }; 17 17 4D1838C109DEC0430047D688 /* metainfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D1838A209DEC0430047D688 /* metainfo.c */; }; 18 4D1838C209DEC0430047D688 /* peermessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1838A309DEC0430047D688 /* peermessages.h */; };19 18 4D1838C309DEC0430047D688 /* peer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1838A409DEC0430047D688 /* peer.h */; }; 20 19 4D1838C409DEC0430047D688 /* peer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4D1838A509DEC0430047D688 /* peer.c */; }; … … 79 78 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 80 79 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; 80 A21610FC0A050B1700E8E4C1 /* MenuButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A21610FB0A050B1700E8E4C1 /* MenuButton.m */; }; 81 A26D450B0A0503AC00A10BB3 /* peermessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1838A309DEC0430047D688 /* peermessages.h */; }; 82 A2A84AD00A04FCD000C898D4 /* ActionButton.tiff in Resources */ = {isa = PBXBuildFile; fileRef = A2A84ACF0A04FCD000C898D4 /* ActionButton.tiff */; }; 83 A2C655650A04FEDC00E9FD82 /* BottomBorder.tiff in Resources */ = {isa = PBXBuildFile; fileRef = A2C655640A04FEDC00E9FD82 /* BottomBorder.tiff */; }; 81 84 /* End PBXBuildFile section */ 82 85 … … 191 194 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; name = Info.plist; path = macosx/Info.plist; sourceTree = "<group>"; }; 192 195 8D1107320486CEB800E47090 /* Transmission.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Transmission.app; sourceTree = BUILT_PRODUCTS_DIR; }; 196 A21610FA0A050B1700E8E4C1 /* MenuButton.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = MenuButton.h; path = macosx/MenuButton.h; sourceTree = "<group>"; }; 197 A21610FB0A050B1700E8E4C1 /* MenuButton.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = MenuButton.m; path = macosx/MenuButton.m; sourceTree = "<group>"; }; 198 A2A84ACF0A04FCD000C898D4 /* ActionButton.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = ActionButton.tiff; path = macosx/Images/ActionButton.tiff; sourceTree = "<group>"; }; 199 A2A84AD10A04FCDC00C898D4 /* ActionButton.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = ActionButton.tiff; path = macosx/Images/ActionButton.tiff; sourceTree = "<group>"; }; 200 A2A84AD20A04FCDC00C898D4 /* BottomBorder.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = BottomBorder.tiff; path = macosx/Images/BottomBorder.tiff; sourceTree = "<group>"; }; 201 A2C655640A04FEDC00E9FD82 /* BottomBorder.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = BottomBorder.tiff; path = macosx/Images/BottomBorder.tiff; sourceTree = "<group>"; }; 193 202 /* End PBXFileReference section */ 194 203 … … 243 252 29B97316FDCFA39411CA2CEA /* main.m */, 244 253 32CA4F630368D1EE00C91783 /* Transmission_Prefix.pch */, 254 A21610FA0A050B1700E8E4C1 /* MenuButton.h */, 255 A21610FB0A050B1700E8E4C1 /* MenuButton.m */, 245 256 ); 246 257 name = Sources; … … 272 283 isa = PBXGroup; 273 284 children = ( 285 A2A84AD10A04FCDC00C898D4 /* ActionButton.tiff */, 286 A2A84AD20A04FCDC00C898D4 /* BottomBorder.tiff */, 274 287 4D2784360905709500687951 /* Transmission.icns */, 275 288 4D043A7E090AE979009FEDA8 /* TransmissionDocument.icns */, … … 294 307 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, 295 308 29B97318FDCFA39411CA2CEA /* MainMenu.nib */, 309 A2A84ACF0A04FCD000C898D4 /* ActionButton.tiff */, 310 A2C655640A04FEDC00E9FD82 /* BottomBorder.tiff */, 296 311 ); 297 312 name = Resources; … … 388 403 4D1838BD09DEC0430047D688 /* inout.h in Headers */, 389 404 4D1838C009DEC0430047D688 /* metainfo.h in Headers */, 390 4D1838C209DEC0430047D688 /* peermessages.h in Headers */,391 405 4D1838C309DEC0430047D688 /* peer.h in Headers */, 392 406 4D1838C509DEC0430047D688 /* net.h in Headers */, … … 405 419 4D1838FA09DEC4380047D688 /* utils.h in Headers */, 406 420 4D1838FC09DEC4380047D688 /* transmission.h in Headers */, 421 A26D450B0A0503AC00A10BB3 /* peermessages.h in Headers */, 407 422 ); 408 423 runOnlyForDeploymentPostprocessing = 0; … … 528 543 4DDFDD22099A5D8E00189D81 /* DownloadBadge.png in Resources */, 529 544 4DDFDD23099A5D8E00189D81 /* UploadBadge.png in Resources */, 545 A2A84AD00A04FCD000C898D4 /* ActionButton.tiff in Resources */, 546 A2C655650A04FEDC00E9FD82 /* BottomBorder.tiff in Resources */, 530 547 ); 531 548 runOnlyForDeploymentPostprocessing = 0; … … 576 593 4DFBC2DF09C0970D00D5C571 /* Torrent.m in Sources */, 577 594 4DCCBB3E09C3D71100D3CABF /* TorrentCell.m in Sources */, 595 A21610FC0A050B1700E8E4C1 /* MenuButton.m in Sources */, 578 596 ); 579 597 runOnlyForDeploymentPostprocessing = 0; -
trunk/macosx/Controller.h
r211 r247 53 53 IBOutlet NSTextField * fTotalDLField; 54 54 IBOutlet NSTextField * fTotalULField; 55 IBOutlet NSTextField * fTotalTorrentsField; 56 IBOutlet NSBox * fStats; 57 BOOL fStatusBar; 55 58 56 59 IBOutlet NSPanel * fInfoPanel; … … 121 124 - (void) runCustomizationPalette: (id) sender; 122 125 - (void) showHideToolbar: (id) sender; 126 - (void) toggleStatusBar: (id) sender; 123 127 124 128 - (void) showPreferenceWindow: (id) sender; -
trunk/macosx/Controller.m
r244 r247 86 86 [fWindow setToolbar: fToolbar]; 87 87 [fWindow setDelegate: self]; 88 89 fStatusBar = YES; 90 if (![fDefaults boolForKey: @"StatusBar"]) 91 [self toggleStatusBar: nil]; 88 92 89 93 [fTableView setTorrents: fTorrents]; … … 661 665 [fTotalDLField setStringValue: downloadRate]; 662 666 [fTotalULField setStringValue: uploadRate]; 667 668 int count = [fTorrents count]; 669 [fTotalTorrentsField setStringValue: [NSString stringWithFormat: 670 @"%d Torrent%s", count, count == 1 ? "" : "s"]]; 663 671 664 672 [self updateInfoPanel]; … … 840 848 } 841 849 850 - (void) toggleStatusBar: (id) sender 851 { 852 fStatusBar = !fStatusBar; 853 854 NSSize frameSize = [fScrollView frame].size; 855 [fStats setHidden: !fStatusBar]; 856 857 if (fStatusBar) 858 frameSize.height -= 18; 859 else 860 frameSize.height += 18; 861 862 [fScrollView setFrameSize: frameSize]; 863 [fWindow display]; 864 865 [fDefaults setBool: fStatusBar forKey: @"StatusBar"]; 866 } 867 842 868 - (BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem 843 869 { … … 893 919 { 894 920 [menuItem setTitle: [fInfoPanel isVisible] ? @"Hide Info" : @"Show Info"]; 921 return YES; 922 } 923 924 //enable toggle toolbar 925 if (action == @selector(toggleStatusBar:)) 926 { 927 [menuItem setTitle: fStatusBar ? @"Hide Status Bar" : @"Show Status Bar"]; 895 928 return YES; 896 929 } -
trunk/macosx/Defaults.plist
r213 r247 9 9 <key>BindPort</key> 10 10 <integer>9090</integer> 11 <key>CheckDownload</key> 12 <false/> 11 13 <key>CheckQuit</key> 12 14 <true/> 13 15 <key>CheckRemove</key> 14 16 <true/> 15 <key>CheckDownload</key>16 <false/>17 17 <key>CheckUpload</key> 18 18 <true/> … … 33 33 <key>ShowInspector</key> 34 34 <false/> 35 <key>StatusBar</key> 36 <true/> 35 37 <key>UploadLimit</key> 36 38 <integer>20</integer> -
trunk/macosx/English.lproj/MainMenu.nib/classes.nib
r213 r247 23 23 stopAllTorrents = id; 24 24 stopTorrent = id; 25 toggleStatusBar = id; 25 26 }; 26 27 CLASS = Controller; … … 52 53 fScrollView = NSScrollView; 53 54 fShowHideToolbar = NSMenuItem; 55 fStats = NSBox; 54 56 fTableView = TorrentTableView; 55 57 fTotalDLField = NSTextField; 58 fTotalTorrentsField = NSTextField; 56 59 fTotalULField = NSTextField; 57 60 fWindow = NSWindow; … … 60 63 }, 61 64 {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 65 {CLASS = MenuButton; LANGUAGE = ObjC; SUPERCLASS = NSButton; }, 66 {CLASS = NSSegmentedControl; LANGUAGE = ObjC; SUPERCLASS = NSControl; }, 62 67 {CLASS = NameCell; LANGUAGE = ObjC; SUPERCLASS = NSCell; }, 63 68 { … … 68 73 setLimit = id; 69 74 setLimitCheck = id; 75 setLimitMenu = id; 70 76 setPort = id; 77 setQuickSpeed = id; 71 78 setQuitMessage = id; 72 79 setRemoveMessage = id; … … 81 88 fDownloadCheck = NSButton; 82 89 fDownloadField = NSTextField; 90 fDownloadLimitItem = NSMenuItem; 91 fDownloadMenu = NSMenu; 92 fDownloadNoLimitItem = NSMenuItem; 83 93 fFolderPopUp = NSPopUpButton; 84 94 fGeneralView = NSView; … … 91 101 fUploadCheck = NSButton; 92 102 fUploadField = NSTextField; 103 fUploadLimitItem = NSMenuItem; 104 fUploadMenu = NSMenu; 105 fUploadNoLimitItem = NSMenuItem; 93 106 fWindow = NSWindow; 94 107 }; -
trunk/macosx/English.lproj/MainMenu.nib/info.nib
r213 r247 4 4 <dict> 5 5 <key>IBDocumentLocation</key> 6 <string> 62 69 426 365 0 0 1280 832 </string>6 <string>51 70 426 365 0 0 1152 842 </string> 7 7 <key>IBEditorPositions</key> 8 8 <dict> 9 <key>1041</key> 10 <string>344 478 204 68 0 0 1152 842 </string> 9 11 <key>29</key> 10 12 <string>79 778 371 44 0 0 1152 842 </string> … … 14 16 <string>324 628 112 68 0 0 1152 842 </string> 15 17 <key>589</key> 16 <string>54 521 1 12 118 0 0 1152 842 </string>18 <string>54 521 103 68 0 0 1152 842 </string> 17 19 <key>783</key> 18 <string> 411 429 420 250 0 0 1280 832 </string>20 <string>366 453 420 250 0 0 1152 842 </string> 19 21 <key>796</key> 20 <string> 411 472 420 164 0 0 1280 832 </string>22 <string>366 496 420 164 0 0 1152 842 </string> 21 23 <key>825</key> 22 <string> 544 501 155 107 0 0 1280 832 </string>24 <string>498 525 155 107 0 0 1152 842 </string> 23 25 </dict> 24 26 <key>IBFramework Version</key> … … 28 30 <key>IBOpenObjects</key> 29 31 <array> 30 <integer>796</integer>31 32 <integer>21</integer> 32 33 </array> -
trunk/macosx/PrefsController.h
r213 r247 48 48 IBOutlet NSTextField * fDownloadField; 49 49 50 IBOutlet NSMenu * fUploadMenu, * fDownloadMenu; 51 IBOutlet NSMenuItem * fUploadLimitItem, * fUploadNoLimitItem, 52 * fDownloadLimitItem, * fDownloadNoLimitItem; 53 50 54 IBOutlet NSWindow * fWindow; 51 55 … … 66 70 - (void) setLimitCheck: (id) sender; 67 71 - (void) setLimit: (id) sender; 72 - (void) setLimitMenu: (id) sender; 73 - (void) setQuickSpeed: (id) sender; 68 74 69 75 @end -
trunk/macosx/PrefsController.m
r215 r247 125 125 [fUploadField setEnabled: checkUpload]; 126 126 127 [fUploadLimitItem setTitle: 128 [NSString stringWithFormat: @"Limit (%d KB/s)", uploadLimit]]; 129 if (checkUpload) 130 [fUploadLimitItem setState: NSOnState]; 131 else 132 [fUploadNoLimitItem setState: NSOnState]; 133 127 134 tr_setUploadLimit( fHandle, checkUpload ? uploadLimit : -1 ); 128 135 … … 134 141 [fDownloadField setIntValue: downloadLimit]; 135 142 [fDownloadField setEnabled: checkDownload]; 143 144 [fDownloadLimitItem setTitle: 145 [NSString stringWithFormat: @"Limit (%d KB/s)", downloadLimit]]; 146 if (checkDownload) 147 [fDownloadLimitItem setState: NSOnState]; 148 else 149 [fDownloadNoLimitItem setState: NSOnState]; 136 150 137 151 tr_setDownloadLimit( fHandle, checkDownload ? downloadLimit : -1 ); … … 231 245 } 232 246 233 - (void) setLimitCheck: (id) sender 234 { 247 - (void) setLimit: (id) sender 248 { 249 int limit = [sender intValue]; 250 235 251 NSString * key; 236 NSTextField * field; 237 if( sender == fUploadCheck ) 238 { 239 key = @"CheckUpload"; 240 field = fUploadField; 241 } 242 else 243 { 244 key = @"CheckDownload"; 245 field = fDownloadField; 246 } 247 248 BOOL check = [sender state] == NSOnState; 249 [fDefaults setBool: check forKey: key]; 250 251 [self setLimit: field]; 252 [field setEnabled: check]; 253 } 254 255 - (void) setLimit: (id) sender 256 { 257 int limit = [sender intValue]; 258 NSString * key = ( sender == fUploadField ) ? 259 @"UploadLimit" : @"DownloadLimit"; 252 NSMenuItem * menuItem; 253 if (sender == fUploadField) 254 { 255 key = @"UploadLimit"; 256 menuItem = fUploadLimitItem; 257 } 258 else 259 { 260 key = @"DownloadLimit"; 261 menuItem = fDownloadLimitItem; 262 } 260 263 261 264 //if value entered is not an int or is less than 0 do not change … … 269 272 else 270 273 { 274 [menuItem setTitle: [NSString stringWithFormat: @"Limit (%d KB/s)", limit]]; 271 275 [fDefaults setInteger: limit forKey: key]; 272 276 } … … 278 282 tr_setDownloadLimit( fHandle, 279 283 ( [fDownloadCheck state] == NSOffState ) ? -1 : limit ); 284 } 285 286 - (void) setLimitCheck: (id) sender 287 { 288 NSString * key; 289 NSTextField * field; 290 NSMenuItem * limitItem, * noLimitItem; 291 if( sender == fUploadCheck ) 292 { 293 key = @"CheckUpload"; 294 field = fUploadField; 295 limitItem = fUploadLimitItem; 296 noLimitItem = fUploadNoLimitItem; 297 } 298 else 299 { 300 key = @"CheckDownload"; 301 field = fDownloadField; 302 limitItem = fDownloadLimitItem; 303 noLimitItem = fDownloadNoLimitItem; 304 } 305 306 BOOL check = [sender state] == NSOnState; 307 [limitItem setState: check ? NSOnState : NSOffState]; 308 [noLimitItem setState: !check ? NSOnState : NSOffState]; 309 310 [fDefaults setBool: check forKey: key]; 311 312 [self setLimit: field]; 313 314 [field setEnabled: check]; 315 } 316 317 - (void) setLimitMenu: (id) sender 318 { 319 NSButton * check = (sender == fUploadLimitItem || sender == fUploadNoLimitItem) 320 ? fUploadCheck : fDownloadCheck; 321 int state = (sender == fUploadLimitItem || sender == fDownloadLimitItem) 322 ? NSOnState : NSOffState; 323 324 [check setState: state]; 325 [self setLimitCheck: check]; 326 } 327 328 - (void) setQuickSpeed: (id) sender 329 { 330 NSString * title = [sender title]; 331 int limit = [[title substringToIndex: [title length] - [@" KB/s" length]] intValue]; 332 333 if ([sender menu] == fUploadMenu) 334 { 335 [fUploadField setIntValue: limit]; 336 [self setLimitMenu: fUploadLimitItem]; 337 } 338 else 339 { 340 [fDownloadField setIntValue: limit]; 341 [self setLimitMenu: fDownloadLimitItem]; 342 } 280 343 } 281 344 -
trunk/macosx/TorrentTableView.m
r211 r247 138 138 if( row >= 0 ) 139 139 { 140 if( OSX_VERSION >= 10.3 ) 141 [self selectRowIndexes: [NSIndexSet indexSetWithIndex: row] 142 byExtendingSelection: [self isRowSelected: row]]; 143 else 144 [self selectRow: row byExtendingSelection: [self isRowSelected: row]]; 140 if (![self isRowSelected: row]) 141 { 142 if( OSX_VERSION >= 10.3 ) 143 [self selectRowIndexes: [NSIndexSet indexSetWithIndex: row] 144 byExtendingSelection: NO]; 145 else 146 [self selectRow: row byExtendingSelection: NO]; 147 } 145 148 return fContextRow; 146 149 }
Note: See TracChangeset
for help on using the changeset viewer.