mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-13 22:52:26 +00:00
Fixed mixed case in naming. Added enums for table column identification
This commit is contained in:
@@ -11,7 +11,7 @@
|
|||||||
@class MPDocument;
|
@class MPDocument;
|
||||||
@class KPKEntry;
|
@class KPKEntry;
|
||||||
|
|
||||||
@interface MPPickFieldTableModelRowItem : NSObject
|
@interface MPPickfieldTableModelRowItem : NSObject
|
||||||
|
|
||||||
@property (copy) NSString *name;
|
@property (copy) NSString *name;
|
||||||
@property (copy) NSString *value;
|
@property (copy) NSString *value;
|
||||||
@@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
@interface MPPickfieldTableModel : NSObject
|
@interface MPPickfieldTableModel : NSObject
|
||||||
|
|
||||||
@property (copy) NSArray<MPPickFieldTableModelRowItem *> *items;
|
@property (copy) NSArray<MPPickfieldTableModelRowItem *> *items;
|
||||||
|
|
||||||
- (instancetype)initWithEntry:(KPKEntry *)entry inDocument:(MPDocument *)document;
|
- (instancetype)initWithEntry:(KPKEntry *)entry inDocument:(MPDocument *)document;
|
||||||
- (MPPickFieldTableModelRowItem *)itemAtIndex:(NSUInteger)index;
|
- (MPPickfieldTableModelRowItem *)itemAtIndex:(NSUInteger)index;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
#import "MPPickfieldTableModel.h"
|
#import "MPPickfieldTableModel.h"
|
||||||
#import <KeePassKit/KeePassKit.h>
|
#import <KeePassKit/KeePassKit.h>
|
||||||
|
|
||||||
@implementation MPPickFieldTableModelRowItem
|
@implementation MPPickfieldTableModelRowItem
|
||||||
|
|
||||||
- (instancetype)init {
|
- (instancetype)init {
|
||||||
self = [super init];
|
self = [super init];
|
||||||
@@ -20,13 +20,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
+ (instancetype)groupItemWithName:(NSString *)name {
|
+ (instancetype)groupItemWithName:(NSString *)name {
|
||||||
MPPickFieldTableModelRowItem *item = [self itemWithName:name value:nil];
|
MPPickfieldTableModelRowItem *item = [self itemWithName:name value:nil];
|
||||||
item.isGroup = YES;
|
item.isGroup = YES;
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (instancetype)itemWithName:(NSString *)name value:(NSString *)value {
|
+ (instancetype)itemWithName:(NSString *)name value:(NSString *)value {
|
||||||
MPPickFieldTableModelRowItem *item = [[MPPickFieldTableModelRowItem alloc] init];
|
MPPickfieldTableModelRowItem *item = [[MPPickfieldTableModelRowItem alloc] init];
|
||||||
item.name = name;
|
item.name = name;
|
||||||
item.value = value;
|
item.value = value;
|
||||||
return item;
|
return item;
|
||||||
@@ -47,22 +47,22 @@
|
|||||||
- (void)_setupItemsForEntry:(KPKEntry *)entry document:(MPDocument *)document {
|
- (void)_setupItemsForEntry:(KPKEntry *)entry document:(MPDocument *)document {
|
||||||
/* Default attributes */
|
/* Default attributes */
|
||||||
NSMutableArray *items = [[NSMutableArray alloc] init];
|
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) {
|
for(KPKAttribute *attribute in entry.defaultAttributes) {
|
||||||
/* TODO exclude protected values */
|
/* 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) {
|
for(KPKAttribute *attribute in entry.customAttributes) {
|
||||||
/* TODO exclude protected values */
|
/* 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
|
self.items = items; // copy creates an immutable copy
|
||||||
}
|
}
|
||||||
|
|
||||||
- (MPPickFieldTableModelRowItem *)itemAtIndex:(NSUInteger)index {
|
- (MPPickfieldTableModelRowItem *)itemAtIndex:(NSUInteger)index {
|
||||||
if(index < _items.count) {
|
if(index < _items.count) {
|
||||||
return _items[index];
|
return _items[index];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,12 @@
|
|||||||
#import "MPPickfieldTableModel.h"
|
#import "MPPickfieldTableModel.h"
|
||||||
|
|
||||||
#import <KeePassKit/KeePassKit.h>
|
#import <KeePassKit/KeePassKit.h>
|
||||||
|
|
||||||
|
typedef NS_ENUM(NSUInteger, MPPickfieldTableColumn) {
|
||||||
|
MPPickfieldNameTableColumn,
|
||||||
|
MPPIckfieldValueTableColumn
|
||||||
|
};
|
||||||
|
|
||||||
@interface MPPickfieldViewController () <NSTableViewDelegate, NSTableViewDataSource>
|
@interface MPPickfieldViewController () <NSTableViewDelegate, NSTableViewDataSource>
|
||||||
|
|
||||||
@property (nonatomic, strong, readonly) KPKEntry *representedEntry;
|
@property (nonatomic, strong, readonly) KPKEntry *representedEntry;
|
||||||
@@ -30,6 +36,7 @@
|
|||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
self.tableModel = [[MPPickfieldTableModel alloc] initWithEntry:self.representedEntry inDocument:nil];
|
self.tableModel = [[MPPickfieldTableModel alloc] initWithEntry:self.representedEntry inDocument:nil];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (KPKEntry *)representedEntry {
|
- (KPKEntry *)representedEntry {
|
||||||
@@ -55,25 +62,33 @@
|
|||||||
else {
|
else {
|
||||||
view = [tableView makeViewWithIdentifier:@"HeaderCell" owner:self];
|
view = [tableView makeViewWithIdentifier:@"HeaderCell" owner:self];
|
||||||
}
|
}
|
||||||
MPPickFieldTableModelRowItem *rowItem = [self.tableModel itemAtIndex:row];
|
MPPickfieldTableModelRowItem *rowItem = [self.tableModel itemAtIndex:row];
|
||||||
view.textField.stringValue = @"";
|
view.textField.stringValue = @"";
|
||||||
|
|
||||||
if(!rowItem) {
|
if(!rowItem) {
|
||||||
return view;
|
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;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)tableView:(NSTableView *)tableView isGroupRow:(NSInteger)row {
|
- (BOOL)tableView:(NSTableView *)tableView isGroupRow:(NSInteger)row {
|
||||||
MPPickFieldTableModelRowItem *rowItem = [self.tableModel itemAtIndex:row];
|
MPPickfieldTableModelRowItem *rowItem = [self.tableModel itemAtIndex:row];
|
||||||
return rowItem.isGroup;
|
return rowItem.isGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +102,7 @@
|
|||||||
self.pickedValue = @"";
|
self.pickedValue = @"";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
MPPickFieldTableModelRowItem *item = [self.tableModel itemAtIndex:tableView.selectedRow];
|
MPPickfieldTableModelRowItem *item = [self.tableModel itemAtIndex:tableView.selectedRow];
|
||||||
self.pickedValue = item ? item.value : @"";
|
self.pickedValue = item ? item.value : @"";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user