From 6c85eee3f8666ff6f9fc5e26796633260d92b69b Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Wed, 7 Feb 2007 05:01:07 +0000 Subject: [PATCH] hopefully this makes the inspector less confusing once and for all....use popup buttons instead of checks --- .../English.lproj/InfoWindow.nib/classes.nib | 8 +- .../InfoWindow.nib/keyedobjects.nib | Bin 40625 -> 43442 bytes macosx/InfoWindowController.h | 4 +- macosx/InfoWindowController.m | 119 ++++++++++++------ 4 files changed, 84 insertions(+), 47 deletions(-) diff --git a/macosx/English.lproj/InfoWindow.nib/classes.nib b/macosx/English.lproj/InfoWindow.nib/classes.nib index 531d23143..b9f854592 100644 --- a/macosx/English.lproj/InfoWindow.nib/classes.nib +++ b/macosx/English.lproj/InfoWindow.nib/classes.nib @@ -8,7 +8,7 @@ revealDataFile = id; revealFile = id; revealTorrentFile = id; - setLimitCheck = id; + setLimitSetting = id; setRatioLimit = id; setRatioSetting = id; setSpeedLimit = id; @@ -23,9 +23,9 @@ fDataLocationField = NSTextField; fDateCreatedField = NSTextField; fDateStartedField = NSTextField; - fDownloadLimitCheck = NSButton; fDownloadLimitField = NSTextField; fDownloadLimitLabel = NSTextField; + fDownloadLimitPopUp = NSPopUpButton; fDownloadedTotalField = NSTextField; fDownloadedValidField = NSTextField; fDownloadingFromField = NSTextField; @@ -39,9 +39,9 @@ fPeerTable = NSTableView; fPiecesField = NSTextField; fPiecesView = PiecesView; - fRatioCheck = NSButton; fRatioField = NSTextField; fRatioLimitField = NSTextField; + fRatioPopUp = NSPopUpButton; fRevealDataButton = NSButton; fRevealTorrentButton = NSButton; fSecureField = NSTextField; @@ -52,9 +52,9 @@ fTabView = NSTabView; fTorrentLocationField = NSTextField; fTrackerField = NSTextField; - fUploadLimitCheck = NSButton; fUploadLimitField = NSTextField; fUploadLimitLabel = NSTextField; + fUploadLimitPopUp = NSPopUpButton; fUploadedTotalField = NSTextField; fUploadingToField = NSTextField; }; diff --git a/macosx/English.lproj/InfoWindow.nib/keyedobjects.nib b/macosx/English.lproj/InfoWindow.nib/keyedobjects.nib index 507f7854cb7898cc3da945619a39bec38edcfefd..ad03b9a093a2b12e5957f5732edc148268a87815 100644 GIT binary patch literal 43442 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 z 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 RkedHjT}S`#{J&n9`9IH>*OCAL diff --git a/macosx/InfoWindowController.h b/macosx/InfoWindowController.h index e826481ba..af180ea5a 100644 --- a/macosx/InfoWindowController.h +++ b/macosx/InfoWindowController.h @@ -56,7 +56,7 @@ IBOutlet NSOutlineView * fFileOutline; IBOutlet NSTextField * fFileTableStatusField; - IBOutlet NSButton * fRatioCheck, * fUploadLimitCheck, * fDownloadLimitCheck; + IBOutlet NSPopUpButton * fRatioPopUp, * fUploadLimitPopUp, * fDownloadLimitPopUp; IBOutlet NSTextField * fUploadLimitField, * fDownloadLimitField, * fRatioLimitField, * fUploadLimitLabel, * fDownloadLimitLabel; } @@ -71,7 +71,7 @@ - (void) revealDataFile: (id) sender; - (void) revealFile: (id) sender; -- (void) setLimitCheck: (id) sender; +- (void) setLimitSetting: (id) sender; - (void) setSpeedLimit: (id) sender; - (void) setRatioSetting: (id) sender; diff --git a/macosx/InfoWindowController.m b/macosx/InfoWindowController.m index ecbab6411..7287ab26d 100644 --- a/macosx/InfoWindowController.m +++ b/macosx/InfoWindowController.m @@ -41,7 +41,11 @@ #define TAB_ACTIVITY_HEIGHT 170.0 #define TAB_PEERS_HEIGHT 268.0 #define TAB_FILES_HEIGHT 268.0 -#define TAB_OPTIONS_HEIGHT 112.0 +#define TAB_OPTIONS_HEIGHT 117.0 + +#define OPTION_POPUP_GLOBAL 0 +#define OPTION_POPUP_NO_LIMIT 1 +#define OPTION_POPUP_LIMIT 2 #define INVALID -99 @@ -58,6 +62,9 @@ - (void) setFileCheckState: (int) state forItem: (NSMutableDictionary *) item; - (NSMutableDictionary *) resetFileCheckStateForItemParent: (NSMutableDictionary *) originalChild; +- (int) stateSettingToPopUpIndex: (int) index; +- (int) popUpIndexToStateSetting: (int) index; + @end @implementation InfoWindowController @@ -399,36 +406,36 @@ uploadLimit = [torrent uploadLimit], downloadLimit = [torrent downloadLimit]; - while ((checkUpload != NSMixedState || uploadLimit != INVALID - || checkDownload != NSMixedState || downloadLimit != INVALID) + while ((checkUpload != INVALID || uploadLimit != INVALID + || checkDownload != INVALID || downloadLimit != INVALID) && (torrent = [enumerator nextObject])) { - if (checkUpload != NSMixedState && checkUpload != [torrent checkUpload]) - checkUpload = NSMixedState; + if (checkUpload != INVALID && checkUpload != [torrent checkUpload]) + checkUpload = INVALID; if (uploadLimit != INVALID && uploadLimit != [torrent uploadLimit]) uploadLimit = INVALID; - if (checkDownload != NSMixedState && checkDownload != [torrent checkDownload]) - checkDownload = NSMixedState; + if (checkDownload != INVALID && checkDownload != [torrent checkDownload]) + checkDownload = INVALID; if (downloadLimit != INVALID && downloadLimit != [torrent downloadLimit]) downloadLimit = INVALID; } - [fUploadLimitCheck setEnabled: YES]; - [fUploadLimitCheck setState: checkUpload]; - [fUploadLimitLabel setEnabled: checkUpload == NSOnState]; - [fUploadLimitField setEnabled: checkUpload == NSOnState]; + [fUploadLimitPopUp setEnabled: YES]; + [fUploadLimitPopUp selectItemAtIndex: [self stateSettingToPopUpIndex: checkUpload]]; + [fUploadLimitLabel setHidden: checkUpload != NSOnState]; + [fUploadLimitField setHidden: checkUpload != NSOnState]; if (uploadLimit != INVALID) [fUploadLimitField setIntValue: uploadLimit]; else [fUploadLimitField setStringValue: @""]; - [fDownloadLimitCheck setEnabled: YES]; - [fDownloadLimitCheck setState: checkDownload]; - [fDownloadLimitLabel setEnabled: checkDownload == NSOnState]; - [fDownloadLimitField setEnabled: checkDownload == NSOnState]; + [fDownloadLimitPopUp setEnabled: YES]; + [fDownloadLimitPopUp selectItemAtIndex: [self stateSettingToPopUpIndex: checkDownload]]; + [fDownloadLimitLabel setHidden: checkDownload != NSOnState]; + [fDownloadLimitField setHidden: checkDownload != NSOnState]; if (downloadLimit != INVALID) [fDownloadLimitField setIntValue: downloadLimit]; else @@ -438,22 +445,22 @@ enumerator = [fTorrents objectEnumerator]; torrent = [enumerator nextObject]; //first torrent - int ratioSetting = [torrent ratioSetting]; + int checkRatio = [torrent ratioSetting]; float ratioLimit = [torrent ratioLimit]; - while ((ratioSetting != NSMixedState || ratioLimit != INVALID) + while ((checkRatio != INVALID || checkRatio != INVALID) && (torrent = [enumerator nextObject])) { - if (ratioSetting != NSMixedState && ratioSetting != [torrent ratioSetting]) - ratioSetting = NSMixedState; + if (checkRatio != INVALID && checkRatio != [torrent ratioSetting]) + checkRatio = INVALID; if (ratioLimit != INVALID && ratioLimit != [torrent ratioLimit]) ratioLimit = INVALID; } - [fRatioCheck setEnabled: YES]; - [fRatioCheck setState: ratioSetting]; - [fRatioLimitField setEnabled: ratioSetting == NSOnState]; + [fRatioPopUp setEnabled: YES]; + [fRatioPopUp selectItemAtIndex: [self stateSettingToPopUpIndex: checkRatio]]; + [fRatioLimitField setHidden: checkRatio != NSOnState]; if (ratioLimit != INVALID) [fRatioLimitField setFloatValue: ratioLimit]; else @@ -461,27 +468,51 @@ } else { - [fUploadLimitCheck setEnabled: NO]; - [fUploadLimitCheck setState: NSOffState]; - [fUploadLimitField setEnabled: NO]; + [fUploadLimitPopUp setEnabled: NO]; + [fUploadLimitPopUp selectItemAtIndex: -1]; + [fUploadLimitField setHidden: YES]; + [fUploadLimitLabel setHidden: YES]; [fUploadLimitField setStringValue: @""]; - [fUploadLimitLabel setEnabled: NO]; - [fDownloadLimitCheck setEnabled: NO]; - [fDownloadLimitCheck setState: NSOffState]; - [fDownloadLimitField setEnabled: NO]; + [fDownloadLimitPopUp setEnabled: NO]; + [fDownloadLimitPopUp selectItemAtIndex: -1]; + [fDownloadLimitField setHidden: YES]; + [fDownloadLimitLabel setHidden: YES]; [fDownloadLimitField setStringValue: @""]; - [fDownloadLimitLabel setEnabled: NO]; - [fRatioCheck setEnabled: NO]; - [fRatioCheck setState: NSOffState]; - [fRatioLimitField setEnabled: NO]; + [fRatioPopUp setEnabled: NO]; + [fRatioPopUp selectItemAtIndex: -1]; + [fRatioLimitField setHidden: YES]; [fRatioLimitField setStringValue: @""]; } [self updateInfoStats]; } +- (int) stateSettingToPopUpIndex: (int) index +{ + if (index == NSOnState) + return OPTION_POPUP_LIMIT; + else if (index == NSOffState) + return OPTION_POPUP_NO_LIMIT; + else if (index == NSMixedState) + return OPTION_POPUP_GLOBAL; + else + return -1; +} + +- (int) popUpIndexToStateSetting: (int) index +{ + if (index == OPTION_POPUP_LIMIT) + return NSOnState; + else if (index == OPTION_POPUP_NO_LIMIT) + return NSOffState; + else if (index == OPTION_POPUP_GLOBAL) + return NSMixedState; + else + return INVALID; +} + - (BOOL) validateMenuItem: (NSMenuItem *) menuItem { SEL action = [menuItem action]; @@ -808,18 +839,22 @@ [[fFileOutline itemAtRow: i] objectForKey: @"Path"]] inFileViewerRootedAtPath: nil]; } -- (void) setLimitCheck: (id) sender +- (void) setLimitSetting: (id) sender { - BOOL upload = sender == fUploadLimitCheck; - int state = [sender state]; + BOOL upload = sender == fUploadLimitPopUp; + int setting; + if ((setting = [self popUpIndexToStateSetting: [sender indexOfSelectedItem]]) == INVALID) + return; Torrent * torrent; NSEnumerator * enumerator = [fTorrents objectEnumerator]; while ((torrent = [enumerator nextObject])) - upload ? [torrent setCheckUpload: state] : [torrent setCheckDownload: state]; + upload ? [torrent setCheckUpload: setting] : [torrent setCheckDownload: setting]; NSTextField * field = upload ? fUploadLimitField : fDownloadLimitField; - [field setEnabled: state == NSOnState]; + [field setHidden: setting != NSOnState]; + NSTextField * label = upload ? fUploadLimitLabel : fDownloadLimitLabel; + [label setHidden: setting != NSOnState]; } - (void) setSpeedLimit: (id) sender @@ -854,14 +889,16 @@ - (void) setRatioSetting: (id) sender { - int state = [sender state]; + int setting; + if ((setting = [self popUpIndexToStateSetting: [sender indexOfSelectedItem]]) == INVALID) + return; Torrent * torrent; NSEnumerator * enumerator = [fTorrents objectEnumerator]; while ((torrent = [enumerator nextObject])) - [torrent setRatioSetting: state]; + [torrent setRatioSetting: setting]; - [fRatioLimitField setEnabled: state == NSOnState]; + [fRatioLimitField setHidden: setting != NSOnState]; } - (void) setRatioLimit: (id) sender