diff --git a/macosx/InfoWindowController.m b/macosx/InfoWindowController.m index 83a760822..0af760160 100644 --- a/macosx/InfoWindowController.m +++ b/macosx/InfoWindowController.m @@ -541,19 +541,19 @@ typedef enum || downloadUseSpeedLimit != NSMixedState || downloadSpeedLimit != INVALID || globalUseSpeedLimit != NSMixedState)) { - if (uploadUseSpeedLimit != INVALID && uploadUseSpeedLimit != ([torrent usesSpeedLimit: YES] ? NSOnState : NSOffState)) + if (uploadUseSpeedLimit != NSMixedState && uploadUseSpeedLimit != ([torrent usesSpeedLimit: YES] ? NSOnState : NSOffState)) uploadUseSpeedLimit = NSMixedState; if (uploadSpeedLimit != INVALID && uploadSpeedLimit != [torrent speedLimit: YES]) uploadSpeedLimit = INVALID; - if (downloadUseSpeedLimit != INVALID && downloadUseSpeedLimit != ([torrent usesSpeedLimit: NO] ? NSOnState : NSOffState)) + if (downloadUseSpeedLimit != NSMixedState && downloadUseSpeedLimit != ([torrent usesSpeedLimit: NO] ? NSOnState : NSOffState)) downloadUseSpeedLimit = NSMixedState; if (downloadSpeedLimit != INVALID && downloadSpeedLimit != [torrent speedLimit: NO]) downloadSpeedLimit = INVALID; - if (globalUseSpeedLimit != INVALID && globalUseSpeedLimit != ([torrent usesGlobalSpeedLimit] ? NSOnState : NSOffState)) + if (globalUseSpeedLimit != NSMixedState && globalUseSpeedLimit != ([torrent usesGlobalSpeedLimit] ? NSOnState : NSOffState)) globalUseSpeedLimit = NSMixedState; } @@ -1180,6 +1180,9 @@ typedef enum - (void) setUseSpeedLimit: (id) sender { const BOOL upload = sender == fUploadLimitCheck; + + if ([sender state] == NSMixedState) + [sender setState: NSOnState]; const BOOL limit = [sender state] == NSOnState; for (Torrent * torrent in fTorrents) @@ -1197,10 +1200,20 @@ typedef enum [label setEnabled: limit]; } +- (void) setUseGlobalSpeedLimit: (id) sender +{ + if ([sender state] == NSMixedState) + [sender setState: NSOnState]; + const BOOL limit = [sender state] == NSOnState; + + for (Torrent * torrent in fTorrents) + [torrent setUseGlobalSpeedLimit: limit]; +} + - (void) setSpeedLimit: (id) sender { - BOOL upload = sender == fUploadLimitField; - NSInteger limit = [sender intValue]; + const BOOL upload = sender == fUploadLimitField; + const NSInteger limit = [sender intValue]; for (Torrent * torrent in fTorrents) [torrent setSpeedLimit: limit upload: upload]; @@ -1237,14 +1250,6 @@ typedef enum } } -- (void) setUseGlobalSpeedLimit: (id) sender -{ - const BOOL limit = [sender state] == NSOnState; - - for (Torrent * torrent in fTorrents) - [torrent setUseGlobalSpeedLimit: limit]; -} - - (void) setRatioLimit: (id) sender { CGFloat limit = [sender floatValue]; diff --git a/macosx/en.lproj/InfoWindow.xib b/macosx/en.lproj/InfoWindow.xib index 9d30cec04..fcfe7cc04 100644 --- a/macosx/en.lproj/InfoWindow.xib +++ b/macosx/en.lproj/InfoWindow.xib @@ -4387,7 +4387,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW 1211912703 2 - + NSSwitch @@ -4877,11 +4877,11 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW 1048576 2147483647 1 - + NSImage NSMenuCheckmark - + NSImage NSMenuMixedState @@ -4902,8 +4902,8 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW 1048576 2147483647 - - + + _popUpItemAction: @@ -4913,8 +4913,8 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW 1048576 2147483647 - - + + _popUpItemAction: @@ -5052,69 +5052,69 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW - + 268 {{76, 116}, {90, 18}} YES - + -2080244224 - 131072 + 16908288 Limit Upload - + 1211912703 130 - + NSImage NSSwitch - + 200 25 - + 268 {{76, 96}, {224, 18}} YES - + -2080244224 - 131072 + 16908288 Stay within the global bandwidth limit - + 1211912703 130 - - + + 200 25 - + 268 {{76, 138}, {106, 18}} YES - + -2080244224 - 131072 + 16908288 Limit Download - + 1211912703 130 - - + + 200 @@ -5860,7 +5860,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW fUploadLimitCheck - + 1800 @@ -5868,7 +5868,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW fDownloadLimitCheck - + 1801 @@ -5876,7 +5876,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW setUseSpeedLimit: - + 1803 @@ -5884,7 +5884,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW setUseSpeedLimit: - + 1804 @@ -5892,7 +5892,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW fGlobalLimitCheck - + 1807 @@ -5900,7 +5900,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW setUseGlobalSpeedLimit: - + 1808 @@ -6935,9 +6935,9 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW - - - + + + Options @@ -8142,45 +8142,45 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW 1796 - + YES - + 1797 - - + + 1798 - + YES - + 1799 - - + + 1805 - + YES - + 1806 - - + +