mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-13 20:32:43 +00:00
Password generator now is usable to fill Passwords or to generate them
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
@interface MPPasswordCreatorViewController : MPViewController
|
||||
|
||||
@property (retain) NSString *password;
|
||||
@property (retain, readonly) NSString *password;
|
||||
|
||||
@end
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
Reference in New Issue
Block a user