Password generator now is usable to fill Passwords or to generate them

This commit is contained in:
michael starke
2013-06-21 19:47:30 +02:00
parent 1c91b1a9a1
commit a21a400d47
7 changed files with 30 additions and 25 deletions

View File

@@ -14,7 +14,7 @@
@class HNHGradientView;
@class MPDocumentWindowController;
@interface MPInspectorViewController : MPViewController <NSTableViewDelegate>
@interface MPInspectorViewController : MPViewController <NSTableViewDelegate, NSPopoverDelegate>
@property (assign) IBOutlet MPPopupImageView *itemImageView;
@property (assign) IBOutlet NSTextField *itemNameTextfield;

View File

@@ -259,23 +259,37 @@ enum {
[[self view] layout];
}
#pragma mark Popovers
- (void)_showImagePopup:(id)sender {
[self _showPopopver:[[[MPIconSelectViewController alloc] init] autorelease] atView:self.itemImageView onEdge:NSMinYEdge];
}
- (void)closeActivePopup:(id)sender {
[_activePopover close];
}
- (IBAction)_popUpPasswordGenerator:(id)sender {
[self.generatePasswordButton setEnabled:NO];
[self _showPopopver:[[[MPPasswordCreatorViewController alloc] init] autorelease] atView:self.passwordTextField onEdge:NSMinYEdge];
}
- (void)_showPopopver:(NSViewController *)viewController atView:(NSView *)view onEdge:(NSRectEdge)edge {
if(_activePopover.contentViewController == viewController) {
return; // Do nothing, we already did show the controller
}
[_activePopover close];
NSAssert(_activePopover == nil, @"Popover hast to be niled out");
_activePopover = [[NSPopover alloc] init];
_activePopover.delegate = self;
_activePopover.behavior = NSPopoverBehaviorTransient;
_activePopover.contentViewController = viewController;
[_activePopover showRelativeToRect:NSZeroRect ofView:view preferredEdge:edge];
}
- (void)popoverDidClose:(NSNotification *)notification {
/* We do not enable the button all the time, but it's wokring find this way */
[self.generatePasswordButton setEnabled:YES];
id controller = _activePopover.contentViewController;
if([controller respondsToSelector:@selector(password)]) {
[self.selectedEntry setPasswordUndoable:[controller password]];
}
[_activePopover release];
_activePopover = nil;
}
@@ -298,23 +312,6 @@ enum {
[self _updateContent];
}
#pragma mark Properties
//- (void)setSelectedEntry:(KdbEntry *)selectedEntry {
// if(_selectedEntry != selectedEntry) {
// _selectedEntry = selectedEntry;
// self.showsEntry = YES;
// [self _updateContent];
// }
//}
//
//- (void)setSelectedGroup:(KdbGroup *)selectedGroup {
// if(_selectedGroup != selectedGroup) {
// _selectedGroup = selectedGroup;
// self.showsEntry = NO;
// [self _updateContent];
// }
//}
#pragma mark NSTableViewDelegate
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
NSTableCellView *tableCellView = [tableView makeViewWithIdentifier:[tableColumn identifier] owner:tableView];

View File

@@ -10,6 +10,6 @@
@interface MPPasswordCreatorViewController : MPViewController
@property (retain) NSString *password;
@property (retain, readonly) NSString *password;
@end

View File

@@ -7,6 +7,7 @@
//
#import "MPPasswordCreatorViewController.h"
#import "MPPasteBoardController.h"
#import "NSString+MPPasswordCreation.h"
#define MIN_PASSWORD_LENGTH 1
@@ -16,6 +17,8 @@
@interface MPPasswordCreatorViewController () {
MPPasswordCharacterFlags _characterFlags;
}
@property (retain) NSString *password;
@property (assign) IBOutlet NSTextField *passwordTextField;
@property (assign) IBOutlet NSTextField *passwordLengthTextField;
@property (assign) IBOutlet NSTextField *customCharactersTextField;
@@ -65,6 +68,7 @@
[_symbolsButton setTag:MPPasswordCharactersSymbols];
[self _resetCharacters];
[self _generatePassword:nil];
}
- (IBAction)_generatePassword:(id)sender {
@@ -85,6 +89,11 @@
}
- (IBAction)_usePassword:(id)sender {
if([self.addPasswordToPasteboardButton state] == NSOnState) {
[[MPPasteBoardController defaultController] copyObjects:@[_password]];
}
id target = [NSApp targetForAction:@selector(performClose:)];
[target performClose:nil];
}
- (void)setUseCustomString:(BOOL)useCustomString {
@@ -125,6 +134,5 @@
[_lowerCaseButton setState:userLowercase ? NSOnState : NSOffState];
[_numbersButton setState:useNumbers ? NSOnState : NSOffState];
[_symbolsButton setState:useSymbols ? NSOnState : NSOffState];
}
@end

View File

@@ -48,7 +48,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>823</string>
<string>843</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>

Binary file not shown.

Binary file not shown.