From eaea14ad9d98c5aab3bccd25765a190d4ce10aac Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Wed, 29 Nov 2017 13:50:15 +0100 Subject: [PATCH] Fixed mixed case in naming. Added enums for table column identification --- MacPass/MPPickfieldTableModel.h | 6 ++--- MacPass/MPPickfieldTableModel.m | 16 ++++++------- MacPass/MPPickfieldViewController.m | 35 ++++++++++++++++++++--------- 3 files changed, 36 insertions(+), 21 deletions(-) diff --git a/MacPass/MPPickfieldTableModel.h b/MacPass/MPPickfieldTableModel.h index 0d3c3ccf..7eeda762 100644 --- a/MacPass/MPPickfieldTableModel.h +++ b/MacPass/MPPickfieldTableModel.h @@ -11,7 +11,7 @@ @class MPDocument; @class KPKEntry; -@interface MPPickFieldTableModelRowItem : NSObject +@interface MPPickfieldTableModelRowItem : NSObject @property (copy) NSString *name; @property (copy) NSString *value; @@ -24,10 +24,10 @@ @interface MPPickfieldTableModel : NSObject -@property (copy) NSArray *items; +@property (copy) NSArray *items; - (instancetype)initWithEntry:(KPKEntry *)entry inDocument:(MPDocument *)document; -- (MPPickFieldTableModelRowItem *)itemAtIndex:(NSUInteger)index; +- (MPPickfieldTableModelRowItem *)itemAtIndex:(NSUInteger)index; @end diff --git a/MacPass/MPPickfieldTableModel.m b/MacPass/MPPickfieldTableModel.m index 62a0d96d..a4aef15b 100644 --- a/MacPass/MPPickfieldTableModel.m +++ b/MacPass/MPPickfieldTableModel.m @@ -9,7 +9,7 @@ #import "MPPickfieldTableModel.h" #import -@implementation MPPickFieldTableModelRowItem +@implementation MPPickfieldTableModelRowItem - (instancetype)init { self = [super init]; @@ -20,13 +20,13 @@ } + (instancetype)groupItemWithName:(NSString *)name { - MPPickFieldTableModelRowItem *item = [self itemWithName:name value:nil]; + MPPickfieldTableModelRowItem *item = [self itemWithName:name value:nil]; item.isGroup = YES; return item; } + (instancetype)itemWithName:(NSString *)name value:(NSString *)value { - MPPickFieldTableModelRowItem *item = [[MPPickFieldTableModelRowItem alloc] init]; + MPPickfieldTableModelRowItem *item = [[MPPickfieldTableModelRowItem alloc] init]; item.name = name; item.value = value; return item; @@ -47,22 +47,22 @@ - (void)_setupItemsForEntry:(KPKEntry *)entry document:(MPDocument *)document { /* Default attributes */ NSMutableArray *items = [[NSMutableArray alloc] init]; - [items addObject:[MPPickFieldTableModelRowItem groupItemWithName:NSLocalizedString(@"ENTRY_DEFAULT_ATTRIBUTES", @"Group row for entry attributes")]]; + [items addObject:[MPPickfieldTableModelRowItem groupItemWithName:NSLocalizedString(@"ENTRY_DEFAULT_ATTRIBUTES", @"Group row for entry attributes")]]; for(KPKAttribute *attribute in entry.defaultAttributes) { /* TODO exclude protected values */ - [items addObject:[MPPickFieldTableModelRowItem itemWithName:attribute.key value:attribute.value]]; + [items addObject:[MPPickfieldTableModelRowItem itemWithName:attribute.key value:attribute.value]]; } - [items addObject:[MPPickFieldTableModelRowItem groupItemWithName:NSLocalizedString(@"ENTRY_CUSTOM_ATTRIBUTES", @"Group row for entry attributes")]]; + [items addObject:[MPPickfieldTableModelRowItem groupItemWithName:NSLocalizedString(@"ENTRY_CUSTOM_ATTRIBUTES", @"Group row for entry attributes")]]; for(KPKAttribute *attribute in entry.customAttributes) { /* TODO exclude protected values */ - [items addObject:[MPPickFieldTableModelRowItem itemWithName:attribute.key value:attribute.value]]; + [items addObject:[MPPickfieldTableModelRowItem itemWithName:attribute.key value:attribute.value]]; } self.items = items; // copy creates an immutable copy } -- (MPPickFieldTableModelRowItem *)itemAtIndex:(NSUInteger)index { +- (MPPickfieldTableModelRowItem *)itemAtIndex:(NSUInteger)index { if(index < _items.count) { return _items[index]; } diff --git a/MacPass/MPPickfieldViewController.m b/MacPass/MPPickfieldViewController.m index ca521930..f6fb98cc 100644 --- a/MacPass/MPPickfieldViewController.m +++ b/MacPass/MPPickfieldViewController.m @@ -10,6 +10,12 @@ #import "MPPickfieldTableModel.h" #import + +typedef NS_ENUM(NSUInteger, MPPickfieldTableColumn) { + MPPickfieldNameTableColumn, + MPPIckfieldValueTableColumn +}; + @interface MPPickfieldViewController () @property (nonatomic, strong, readonly) KPKEntry *representedEntry; @@ -30,6 +36,7 @@ - (void)viewDidLoad { [super viewDidLoad]; self.tableModel = [[MPPickfieldTableModel alloc] initWithEntry:self.representedEntry inDocument:nil]; + } - (KPKEntry *)representedEntry { @@ -55,25 +62,33 @@ else { view = [tableView makeViewWithIdentifier:@"HeaderCell" owner:self]; } - MPPickFieldTableModelRowItem *rowItem = [self.tableModel itemAtIndex:row]; + MPPickfieldTableModelRowItem *rowItem = [self.tableModel itemAtIndex:row]; view.textField.stringValue = @""; if(!rowItem) { return view; } - /* group view or first column */ - if(tableColumn == nil || [tableColumn.identifier isEqualToString:@"AutomaticTableColumnIdentifier.0"]) { - view.textField.stringValue = rowItem.name; - } - else if([tableColumn.identifier isEqualToString:@"AutomaticTableColumnIdentifier.1"]) { - view.textField.stringValue = rowItem.value; - } + MPPickfieldTableColumn columnIndex = (tableColumn == nil + ? MPPickfieldNameTableColumn + : [tableView.tableColumns indexOfObjectIdenticalTo:tableColumn]); + + /* group view or first column */ + switch (columnIndex) { + case MPPickfieldNameTableColumn: + view.textField.stringValue = rowItem.name; + break; + case MPPIckfieldValueTableColumn: + view.textField.stringValue = rowItem.value; + break; + default: + break; + } return view; } - (BOOL)tableView:(NSTableView *)tableView isGroupRow:(NSInteger)row { - MPPickFieldTableModelRowItem *rowItem = [self.tableModel itemAtIndex:row]; + MPPickfieldTableModelRowItem *rowItem = [self.tableModel itemAtIndex:row]; return rowItem.isGroup; } @@ -87,7 +102,7 @@ self.pickedValue = @""; } else { - MPPickFieldTableModelRowItem *item = [self.tableModel itemAtIndex:tableView.selectedRow]; + MPPickfieldTableModelRowItem *item = [self.tableModel itemAtIndex:tableView.selectedRow]; self.pickedValue = item ? item.value : @""; } }