Combined KeePassHttp and Autotype preferences in one window

Added enable auto type preferences key
This commit is contained in:
michael starke
2014-02-18 13:00:56 +01:00
parent e976398a5e
commit 81bcd15d80
18 changed files with 184 additions and 83 deletions

View File

@@ -281,8 +281,8 @@
4CF78057176E5CFD0032EE71 /* MPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78056176E5CFD0032EE71 /* MPConnection.m */; };
4CF7805A176E6D5F0032EE71 /* HNHTableRowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78059176E6D5F0032EE71 /* HNHTableRowView.m */; };
4CF7805D176E71170032EE71 /* MPServerDaemon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF7805C176E71170032EE71 /* MPServerDaemon.m */; };
4CF7805F176E75110032EE71 /* ServerSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CF7805E176E75110032EE71 /* ServerSettings.xib */; };
4CF78064176E75AD0032EE71 /* MPServerSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78063176E75AD0032EE71 /* MPServerSettingsController.m */; };
4CF7805F176E75110032EE71 /* IntegrationSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CF7805E176E75110032EE71 /* IntegrationSettings.xib */; };
4CF78064176E75AD0032EE71 /* MPIntegrationSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */; };
4CFB18E418A17FA20097A34B /* MPUpdateSettingsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */; };
4CFB18E618A180430097A34B /* UpdateSettings.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CFB18E518A180430097A34B /* UpdateSettings.xib */; };
4CFC53BF16E94729007396BE /* MPShadowBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFC53BE16E94729007396BE /* MPShadowBox.m */; };
@@ -838,9 +838,9 @@
4CF78059176E6D5F0032EE71 /* HNHTableRowView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHTableRowView.m; sourceTree = "<group>"; };
4CF7805B176E71170032EE71 /* MPServerDaemon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPServerDaemon.h; sourceTree = "<group>"; };
4CF7805C176E71170032EE71 /* MPServerDaemon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPServerDaemon.m; sourceTree = "<group>"; };
4CF7805E176E75110032EE71 /* ServerSettings.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ServerSettings.xib; sourceTree = "<group>"; };
4CF78062176E75AD0032EE71 /* MPServerSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPServerSettingsController.h; sourceTree = "<group>"; };
4CF78063176E75AD0032EE71 /* MPServerSettingsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPServerSettingsController.m; sourceTree = "<group>"; };
4CF7805E176E75110032EE71 /* IntegrationSettings.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IntegrationSettings.xib; sourceTree = "<group>"; };
4CF78062176E75AD0032EE71 /* MPIntegrationSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIntegrationSettingsController.h; sourceTree = "<group>"; };
4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIntegrationSettingsController.m; sourceTree = "<group>"; };
4CFB18E218A17FA20097A34B /* MPUpdateSettingsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPUpdateSettingsController.h; sourceTree = "<group>"; };
4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUpdateSettingsController.m; sourceTree = "<group>"; };
4CFB18E518A180430097A34B /* UpdateSettings.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UpdateSettings.xib; sourceTree = "<group>"; };
@@ -1262,6 +1262,21 @@
name = "Supporting Files";
sourceTree = "<group>";
};
4C47D77718B37911002755E4 /* Settings */ = {
isa = PBXGroup;
children = (
4CA0B2F715BCAF6700654E32 /* MPGeneralSettingsController.h */,
4CA0B2F815BCAF6700654E32 /* MPGeneralSettingsController.m */,
4CF78062176E75AD0032EE71 /* MPIntegrationSettingsController.h */,
4CF78063176E75AD0032EE71 /* MPIntegrationSettingsController.m */,
4CD7223917A7CB0700F5A1E1 /* MPWorkflowSettingsController.h */,
4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */,
4CFB18E218A17FA20097A34B /* MPUpdateSettingsController.h */,
4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */,
);
name = Settings;
sourceTree = "<group>";
};
4C4B7EF517A46815000234C7 /* Inspector */ = {
isa = PBXGroup;
children = (
@@ -1439,16 +1454,9 @@
4CA0B2F115BCAEE600654E32 /* View Controller */ = {
isa = PBXGroup;
children = (
4C47D77718B37911002755E4 /* Settings */,
4C2E382416D1470200037A9D /* MPViewController.h */,
4C2E382516D1470200037A9D /* MPViewController.m */,
4CA0B2F715BCAF6700654E32 /* MPGeneralSettingsController.h */,
4CA0B2F815BCAF6700654E32 /* MPGeneralSettingsController.m */,
4CF78062176E75AD0032EE71 /* MPServerSettingsController.h */,
4CF78063176E75AD0032EE71 /* MPServerSettingsController.m */,
4CD7223917A7CB0700F5A1E1 /* MPWorkflowSettingsController.h */,
4CD7223A17A7CB0700F5A1E1 /* MPWorkflowSettingsController.m */,
4CFB18E218A17FA20097A34B /* MPUpdateSettingsController.h */,
4CFB18E318A17FA20097A34B /* MPUpdateSettingsController.m */,
4C65FAE616D16DDB006E0577 /* MPPasswordInputController.h */,
4C65FAE716D16DDB006E0577 /* MPPasswordInputController.m */,
4C5A11FB1708DE8700223D8A /* MPPasswordCreatorViewController.h */,
@@ -1794,7 +1802,7 @@
isa = PBXGroup;
children = (
4C76155E1764C04C0015A1A6 /* GeneralSettings.xib */,
4CF7805E176E75110032EE71 /* ServerSettings.xib */,
4CF7805E176E75110032EE71 /* IntegrationSettings.xib */,
4CD7223717A7C9EA00F5A1E1 /* WorkflowSettings.xib */,
4CFB18E518A180430097A34B /* UpdateSettings.xib */,
);
@@ -1985,7 +1993,7 @@
4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */,
4C7714AA176C998F00549F2A /* 43_TrashTemplate.pdf in Resources */,
4C7714AC176C9D4600549F2A /* 99_InfoTemplate.pdf in Resources */,
4CF7805F176E75110032EE71 /* ServerSettings.xib in Resources */,
4CF7805F176E75110032EE71 /* IntegrationSettings.xib in Resources */,
4CA3531218A5577300839B0F /* dsa_sparkle_pub.pem in Resources */,
4CD5D702177A5EE400100649 /* DatabaseSettingsWindow.xib in Resources */,
4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */,
@@ -2149,7 +2157,7 @@
4CF78057176E5CFD0032EE71 /* MPConnection.m in Sources */,
4CF7805A176E6D5F0032EE71 /* HNHTableRowView.m in Sources */,
4CF7805D176E71170032EE71 /* MPServerDaemon.m in Sources */,
4CF78064176E75AD0032EE71 /* MPServerSettingsController.m in Sources */,
4CF78064176E75AD0032EE71 /* MPIntegrationSettingsController.m in Sources */,
4CF6C711176F4533007A811D /* MPStringLengthValueTransformer.m in Sources */,
4CF6C718176F5234007A811D /* MPAssociateRequestHandler.m in Sources */,
4CC299FF176F99E50050C939 /* MPRequestHandlerService.m in Sources */,

View File

@@ -25,7 +25,7 @@
<rect key="frame" x="0.0" y="0.0" width="400" height="418"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<box autoresizesSubviews="NO" title="General" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="928">
<box autoresizesSubviews="NO" verticalHuggingPriority="500" title="General" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="928">
<rect key="frame" x="17" y="266" width="366" height="54"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView">
@@ -49,7 +49,7 @@
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</box>
<box autoresizesSubviews="NO" verticalHuggingPriority="251" title="Security" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="465">
<box autoresizesSubviews="NO" verticalHuggingPriority="500" title="Security" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="465">
<rect key="frame" x="17" y="16" width="366" height="246"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView">
@@ -143,7 +143,7 @@
<font key="font" metaFont="system"/>
</buttonCell>
</button>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5cV-xX-SUU">
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5cV-xX-SUU">
<rect key="frame" x="16" y="43" width="332" height="56"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" id="ACh-7H-42N">
@@ -180,18 +180,22 @@
<constraint firstItem="419" firstAttribute="leading" secondItem="584" secondAttribute="leading" id="876"/>
<constraint firstItem="419" firstAttribute="bottom" secondItem="431" secondAttribute="bottom" id="916"/>
<constraint firstItem="630" firstAttribute="top" secondItem="805" secondAttribute="bottom" constant="8" id="952"/>
<constraint firstItem="5cV-xX-SUU" firstAttribute="trailing" secondItem="oQr-FC-HkN" secondAttribute="trailing" id="C45-9A-zjv"/>
<constraint firstItem="oQr-FC-HkN" firstAttribute="top" secondItem="5cV-xX-SUU" secondAttribute="bottom" constant="8" id="GaD-sG-RBr"/>
<constraint firstItem="5cV-xX-SUU" firstAttribute="top" secondItem="bSt-Wf-FNZ" secondAttribute="bottom" constant="9" id="Jsm-ij-y9e"/>
<constraint firstItem="oQr-FC-HkN" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="465" secondAttribute="leading" constant="16" id="XAl-D7-I6k"/>
<constraint firstItem="bSt-Wf-FNZ" firstAttribute="top" secondItem="630" secondAttribute="bottom" constant="11" id="XUI-7v-CA4"/>
<constraint firstItem="805" firstAttribute="top" secondItem="447" secondAttribute="bottom" constant="8" symbolic="YES" id="XhN-Ce-ut7"/>
<constraint firstItem="bSt-Wf-FNZ" firstAttribute="leading" secondItem="805" secondAttribute="leading" id="hcg-pe-Vtb"/>
<constraint firstAttribute="bottom" secondItem="oQr-FC-HkN" secondAttribute="bottom" constant="11" id="tDO-89-9Iu"/>
<constraint firstItem="5cV-xX-SUU" firstAttribute="leading" secondItem="bSt-Wf-FNZ" secondAttribute="leading" id="tau-hs-tz4"/>
<constraint firstItem="447" firstAttribute="top" secondItem="419" secondAttribute="bottom" constant="8" symbolic="YES" id="xZh-T3-USE"/>
<constraint firstAttribute="trailing" secondItem="oQr-FC-HkN" secondAttribute="trailing" constant="16" id="xjj-cL-rTz"/>
</constraints>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</box>
<box autoresizesSubviews="NO" title="Startup" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="888">
<box autoresizesSubviews="NO" verticalHuggingPriority="500" title="Startup" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="888">
<rect key="frame" x="17" y="324" width="366" height="74"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView">
@@ -239,7 +243,6 @@
<constraint firstAttribute="trailing" secondItem="928" secondAttribute="trailing" constant="20" symbolic="YES" id="947"/>
<constraint firstItem="465" firstAttribute="top" secondItem="928" secondAttribute="bottom" constant="8" symbolic="YES" id="949"/>
<constraint firstItem="465" firstAttribute="top" secondItem="1" secondAttribute="top" constant="156" id="950"/>
<constraint firstAttribute="height" constant="418" id="otH-bj-MWy"/>
<constraint firstAttribute="bottom" secondItem="465" secondAttribute="bottom" constant="20" symbolic="YES" id="uwq-az-XwJ"/>
</constraints>
</customView>

View File

@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="4514" systemVersion="13B42" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment defaultVersion="1080" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="4514"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="MPIntegrationSettingsController">
<connections>
<outlet property="enableServerCheckbutton" destination="2" id="17"/>
<outlet property="view" destination="1" id="18"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application"/>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="1">
<rect key="frame" x="0.0" y="0.0" width="400" height="179"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<box autoresizesSubviews="NO" verticalHuggingPriority="500" title="Keepass HTTP" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="KbH-0Q-5Tw">
<rect key="frame" x="17" y="105" width="366" height="54"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView">
<rect key="frame" x="1" y="1" width="364" height="38"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button translatesAutoresizingMaskIntoConstraints="NO" id="2">
<rect key="frame" x="16" y="12" width="187" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Enable KeePassHttp server" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="3">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
</subviews>
</view>
<constraints>
<constraint firstItem="2" firstAttribute="top" secondItem="KbH-0Q-5Tw" secondAttribute="top" constant="25" id="I1K-oc-SCv"/>
<constraint firstAttribute="bottom" secondItem="2" secondAttribute="bottom" constant="11" id="IfW-lq-9Nf"/>
<constraint firstItem="2" firstAttribute="leading" secondItem="KbH-0Q-5Tw" secondAttribute="leading" constant="16" id="Xod-Hc-0rx"/>
</constraints>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</box>
<box autoresizesSubviews="NO" verticalHuggingPriority="500" title="Autotype" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="P9N-HM-wER">
<rect key="frame" x="17" y="16" width="366" height="85"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView">
<rect key="frame" x="1" y="1" width="364" height="69"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Kvg-he-3c8">
<rect key="frame" x="79" y="15" width="46" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="⌘⌥M" drawsBackground="YES" id="sW8-rh-bhD">
<font key="font" metaFont="system"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button translatesAutoresizingMaskIntoConstraints="NO" id="tik-Ar-FJg">
<rect key="frame" x="16" y="43" width="168" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Enable global Autotype" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="1qb-Rd-jYu">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="buI-Wb-o3V">
<rect key="frame" x="16" y="17" width="57" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Shortcut" id="6oN-CH-T0O">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
<constraints>
<constraint firstItem="tik-Ar-FJg" firstAttribute="top" secondItem="P9N-HM-wER" secondAttribute="top" constant="25" id="1HW-Ac-jq4"/>
<constraint firstAttribute="bottom" secondItem="Kvg-he-3c8" secondAttribute="bottom" constant="12" id="3bK-25-sTQ"/>
<constraint firstItem="buI-Wb-o3V" firstAttribute="baseline" secondItem="Kvg-he-3c8" secondAttribute="baseline" id="49G-2q-5ye"/>
<constraint firstItem="Kvg-he-3c8" firstAttribute="leading" secondItem="buI-Wb-o3V" secondAttribute="trailing" constant="8" symbolic="YES" id="Khi-Pi-iBU"/>
<constraint firstItem="Kvg-he-3c8" firstAttribute="top" secondItem="tik-Ar-FJg" secondAttribute="bottom" constant="8" symbolic="YES" id="cn1-4v-XHZ"/>
<constraint firstItem="tik-Ar-FJg" firstAttribute="leading" secondItem="buI-Wb-o3V" secondAttribute="leading" id="eVT-oc-Oz8"/>
<constraint firstItem="tik-Ar-FJg" firstAttribute="leading" secondItem="P9N-HM-wER" secondAttribute="leading" constant="16" id="rMB-zA-WBv"/>
</constraints>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</box>
</subviews>
<constraints>
<constraint firstAttribute="width" constant="400" id="19"/>
<constraint firstAttribute="trailing" secondItem="KbH-0Q-5Tw" secondAttribute="trailing" constant="20" symbolic="YES" id="0x4-nr-DuM"/>
<constraint firstItem="KbH-0Q-5Tw" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="dln-JS-u45"/>
<constraint firstItem="P9N-HM-wER" firstAttribute="leading" secondItem="KbH-0Q-5Tw" secondAttribute="leading" id="iZD-AQ-EeG"/>
<constraint firstItem="KbH-0Q-5Tw" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="mtr-dI-3QM"/>
<constraint firstItem="P9N-HM-wER" firstAttribute="top" secondItem="KbH-0Q-5Tw" secondAttribute="bottom" constant="8" symbolic="YES" id="oFy-uk-HLJ"/>
<constraint firstItem="P9N-HM-wER" firstAttribute="trailing" secondItem="KbH-0Q-5Tw" secondAttribute="trailing" id="sIZ-ZD-A8K"/>
<constraint firstAttribute="bottom" secondItem="P9N-HM-wER" secondAttribute="bottom" constant="20" symbolic="YES" id="tUs-qA-SKq"/>
</constraints>
</customView>
</objects>
</document>

View File

@@ -12,6 +12,7 @@
#import "MPDocument.h"
#import "MPDocument+Autotype.h"
#import "MPAutotypeCommand.h"
#import "MPSettingsHelper.h"
#import "KPKEntry.h"
@@ -20,16 +21,31 @@
NSString *const kMPWindowTitleKey = @"windowTitle";
NSString *const kMPApplciationNameKey = @"applicationName";
@interface MPAutotypeDaemon ()
@property (nonatomic, assign) BOOL enabled;
@end
@implementation MPAutotypeDaemon
- (id)init {
self = [super init];
if (self) {
[self _registerHotKey];
_enabled = NO;
[[NSUserDefaults standardUserDefaults] bind:kMPSettingsKeyEnableGlobalAutotype toObject:self withKeyPath:@"enabled" options:nil];
}
return self;
}
#pragma mark Properties
- (void)setEnabled:(BOOL)enabled {
if(_enabled != enabled) {
_enabled = enabled;
self.enabled ? [self _registerHotKey] : [self _unregisterHotKey];
}
}
- (void)exectureAutotypeForEntry:(KPKEntry *)entry withWindowTitle:(NSString *)title {
NSAssert(NO,@"Not Implemented");
}
@@ -101,6 +117,10 @@ NSString *const kMPApplciationNameKey = @"applicationName";
object:nil];
}
- (void)_unregisterHotKey {
[[DDHotKeyCenter sharedHotKeyCenter] unregisterHotKeysWithTarget:self action:@selector(_didPressHotKey)];
}
- (NSDictionary *)_frontMostApplicationInfoDict {
NSRunningApplication *frontApplication = [[NSWorkspace sharedWorkspace] frontmostApplication];
NSString *name = frontApplication.localizedName;

View File

@@ -9,7 +9,7 @@
#import "MPViewController.h"
#import "MPSettingsTab.h"
@interface MPServerSettingsController : MPViewController <MPSettingsTab>
@interface MPIntegrationSettingsController : MPViewController <MPSettingsTab>
@property (weak) IBOutlet NSButton *enableServerCheckbutton;

View File

@@ -6,30 +6,30 @@
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
//
#import "MPServerSettingsController.h"
#import "MPIntegrationSettingsController.h"
#import "MPSettingsHelper.h"
#import "MPIconHelper.h"
@interface MPServerSettingsController ()
@interface MPIntegrationSettingsController ()
@end
@implementation MPServerSettingsController
@implementation MPIntegrationSettingsController
- (NSString *)identifier {
return @"ServerSettings";
return @"Integration";
}
- (NSImage *)image {
return [NSImage imageNamed:NSImageNameNetwork];
return [NSImage imageNamed:NSImageNameComputer];
}
- (NSString *)label {
return NSLocalizedString(@"SERVER_SETTINGS", "");
return NSLocalizedString(@"INTEGRATION_SETTINGS", "");
}
- (id)init {
self = [super initWithNibName:@"ServerSettings" bundle:nil];
self = [super initWithNibName:@"IntegrationSettings" bundle:nil];
return self;
}

View File

@@ -48,6 +48,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases;
/* Autotype */
APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey;
APPKIT_EXTERN NSString *const kMPSettingsKeyEnableGlobalAutotype;
/* Search */
APPKIT_EXTERN NSString *const kMPSettingsKeyEntrySearchFilterMode;

View File

@@ -33,6 +33,7 @@ NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysFo
NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFilesForDatabases";
NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey";
NSString *const kMPSettingsKeyEnableGlobalAutotype = @"EnableGlobalAutotype";
NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilterMode";
@@ -66,7 +67,8 @@ NSString *const kMPSettingsKeyEntrySearchFilterMode = @"EntrySearchFilte
kMPSettingsKeyLegacyHideUsername: @NO,
kMPSettingsKeyRememberKeyFilesForDatabases: @NO,
kMPSettingsKeySendCommandForControlKey: @YES,
kMPSettingsKeyEntrySearchFilterMode: @0
kMPSettingsKeyEntrySearchFilterMode: @0,
kMPSettingsKeyEnableGlobalAutotype: @NO,
};
}

View File

@@ -8,7 +8,7 @@
#import "MPSettingsWindowController.h"
#import "MPGeneralSettingsController.h"
#import "MPServerSettingsController.h"
#import "MPIntegrationSettingsController.h"
#import "MPWorkflowSettingsController.h"
#import "MPUpdateSettingsController.h"
@@ -116,18 +116,18 @@
- (void)_setupDefaultSettingsTabs {
MPGeneralSettingsController *generalSettingsController = [[MPGeneralSettingsController alloc] init];
MPServerSettingsController *serverSettingsController = [[MPServerSettingsController alloc] init];
MPIntegrationSettingsController *integrationSettingsController = [[MPIntegrationSettingsController alloc] init];
MPWorkflowSettingsController *workflowSettingsController = [[MPWorkflowSettingsController alloc] init];
MPUpdateSettingsController *updateSettingsController = [[MPUpdateSettingsController alloc] init];
[self _addSettingsTab:generalSettingsController];
[self _addSettingsTab:serverSettingsController];
[self _addSettingsTab:integrationSettingsController];
[self _addSettingsTab:workflowSettingsController];
[self _addSettingsTab:updateSettingsController];
self.defaultToolbarItems = @[ [generalSettingsController identifier],
[integrationSettingsController identifier],
[workflowSettingsController identifier],
[serverSettingsController identifier],
[updateSettingsController identifier]];

View File

@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="4514" systemVersion="13B42" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment defaultVersion="1080" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="4514"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="MPServerSettingsController">
<connections>
<outlet property="enableServerCheckbutton" destination="2" id="17"/>
<outlet property="view" destination="1" id="18"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application"/>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="1">
<rect key="frame" x="0.0" y="0.0" width="400" height="54"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<button translatesAutoresizingMaskIntoConstraints="NO" id="2">
<rect key="frame" x="18" y="18" width="187" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Enable KeePassHttp server" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="3">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
</subviews>
<constraints>
<constraint firstItem="2" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="4"/>
<constraint firstItem="2" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="5"/>
<constraint firstAttribute="width" constant="400" id="19"/>
<constraint firstAttribute="height" constant="54" id="20"/>
</constraints>
</customView>
</objects>
</document>

View File

@@ -16,7 +16,7 @@
<rect key="frame" x="0.0" y="0.0" width="400" height="95"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<button translatesAutoresizingMaskIntoConstraints="NO" id="Z6x-oU-NC5">
<button verticalHuggingPriority="500" translatesAutoresizingMaskIntoConstraints="NO" id="Z6x-oU-NC5">
<rect key="frame" x="21" y="59" width="228" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<constraints>
@@ -35,7 +35,7 @@
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="Hl5-gO-B1c">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<font key="font" metaFont="menu"/>
<menu key="menu" title="OtherViews" id="RKd-H8-eCF">
<items>
<menuItem title="every Hour" tag="3600" id="DjF-1I-6Nq"/>
@@ -69,7 +69,6 @@
<constraint firstItem="Z6x-oU-NC5" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="Njn-tR-NbV"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="pWJ-eJ-MBf" secondAttribute="trailing" constant="20" symbolic="YES" id="QsU-uT-lfo"/>
<constraint firstItem="ckg-9t-MDS" firstAttribute="leading" secondItem="Z6x-oU-NC5" secondAttribute="leading" id="W0y-Rp-Ucq"/>
<constraint firstItem="Z6x-oU-NC5" firstAttribute="top" relation="greaterThanOrEqual" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="fNf-ak-FhF"/>
<constraint firstItem="pWJ-eJ-MBf" firstAttribute="top" secondItem="Z6x-oU-NC5" secondAttribute="bottom" constant="20" symbolic="YES" id="fhM-Ri-Op9"/>
<constraint firstItem="ckg-9t-MDS" firstAttribute="baseline" secondItem="pWJ-eJ-MBf" secondAttribute="baseline" id="ozZ-bW-f7y"/>
<constraint firstAttribute="bottom" secondItem="pWJ-eJ-MBf" secondAttribute="bottom" constant="20" symbolic="YES" id="pHW-e8-EU6"/>

View File

@@ -17,7 +17,7 @@
<rect key="frame" x="0.0" y="0.0" width="400" height="157"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<box autoresizesSubviews="NO" title="Entry Table" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="2">
<box autoresizesSubviews="NO" verticalHuggingPriority="500" title="Entry Table" borderType="line" translatesAutoresizingMaskIntoConstraints="NO" id="2">
<rect key="frame" x="17" y="16" width="366" height="92"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView">
@@ -118,7 +118,6 @@
<constraint firstAttribute="trailing" secondItem="2" secondAttribute="trailing" constant="20" symbolic="YES" id="8"/>
<constraint firstAttribute="bottom" secondItem="2" secondAttribute="bottom" constant="20" symbolic="YES" id="51"/>
<constraint firstAttribute="width" constant="400" id="53"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="128" id="54"/>
<constraint firstItem="2" firstAttribute="top" secondItem="ehI-gq-lsb" secondAttribute="bottom" constant="8" symbolic="YES" id="CnN-aU-Qa1"/>
<constraint firstItem="ehI-gq-lsb" firstAttribute="leading" secondItem="lOo-NI-b07" secondAttribute="trailing" constant="8" symbolic="YES" id="KxB-TG-rH5"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="ehI-gq-lsb" secondAttribute="trailing" constant="20" symbolic="YES" id="Ldw-aO-wuX"/>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -20,7 +20,7 @@
@implementation KPKTestNSCoding
- (void)testAttributeCoding {
KPKAttribute *attribute = [[KPKAttribute alloc] initWithKey:kKPKXmlKey value:@"Value" isProtected:YES];
KPKAttribute *attribute = [[KPKAttribute alloc] initWithKey:kKPKXmlKey value:kKPKXmlValue isProtected:YES];
NSData *data = [self encode:attribute];
KPKAttribute *copy = [self decode:data ofClass:[KPKAttribute class]];
@@ -49,7 +49,7 @@
binary.name = @"Binary";
[entry addBinary:binary];
[entry addCustomAttribute:[[KPKAttribute alloc] initWithKey:@"Custom" value:@"Value" isProtected:NO]];
[entry addCustomAttribute:[[KPKAttribute alloc] initWithKey:@"Custom" value:kKPKXmlValue isProtected:NO]];
NSData *encodedData = [self encode:entry];
KPKEntry *copyEntry = [self decode:encodedData ofClass:[KPKEntry class]];

View File

@@ -10,6 +10,7 @@
#import "KPKEntry.h"
#import "KPKAttribute.h"
#import "KPKBinary.h"
#import "KPKXmlElements.h"
@interface KPKTestNSCopying : XCTestCase
@@ -18,7 +19,7 @@
@implementation KPKTestNSCopying
- (void)testAttributeCopying {
KPKAttribute *attribute = [[KPKAttribute alloc] initWithKey:@"Key" value:@"Value" isProtected:NO];
KPKAttribute *attribute = [[KPKAttribute alloc] initWithKey:@"Key" value:kKPKXmlValue isProtected:NO];
KPKAttribute *copy = [attribute copy];
attribute.key = @"NewKey";
@@ -27,7 +28,7 @@
XCTAssertNotNil(copy, @"Copy shoule exist");
XCTAssertTrue([copy.key isEqualToString:@"Key"], @"Copy key should be key");
XCTAssertTrue([copy.value isEqualToString:@"Value"], @"Copy value should be value");
XCTAssertTrue([copy.value isEqualToString:kKPKXmlValue], @"Copy value should be value");
XCTAssertFalse(copy.isProtected, @"Copy should not be protected");
}
@@ -47,7 +48,7 @@
binary.name = @"Binary";
[entry addBinary:binary];
[entry addCustomAttribute:[[KPKAttribute alloc] initWithKey:@"Custom" value:@"Value" isProtected:NO]];
[entry addCustomAttribute:[[KPKAttribute alloc] initWithKey:@"Custom" value:kKPKXmlValue isProtected:NO]];
KPKEntry *copyEntry = [entry copy];