mirror of
https://github.com/MacPass/MacPass.git
synced 2026-01-30 21:38:19 +00:00
Compare commits
98 Commits
feature-to
...
0.8.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e985d23fa5 | ||
|
|
b690d6051e | ||
|
|
fe7b4e2746 | ||
|
|
5b211bb519 | ||
|
|
0a6ba80f01 | ||
|
|
43e667a157 | ||
|
|
2956a2e7c1 | ||
|
|
af960b0b38 | ||
|
|
c1155bd061 | ||
|
|
9c9f6f0bf5 | ||
|
|
66ad8cee17 | ||
|
|
7376a5c887 | ||
|
|
4bf130232f | ||
|
|
89268ef88e | ||
|
|
59c37e696f | ||
|
|
e2d6a7ddad | ||
|
|
e6a7992084 | ||
|
|
ca31d4638f | ||
|
|
a40049a425 | ||
|
|
2ec0945a51 | ||
|
|
fccc0921b7 | ||
|
|
1e78d3b0ae | ||
|
|
4f2888b759 | ||
|
|
9d032dcbf4 | ||
|
|
07fba98d64 | ||
|
|
95184ed2ec | ||
|
|
5d4d0a626b | ||
|
|
bb38973fa7 | ||
|
|
dc4cbc6777 | ||
|
|
12406bf10f | ||
|
|
096fdc4384 | ||
|
|
29d349a0a0 | ||
|
|
7c9c75e103 | ||
|
|
7198b0cbf7 | ||
|
|
6b7fdc081b | ||
|
|
43bc4d7ae1 | ||
|
|
31b062423a | ||
|
|
6dcd03f6f2 | ||
|
|
eedc804558 | ||
|
|
65f2582e3c | ||
|
|
2e46d7c121 | ||
|
|
59b28b4872 | ||
|
|
d1e99c6bc7 | ||
|
|
2181898acd | ||
|
|
466ca92757 | ||
|
|
3ea8937d11 | ||
|
|
cc0a855712 | ||
|
|
3ea790eeb3 | ||
|
|
f1bf8ab9f6 | ||
|
|
1ee3bc13be | ||
|
|
05d4381045 | ||
|
|
fb27d330d6 | ||
|
|
d83332a92d | ||
|
|
299b48870d | ||
|
|
fc186aaf2c | ||
|
|
98730e7f24 | ||
|
|
8d5006ba34 | ||
|
|
1873032d3c | ||
|
|
3cf0e5644e | ||
|
|
8b9c998ec7 | ||
|
|
f0e530bda5 | ||
|
|
a34c0eed4e | ||
|
|
83f8158b21 | ||
|
|
f28bcb527a | ||
|
|
6cd443278f | ||
|
|
ea2796dd28 | ||
|
|
0b681f8d40 | ||
|
|
d4fc747d72 | ||
|
|
33a4188bba | ||
|
|
16be427a92 | ||
|
|
48fc70018e | ||
|
|
adcf77f1d7 | ||
|
|
32b31a3ea8 | ||
|
|
f1d0d410f1 | ||
|
|
af63b0ec4d | ||
|
|
85e55626b0 | ||
|
|
3c4eac6707 | ||
|
|
84f35d6005 | ||
|
|
9e14e8301d | ||
|
|
1b04e5cfa2 | ||
|
|
8884e61e10 | ||
|
|
781234ef8c | ||
|
|
08a49121b0 | ||
|
|
92592a8049 | ||
|
|
5b6483fdab | ||
|
|
3b4d05f676 | ||
|
|
7d5edd1c98 | ||
|
|
5652abfb1e | ||
|
|
b478b47d3d | ||
|
|
8cc4c2717a | ||
|
|
f3815f7fa4 | ||
|
|
93f6a62bb5 | ||
|
|
174d9c2650 | ||
|
|
0b240d3ade | ||
|
|
b30279e42e | ||
|
|
ef896468bb | ||
|
|
b3ad2df29e | ||
|
|
3cfbbb1f16 |
45
.github/workflows/nightly.yml
vendored
45
.github/workflows/nightly.yml
vendored
@@ -30,3 +30,48 @@ jobs:
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
xcodebuild clean
|
xcodebuild clean
|
||||||
xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO -derivedDataPath ./build | xcpretty -c
|
xcodebuild build -configuration release -project MacPass.xcodeproj -scheme MacPass CODE_SIGNING_REQUIRED=NO -derivedDataPath ./build | xcpretty -c
|
||||||
|
|
||||||
|
- name: Export Localizations
|
||||||
|
run: |
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage de
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage en
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage es
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage fr
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage it
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage nl
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage ru
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage sv-SE
|
||||||
|
xcodebuild -project MacPass.xcodeproj -exportLocalizations -localizationPath Localisations -exportLanguage zh-Hans
|
||||||
|
|
||||||
|
- name: Zip Localizations
|
||||||
|
run: zip -9ry Localisations.zip Localisations
|
||||||
|
|
||||||
|
- name: Package Release
|
||||||
|
run: |
|
||||||
|
cd ./build/Build/Products/Release
|
||||||
|
zip -9ry MacPass-continuous.zip MacPass.app
|
||||||
|
|
||||||
|
- name: Create MD5 Hash
|
||||||
|
run: |
|
||||||
|
cd ./build/Build/Products/Release
|
||||||
|
shasum -a 256 MacPass-continuous.zip > MacPass-continuous.zip.sha256
|
||||||
|
|
||||||
|
#- name: Release
|
||||||
|
# uses: eine/tip@master
|
||||||
|
# with:
|
||||||
|
# token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# tag: continuous
|
||||||
|
# files: |
|
||||||
|
# Localisations.zip
|
||||||
|
# ./build/Build/Products/Release/MacPass-continuous.zip
|
||||||
|
# ./build/Build/Products/Release/MacPass-continuous.zip.sha256
|
||||||
|
|
||||||
|
- name: Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
with:
|
||||||
|
tag_name: continuous
|
||||||
|
files: |
|
||||||
|
Localisations.zip
|
||||||
|
./build/Build/Products/Release/MacPass-continuous.zip
|
||||||
|
./build/Build/Products/Release/MacPass-continuous.zip.sha256
|
||||||
|
|||||||
6
Cartfile
6
Cartfile
@@ -1,4 +1,4 @@
|
|||||||
github "sparkle-project/Sparkle" ~> 1.22
|
github "sparkle-project/Sparkle" ~> 1.22
|
||||||
github "mattt/TransformerKit" ~> 1.1.1
|
github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
|
||||||
github "MacPass/KeePassKit" "76e6ecda942f9e328efde7883ad75aed7290b632"
|
github "MacPass/KeePassKit" ~> 3.2.0
|
||||||
github "mstarke/HNHUi" ~> 4.0
|
github "mstarke/HNHUi" ~> 6.0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
github "MacPass/KeePassKit" "76e6ecda942f9e328efde7883ad75aed7290b632"
|
github "MacPass/KeePassKit" "3.2.1"
|
||||||
github "mattt/TransformerKit" "1.1.1"
|
github "MacPass/KissXML" "933f04fe5ad95c2be07ec0c2f801e140007f20fa"
|
||||||
github "mstarke/HNHUi" "4.0.3"
|
github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
|
||||||
github "robbiehanson/KissXML" "5.3.3"
|
github "mstarke/HNHUi" "6.0"
|
||||||
github "sparkle-project/Sparkle" "1.24.0"
|
github "sparkle-project/Sparkle" "1.27.1"
|
||||||
|
|||||||
@@ -49,7 +49,6 @@
|
|||||||
4C25D58716CF0FAA00F6806C /* EntryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25D58616CF0FAA00F6806C /* EntryView.xib */; };
|
4C25D58716CF0FAA00F6806C /* EntryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25D58616CF0FAA00F6806C /* EntryView.xib */; };
|
||||||
4C26C33F18D8C92100CF1A1C /* MPTemporaryFileStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */; };
|
4C26C33F18D8C92100CF1A1C /* MPTemporaryFileStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */; };
|
||||||
4C2892A8257103F9003C7732 /* MPTOTPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2892A6257103F9003C7732 /* MPTOTPViewController.m */; };
|
4C2892A8257103F9003C7732 /* MPTOTPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2892A6257103F9003C7732 /* MPTOTPViewController.m */; };
|
||||||
4C2892A9257103F9003C7732 /* MPTOTPViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C2892A7257103F9003C7732 /* MPTOTPViewController.xib */; };
|
|
||||||
4C2E381D16D11FF900037A9D /* 03_ServerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */; };
|
4C2E381D16D11FF900037A9D /* 03_ServerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */; };
|
||||||
4C2E381E16D11FF900037A9D /* 04_KlipperTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */; };
|
4C2E381E16D11FF900037A9D /* 04_KlipperTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */; };
|
||||||
4C2E381F16D11FF900037A9D /* 05_LanguagesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.pdf */; };
|
4C2E381F16D11FF900037A9D /* 05_LanguagesTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381C16D11FF900037A9D /* 05_LanguagesTemplate.pdf */; };
|
||||||
@@ -60,7 +59,6 @@
|
|||||||
4C349A00218852160055AF45 /* MPKeyTyper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3499FF218852160055AF45 /* MPKeyTyper.m */; };
|
4C349A00218852160055AF45 /* MPKeyTyper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3499FF218852160055AF45 /* MPKeyTyper.m */; };
|
||||||
4C35664025824C0A00CAB95B /* NSImage+MPQRCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C35663F25824C0A00CAB95B /* NSImage+MPQRCode.m */; };
|
4C35664025824C0A00CAB95B /* NSImage+MPQRCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C35663F25824C0A00CAB95B /* NSImage+MPQRCode.m */; };
|
||||||
4C356645258259AA00CAB95B /* MPTOTPSetupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C356643258259AA00CAB95B /* MPTOTPSetupViewController.m */; };
|
4C356645258259AA00CAB95B /* MPTOTPSetupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C356643258259AA00CAB95B /* MPTOTPSetupViewController.m */; };
|
||||||
4C356646258259AA00CAB95B /* MPTOTPSetupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C356644258259AA00CAB95B /* MPTOTPSetupViewController.xib */; };
|
|
||||||
4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */; };
|
4C3666411787327E00B249F1 /* MPDocument+Attachments.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C3666401787327E00B249F1 /* MPDocument+Attachments.m */; };
|
||||||
4C370EFE215B76CB00703AAE /* MPOutlineTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C370EFD215B76CB00703AAE /* MPOutlineTableCellView.m */; };
|
4C370EFE215B76CB00703AAE /* MPOutlineTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C370EFD215B76CB00703AAE /* MPOutlineTableCellView.m */; };
|
||||||
4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */; };
|
4C37A84015B8B474005EF8EE /* MPOutlineDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C37A83F15B8B474005EF8EE /* MPOutlineDataSource.m */; };
|
||||||
@@ -134,6 +132,7 @@
|
|||||||
4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4F72CF18DF704400E8D378 /* DDHotKeyTextField.m */; };
|
4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4F72CF18DF704400E8D378 /* DDHotKeyTextField.m */; };
|
||||||
4C4FCE15177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4FCE14177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m */; };
|
4C4FCE15177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C4FCE14177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m */; };
|
||||||
4C50CC041F6C18830095629D /* MPCollectionViewItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C50CC031F6C18830095629D /* MPCollectionViewItem.m */; };
|
4C50CC041F6C18830095629D /* MPCollectionViewItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C50CC031F6C18830095629D /* MPCollectionViewItem.m */; };
|
||||||
|
4C521981273D192C00C719D3 /* MPOpenURLHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C521980273D192C00C719D3 /* MPOpenURLHandler.m */; };
|
||||||
4C52A88E1788628B00868229 /* 06_BlockDeviceTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88B1788628B00868229 /* 06_BlockDeviceTemplate.pdf */; };
|
4C52A88E1788628B00868229 /* 06_BlockDeviceTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88B1788628B00868229 /* 06_BlockDeviceTemplate.pdf */; };
|
||||||
4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */; };
|
4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */; };
|
||||||
4C52A8901788628B00868229 /* 18_DisplayTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */; };
|
4C52A8901788628B00868229 /* 18_DisplayTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */; };
|
||||||
@@ -147,6 +146,8 @@
|
|||||||
4C586FA216D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C586FA116D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf */; };
|
4C586FA216D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C586FA116D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf */; };
|
||||||
4C58A4A32192EC1600B13370 /* NSIndexPath+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C58A4A22192EC1600B13370 /* NSIndexPath+MPAdditions.m */; };
|
4C58A4A32192EC1600B13370 /* NSIndexPath+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C58A4A22192EC1600B13370 /* NSIndexPath+MPAdditions.m */; };
|
||||||
4C58A4A82192EEBE00B13370 /* MPTestIndexPathAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C58A4A72192EEBE00B13370 /* MPTestIndexPathAdditions.m */; };
|
4C58A4A82192EEBE00B13370 /* MPTestIndexPathAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C58A4A72192EEBE00B13370 /* MPTestIndexPathAdditions.m */; };
|
||||||
|
4C59AC9D2722C12200F54B20 /* MPNodeExpirationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C59AC9B2722C12200F54B20 /* MPNodeExpirationViewController.m */; };
|
||||||
|
4C59AC9E2722C12200F54B20 /* MPNodeExpirationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C59AC9C2722C12200F54B20 /* MPNodeExpirationViewController.xib */; };
|
||||||
4C5A11FE1708DE8700223D8A /* MPPasswordCreatorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */; };
|
4C5A11FE1708DE8700223D8A /* MPPasswordCreatorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */; };
|
||||||
4C5EF816218CA03F0003C00E /* MPAutotypeParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5EF815218CA03F0003C00E /* MPAutotypeParser.m */; };
|
4C5EF816218CA03F0003C00E /* MPAutotypeParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5EF815218CA03F0003C00E /* MPAutotypeParser.m */; };
|
||||||
4C5FE9AE17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5FE9AD17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m */; };
|
4C5FE9AE17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5FE9AD17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m */; };
|
||||||
@@ -218,6 +219,8 @@
|
|||||||
4C8F0C711FCEF91400BE157F /* MPPickcharsParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8F0C701FCEF91400BE157F /* MPPickcharsParser.m */; };
|
4C8F0C711FCEF91400BE157F /* MPPickcharsParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8F0C701FCEF91400BE157F /* MPPickcharsParser.m */; };
|
||||||
4C8F0C731FCF1B7A00BE157F /* MPTestPickcharsParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8F0C721FCF1B7A00BE157F /* MPTestPickcharsParser.m */; };
|
4C8F0C731FCF1B7A00BE157F /* MPTestPickcharsParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8F0C721FCF1B7A00BE157F /* MPTestPickcharsParser.m */; };
|
||||||
4C8F0C791FD05A6A00BE157F /* NSString+MPPrettyPasswordDisplay.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8F0C781FD05A6A00BE157F /* NSString+MPPrettyPasswordDisplay.m */; };
|
4C8F0C791FD05A6A00BE157F /* NSString+MPPrettyPasswordDisplay.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8F0C781FD05A6A00BE157F /* NSString+MPPrettyPasswordDisplay.m */; };
|
||||||
|
4C9328C8273E6A38000DCBEE /* MPTOTPSetupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C9328CA273E6A38000DCBEE /* MPTOTPSetupViewController.xib */; };
|
||||||
|
4C9328D0273E6A83000DCBEE /* MPTOTPViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C9328D2273E6A83000DCBEE /* MPTOTPViewController.xib */; };
|
||||||
4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; };
|
4C978E0D19AE54AB003067DF /* MPFlagsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */; };
|
||||||
4C9BFFFB1FD19B5400264B16 /* MPPrettyPasswordTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9BFFFA1FD19B5400264B16 /* MPPrettyPasswordTransformer.m */; };
|
4C9BFFFB1FD19B5400264B16 /* MPPrettyPasswordTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C9BFFFA1FD19B5400264B16 /* MPPrettyPasswordTransformer.m */; };
|
||||||
4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */; };
|
4CA08DA017A831B200A6544B /* MPAddEntryContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA08D9F17A831B200A6544B /* MPAddEntryContextMenuDelegate.m */; };
|
||||||
@@ -244,6 +247,8 @@
|
|||||||
4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */; };
|
4CBA2ABA17074C07006D8139 /* MPSettingsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */; };
|
||||||
4CBC5DDD23C61C8900D14B92 /* TransformerKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CBC5DDB23C61C8300D14B92 /* TransformerKit.framework */; };
|
4CBC5DDD23C61C8900D14B92 /* TransformerKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CBC5DDB23C61C8300D14B92 /* TransformerKit.framework */; };
|
||||||
4CBC5DDE23C61C8900D14B92 /* TransformerKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CBC5DDB23C61C8300D14B92 /* TransformerKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
4CBC5DDE23C61C8900D14B92 /* TransformerKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4CBC5DDB23C61C8300D14B92 /* TransformerKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
|
4CC0192E271836CD00459789 /* MPEntryAttributeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC0192C271836CD00459789 /* MPEntryAttributeViewController.m */; };
|
||||||
|
4CC0192F271836CD00459789 /* MPEntryAttributeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CC0192D271836CD00459789 /* MPEntryAttributeViewController.xib */; };
|
||||||
4CC0D2CE17974A47000B4BDA /* MPCustomFieldTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC0D2CD17974A47000B4BDA /* MPCustomFieldTableViewDelegate.m */; };
|
4CC0D2CE17974A47000B4BDA /* MPCustomFieldTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC0D2CD17974A47000B4BDA /* MPCustomFieldTableViewDelegate.m */; };
|
||||||
4CC0D2D117974A5A000B4BDA /* MPAttachmentTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC0D2D017974A5A000B4BDA /* MPAttachmentTableViewDelegate.m */; };
|
4CC0D2D117974A5A000B4BDA /* MPAttachmentTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CC0D2D017974A5A000B4BDA /* MPAttachmentTableViewDelegate.m */; };
|
||||||
4CC281891C0F675B00B9174D /* HNHUi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CC281881C0F675B00B9174D /* HNHUi.framework */; };
|
4CC281891C0F675B00B9174D /* HNHUi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CC281881C0F675B00B9174D /* HNHUi.framework */; };
|
||||||
@@ -280,10 +285,18 @@
|
|||||||
4CE39ABF16ECE34A000FE29D /* MPIconSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39ABE16ECE34A000FE29D /* MPIconSelectViewController.m */; };
|
4CE39ABF16ECE34A000FE29D /* MPIconSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39ABE16ECE34A000FE29D /* MPIconSelectViewController.m */; };
|
||||||
4CE39AC416ECE4F7000FE29D /* MPIconImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39AC316ECE4F7000FE29D /* MPIconImageView.m */; };
|
4CE39AC416ECE4F7000FE29D /* MPIconImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE39AC316ECE4F7000FE29D /* MPIconImageView.m */; };
|
||||||
4CE3E62617AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */; };
|
4CE3E62617AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */; };
|
||||||
|
4CE4FFA22746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4FFA02746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.m */; };
|
||||||
|
4CE4FFA32746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CE4FFA12746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.xib */; };
|
||||||
|
4CE4FFA72746955E00789F75 /* MPSecurityDatabaseSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4FFA52746955E00789F75 /* MPSecurityDatabaseSettingsViewController.m */; };
|
||||||
|
4CE4FFA82746955E00789F75 /* MPSecurityDatabaseSettingsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CE4FFA62746955E00789F75 /* MPSecurityDatabaseSettingsViewController.xib */; };
|
||||||
|
4CE4FFAC2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4FFAA2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.m */; };
|
||||||
|
4CE4FFAD2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CE4FFAB2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.xib */; };
|
||||||
4CE501341BBC47F500FB819D /* MPTagsTokenFieldDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */; };
|
4CE501341BBC47F500FB819D /* MPTagsTokenFieldDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */; };
|
||||||
4CE5B54B173AFBA700207B39 /* MPDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE5B549173AFBA700207B39 /* MPDocument.m */; };
|
4CE5B54B173AFBA700207B39 /* MPDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE5B549173AFBA700207B39 /* MPDocument.m */; };
|
||||||
4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */; };
|
4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */; };
|
||||||
4CE8247516E2F2B900573141 /* MPOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8247416E2F2B900573141 /* MPOverlayView.m */; };
|
4CE8247516E2F2B900573141 /* MPOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8247416E2F2B900573141 /* MPOverlayView.m */; };
|
||||||
|
4CE84903271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE84901271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.m */; };
|
||||||
|
4CE84904271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4CE84902271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.xib */; };
|
||||||
4CE88B9717BA651C0042E078 /* contextTriangleTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CE88B9617BA651C0042E078 /* contextTriangleTemplate.pdf */; };
|
4CE88B9717BA651C0042E078 /* contextTriangleTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CE88B9617BA651C0042E078 /* contextTriangleTemplate.pdf */; };
|
||||||
4CEE46DD181C301D006BF1E5 /* MPAutotypeDaemon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE46DC181C301D006BF1E5 /* MPAutotypeDaemon.m */; };
|
4CEE46DD181C301D006BF1E5 /* MPAutotypeDaemon.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE46DC181C301D006BF1E5 /* MPAutotypeDaemon.m */; };
|
||||||
4CEED1C617D7BD0E007180F1 /* NSError+Messages.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */; };
|
4CEED1C617D7BD0E007180F1 /* NSError+Messages.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */; };
|
||||||
@@ -441,7 +454,6 @@
|
|||||||
4C272A2B2224871900186EEC /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/PickfieldView.strings; sourceTree = "<group>"; };
|
4C272A2B2224871900186EEC /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/PickfieldView.strings; sourceTree = "<group>"; };
|
||||||
4C2892A5257103F9003C7732 /* MPTOTPViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPTOTPViewController.h; sourceTree = "<group>"; };
|
4C2892A5257103F9003C7732 /* MPTOTPViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPTOTPViewController.h; sourceTree = "<group>"; };
|
||||||
4C2892A6257103F9003C7732 /* MPTOTPViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPTOTPViewController.m; sourceTree = "<group>"; };
|
4C2892A6257103F9003C7732 /* MPTOTPViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPTOTPViewController.m; sourceTree = "<group>"; };
|
||||||
4C2892A7257103F9003C7732 /* MPTOTPViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MPTOTPViewController.xib; sourceTree = "<group>"; };
|
|
||||||
4C2B0B7419F66F6400E48913 /* MPTargetNodeResolving.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTargetNodeResolving.h; sourceTree = "<group>"; };
|
4C2B0B7419F66F6400E48913 /* MPTargetNodeResolving.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTargetNodeResolving.h; sourceTree = "<group>"; };
|
||||||
4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 03_ServerTemplate.pdf; sourceTree = "<group>"; };
|
4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 03_ServerTemplate.pdf; sourceTree = "<group>"; };
|
||||||
4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 04_KlipperTemplate.pdf; sourceTree = "<group>"; };
|
4C2E381B16D11FF900037A9D /* 04_KlipperTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 04_KlipperTemplate.pdf; sourceTree = "<group>"; };
|
||||||
@@ -460,7 +472,6 @@
|
|||||||
4C35663F25824C0A00CAB95B /* NSImage+MPQRCode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSImage+MPQRCode.m"; sourceTree = "<group>"; };
|
4C35663F25824C0A00CAB95B /* NSImage+MPQRCode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSImage+MPQRCode.m"; sourceTree = "<group>"; };
|
||||||
4C356642258259AA00CAB95B /* MPTOTPSetupViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPTOTPSetupViewController.h; sourceTree = "<group>"; };
|
4C356642258259AA00CAB95B /* MPTOTPSetupViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPTOTPSetupViewController.h; sourceTree = "<group>"; };
|
||||||
4C356643258259AA00CAB95B /* MPTOTPSetupViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPTOTPSetupViewController.m; sourceTree = "<group>"; };
|
4C356643258259AA00CAB95B /* MPTOTPSetupViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPTOTPSetupViewController.m; sourceTree = "<group>"; };
|
||||||
4C356644258259AA00CAB95B /* MPTOTPSetupViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MPTOTPSetupViewController.xib; sourceTree = "<group>"; };
|
|
||||||
4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = "<group>"; };
|
4C3666401787327E00B249F1 /* MPDocument+Attachments.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPDocument+Attachments.m"; sourceTree = "<group>"; };
|
||||||
4C370EFC215B76CB00703AAE /* MPOutlineTableCellView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPOutlineTableCellView.h; sourceTree = "<group>"; };
|
4C370EFC215B76CB00703AAE /* MPOutlineTableCellView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPOutlineTableCellView.h; sourceTree = "<group>"; };
|
||||||
4C370EFD215B76CB00703AAE /* MPOutlineTableCellView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPOutlineTableCellView.m; sourceTree = "<group>"; };
|
4C370EFD215B76CB00703AAE /* MPOutlineTableCellView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPOutlineTableCellView.m; sourceTree = "<group>"; };
|
||||||
@@ -550,6 +561,7 @@
|
|||||||
4C45FB2F178E0CE20010007D /* MPTestDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTestDocument.m; sourceTree = "<group>"; };
|
4C45FB2F178E0CE20010007D /* MPTestDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTestDocument.m; sourceTree = "<group>"; };
|
||||||
4C46B88317063A070046109A /* NSString+MPPasswordCreation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MPPasswordCreation.h"; sourceTree = "<group>"; };
|
4C46B88317063A070046109A /* NSString+MPPasswordCreation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MPPasswordCreation.h"; sourceTree = "<group>"; };
|
||||||
4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MPPasswordCreation.m"; sourceTree = "<group>"; };
|
4C46B88417063A070046109A /* NSString+MPPasswordCreation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MPPasswordCreation.m"; sourceTree = "<group>"; };
|
||||||
|
4C47090727184AC8003777EB /* MPInspectorEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPInspectorEditor.h; sourceTree = "<group>"; };
|
||||||
4C473A8518AFD7250073FD2E /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
4C473A8518AFD7250073FD2E /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||||
4C49CFD424252389004092E7 /* KPKEntry+MPTags.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "KPKEntry+MPTags.h"; sourceTree = "<group>"; };
|
4C49CFD424252389004092E7 /* KPKEntry+MPTags.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "KPKEntry+MPTags.h"; sourceTree = "<group>"; };
|
||||||
4C49CFD524252389004092E7 /* KPKEntry+MPTags.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "KPKEntry+MPTags.m"; sourceTree = "<group>"; };
|
4C49CFD524252389004092E7 /* KPKEntry+MPTags.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "KPKEntry+MPTags.m"; sourceTree = "<group>"; };
|
||||||
@@ -575,6 +587,8 @@
|
|||||||
4C4FCE14177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCustomFieldTableCellView.m; sourceTree = "<group>"; };
|
4C4FCE14177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCustomFieldTableCellView.m; sourceTree = "<group>"; };
|
||||||
4C50CC021F6C18830095629D /* MPCollectionViewItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPCollectionViewItem.h; sourceTree = "<group>"; };
|
4C50CC021F6C18830095629D /* MPCollectionViewItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPCollectionViewItem.h; sourceTree = "<group>"; };
|
||||||
4C50CC031F6C18830095629D /* MPCollectionViewItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCollectionViewItem.m; sourceTree = "<group>"; };
|
4C50CC031F6C18830095629D /* MPCollectionViewItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCollectionViewItem.m; sourceTree = "<group>"; };
|
||||||
|
4C52197F273D192C00C719D3 /* MPOpenURLHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPOpenURLHandler.h; sourceTree = "<group>"; };
|
||||||
|
4C521980273D192C00C719D3 /* MPOpenURLHandler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPOpenURLHandler.m; sourceTree = "<group>"; };
|
||||||
4C52A88B1788628B00868229 /* 06_BlockDeviceTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 06_BlockDeviceTemplate.pdf; sourceTree = "<group>"; };
|
4C52A88B1788628B00868229 /* 06_BlockDeviceTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 06_BlockDeviceTemplate.pdf; sourceTree = "<group>"; };
|
||||||
4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 13_KeysTemplate.pdf; sourceTree = "<group>"; };
|
4C52A88C1788628B00868229 /* 13_KeysTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 13_KeysTemplate.pdf; sourceTree = "<group>"; };
|
||||||
4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 18_DisplayTemplate.pdf; sourceTree = "<group>"; };
|
4C52A88D1788628B00868229 /* 18_DisplayTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 18_DisplayTemplate.pdf; sourceTree = "<group>"; };
|
||||||
@@ -593,6 +607,9 @@
|
|||||||
4C58A4A12192EC1600B13370 /* NSIndexPath+MPAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSIndexPath+MPAdditions.h"; sourceTree = "<group>"; };
|
4C58A4A12192EC1600B13370 /* NSIndexPath+MPAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSIndexPath+MPAdditions.h"; sourceTree = "<group>"; };
|
||||||
4C58A4A22192EC1600B13370 /* NSIndexPath+MPAdditions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSIndexPath+MPAdditions.m"; sourceTree = "<group>"; };
|
4C58A4A22192EC1600B13370 /* NSIndexPath+MPAdditions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSIndexPath+MPAdditions.m"; sourceTree = "<group>"; };
|
||||||
4C58A4A72192EEBE00B13370 /* MPTestIndexPathAdditions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPTestIndexPathAdditions.m; sourceTree = "<group>"; };
|
4C58A4A72192EEBE00B13370 /* MPTestIndexPathAdditions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPTestIndexPathAdditions.m; sourceTree = "<group>"; };
|
||||||
|
4C59AC9A2722C12200F54B20 /* MPNodeExpirationViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPNodeExpirationViewController.h; sourceTree = "<group>"; };
|
||||||
|
4C59AC9B2722C12200F54B20 /* MPNodeExpirationViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPNodeExpirationViewController.m; sourceTree = "<group>"; };
|
||||||
|
4C59AC9C2722C12200F54B20 /* MPNodeExpirationViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MPNodeExpirationViewController.xib; sourceTree = "<group>"; };
|
||||||
4C5A11FB1708DE8700223D8A /* MPPasswordCreatorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordCreatorViewController.h; sourceTree = "<group>"; };
|
4C5A11FB1708DE8700223D8A /* MPPasswordCreatorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordCreatorViewController.h; sourceTree = "<group>"; };
|
||||||
4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordCreatorViewController.m; sourceTree = "<group>"; };
|
4C5A11FC1708DE8700223D8A /* MPPasswordCreatorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordCreatorViewController.m; sourceTree = "<group>"; };
|
||||||
4C5ADC3017830B09004E1E8D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InspectorView.strings; sourceTree = "<group>"; };
|
4C5ADC3017830B09004E1E8D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InspectorView.strings; sourceTree = "<group>"; };
|
||||||
@@ -754,6 +771,12 @@
|
|||||||
4C8F0C771FD05A6A00BE157F /* NSString+MPPrettyPasswordDisplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+MPPrettyPasswordDisplay.h"; sourceTree = "<group>"; };
|
4C8F0C771FD05A6A00BE157F /* NSString+MPPrettyPasswordDisplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+MPPrettyPasswordDisplay.h"; sourceTree = "<group>"; };
|
||||||
4C8F0C781FD05A6A00BE157F /* NSString+MPPrettyPasswordDisplay.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+MPPrettyPasswordDisplay.m"; sourceTree = "<group>"; };
|
4C8F0C781FD05A6A00BE157F /* NSString+MPPrettyPasswordDisplay.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+MPPrettyPasswordDisplay.m"; sourceTree = "<group>"; };
|
||||||
4C8FB9FA1FC2D0EF003691AA /* MPPlugin_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPlugin_Private.h; sourceTree = "<group>"; };
|
4C8FB9FA1FC2D0EF003691AA /* MPPlugin_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPlugin_Private.h; sourceTree = "<group>"; };
|
||||||
|
4C9328C9273E6A38000DCBEE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MPTOTPSetupViewController.xib; sourceTree = "<group>"; };
|
||||||
|
4C9328CD273E6A5F000DCBEE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MPTOTPSetupViewController.strings"; sourceTree = "<group>"; };
|
||||||
|
4C9328CF273E6A63000DCBEE /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MPTOTPSetupViewController.strings; sourceTree = "<group>"; };
|
||||||
|
4C9328D1273E6A83000DCBEE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MPTOTPViewController.xib; sourceTree = "<group>"; };
|
||||||
|
4C9328D4273E6A85000DCBEE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MPTOTPViewController.strings"; sourceTree = "<group>"; };
|
||||||
|
4C9328D6273E6A85000DCBEE /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MPTOTPViewController.strings; sourceTree = "<group>"; };
|
||||||
4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = "<group>"; };
|
4C978E0C19AE54AB003067DF /* MPFlagsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPFlagsHelper.m; sourceTree = "<group>"; };
|
||||||
4C97CCEF1FA727DC00E58F8C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
4C97CCEF1FA727DC00E58F8C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
4C9BFFF91FD19B5400264B16 /* MPPrettyPasswordTransformer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPrettyPasswordTransformer.h; sourceTree = "<group>"; };
|
4C9BFFF91FD19B5400264B16 /* MPPrettyPasswordTransformer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPrettyPasswordTransformer.h; sourceTree = "<group>"; };
|
||||||
@@ -806,6 +829,9 @@
|
|||||||
4CBA2AB617074B59006D8139 /* MPSettingsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSettingsHelper.h; sourceTree = "<group>"; };
|
4CBA2AB617074B59006D8139 /* MPSettingsHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSettingsHelper.h; sourceTree = "<group>"; };
|
||||||
4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSettingsHelper.m; sourceTree = "<group>"; };
|
4CBA2AB917074C07006D8139 /* MPSettingsHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSettingsHelper.m; sourceTree = "<group>"; };
|
||||||
4CBC5DDB23C61C8300D14B92 /* TransformerKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TransformerKit.framework; path = Carthage/Build/Mac/TransformerKit.framework; sourceTree = "<group>"; };
|
4CBC5DDB23C61C8300D14B92 /* TransformerKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TransformerKit.framework; path = Carthage/Build/Mac/TransformerKit.framework; sourceTree = "<group>"; };
|
||||||
|
4CC0192B271836CD00459789 /* MPEntryAttributeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPEntryAttributeViewController.h; sourceTree = "<group>"; };
|
||||||
|
4CC0192C271836CD00459789 /* MPEntryAttributeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPEntryAttributeViewController.m; sourceTree = "<group>"; };
|
||||||
|
4CC0192D271836CD00459789 /* MPEntryAttributeViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MPEntryAttributeViewController.xib; sourceTree = "<group>"; };
|
||||||
4CC0D2CC17974A47000B4BDA /* MPCustomFieldTableViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPCustomFieldTableViewDelegate.h; sourceTree = "<group>"; };
|
4CC0D2CC17974A47000B4BDA /* MPCustomFieldTableViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPCustomFieldTableViewDelegate.h; sourceTree = "<group>"; };
|
||||||
4CC0D2CD17974A47000B4BDA /* MPCustomFieldTableViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCustomFieldTableViewDelegate.m; sourceTree = "<group>"; };
|
4CC0D2CD17974A47000B4BDA /* MPCustomFieldTableViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCustomFieldTableViewDelegate.m; sourceTree = "<group>"; };
|
||||||
4CC0D2CF17974A5A000B4BDA /* MPAttachmentTableViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAttachmentTableViewDelegate.h; sourceTree = "<group>"; };
|
4CC0D2CF17974A5A000B4BDA /* MPAttachmentTableViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAttachmentTableViewDelegate.h; sourceTree = "<group>"; };
|
||||||
@@ -866,6 +892,15 @@
|
|||||||
4CE39AC316ECE4F7000FE29D /* MPIconImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIconImageView.m; sourceTree = "<group>"; };
|
4CE39AC316ECE4F7000FE29D /* MPIconImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIconImageView.m; sourceTree = "<group>"; };
|
||||||
4CE3E62417AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAttachmentTableDataSource.h; sourceTree = "<group>"; };
|
4CE3E62417AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAttachmentTableDataSource.h; sourceTree = "<group>"; };
|
||||||
4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAttachmentTableDataSource.m; sourceTree = "<group>"; };
|
4CE3E62517AB0D2D00D9E4B4 /* MPAttachmentTableDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAttachmentTableDataSource.m; sourceTree = "<group>"; };
|
||||||
|
4CE4FF9F2746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPAdvancedDatabaseSettingsViewController.h; sourceTree = "<group>"; };
|
||||||
|
4CE4FFA02746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPAdvancedDatabaseSettingsViewController.m; sourceTree = "<group>"; };
|
||||||
|
4CE4FFA12746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MPAdvancedDatabaseSettingsViewController.xib; sourceTree = "<group>"; };
|
||||||
|
4CE4FFA42746955E00789F75 /* MPSecurityDatabaseSettingsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPSecurityDatabaseSettingsViewController.h; sourceTree = "<group>"; };
|
||||||
|
4CE4FFA52746955E00789F75 /* MPSecurityDatabaseSettingsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPSecurityDatabaseSettingsViewController.m; sourceTree = "<group>"; };
|
||||||
|
4CE4FFA62746955E00789F75 /* MPSecurityDatabaseSettingsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MPSecurityDatabaseSettingsViewController.xib; sourceTree = "<group>"; };
|
||||||
|
4CE4FFA92746956F00789F75 /* MPGeneralDatabaseSettingsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPGeneralDatabaseSettingsViewController.h; sourceTree = "<group>"; };
|
||||||
|
4CE4FFAA2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPGeneralDatabaseSettingsViewController.m; sourceTree = "<group>"; };
|
||||||
|
4CE4FFAB2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MPGeneralDatabaseSettingsViewController.xib; sourceTree = "<group>"; };
|
||||||
4CE501321BBC47F500FB819D /* MPTagsTokenFieldDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTagsTokenFieldDelegate.h; sourceTree = "<group>"; };
|
4CE501321BBC47F500FB819D /* MPTagsTokenFieldDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTagsTokenFieldDelegate.h; sourceTree = "<group>"; };
|
||||||
4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTagsTokenFieldDelegate.m; sourceTree = "<group>"; };
|
4CE501331BBC47F500FB819D /* MPTagsTokenFieldDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTagsTokenFieldDelegate.m; sourceTree = "<group>"; };
|
||||||
4CE5B548173AFBA700207B39 /* MPDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocument.h; sourceTree = "<group>"; };
|
4CE5B548173AFBA700207B39 /* MPDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDocument.h; sourceTree = "<group>"; };
|
||||||
@@ -874,6 +909,9 @@
|
|||||||
4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayWindowController.m; sourceTree = "<group>"; };
|
4CE8246E16E2E93400573141 /* MPOverlayWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayWindowController.m; sourceTree = "<group>"; };
|
||||||
4CE8247316E2F2B900573141 /* MPOverlayView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOverlayView.h; sourceTree = "<group>"; };
|
4CE8247316E2F2B900573141 /* MPOverlayView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPOverlayView.h; sourceTree = "<group>"; };
|
||||||
4CE8247416E2F2B900573141 /* MPOverlayView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayView.m; sourceTree = "<group>"; };
|
4CE8247416E2F2B900573141 /* MPOverlayView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayView.m; sourceTree = "<group>"; };
|
||||||
|
4CE84900271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPEntryPasswordAttributeViewController.h; sourceTree = "<group>"; };
|
||||||
|
4CE84901271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MPEntryPasswordAttributeViewController.m; sourceTree = "<group>"; };
|
||||||
|
4CE84902271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MPEntryPasswordAttributeViewController.xib; sourceTree = "<group>"; };
|
||||||
4CE88B9617BA651C0042E078 /* contextTriangleTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = contextTriangleTemplate.pdf; sourceTree = "<group>"; };
|
4CE88B9617BA651C0042E078 /* contextTriangleTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = contextTriangleTemplate.pdf; sourceTree = "<group>"; };
|
||||||
4CE88C2417C163FE00BFD195 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
|
4CE88C2417C163FE00BFD195 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
|
||||||
4CE88C3317C1647400BFD195 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
4CE88C3317C1647400BFD195 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||||
@@ -941,6 +979,39 @@
|
|||||||
60ECAD221F12231B00EA9DB3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/PluginPreferences.strings"; sourceTree = "<group>"; };
|
60ECAD221F12231B00EA9DB3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/PluginPreferences.strings"; sourceTree = "<group>"; };
|
||||||
60ECAD251F12253C00EA9DB3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/WorkflowPreferences.strings"; sourceTree = "<group>"; };
|
60ECAD251F12253C00EA9DB3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/WorkflowPreferences.strings"; sourceTree = "<group>"; };
|
||||||
60ECAD271F12262400EA9DB3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/IntegrationPreferences.strings"; sourceTree = "<group>"; };
|
60ECAD271F12262400EA9DB3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/IntegrationPreferences.strings"; sourceTree = "<group>"; };
|
||||||
|
69385E2F274ACFDE001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/DatabaseSettingsWindow.strings; sourceTree = "<group>"; };
|
||||||
|
69385E30274ACFDE001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/DuplicateEntryOptionsWindow.strings; sourceTree = "<group>"; };
|
||||||
|
69385E31274ACFDE001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/PasswordEditWindow.strings; sourceTree = "<group>"; };
|
||||||
|
69385E32274ACFDE001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/SavePanelAccessoryView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E33274ACFDE001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/EntryInspectorView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E34274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/GroupInspectorView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E35274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InspectorView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E37274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/GeneralPreferences.strings; sourceTree = "<group>"; };
|
||||||
|
69385E38274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/IntegrationPreferences.strings; sourceTree = "<group>"; };
|
||||||
|
69385E39274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/PluginPreferences.strings; sourceTree = "<group>"; };
|
||||||
|
69385E3A274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/PluginRepositoryBrowserView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E3B274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/UpdatePreferences.strings; sourceTree = "<group>"; };
|
||||||
|
69385E3C274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/WorkflowPreferences.strings; sourceTree = "<group>"; };
|
||||||
|
69385E3D274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/MPTOTPSetupViewController.strings; sourceTree = "<group>"; };
|
||||||
|
69385E3E274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/AutotypeBuilderView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E3F274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/AutotypeCandidateSelectionView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E40274ACFDF001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/AutotypeDoctorReportViewController.strings; sourceTree = "<group>"; };
|
||||||
|
69385E41274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/ContextBar.strings; sourceTree = "<group>"; };
|
||||||
|
69385E42274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/DatePickingView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E43274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/IconSelection.strings; sourceTree = "<group>"; };
|
||||||
|
69385E44274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/PasswordCreatorView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E45274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/PasswordInputView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E46274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/PickcharsView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E47274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/PickfieldView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E48274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/PluginDataView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E49274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/ReferenceBuilderView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E4A274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/WelcomeView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E4B274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/OpenPanelAccessoryView.strings; sourceTree = "<group>"; };
|
||||||
|
69385E4C274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/MainMenu.strings; sourceTree = "<group>"; };
|
||||||
|
69385E4D274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = cs; path = cs.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
|
||||||
|
69385E4E274ACFE0001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
|
69385E50274ACFE1001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
|
69385E51274ACFE1001AB1E9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
6A74B0622076F4B30049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/DatabaseSettingsWindow.strings"; sourceTree = "<group>"; };
|
6A74B0622076F4B30049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/DatabaseSettingsWindow.strings"; sourceTree = "<group>"; };
|
||||||
6A74B0632076F4B30049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/PasswordEditWindow.strings"; sourceTree = "<group>"; };
|
6A74B0632076F4B30049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/PasswordEditWindow.strings"; sourceTree = "<group>"; };
|
||||||
6A74B0642076F4B40049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/DuplicateEntryOptionsWindow.strings"; sourceTree = "<group>"; };
|
6A74B0642076F4B40049BC29 /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/DuplicateEntryOptionsWindow.strings"; sourceTree = "<group>"; };
|
||||||
@@ -1298,6 +1369,8 @@
|
|||||||
4C4B7EF717A4B335000234C7 /* MPUniqueCharactersFormatter.m */,
|
4C4B7EF717A4B335000234C7 /* MPUniqueCharactersFormatter.m */,
|
||||||
4C3C4EAD18D7039300153127 /* MPValueTransformerHelper.h */,
|
4C3C4EAD18D7039300153127 /* MPValueTransformerHelper.h */,
|
||||||
4C3C4EAE18D7039300153127 /* MPValueTransformerHelper.m */,
|
4C3C4EAE18D7039300153127 /* MPValueTransformerHelper.m */,
|
||||||
|
4C52197F273D192C00C719D3 /* MPOpenURLHandler.h */,
|
||||||
|
4C521980273D192C00C719D3 /* MPOpenURLHandler.m */,
|
||||||
);
|
);
|
||||||
name = Helper;
|
name = Helper;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -1432,7 +1505,16 @@
|
|||||||
4C76156F1764C0E20015A1A6 /* InspectorView.xib */,
|
4C76156F1764C0E20015A1A6 /* InspectorView.xib */,
|
||||||
4C2892A5257103F9003C7732 /* MPTOTPViewController.h */,
|
4C2892A5257103F9003C7732 /* MPTOTPViewController.h */,
|
||||||
4C2892A6257103F9003C7732 /* MPTOTPViewController.m */,
|
4C2892A6257103F9003C7732 /* MPTOTPViewController.m */,
|
||||||
4C2892A7257103F9003C7732 /* MPTOTPViewController.xib */,
|
4C9328D2273E6A83000DCBEE /* MPTOTPViewController.xib */,
|
||||||
|
4CC0192B271836CD00459789 /* MPEntryAttributeViewController.h */,
|
||||||
|
4CC0192C271836CD00459789 /* MPEntryAttributeViewController.m */,
|
||||||
|
4CC0192D271836CD00459789 /* MPEntryAttributeViewController.xib */,
|
||||||
|
4CE84900271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.h */,
|
||||||
|
4CE84901271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.m */,
|
||||||
|
4CE84902271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.xib */,
|
||||||
|
4C59AC9A2722C12200F54B20 /* MPNodeExpirationViewController.h */,
|
||||||
|
4C59AC9B2722C12200F54B20 /* MPNodeExpirationViewController.m */,
|
||||||
|
4C59AC9C2722C12200F54B20 /* MPNodeExpirationViewController.xib */,
|
||||||
);
|
);
|
||||||
name = Inspector;
|
name = Inspector;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -1680,6 +1762,7 @@
|
|||||||
4CA0B2F115BCAEE600654E32 /* View Controller */ = {
|
4CA0B2F115BCAEE600654E32 /* View Controller */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
4CE4FF9E2746943900789F75 /* Database Preferences */,
|
||||||
4C5133861FA0C32C00C94C73 /* Accessory */,
|
4C5133861FA0C32C00C94C73 /* Accessory */,
|
||||||
4C4B7EF517A46815000234C7 /* Inspector */,
|
4C4B7EF517A46815000234C7 /* Inspector */,
|
||||||
4C47D77718B37911002755E4 /* Preferences */,
|
4C47D77718B37911002755E4 /* Preferences */,
|
||||||
@@ -1751,6 +1834,7 @@
|
|||||||
4C7679BC1D75E690001F33D6 /* MPModelChangeObserving.h */,
|
4C7679BC1D75E690001F33D6 /* MPModelChangeObserving.h */,
|
||||||
4CA0B30D15BCB6FD00654E32 /* MPPreferencesTab.h */,
|
4CA0B30D15BCB6FD00654E32 /* MPPreferencesTab.h */,
|
||||||
4C2B0B7419F66F6400E48913 /* MPTargetNodeResolving.h */,
|
4C2B0B7419F66F6400E48913 /* MPTargetNodeResolving.h */,
|
||||||
|
4C47090727184AC8003777EB /* MPInspectorEditor.h */,
|
||||||
);
|
);
|
||||||
name = Protocolls;
|
name = Protocolls;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -1769,7 +1853,7 @@
|
|||||||
children = (
|
children = (
|
||||||
4C356642258259AA00CAB95B /* MPTOTPSetupViewController.h */,
|
4C356642258259AA00CAB95B /* MPTOTPSetupViewController.h */,
|
||||||
4C356643258259AA00CAB95B /* MPTOTPSetupViewController.m */,
|
4C356643258259AA00CAB95B /* MPTOTPSetupViewController.m */,
|
||||||
4C356644258259AA00CAB95B /* MPTOTPSetupViewController.xib */,
|
4C9328CA273E6A38000DCBEE /* MPTOTPSetupViewController.xib */,
|
||||||
);
|
);
|
||||||
name = OTP;
|
name = OTP;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -1794,6 +1878,22 @@
|
|||||||
name = Controls;
|
name = Controls;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
4CE4FF9E2746943900789F75 /* Database Preferences */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
4CE4FF9F2746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.h */,
|
||||||
|
4CE4FFA02746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.m */,
|
||||||
|
4CE4FFA12746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.xib */,
|
||||||
|
4CE4FFA42746955E00789F75 /* MPSecurityDatabaseSettingsViewController.h */,
|
||||||
|
4CE4FFA52746955E00789F75 /* MPSecurityDatabaseSettingsViewController.m */,
|
||||||
|
4CE4FFA62746955E00789F75 /* MPSecurityDatabaseSettingsViewController.xib */,
|
||||||
|
4CE4FFA92746956F00789F75 /* MPGeneralDatabaseSettingsViewController.h */,
|
||||||
|
4CE4FFAA2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.m */,
|
||||||
|
4CE4FFAB2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.xib */,
|
||||||
|
);
|
||||||
|
name = "Database Preferences";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
4CE8247016E2E96500573141 /* Window Controller */ = {
|
4CE8247016E2E96500573141 /* Window Controller */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@@ -1922,7 +2022,7 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
CLASSPREFIX = MP;
|
CLASSPREFIX = MP;
|
||||||
LastUpgradeCheck = 1240;
|
LastUpgradeCheck = 1250;
|
||||||
ORGANIZATIONNAME = "HicknHack Software GmbH";
|
ORGANIZATIONNAME = "HicknHack Software GmbH";
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
4C77E36115B84A240093A587 = {
|
4C77E36115B84A240093A587 = {
|
||||||
@@ -1948,6 +2048,7 @@
|
|||||||
"sv-SE",
|
"sv-SE",
|
||||||
uk,
|
uk,
|
||||||
ja,
|
ja,
|
||||||
|
cs,
|
||||||
);
|
);
|
||||||
mainGroup = 4C77E35715B84A240093A587;
|
mainGroup = 4C77E35715B84A240093A587;
|
||||||
productRefGroup = 4C77E36315B84A240093A587 /* Products */;
|
productRefGroup = 4C77E36315B84A240093A587 /* Products */;
|
||||||
@@ -1986,10 +2087,12 @@
|
|||||||
4CA182751F963FF600DD4A4A /* TitlebarColorAccessoryViewController.xib in Resources */,
|
4CA182751F963FF600DD4A4A /* TitlebarColorAccessoryViewController.xib in Resources */,
|
||||||
4C3826B71AD04D8E007D7D67 /* 42_MemoryTemplate.pdf in Resources */,
|
4C3826B71AD04D8E007D7D67 /* 42_MemoryTemplate.pdf in Resources */,
|
||||||
4C3826B41AD04D8E007D7D67 /* 39_HistoryTemplate.pdf in Resources */,
|
4C3826B41AD04D8E007D7D67 /* 39_HistoryTemplate.pdf in Resources */,
|
||||||
|
4CE4FFA32746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.xib in Resources */,
|
||||||
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */,
|
4C77E37D15B84A240093A587 /* MainMenu.xib in Resources */,
|
||||||
4C4BE0C9257E9B91000AEA8C /* MPNotificationPreferencesController.xib in Resources */,
|
4C4BE0C9257E9B91000AEA8C /* MPNotificationPreferencesController.xib in Resources */,
|
||||||
4C3826CD1AD04D8E007D7D67 /* 66_MoneyTemplate.pdf in Resources */,
|
4C3826CD1AD04D8E007D7D67 /* 66_MoneyTemplate.pdf in Resources */,
|
||||||
78E1F8B022E3A5D600E738AE /* AutotypeDoctorReportViewController.xib in Resources */,
|
78E1F8B022E3A5D600E738AE /* AutotypeDoctorReportViewController.xib in Resources */,
|
||||||
|
4C59AC9E2722C12200F54B20 /* MPNodeExpirationViewController.xib in Resources */,
|
||||||
4CA0B2ED15BCADAC00654E32 /* PreferencesWindow.xib in Resources */,
|
4CA0B2ED15BCADAC00654E32 /* PreferencesWindow.xib in Resources */,
|
||||||
4C76155C1764C04C0015A1A6 /* GeneralPreferences.xib in Resources */,
|
4C76155C1764C04C0015A1A6 /* GeneralPreferences.xib in Resources */,
|
||||||
4CD884B715BD47080042BBF8 /* DocumentWindow.xib in Resources */,
|
4CD884B715BD47080042BBF8 /* DocumentWindow.xib in Resources */,
|
||||||
@@ -2001,6 +2104,7 @@
|
|||||||
4C586F9E16D07ABD00E7DB57 /* 00_PasswordTemplate.pdf in Resources */,
|
4C586F9E16D07ABD00E7DB57 /* 00_PasswordTemplate.pdf in Resources */,
|
||||||
FA13910C1F9CD9EB0033D256 /* Localizable.stringsdict in Resources */,
|
FA13910C1F9CD9EB0033D256 /* Localizable.stringsdict in Resources */,
|
||||||
4C586FA016D07D7200E7DB57 /* 01_PackageNetworkTemplate.pdf in Resources */,
|
4C586FA016D07D7200E7DB57 /* 01_PackageNetworkTemplate.pdf in Resources */,
|
||||||
|
4CE4FFAD2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.xib in Resources */,
|
||||||
4C3826CB1AD04D8E007D7D67 /* 64_AppleTemplate.pdf in Resources */,
|
4C3826CB1AD04D8E007D7D67 /* 64_AppleTemplate.pdf in Resources */,
|
||||||
4C3826AA1AD04D8E007D7D67 /* 27_NFSUnmountTemplate.pdf in Resources */,
|
4C3826AA1AD04D8E007D7D67 /* 27_NFSUnmountTemplate.pdf in Resources */,
|
||||||
4C3826C31AD04D8E007D7D67 /* 56_AddressBookTemplate.pdf in Resources */,
|
4C3826C31AD04D8E007D7D67 /* 56_AddressBookTemplate.pdf in Resources */,
|
||||||
@@ -2038,6 +2142,7 @@
|
|||||||
4C0F04412147FB49000B8568 /* OpenPanelAccessoryView.xib in Resources */,
|
4C0F04412147FB49000B8568 /* OpenPanelAccessoryView.xib in Resources */,
|
||||||
4C6DCC451FA2457900C8AD3F /* ContextBar.xib in Resources */,
|
4C6DCC451FA2457900C8AD3F /* ContextBar.xib in Resources */,
|
||||||
4C431BCF16E2BAB000700A81 /* OverlayWindow.xib in Resources */,
|
4C431BCF16E2BAB000700A81 /* OverlayWindow.xib in Resources */,
|
||||||
|
4CE4FFA82746955E00789F75 /* MPSecurityDatabaseSettingsViewController.xib in Resources */,
|
||||||
4C3826B61AD04D8E007D7D67 /* 41_VectorTemplate.pdf in Resources */,
|
4C3826B61AD04D8E007D7D67 /* 41_VectorTemplate.pdf in Resources */,
|
||||||
4C17F105184E630200E85625 /* 14_BatteryTemplate.pdf in Resources */,
|
4C17F105184E630200E85625 /* 14_BatteryTemplate.pdf in Resources */,
|
||||||
4C0B5338205C1516003D277E /* PickcharsView.xib in Resources */,
|
4C0B5338205C1516003D277E /* PickcharsView.xib in Resources */,
|
||||||
@@ -2058,10 +2163,12 @@
|
|||||||
4C3826B81AD04D8E007D7D67 /* 44_NotesTemplate.pdf in Resources */,
|
4C3826B81AD04D8E007D7D67 /* 44_NotesTemplate.pdf in Resources */,
|
||||||
4C3826C41AD04D8E007D7D67 /* 57_TextViewTemplate.pdf in Resources */,
|
4C3826C41AD04D8E007D7D67 /* 57_TextViewTemplate.pdf in Resources */,
|
||||||
6021FE9818E1650F00C3BC51 /* DatabaseSettingsWindow.xib in Resources */,
|
6021FE9818E1650F00C3BC51 /* DatabaseSettingsWindow.xib in Resources */,
|
||||||
|
4CC0192F271836CD00459789 /* MPEntryAttributeViewController.xib in Resources */,
|
||||||
4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */,
|
4C6D1D25178579570014C5A5 /* 48_FolderTemplate.pdf in Resources */,
|
||||||
4C701CBC178618A000581B88 /* 12_RemoteTemplate.pdf in Resources */,
|
4C701CBC178618A000581B88 /* 12_RemoteTemplate.pdf in Resources */,
|
||||||
4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */,
|
4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */,
|
||||||
4C7BD07619FE94C900C7AA5C /* Assets.xcassets in Resources */,
|
4C7BD07619FE94C900C7AA5C /* Assets.xcassets in Resources */,
|
||||||
|
4CE84904271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.xib in Resources */,
|
||||||
4CA182781F96523600DD4A4A /* DuplicateEntryOptionsWindow.xib in Resources */,
|
4CA182781F96523600DD4A4A /* DuplicateEntryOptionsWindow.xib in Resources */,
|
||||||
4C52A88E1788628B00868229 /* 06_BlockDeviceTemplate.pdf in Resources */,
|
4C52A88E1788628B00868229 /* 06_BlockDeviceTemplate.pdf in Resources */,
|
||||||
4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */,
|
4C52A88F1788628B00868229 /* 13_KeysTemplate.pdf in Resources */,
|
||||||
@@ -2081,7 +2188,7 @@
|
|||||||
4C17D11E2250EFBC00C650C4 /* SavePanelAccessoryView.xib in Resources */,
|
4C17D11E2250EFBC00C650C4 /* SavePanelAccessoryView.xib in Resources */,
|
||||||
4CE88B9717BA651C0042E078 /* contextTriangleTemplate.pdf in Resources */,
|
4CE88B9717BA651C0042E078 /* contextTriangleTemplate.pdf in Resources */,
|
||||||
4C7ABA4817BAEC6700FF5799 /* 15_ScannerTemplate.pdf in Resources */,
|
4C7ABA4817BAEC6700FF5799 /* 15_ScannerTemplate.pdf in Resources */,
|
||||||
4C356646258259AA00CAB95B /* MPTOTPSetupViewController.xib in Resources */,
|
4C9328C8273E6A38000DCBEE /* MPTOTPSetupViewController.xib in Resources */,
|
||||||
4C7ABA4917BAEC6700FF5799 /* 16_BrowserTemplate.pdf in Resources */,
|
4C7ABA4917BAEC6700FF5799 /* 16_BrowserTemplate.pdf in Resources */,
|
||||||
4C7ABA4A17BAEC6700FF5799 /* 17_CDRomTemplate.pdf in Resources */,
|
4C7ABA4A17BAEC6700FF5799 /* 17_CDRomTemplate.pdf in Resources */,
|
||||||
4C7ABA4B17BAEC6700FF5799 /* 19_EmailTemplate.pdf in Resources */,
|
4C7ABA4B17BAEC6700FF5799 /* 19_EmailTemplate.pdf in Resources */,
|
||||||
@@ -2096,7 +2203,7 @@
|
|||||||
4C0DBEF51BF508DE00F9B287 /* PluginPreferences.xib in Resources */,
|
4C0DBEF51BF508DE00F9B287 /* PluginPreferences.xib in Resources */,
|
||||||
4CF6653820E67A140008A25C /* PluginDataView.xib in Resources */,
|
4CF6653820E67A140008A25C /* PluginDataView.xib in Resources */,
|
||||||
4C7F8B681A10B68400CCB83D /* WelcomeView.xib in Resources */,
|
4C7F8B681A10B68400CCB83D /* WelcomeView.xib in Resources */,
|
||||||
4C2892A9257103F9003C7732 /* MPTOTPViewController.xib in Resources */,
|
4C9328D0273E6A83000DCBEE /* MPTOTPViewController.xib in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -2159,6 +2266,7 @@
|
|||||||
4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */,
|
4C4F72D118DF704400E8D378 /* DDHotKeyTextField.m in Sources */,
|
||||||
4C8F0C6E1FCEE9B900BE157F /* MPPluginConstants.m in Sources */,
|
4C8F0C6E1FCEE9B900BE157F /* MPPluginConstants.m in Sources */,
|
||||||
4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */,
|
4C83814215BF4677001AE468 /* MPDocumentWindowController.m in Sources */,
|
||||||
|
4CE4FFA22746953A00789F75 /* MPAdvancedDatabaseSettingsViewController.m in Sources */,
|
||||||
4C82046A1FCDC07800EB24A4 /* MPPickfieldViewController.m in Sources */,
|
4C82046A1FCDC07800EB24A4 /* MPPickfieldViewController.m in Sources */,
|
||||||
4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */,
|
4C2E382316D1421B00037A9D /* MPIconHelper.m in Sources */,
|
||||||
4C2E382616D1470200037A9D /* MPViewController.m in Sources */,
|
4C2E382616D1470200037A9D /* MPViewController.m in Sources */,
|
||||||
@@ -2176,6 +2284,7 @@
|
|||||||
4C370EFE215B76CB00703AAE /* MPOutlineTableCellView.m in Sources */,
|
4C370EFE215B76CB00703AAE /* MPOutlineTableCellView.m in Sources */,
|
||||||
4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */,
|
4CE8246F16E2E93400573141 /* MPOverlayWindowController.m in Sources */,
|
||||||
4CE8247516E2F2B900573141 /* MPOverlayView.m in Sources */,
|
4CE8247516E2F2B900573141 /* MPOverlayView.m in Sources */,
|
||||||
|
4C59AC9D2722C12200F54B20 /* MPNodeExpirationViewController.m in Sources */,
|
||||||
4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */,
|
4C77547516E55FE800970E02 /* MPInspectorViewController.m in Sources */,
|
||||||
4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */,
|
4C89F524182FB4740069C73C /* MPAutotypeCommand.m in Sources */,
|
||||||
4C6DCC611FA24C2100C8AD3F /* MPAutotypeCandidateSelectionViewController.m in Sources */,
|
4C6DCC611FA24C2100C8AD3F /* MPAutotypeCandidateSelectionViewController.m in Sources */,
|
||||||
@@ -2238,6 +2347,7 @@
|
|||||||
4C0C59F118B17F10009C7B76 /* DDHotKeyUtilities.m in Sources */,
|
4C0C59F118B17F10009C7B76 /* DDHotKeyUtilities.m in Sources */,
|
||||||
4CEE46DD181C301D006BF1E5 /* MPAutotypeDaemon.m in Sources */,
|
4CEE46DD181C301D006BF1E5 /* MPAutotypeDaemon.m in Sources */,
|
||||||
4C50CC041F6C18830095629D /* MPCollectionViewItem.m in Sources */,
|
4C50CC041F6C18830095629D /* MPCollectionViewItem.m in Sources */,
|
||||||
|
4CC0192E271836CD00459789 /* MPEntryAttributeViewController.m in Sources */,
|
||||||
4CA78C001FD58C92003C8560 /* MPPluginRepository.m in Sources */,
|
4CA78C001FD58C92003C8560 /* MPPluginRepository.m in Sources */,
|
||||||
4CAD8AA622CF397B0090B2DD /* MPAutotypeDoctorReportViewController.m in Sources */,
|
4CAD8AA622CF397B0090B2DD /* MPAutotypeDoctorReportViewController.m in Sources */,
|
||||||
4C8990F71EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.m in Sources */,
|
4C8990F71EE978EB0043B48D /* MPDuplicateEntryOptionsWindowController.m in Sources */,
|
||||||
@@ -2258,9 +2368,11 @@
|
|||||||
4CCEDE2A179F203B008402BE /* MPOutlineView.m in Sources */,
|
4CCEDE2A179F203B008402BE /* MPOutlineView.m in Sources */,
|
||||||
4CB33F861EAF54A000C9341E /* KPKNode+MPIsHistory.m in Sources */,
|
4CB33F861EAF54A000C9341E /* KPKNode+MPIsHistory.m in Sources */,
|
||||||
4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */,
|
4CCEDE2E179F213B008402BE /* MPNotifications.m in Sources */,
|
||||||
|
4CE84903271E10AC00EBAB0C /* MPEntryPasswordAttributeViewController.m in Sources */,
|
||||||
4C17D8E517A1C780006C8C1E /* MPDocumentWindowDelegate.m in Sources */,
|
4C17D8E517A1C780006C8C1E /* MPDocumentWindowDelegate.m in Sources */,
|
||||||
4C63B8FB17A3154D0091BD72 /* MPContextButton.m in Sources */,
|
4C63B8FB17A3154D0091BD72 /* MPContextButton.m in Sources */,
|
||||||
4C1E9885185F71A800943563 /* MPContextBarViewController.m in Sources */,
|
4C1E9885185F71A800943563 /* MPContextBarViewController.m in Sources */,
|
||||||
|
4CE4FFA72746955E00789F75 /* MPSecurityDatabaseSettingsViewController.m in Sources */,
|
||||||
4C1FA07B18231900003A3F8C /* MPDocument+Autotype.m in Sources */,
|
4C1FA07B18231900003A3F8C /* MPDocument+Autotype.m in Sources */,
|
||||||
4C4B7EE917A45EC6000234C7 /* MPDatePickingViewController.m in Sources */,
|
4C4B7EE917A45EC6000234C7 /* MPDatePickingViewController.m in Sources */,
|
||||||
4C4B7EEE17A467E1000234C7 /* MPGroupInspectorViewController.m in Sources */,
|
4C4B7EEE17A467E1000234C7 /* MPGroupInspectorViewController.m in Sources */,
|
||||||
@@ -2276,12 +2388,14 @@
|
|||||||
4C0728BD17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m in Sources */,
|
4C0728BD17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m in Sources */,
|
||||||
4C0F647B17B6BC9C00D9522A /* MPSavePanelAccessoryViewController.m in Sources */,
|
4C0F647B17B6BC9C00D9522A /* MPSavePanelAccessoryViewController.m in Sources */,
|
||||||
4C0949591FD6B89B004F2971 /* NSUserNotification+MPAdditions.m in Sources */,
|
4C0949591FD6B89B004F2971 /* NSUserNotification+MPAdditions.m in Sources */,
|
||||||
|
4C521981273D192C00C719D3 /* MPOpenURLHandler.m in Sources */,
|
||||||
4C2057EE23CDF6F900C731EC /* MPPathCell.m in Sources */,
|
4C2057EE23CDF6F900C731EC /* MPPathCell.m in Sources */,
|
||||||
4C3B42871F935316007B04FD /* MPDayCountFormatter.m in Sources */,
|
4C3B42871F935316007B04FD /* MPDayCountFormatter.m in Sources */,
|
||||||
4C7D9D5424ABE6FD00907034 /* MPTabViewController.m in Sources */,
|
4C7D9D5424ABE6FD00907034 /* MPTabViewController.m in Sources */,
|
||||||
3C0CDECF21CFEDD200B2A10B /* NSTextView+MPTouchBarExtension.m in Sources */,
|
3C0CDECF21CFEDD200B2A10B /* NSTextView+MPTouchBarExtension.m in Sources */,
|
||||||
4C57AE1417BA422B00CA4F34 /* MPSegmentedContextCell.m in Sources */,
|
4C57AE1417BA422B00CA4F34 /* MPSegmentedContextCell.m in Sources */,
|
||||||
4CE2961518429AA5005F01CE /* MPAutotypeKeyPress.m in Sources */,
|
4CE2961518429AA5005F01CE /* MPAutotypeKeyPress.m in Sources */,
|
||||||
|
4CE4FFAC2746956F00789F75 /* MPGeneralDatabaseSettingsViewController.m in Sources */,
|
||||||
4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */,
|
4C32B0E71A1D4436007E12F1 /* KPKFormat+MPUTIDetection.m in Sources */,
|
||||||
4C5807781C64F67000E7171F /* NSString+MPHash.m in Sources */,
|
4C5807781C64F67000E7171F /* NSString+MPHash.m in Sources */,
|
||||||
4CAAA8271D787B8B00CDE977 /* MPAutotypeBuilderViewController.m in Sources */,
|
4CAAA8271D787B8B00CDE977 /* MPAutotypeBuilderViewController.m in Sources */,
|
||||||
@@ -2313,6 +2427,7 @@
|
|||||||
D364AB1423FC104300AB1D8E /* pl */,
|
D364AB1423FC104300AB1D8E /* pl */,
|
||||||
FA8CCD9123A7A6FA003A3BB1 /* uk */,
|
FA8CCD9123A7A6FA003A3BB1 /* uk */,
|
||||||
6FECA76F24D51B0A00BBA9BB /* ja */,
|
6FECA76F24D51B0A00BBA9BB /* ja */,
|
||||||
|
69385E46274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = PickcharsView.xib;
|
name = PickcharsView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2331,6 +2446,7 @@
|
|||||||
71FF7A25230FEF3D002F488F /* it */,
|
71FF7A25230FEF3D002F488F /* it */,
|
||||||
FA8CCD9223A7A6FA003A3BB1 /* uk */,
|
FA8CCD9223A7A6FA003A3BB1 /* uk */,
|
||||||
6FECA77024D51B0A00BBA9BB /* ja */,
|
6FECA77024D51B0A00BBA9BB /* ja */,
|
||||||
|
69385E47274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = PickfieldView.xib;
|
name = PickfieldView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2350,6 +2466,7 @@
|
|||||||
6A74B0692076F4B40049BC29 /* sv-SE */,
|
6A74B0692076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD8323A7A6F7003A3BB1 /* uk */,
|
FA8CCD8323A7A6F7003A3BB1 /* uk */,
|
||||||
6FECA76324D51B0800BBA9BB /* ja */,
|
6FECA76324D51B0800BBA9BB /* ja */,
|
||||||
|
69385E39274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = PluginPreferences.xib;
|
name = PluginPreferences.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2367,6 +2484,7 @@
|
|||||||
D364AB1523FC104300AB1D8E /* pl */,
|
D364AB1523FC104300AB1D8E /* pl */,
|
||||||
FA8CCD9523A7A6FB003A3BB1 /* uk */,
|
FA8CCD9523A7A6FB003A3BB1 /* uk */,
|
||||||
6FECA77424D51B0B00BBA9BB /* ja */,
|
6FECA77424D51B0B00BBA9BB /* ja */,
|
||||||
|
69385E4B274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = OpenPanelAccessoryView.xib;
|
name = OpenPanelAccessoryView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2385,6 +2503,7 @@
|
|||||||
D364AB1623FC104300AB1D8E /* pl */,
|
D364AB1623FC104300AB1D8E /* pl */,
|
||||||
FA8CCD7E23A7A6F6003A3BB1 /* uk */,
|
FA8CCD7E23A7A6F6003A3BB1 /* uk */,
|
||||||
6FECA75D24D51B0700BBA9BB /* ja */,
|
6FECA75D24D51B0700BBA9BB /* ja */,
|
||||||
|
69385E32274ACFDE001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = SavePanelAccessoryView.xib;
|
name = SavePanelAccessoryView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2403,6 +2522,7 @@
|
|||||||
6A74B07D2076F4B60049BC29 /* sv-SE */,
|
6A74B07D2076F4B60049BC29 /* sv-SE */,
|
||||||
FA8CCD9B23A7A6FC003A3BB1 /* uk */,
|
FA8CCD9B23A7A6FC003A3BB1 /* uk */,
|
||||||
6FECA77924D51B0B00BBA9BB /* ja */,
|
6FECA77924D51B0B00BBA9BB /* ja */,
|
||||||
|
69385E51274ACFE1001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = InfoPlist.strings;
|
name = InfoPlist.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2422,6 +2542,7 @@
|
|||||||
6A74B0712076F4B50049BC29 /* sv-SE */,
|
6A74B0712076F4B50049BC29 /* sv-SE */,
|
||||||
FA8CCD8C23A7A6F9003A3BB1 /* uk */,
|
FA8CCD8C23A7A6F9003A3BB1 /* uk */,
|
||||||
6FECA76A24D51B0900BBA9BB /* ja */,
|
6FECA76A24D51B0900BBA9BB /* ja */,
|
||||||
|
69385E41274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = ContextBar.xib;
|
name = ContextBar.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2441,6 +2562,7 @@
|
|||||||
6A74B06F2076F4B50049BC29 /* sv-SE */,
|
6A74B06F2076F4B50049BC29 /* sv-SE */,
|
||||||
FA8CCD8A23A7A6F8003A3BB1 /* uk */,
|
FA8CCD8A23A7A6F8003A3BB1 /* uk */,
|
||||||
6FECA76C24D51B0A00BBA9BB /* ja */,
|
6FECA76C24D51B0A00BBA9BB /* ja */,
|
||||||
|
69385E43274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = IconSelection.xib;
|
name = IconSelection.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2460,6 +2582,7 @@
|
|||||||
6A74B0652076F4B40049BC29 /* sv-SE */,
|
6A74B0652076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD7F23A7A6F6003A3BB1 /* uk */,
|
FA8CCD7F23A7A6F6003A3BB1 /* uk */,
|
||||||
6FECA76124D51B0800BBA9BB /* ja */,
|
6FECA76124D51B0800BBA9BB /* ja */,
|
||||||
|
69385E37274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = GeneralPreferences.xib;
|
name = GeneralPreferences.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2479,6 +2602,7 @@
|
|||||||
6A74B06D2076F4B40049BC29 /* sv-SE */,
|
6A74B06D2076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD8823A7A6F8003A3BB1 /* uk */,
|
FA8CCD8823A7A6F8003A3BB1 /* uk */,
|
||||||
6FECA76E24D51B0A00BBA9BB /* ja */,
|
6FECA76E24D51B0A00BBA9BB /* ja */,
|
||||||
|
69385E45274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = PasswordInputView.xib;
|
name = PasswordInputView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2498,6 +2622,7 @@
|
|||||||
6A74B06A2076F4B40049BC29 /* sv-SE */,
|
6A74B06A2076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD8523A7A6F7003A3BB1 /* uk */,
|
FA8CCD8523A7A6F7003A3BB1 /* uk */,
|
||||||
6FECA76024D51B0800BBA9BB /* ja */,
|
6FECA76024D51B0800BBA9BB /* ja */,
|
||||||
|
69385E35274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = InspectorView.xib;
|
name = InspectorView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2517,6 +2642,7 @@
|
|||||||
4C9FE47423703DA50096A5EA /* en */,
|
4C9FE47423703DA50096A5EA /* en */,
|
||||||
FA8CCD9A23A7A6FB003A3BB1 /* uk */,
|
FA8CCD9A23A7A6FB003A3BB1 /* uk */,
|
||||||
6FECA77824D51B0B00BBA9BB /* ja */,
|
6FECA77824D51B0B00BBA9BB /* ja */,
|
||||||
|
69385E50274ACFE1001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = InfoPlist.strings;
|
name = InfoPlist.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2536,6 +2662,7 @@
|
|||||||
6A74B0782076F4B50049BC29 /* sv-SE */,
|
6A74B0782076F4B50049BC29 /* sv-SE */,
|
||||||
FA8CCD9623A7A6FB003A3BB1 /* uk */,
|
FA8CCD9623A7A6FB003A3BB1 /* uk */,
|
||||||
6FECA77524D51B0B00BBA9BB /* ja */,
|
6FECA77524D51B0B00BBA9BB /* ja */,
|
||||||
|
69385E4C274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = MainMenu.xib;
|
name = MainMenu.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2555,6 +2682,7 @@
|
|||||||
6A74B0772076F4B50049BC29 /* sv-SE */,
|
6A74B0772076F4B50049BC29 /* sv-SE */,
|
||||||
FA8CCD9323A7A6FA003A3BB1 /* uk */,
|
FA8CCD9323A7A6FA003A3BB1 /* uk */,
|
||||||
6FECA77324D51B0B00BBA9BB /* ja */,
|
6FECA77324D51B0B00BBA9BB /* ja */,
|
||||||
|
69385E4A274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = WelcomeView.xib;
|
name = WelcomeView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2574,10 +2702,32 @@
|
|||||||
4C1888D0230FFEE20054A38F /* it */,
|
4C1888D0230FFEE20054A38F /* it */,
|
||||||
FA8CCD9823A7A6FB003A3BB1 /* uk */,
|
FA8CCD9823A7A6FB003A3BB1 /* uk */,
|
||||||
6FECA77724D51B0B00BBA9BB /* ja */,
|
6FECA77724D51B0B00BBA9BB /* ja */,
|
||||||
|
69385E4E274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = Localizable.strings;
|
name = Localizable.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
4C9328CA273E6A38000DCBEE /* MPTOTPSetupViewController.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
4C9328C9273E6A38000DCBEE /* Base */,
|
||||||
|
4C9328CD273E6A5F000DCBEE /* zh-Hans */,
|
||||||
|
4C9328CF273E6A63000DCBEE /* de */,
|
||||||
|
69385E3D274ACFDF001AB1E9 /* cs */,
|
||||||
|
);
|
||||||
|
name = MPTOTPSetupViewController.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
4C9328D2273E6A83000DCBEE /* MPTOTPViewController.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
4C9328D1273E6A83000DCBEE /* Base */,
|
||||||
|
4C9328D4273E6A85000DCBEE /* zh-Hans */,
|
||||||
|
4C9328D6273E6A85000DCBEE /* de */,
|
||||||
|
);
|
||||||
|
name = MPTOTPViewController.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
4CA1827A1F96523600DD4A4A /* DuplicateEntryOptionsWindow.xib */ = {
|
4CA1827A1F96523600DD4A4A /* DuplicateEntryOptionsWindow.xib */ = {
|
||||||
isa = PBXVariantGroup;
|
isa = PBXVariantGroup;
|
||||||
children = (
|
children = (
|
||||||
@@ -2593,6 +2743,7 @@
|
|||||||
6A74B0642076F4B40049BC29 /* sv-SE */,
|
6A74B0642076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD7D23A7A6F5003A3BB1 /* uk */,
|
FA8CCD7D23A7A6F5003A3BB1 /* uk */,
|
||||||
6FECA75B24D51B0700BBA9BB /* ja */,
|
6FECA75B24D51B0700BBA9BB /* ja */,
|
||||||
|
69385E30274ACFDE001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = DuplicateEntryOptionsWindow.xib;
|
name = DuplicateEntryOptionsWindow.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2620,6 +2771,7 @@
|
|||||||
ABAA99A523151BE70095D78E /* zh-Hans */,
|
ABAA99A523151BE70095D78E /* zh-Hans */,
|
||||||
FA8CCD8D23A7A6F9003A3BB1 /* uk */,
|
FA8CCD8D23A7A6F9003A3BB1 /* uk */,
|
||||||
6FECA77224D51B0A00BBA9BB /* ja */,
|
6FECA77224D51B0A00BBA9BB /* ja */,
|
||||||
|
69385E49274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = ReferenceBuilderView.xib;
|
name = ReferenceBuilderView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2638,6 +2790,7 @@
|
|||||||
ABE86630231662D200201125 /* zh-Hans */,
|
ABE86630231662D200201125 /* zh-Hans */,
|
||||||
FA8CCD8F23A7A6F9003A3BB1 /* uk */,
|
FA8CCD8F23A7A6F9003A3BB1 /* uk */,
|
||||||
6FECA77124D51B0A00BBA9BB /* ja */,
|
6FECA77124D51B0A00BBA9BB /* ja */,
|
||||||
|
69385E48274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = PluginDataView.xib;
|
name = PluginDataView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2657,6 +2810,7 @@
|
|||||||
6A74B06C2076F4B40049BC29 /* sv-SE */,
|
6A74B06C2076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD8723A7A6F8003A3BB1 /* uk */,
|
FA8CCD8723A7A6F8003A3BB1 /* uk */,
|
||||||
6FECA75E24D51B0800BBA9BB /* ja */,
|
6FECA75E24D51B0800BBA9BB /* ja */,
|
||||||
|
69385E33274ACFDE001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = EntryInspectorView.xib;
|
name = EntryInspectorView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2676,6 +2830,7 @@
|
|||||||
6A74B06B2076F4B40049BC29 /* sv-SE */,
|
6A74B06B2076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD8623A7A6F7003A3BB1 /* uk */,
|
FA8CCD8623A7A6F7003A3BB1 /* uk */,
|
||||||
6FECA75F24D51B0800BBA9BB /* ja */,
|
6FECA75F24D51B0800BBA9BB /* ja */,
|
||||||
|
69385E34274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = GroupInspectorView.xib;
|
name = GroupInspectorView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2695,6 +2850,7 @@
|
|||||||
78E1F8AF22E3A3DF00E738AE /* ru */,
|
78E1F8AF22E3A3DF00E738AE /* ru */,
|
||||||
FA8CCD8023A7A6F6003A3BB1 /* uk */,
|
FA8CCD8023A7A6F6003A3BB1 /* uk */,
|
||||||
6FECA76224D51B0800BBA9BB /* ja */,
|
6FECA76224D51B0800BBA9BB /* ja */,
|
||||||
|
69385E38274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = IntegrationPreferences.xib;
|
name = IntegrationPreferences.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2714,6 +2870,7 @@
|
|||||||
6A74B0672076F4B40049BC29 /* sv-SE */,
|
6A74B0672076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD8123A7A6F6003A3BB1 /* uk */,
|
FA8CCD8123A7A6F6003A3BB1 /* uk */,
|
||||||
6FECA76624D51B0900BBA9BB /* ja */,
|
6FECA76624D51B0900BBA9BB /* ja */,
|
||||||
|
69385E3C274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = WorkflowPreferences.xib;
|
name = WorkflowPreferences.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2733,6 +2890,7 @@
|
|||||||
6A74B0682076F4B40049BC29 /* sv-SE */,
|
6A74B0682076F4B40049BC29 /* sv-SE */,
|
||||||
FA8CCD8223A7A6F6003A3BB1 /* uk */,
|
FA8CCD8223A7A6F6003A3BB1 /* uk */,
|
||||||
6FECA76524D51B0900BBA9BB /* ja */,
|
6FECA76524D51B0900BBA9BB /* ja */,
|
||||||
|
69385E3B274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = UpdatePreferences.xib;
|
name = UpdatePreferences.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2752,6 +2910,7 @@
|
|||||||
6A74B0702076F4B50049BC29 /* sv-SE */,
|
6A74B0702076F4B50049BC29 /* sv-SE */,
|
||||||
FA8CCD8B23A7A6F9003A3BB1 /* uk */,
|
FA8CCD8B23A7A6F9003A3BB1 /* uk */,
|
||||||
6FECA76B24D51B0900BBA9BB /* ja */,
|
6FECA76B24D51B0900BBA9BB /* ja */,
|
||||||
|
69385E42274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = DatePickingView.xib;
|
name = DatePickingView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2771,6 +2930,7 @@
|
|||||||
6A74B0632076F4B30049BC29 /* sv-SE */,
|
6A74B0632076F4B30049BC29 /* sv-SE */,
|
||||||
FA8CCD7C23A7A6F5003A3BB1 /* uk */,
|
FA8CCD7C23A7A6F5003A3BB1 /* uk */,
|
||||||
6FECA75C24D51B0700BBA9BB /* ja */,
|
6FECA75C24D51B0700BBA9BB /* ja */,
|
||||||
|
69385E31274ACFDE001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = PasswordEditWindow.xib;
|
name = PasswordEditWindow.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2790,6 +2950,7 @@
|
|||||||
6A74B06E2076F4B50049BC29 /* sv-SE */,
|
6A74B06E2076F4B50049BC29 /* sv-SE */,
|
||||||
FA8CCD8923A7A6F8003A3BB1 /* uk */,
|
FA8CCD8923A7A6F8003A3BB1 /* uk */,
|
||||||
6FECA76D24D51B0A00BBA9BB /* ja */,
|
6FECA76D24D51B0A00BBA9BB /* ja */,
|
||||||
|
69385E44274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = PasswordCreatorView.xib;
|
name = PasswordCreatorView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2809,6 +2970,7 @@
|
|||||||
6A74B0622076F4B30049BC29 /* sv-SE */,
|
6A74B0622076F4B30049BC29 /* sv-SE */,
|
||||||
FA8CCD7B23A7A6F5003A3BB1 /* uk */,
|
FA8CCD7B23A7A6F5003A3BB1 /* uk */,
|
||||||
6FECA75A24D51B0700BBA9BB /* ja */,
|
6FECA75A24D51B0700BBA9BB /* ja */,
|
||||||
|
69385E2F274ACFDE001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = DatabaseSettingsWindow.xib;
|
name = DatabaseSettingsWindow.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2826,6 +2988,7 @@
|
|||||||
D364AB1823FC104300AB1D8E /* pl */,
|
D364AB1823FC104300AB1D8E /* pl */,
|
||||||
FA8CCD8423A7A6F7003A3BB1 /* uk */,
|
FA8CCD8423A7A6F7003A3BB1 /* uk */,
|
||||||
6FECA76424D51B0800BBA9BB /* ja */,
|
6FECA76424D51B0800BBA9BB /* ja */,
|
||||||
|
69385E3A274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = PluginRepositoryBrowserView.xib;
|
name = PluginRepositoryBrowserView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2842,6 +3005,7 @@
|
|||||||
D364AB1723FC104300AB1D8E /* pl */,
|
D364AB1723FC104300AB1D8E /* pl */,
|
||||||
FA8CCD9423A7A6FA003A3BB1 /* uk */,
|
FA8CCD9423A7A6FA003A3BB1 /* uk */,
|
||||||
6FECA76924D51B0900BBA9BB /* ja */,
|
6FECA76924D51B0900BBA9BB /* ja */,
|
||||||
|
69385E40274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = AutotypeDoctorReportViewController.xib;
|
name = AutotypeDoctorReportViewController.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2860,6 +3024,7 @@
|
|||||||
ABE8662E2316617500201125 /* zh-Hans */,
|
ABE8662E2316617500201125 /* zh-Hans */,
|
||||||
FA8CCD9723A7A6FB003A3BB1 /* uk */,
|
FA8CCD9723A7A6FB003A3BB1 /* uk */,
|
||||||
6FECA77624D51B0B00BBA9BB /* ja */,
|
6FECA77624D51B0B00BBA9BB /* ja */,
|
||||||
|
69385E4D274ACFE0001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = Localizable.stringsdict;
|
name = Localizable.stringsdict;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2879,6 +3044,7 @@
|
|||||||
ABE506D522EFF97400B9F8DA /* zh-Hans */,
|
ABE506D522EFF97400B9F8DA /* zh-Hans */,
|
||||||
FA8CCD9023A7A6FA003A3BB1 /* uk */,
|
FA8CCD9023A7A6FA003A3BB1 /* uk */,
|
||||||
6FECA76824D51B0900BBA9BB /* ja */,
|
6FECA76824D51B0900BBA9BB /* ja */,
|
||||||
|
69385E3F274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = AutotypeCandidateSelectionView.xib;
|
name = AutotypeCandidateSelectionView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2898,6 +3064,7 @@
|
|||||||
ABE506D622EFF97400B9F8DA /* zh-Hans */,
|
ABE506D622EFF97400B9F8DA /* zh-Hans */,
|
||||||
FA8CCD8E23A7A6F9003A3BB1 /* uk */,
|
FA8CCD8E23A7A6F9003A3BB1 /* uk */,
|
||||||
6FECA76724D51B0900BBA9BB /* ja */,
|
6FECA76724D51B0900BBA9BB /* ja */,
|
||||||
|
69385E3E274ACFDF001AB1E9 /* cs */,
|
||||||
);
|
);
|
||||||
name = AutotypeBuilderView.xib;
|
name = AutotypeBuilderView.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -2973,6 +3140,7 @@
|
|||||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
@@ -2980,7 +3148,7 @@
|
|||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
CODE_SIGN_IDENTITY = "";
|
CODE_SIGN_IDENTITY = "";
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
CURRENT_PROJECT_VERSION = "0.8-beta";
|
CURRENT_PROJECT_VERSION = 0.8.1;
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
@@ -3028,6 +3196,7 @@
|
|||||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
@@ -3035,7 +3204,7 @@
|
|||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
CODE_SIGN_IDENTITY = "";
|
CODE_SIGN_IDENTITY = "";
|
||||||
COPY_PHASE_STRIP = YES;
|
COPY_PHASE_STRIP = YES;
|
||||||
CURRENT_PROJECT_VERSION = "0.8-beta";
|
CURRENT_PROJECT_VERSION = 0.8.1;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1240"
|
LastUpgradeVersion = "1250"
|
||||||
version = "2.0">
|
version = "2.0">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17506" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17506"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -15,12 +15,12 @@
|
|||||||
</customObject>
|
</customObject>
|
||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView id="Hz6-mo-xeY">
|
<customView misplaced="YES" id="Hz6-mo-xeY">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="392" height="210"/>
|
<rect key="frame" x="0.0" y="0.0" width="392" height="220"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tokenField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Jzn-UC-Ok8">
|
<tokenField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Jzn-UC-Ok8">
|
||||||
<rect key="frame" x="20" y="50" width="352" height="66"/>
|
<rect key="frame" x="20" y="60" width="352" height="66"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="66" id="7rr-fC-NeH"/>
|
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="66" id="7rr-fC-NeH"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -31,14 +31,14 @@
|
|||||||
</tokenFieldCell>
|
</tokenFieldCell>
|
||||||
</tokenField>
|
</tokenField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lS4-1R-Bhp">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lS4-1R-Bhp">
|
||||||
<rect key="frame" x="215" y="19" width="157" height="23"/>
|
<rect key="frame" x="201" y="13" width="178" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Set Autotype Sequence" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="aOD-Ih-Sft">
|
<buttonCell key="cell" type="push" title="Set Autotype Sequence" bezelStyle="rounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="aOD-Ih-Sft">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7xF-eN-vs3">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7xF-eN-vs3">
|
||||||
<rect key="frame" x="18" y="176" width="207" height="14"/>
|
<rect key="frame" x="18" y="186" width="207" height="14"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Available Commands and Placeholders" id="lug-97-H9D">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Available Commands and Placeholders" id="lug-97-H9D">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9Kw-lW-ASe">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9Kw-lW-ASe">
|
||||||
<rect key="frame" x="18" y="124" width="107" height="14"/>
|
<rect key="frame" x="18" y="134" width="107" height="14"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Autotype Sequence" id="8ny-Qk-Jvo">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Autotype Sequence" id="8ny-Qk-Jvo">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<tokenField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="k06-gn-ahB">
|
<tokenField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="k06-gn-ahB">
|
||||||
<rect key="frame" x="20" y="146" width="352" height="22"/>
|
<rect key="frame" x="20" y="156" width="352" height="22"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="400" id="can-wk-8oX"/>
|
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="400" id="can-wk-8oX"/>
|
||||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="22" id="nk8-bB-yOg"/>
|
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="22" id="nk8-bB-yOg"/>
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
<constraint firstItem="9Kw-lW-ASe" firstAttribute="leading" secondItem="7xF-eN-vs3" secondAttribute="leading" id="Mjz-o8-Vqx"/>
|
<constraint firstItem="9Kw-lW-ASe" firstAttribute="leading" secondItem="7xF-eN-vs3" secondAttribute="leading" id="Mjz-o8-Vqx"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="lS4-1R-Bhp" secondAttribute="bottom" constant="20" symbolic="YES" id="PZa-cL-9DY"/>
|
<constraint firstAttribute="bottom" secondItem="lS4-1R-Bhp" secondAttribute="bottom" constant="20" symbolic="YES" id="PZa-cL-9DY"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="k06-gn-ahB" secondAttribute="trailing" constant="20" symbolic="YES" id="UwG-TO-3PS"/>
|
<constraint firstAttribute="trailing" secondItem="k06-gn-ahB" secondAttribute="trailing" constant="20" symbolic="YES" id="UwG-TO-3PS"/>
|
||||||
<constraint firstItem="lS4-1R-Bhp" firstAttribute="top" secondItem="Jzn-UC-Ok8" secondAttribute="bottom" constant="8" symbolic="YES" id="ZCK-9U-M92"/>
|
<constraint firstItem="lS4-1R-Bhp" firstAttribute="top" secondItem="Jzn-UC-Ok8" secondAttribute="bottom" constant="20" symbolic="YES" id="ZCK-9U-M92"/>
|
||||||
<constraint firstItem="k06-gn-ahB" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="hJ8-Oo-CDZ"/>
|
<constraint firstItem="k06-gn-ahB" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="hJ8-Oo-CDZ"/>
|
||||||
<constraint firstItem="Jzn-UC-Ok8" firstAttribute="trailing" secondItem="k06-gn-ahB" secondAttribute="trailing" id="hWO-Ql-W8s"/>
|
<constraint firstItem="Jzn-UC-Ok8" firstAttribute="trailing" secondItem="k06-gn-ahB" secondAttribute="trailing" id="hWO-Ql-W8s"/>
|
||||||
<constraint firstItem="9Kw-lW-ASe" firstAttribute="top" secondItem="k06-gn-ahB" secondAttribute="bottom" constant="8" symbolic="YES" id="qdv-SC-dEw"/>
|
<constraint firstItem="9Kw-lW-ASe" firstAttribute="top" secondItem="k06-gn-ahB" secondAttribute="bottom" constant="8" symbolic="YES" id="qdv-SC-dEw"/>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{\rtf1\ansi\ansicpg1252\cocoartf2513
|
{\rtf1\ansi\ansicpg1250\cocoartf2636
|
||||||
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;\f2\fnil\fcharset0 HelveticaNeue;
|
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;\f2\fnil\fcharset0 HelveticaNeue;
|
||||||
\f3\fnil\fcharset0 AppleColorEmoji;\f4\fnil\fcharset0 SFProText-Regular;}
|
\f3\fnil\fcharset0 AppleColorEmoji;}
|
||||||
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red9\green79\blue209;\red69\green60\blue204;
|
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red9\green79\blue209;\red69\green60\blue204;
|
||||||
\red52\green110\blue183;\red38\green38\blue38;}
|
\red52\green110\blue183;\red38\green38\blue38;}
|
||||||
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0\cname textColor;\cssrgb\c0\c40784\c85490\cname linkColor;\cssrgb\c34510\c33725\c83922;
|
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0\cname textColor;\cssrgb\c0\c40784\c85490\cname linkColor;\cssrgb\c34510\c33725\c83922;
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
License:\
|
License:\
|
||||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0
|
||||||
|
|
||||||
\f1\b0 \cf2 MacPass KeePass compatible client for OS X\
|
\f1\b0 \cf2 MacPass KeePass compatible client for macOS\
|
||||||
Copyright (c) 2012-2021 Michael Starke, HicknHack Software GmbH\
|
Copyright (c) 2012-2021 Michael Starke, HicknHack Software GmbH\
|
||||||
\
|
\
|
||||||
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\
|
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by\
|
||||||
@@ -62,11 +62,10 @@ Karl Heinz Marbaise}}\kerning1\expnd0\expndtw3
|
|||||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0
|
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\partightenfactor0
|
||||||
|
|
||||||
\f1\b0 \cf2 \
|
\f1\b0 \cf2 \
|
||||||
Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/FrankKooij"}}{\fldrslt \cf3 Frank Kooij}},
|
Czech translation:\cf0 {\field{\*\fldinst{HYPERLINK "https://github.com/JiriSko"}}{\fldrslt \cf3 Ji\uc0\u345 \'ed \'8akorpil}}\cf2 \
|
||||||
\f4 \cf4 \expnd0\expndtw0\kerning0
|
\
|
||||||
{\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt
|
Dutch translation: {\field{\*\fldinst{HYPERLINK "https://github.com/FrankKooij"}}{\fldrslt \cf3 Frank Kooij}},\cf4 \expnd0\expndtw0\kerning0
|
||||||
\f1 \cf3 \kerning1\expnd0\expndtw0 Jannick Hemelhof}}
|
{\field{\*\fldinst{HYPERLINK "https://github.com/clone1612"}}{\fldrslt \cf3 \kerning1\expnd0\expndtw0 Jannick Hemelhof}}\cf0 \kerning1\expnd0\expndtw0 \
|
||||||
\f1 \cf0 \kerning1\expnd0\expndtw0 \
|
|
||||||
\
|
\
|
||||||
\cf2 French translation:\cf0 {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt \cf3 Gil Andr\'e9}}\
|
\cf2 French translation:\cf0 {\field{\*\fldinst{HYPERLINK "mailto:gil@panix.com"}}{\fldrslt \cf3 Gil Andr\'e9}}\
|
||||||
\
|
\
|
||||||
|
|||||||
@@ -1,21 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
<customObject id="-2" userLabel="File's Owner" customClass="MPDatabaseSettingsWindowController">
|
<customObject id="-2" userLabel="File's Owner" customClass="MPDatabaseSettingsWindowController">
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="Argon2IterationsTextField" destination="39N-8Q-J8b" id="pnH-Mf-x5c"/>
|
|
||||||
<outlet property="Argon2MemoryTextField" destination="eEW-oa-V7U" id="iDH-eW-4TE"/>
|
|
||||||
<outlet property="Argon2ThreadsTextField" destination="178-0f-guB" id="ATl-km-DSX"/>
|
|
||||||
<outlet property="aesEncryptionRoundsTextField" destination="8aq-34-rcd" id="WoJ-Kc-d8q"/>
|
<outlet property="aesEncryptionRoundsTextField" destination="8aq-34-rcd" id="WoJ-Kc-d8q"/>
|
||||||
<outlet property="argon2IterationsTextField" destination="39N-8Q-J8b" id="af4-Ft-aDX"/>
|
<outlet property="argon2dIterationsTextField" destination="39N-8Q-J8b" id="af4-Ft-aDX"/>
|
||||||
<outlet property="argon2MemoryStepper" destination="NfL-iP-SRk" id="eAW-kb-cLh"/>
|
<outlet property="argon2dMemoryStepper" destination="NfL-iP-SRk" id="eAW-kb-cLh"/>
|
||||||
<outlet property="argon2MemoryTextField" destination="eEW-oa-V7U" id="Wig-Rk-lm0"/>
|
<outlet property="argon2dMemoryTextField" destination="eEW-oa-V7U" id="Wig-Rk-lm0"/>
|
||||||
<outlet property="argon2ThreadsTextField" destination="178-0f-guB" id="dHa-L6-gOs"/>
|
<outlet property="argon2dThreadsTextField" destination="178-0f-guB" id="dHa-L6-gOs"/>
|
||||||
|
<outlet property="argon2idIterationsTextField" destination="gqS-YX-aBl" id="R5l-uT-9Xh"/>
|
||||||
|
<outlet property="argon2idMemoryStepper" destination="qKz-Ir-3lf" id="GkI-Lv-Wz5"/>
|
||||||
|
<outlet property="argon2idMemoryTextField" destination="edk-MV-ArQ" id="QIz-wh-QxJ"/>
|
||||||
|
<outlet property="argon2idThreadsTextField" destination="aZY-o8-2Dn" id="Bzq-u5-Cnv"/>
|
||||||
<outlet property="cipherPopupButton" destination="3ek-Rg-w82" id="LbB-Fd-rqC"/>
|
<outlet property="cipherPopupButton" destination="3ek-Rg-w82" id="LbB-Fd-rqC"/>
|
||||||
<outlet property="createKeyDerivationParametersButton" destination="P98-Cu-Tha" id="UQ0-eg-rdx"/>
|
<outlet property="createKeyDerivationParametersButton" destination="P98-Cu-Tha" id="UQ0-eg-rdx"/>
|
||||||
<outlet property="databaseColorColorWell" destination="1439" id="Fqq-2P-vbf"/>
|
<outlet property="databaseColorColorWell" destination="1439" id="Fqq-2P-vbf"/>
|
||||||
@@ -51,13 +52,13 @@
|
|||||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||||
<rect key="contentRect" x="196" y="240" width="500" height="360"/>
|
<rect key="contentRect" x="196" y="240" width="500" height="360"/>
|
||||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
|
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
|
||||||
<view key="contentView" misplaced="YES" id="2">
|
<view key="contentView" misplaced="YES" id="2">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="500" height="360"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="380"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="288">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="288">
|
||||||
<rect key="frame" x="385" y="13" width="59" height="32"/>
|
<rect key="frame" x="433" y="13" width="54" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="OK" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="289">
|
<buttonCell key="cell" type="push" title="OK" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="289">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -70,7 +71,7 @@ DQ
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="956">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="956">
|
||||||
<rect key="frame" x="303" y="13" width="82" height="32"/>
|
<rect key="frame" x="359" y="13" width="76" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="957">
|
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="957">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -83,16 +84,16 @@ Gw
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<tabView translatesAutoresizingMaskIntoConstraints="NO" id="357">
|
<tabView translatesAutoresizingMaskIntoConstraints="NO" id="357">
|
||||||
<rect key="frame" x="13" y="41" width="432" height="338"/>
|
<rect key="frame" x="13" y="40" width="474" height="334"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<tabViewItems>
|
<tabViewItems>
|
||||||
<tabViewItem label="General" identifier="1" id="358">
|
<tabViewItem label="General" identifier="1" id="358">
|
||||||
<view key="view" id="361">
|
<view key="view" id="361">
|
||||||
<rect key="frame" x="10" y="33" width="454" height="265"/>
|
<rect key="frame" x="10" y="33" width="454" height="264"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="231">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="231">
|
||||||
<rect key="frame" x="154" y="224" width="280" height="21"/>
|
<rect key="frame" x="154" y="223" width="280" height="21"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="280" id="cra-uC-nCv"/>
|
<constraint firstAttribute="width" constant="280" id="cra-uC-nCv"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -103,7 +104,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="256">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="256">
|
||||||
<rect key="frame" x="70" y="201" width="78" height="16"/>
|
<rect key="frame" x="70" y="200" width="78" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Description:" id="257">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Description:" id="257">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -111,7 +112,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="189">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="189">
|
||||||
<rect key="frame" x="46" y="228" width="102" height="16"/>
|
<rect key="frame" x="46" y="227" width="102" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Database name:" id="190">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Database name:" id="190">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -119,7 +120,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1394">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1394">
|
||||||
<rect key="frame" x="152" y="72" width="71" height="25"/>
|
<rect key="frame" x="151" y="71" width="72" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="1395">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="1395">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -132,7 +133,7 @@ Gw
|
|||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1404">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1404">
|
||||||
<rect key="frame" x="60" y="78" width="88" height="16"/>
|
<rect key="frame" x="60" y="77" width="88" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Compression:" id="1405">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Compression:" id="1405">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -156,7 +157,7 @@ Gw
|
|||||||
<color key="color" red="0.05813049898" green="0.055541899059999997" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="color" red="0.05813049898" green="0.055541899059999997" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
</colorWell>
|
</colorWell>
|
||||||
<scrollView horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1530">
|
<scrollView horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1530">
|
||||||
<rect key="frame" x="154" y="116" width="280" height="100"/>
|
<rect key="frame" x="154" y="115" width="280" height="100"/>
|
||||||
<clipView key="contentView" drawsBackground="NO" id="WOI-1v-RCe">
|
<clipView key="contentView" drawsBackground="NO" id="WOI-1v-RCe">
|
||||||
<rect key="frame" x="1" y="1" width="278" height="98"/>
|
<rect key="frame" x="1" y="1" width="278" height="98"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
@@ -236,11 +237,11 @@ Gw
|
|||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
<tabViewItem label="Security" identifier="" id="370">
|
<tabViewItem label="Security" identifier="" id="370">
|
||||||
<view key="view" id="371">
|
<view key="view" id="371">
|
||||||
<rect key="frame" x="10" y="33" width="412" height="292"/>
|
<rect key="frame" x="10" y="33" width="454" height="288"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3ek-Rg-w82">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3ek-Rg-w82">
|
||||||
<rect key="frame" x="129" y="248" width="155" height="25"/>
|
<rect key="frame" x="149" y="244" width="157" height="25"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="150" id="F8Y-Uw-4mL"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="150" id="F8Y-Uw-4mL"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -251,7 +252,7 @@ Gw
|
|||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vH7-5a-52C">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vH7-5a-52C">
|
||||||
<rect key="frame" x="52" y="255" width="73" height="16"/>
|
<rect key="frame" x="73" y="251" width="73" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Encryption:" id="gxY-UL-bEG">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Encryption:" id="gxY-UL-bEG">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -259,20 +260,23 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<box title="Key derivation" translatesAutoresizingMaskIntoConstraints="NO" id="pbl-Mb-r8V">
|
<box title="Key derivation" translatesAutoresizingMaskIntoConstraints="NO" id="pbl-Mb-r8V">
|
||||||
<rect key="frame" x="17" y="16" width="378" height="227"/>
|
<rect key="frame" x="17" y="16" width="420" height="224"/>
|
||||||
<view key="contentView" id="hkT-SX-Te1">
|
<view key="contentView" id="hkT-SX-Te1">
|
||||||
<rect key="frame" x="3" y="3" width="372" height="209"/>
|
<rect key="frame" x="3" y="3" width="414" height="206"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="P98-Cu-Tha">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="P98-Cu-Tha">
|
||||||
<rect key="frame" x="209" y="18" width="143" height="23"/>
|
<rect key="frame" x="249" y="17" width="146" height="23"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Generate Parameters" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="PoI-Er-Y8P">
|
<buttonCell key="cell" type="roundTextured" title="Generate Parameters" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="PoI-Er-Y8P">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="benchmarkParametersForDelay:" target="-2" id="Iyw-Hp-gm2"/>
|
||||||
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<tabView drawsBackground="NO" type="noTabsNoBorder" translatesAutoresizingMaskIntoConstraints="NO" id="2MY-PW-kzL">
|
<tabView drawsBackground="NO" type="noTabsNoBorder" translatesAutoresizingMaskIntoConstraints="NO" id="2MY-PW-kzL">
|
||||||
<rect key="frame" x="12" y="49" width="348" height="111"/>
|
<rect key="frame" x="12" y="47" width="390" height="111"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<tabViewItems>
|
<tabViewItems>
|
||||||
<tabViewItem label="Aes" identifier="1" id="ft1-pl-lpO">
|
<tabViewItem label="Aes" identifier="1" id="ft1-pl-lpO">
|
||||||
@@ -413,14 +417,103 @@ Gw
|
|||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
<tabViewItem label="Argon2id" identifier="" id="xI9-6m-9ju">
|
<tabViewItem label="Argon2id" identifier="" id="xI9-6m-9ju">
|
||||||
<view key="view" id="k6k-0V-j7w">
|
<view key="view" id="k6k-0V-j7w">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="348" height="111"/>
|
<rect key="frame" x="0.0" y="0.0" width="390" height="111"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qKz-Ir-3lf">
|
||||||
|
<rect key="frame" x="254" y="17" width="19" height="28"/>
|
||||||
|
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="vGb-iO-lp5"/>
|
||||||
|
</stepper>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="vRx-5Q-dar">
|
||||||
|
<rect key="frame" x="60" y="23" width="54" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Memory" id="mq2-0M-8jv">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aZY-o8-2Dn">
|
||||||
|
<rect key="frame" x="120" y="82" width="150" height="21"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="FID-Lr-sq8">
|
||||||
|
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="y7Q-EY-hcg">
|
||||||
|
<real key="minimum" value="1"/>
|
||||||
|
<real key="maximum" value="4294967295"/>
|
||||||
|
</numberFormatter>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="oZr-5M-43J">
|
||||||
|
<rect key="frame" x="53" y="54" width="61" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Iterations" id="106-gi-Vnb">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="oXD-uF-jLh">
|
||||||
|
<rect key="frame" x="60" y="85" width="54" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Threads" id="9zh-4T-smL">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gqS-YX-aBl">
|
||||||
|
<rect key="frame" x="120" y="51" width="150" height="21"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" constant="150" id="ZMa-5V-8j5"/>
|
||||||
|
</constraints>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="dAr-Cz-hg4">
|
||||||
|
<numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="Qas-an-0IT">
|
||||||
|
<real key="minimum" value="1"/>
|
||||||
|
<real key="maximum" value="16777215"/>
|
||||||
|
</numberFormatter>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="edk-MV-ArQ">
|
||||||
|
<rect key="frame" x="120" y="20" width="129" height="21"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Pqf-ww-JwE">
|
||||||
|
<byteCountFormatter key="formatter" countStyle="binary" allowsNonnumericFormatting="NO" id="WMf-04-Jeb"/>
|
||||||
|
<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>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="aZY-o8-2Dn" secondAttribute="trailing" constant="8" id="9cI-nd-tyn"/>
|
||||||
|
<constraint firstItem="oZr-5M-43J" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="k6k-0V-j7w" secondAttribute="leading" constant="8" id="9hh-vu-O8k"/>
|
||||||
|
<constraint firstItem="oXD-uF-jLh" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="k6k-0V-j7w" secondAttribute="leading" constant="8" id="AgJ-CV-R5A"/>
|
||||||
|
<constraint firstItem="gqS-YX-aBl" firstAttribute="top" secondItem="aZY-o8-2Dn" secondAttribute="bottom" constant="10" symbolic="YES" id="Ext-M1-ojI"/>
|
||||||
|
<constraint firstItem="gqS-YX-aBl" firstAttribute="width" secondItem="aZY-o8-2Dn" secondAttribute="width" id="IaU-gr-21m"/>
|
||||||
|
<constraint firstItem="gqS-YX-aBl" firstAttribute="leading" secondItem="oZr-5M-43J" secondAttribute="trailing" constant="8" symbolic="YES" id="Mna-7q-x0b"/>
|
||||||
|
<constraint firstItem="aZY-o8-2Dn" firstAttribute="centerX" secondItem="k6k-0V-j7w" secondAttribute="centerX" id="SAt-gT-Bzv"/>
|
||||||
|
<constraint firstItem="oXD-uF-jLh" firstAttribute="firstBaseline" secondItem="aZY-o8-2Dn" secondAttribute="firstBaseline" id="WdW-gk-jZF"/>
|
||||||
|
<constraint firstItem="oZr-5M-43J" firstAttribute="firstBaseline" secondItem="gqS-YX-aBl" secondAttribute="firstBaseline" id="di3-ie-idF"/>
|
||||||
|
<constraint firstItem="edk-MV-ArQ" firstAttribute="top" secondItem="gqS-YX-aBl" secondAttribute="bottom" constant="10" symbolic="YES" id="ee7-xM-yUV"/>
|
||||||
|
<constraint firstItem="gqS-YX-aBl" firstAttribute="leading" secondItem="aZY-o8-2Dn" secondAttribute="leading" id="fX2-vS-LbX"/>
|
||||||
|
<constraint firstItem="vRx-5Q-dar" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="k6k-0V-j7w" secondAttribute="leading" constant="20" symbolic="YES" id="hCE-RO-pFT"/>
|
||||||
|
<constraint firstItem="aZY-o8-2Dn" firstAttribute="leading" secondItem="oXD-uF-jLh" secondAttribute="trailing" constant="8" symbolic="YES" id="iLD-kh-ea0"/>
|
||||||
|
<constraint firstItem="edk-MV-ArQ" firstAttribute="leading" secondItem="vRx-5Q-dar" secondAttribute="trailing" constant="8" symbolic="YES" id="jUP-Qe-l93"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="edk-MV-ArQ" secondAttribute="bottom" constant="20" id="knT-Qd-N96"/>
|
||||||
|
<constraint firstItem="qKz-Ir-3lf" firstAttribute="leading" secondItem="edk-MV-ArQ" secondAttribute="trailing" constant="8" symbolic="YES" id="p8X-En-PYk"/>
|
||||||
|
<constraint firstItem="qKz-Ir-3lf" firstAttribute="trailing" secondItem="gqS-YX-aBl" secondAttribute="trailing" id="qe1-0S-kq1"/>
|
||||||
|
<constraint firstItem="vRx-5Q-dar" firstAttribute="firstBaseline" secondItem="edk-MV-ArQ" secondAttribute="firstBaseline" id="qht-hF-KQQ"/>
|
||||||
|
<constraint firstItem="aZY-o8-2Dn" firstAttribute="top" secondItem="k6k-0V-j7w" secondAttribute="top" constant="8" id="t1Z-3T-UXQ"/>
|
||||||
|
<constraint firstItem="qKz-Ir-3lf" firstAttribute="firstBaseline" secondItem="edk-MV-ArQ" secondAttribute="firstBaseline" id="uid-vB-VTE"/>
|
||||||
|
<constraint firstItem="edk-MV-ArQ" firstAttribute="leading" secondItem="gqS-YX-aBl" secondAttribute="leading" id="x0l-y0-NlL"/>
|
||||||
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
</tabViewItems>
|
</tabViewItems>
|
||||||
</tabView>
|
</tabView>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2cq-R3-Ksh">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2cq-R3-Ksh">
|
||||||
<rect key="frame" x="109" y="165" width="155" height="25"/>
|
<rect key="frame" x="129" y="162" width="157" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="Pb9-YV-rYe">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="Pb9-YV-rYe">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -431,7 +524,7 @@ Gw
|
|||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4el-r1-iRL">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4el-r1-iRL">
|
||||||
<rect key="frame" x="42" y="172" width="63" height="16"/>
|
<rect key="frame" x="63" y="169" width="63" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Algorithm" id="GVd-KH-pHc">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Algorithm" id="GVd-KH-pHc">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -476,18 +569,18 @@ Gw
|
|||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
<tabViewItem label="Advanced" identifier="" id="368">
|
<tabViewItem label="Advanced" identifier="" id="368">
|
||||||
<view key="view" id="369">
|
<view key="view" id="369">
|
||||||
<rect key="frame" x="10" y="33" width="507" height="391"/>
|
<rect key="frame" x="10" y="33" width="513" height="393"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button verticalHuggingPriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="531">
|
<button verticalHuggingPriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="531">
|
||||||
<rect key="frame" x="184" y="355" width="145" height="18"/>
|
<rect key="frame" x="184" y="356" width="149" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Enable Entry History" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="532">
|
<buttonCell key="cell" type="check" title="Enable Entry History" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="532">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1273">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1273">
|
||||||
<rect key="frame" x="186" y="327" width="64" height="22"/>
|
<rect key="frame" x="186" y="328" width="64" height="21"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="64" id="PRg-vx-8QK"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="64" id="PRg-vx-8QK"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -499,11 +592,11 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1294">
|
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1294">
|
||||||
<rect key="frame" x="255" y="325" width="19" height="27"/>
|
<rect key="frame" x="255" y="325" width="19" height="28"/>
|
||||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="1295"/>
|
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="1295"/>
|
||||||
</stepper>
|
</stepper>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1268">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1268">
|
||||||
<rect key="frame" x="41" y="330" width="139" height="17"/>
|
<rect key="frame" x="41" y="331" width="139" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Maximum history size:" id="1269">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Maximum history size:" id="1269">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -511,7 +604,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="557">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="557">
|
||||||
<rect key="frame" x="18" y="302" width="162" height="17"/>
|
<rect key="frame" x="18" y="304" width="162" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Maximum items in history:" id="558">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Maximum items in history:" id="558">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -519,7 +612,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="593">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="593">
|
||||||
<rect key="frame" x="186" y="299" width="64" height="22"/>
|
<rect key="frame" x="186" y="301" width="64" height="21"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="594">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="594">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -527,18 +620,18 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="599">
|
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="599">
|
||||||
<rect key="frame" x="255" y="297" width="19" height="27"/>
|
<rect key="frame" x="255" y="298" width="19" height="28"/>
|
||||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="600"/>
|
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="600"/>
|
||||||
</stepper>
|
</stepper>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="535">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="535">
|
||||||
<rect key="frame" x="184" y="266" width="137" height="18"/>
|
<rect key="frame" x="184" y="268" width="141" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Enable Recycle Bin" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="536">
|
<buttonCell key="cell" type="check" title="Enable Recycle Bin" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="536">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="678">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="678">
|
||||||
<rect key="frame" x="184" y="236" width="38" height="25"/>
|
<rect key="frame" x="183" y="237" width="39" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="679">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="679">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -546,10 +639,10 @@ Gw
|
|||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="U7M-MH-EFw">
|
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="U7M-MH-EFw">
|
||||||
<rect key="frame" x="20" y="288" width="467" height="5"/>
|
<rect key="frame" x="20" y="291" width="473" height="5"/>
|
||||||
</box>
|
</box>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1582">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1582">
|
||||||
<rect key="frame" x="63" y="200" width="117" height="17"/>
|
<rect key="frame" x="63" y="203" width="117" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Default Username:" id="1591">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Default Username:" id="1591">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -557,7 +650,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1730">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1730">
|
||||||
<rect key="frame" x="186" y="197" width="301" height="22"/>
|
<rect key="frame" x="186" y="200" width="307" height="21"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="1731">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="1731">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -565,7 +658,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1738">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1738">
|
||||||
<rect key="frame" x="184" y="153" width="38" height="25"/>
|
<rect key="frame" x="183" y="156" width="39" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="1739">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="1739">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -573,7 +666,7 @@ Gw
|
|||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="19r-LE-7X5">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="19r-LE-7X5">
|
||||||
<rect key="frame" x="186" y="95" width="128" height="22"/>
|
<rect key="frame" x="186" y="98" width="128" height="21"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="128" id="COb-0V-OmT"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="128" id="COb-0V-OmT"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -585,25 +678,25 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GUO-6H-UI2">
|
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GUO-6H-UI2">
|
||||||
<rect key="frame" x="319" y="92" width="19" height="27"/>
|
<rect key="frame" x="319" y="94" width="19" height="28"/>
|
||||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="qQV-3d-GpK"/>
|
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="qQV-3d-GpK"/>
|
||||||
</stepper>
|
</stepper>
|
||||||
<button verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Hqc-B0-xyz">
|
<button verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Hqc-B0-xyz">
|
||||||
<rect key="frame" x="184" y="123" width="171" height="18"/>
|
<rect key="frame" x="184" y="126" width="175" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Recommend key change" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="CtU-Eq-dgy">
|
<buttonCell key="cell" type="check" title="Recommend key change" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="CtU-Eq-dgy">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="upv-b3-vCc">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="upv-b3-vCc">
|
||||||
<rect key="frame" x="184" y="71" width="129" height="18"/>
|
<rect key="frame" x="184" y="73" width="133" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Force key change" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="z6u-YT-7LE">
|
<buttonCell key="cell" type="check" title="Force key change" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="z6u-YT-7LE">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VYh-cm-fix">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VYh-cm-fix">
|
||||||
<rect key="frame" x="186" y="43" width="128" height="22"/>
|
<rect key="frame" x="186" y="45" width="128" height="21"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="M9G-Yy-1s4">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="M9G-Yy-1s4">
|
||||||
<customFormatter key="formatter" id="3Ax-U4-Ofb" customClass="MPDayCountFormatter"/>
|
<customFormatter key="formatter" id="3Ax-U4-Ofb" customClass="MPDayCountFormatter"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -612,11 +705,11 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lH4-xp-5QF">
|
<stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lH4-xp-5QF">
|
||||||
<rect key="frame" x="319" y="40" width="19" height="27"/>
|
<rect key="frame" x="319" y="41" width="19" height="28"/>
|
||||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="7Hw-Qf-zWf"/>
|
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="7Hw-Qf-zWf"/>
|
||||||
</stepper>
|
</stepper>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1584">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1584">
|
||||||
<rect key="frame" x="75" y="159" width="105" height="17"/>
|
<rect key="frame" x="75" y="163" width="105" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Template Group:" id="1588">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Template Group:" id="1588">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -624,10 +717,10 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="I0d-r2-ySf">
|
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="I0d-r2-ySf">
|
||||||
<rect key="frame" x="20" y="145" width="467" height="5"/>
|
<rect key="frame" x="20" y="149" width="473" height="5"/>
|
||||||
</box>
|
</box>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NPm-5h-2Mz">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NPm-5h-2Mz">
|
||||||
<rect key="frame" x="65" y="242" width="115" height="17"/>
|
<rect key="frame" x="65" y="244" width="115" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recyclebin Group:" id="kI5-Kp-byE">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recyclebin Group:" id="kI5-Kp-byE">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -635,7 +728,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OmP-GD-2nA">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OmP-GD-2nA">
|
||||||
<rect key="frame" x="27" y="98" width="153" height="17"/>
|
<rect key="frame" x="27" y="101" width="153" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recommend key change" id="Xib-Fn-sqx">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Recommend key change" id="Xib-Fn-sqx">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -643,7 +736,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="S0c-4E-42z">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="S0c-4E-42z">
|
||||||
<rect key="frame" x="56" y="46" width="124" height="17"/>
|
<rect key="frame" x="57" y="48" width="123" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Enforce key change" id="5QH-N1-FHK">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Enforce key change" id="5QH-N1-FHK">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -651,7 +744,7 @@ Gw
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="VMc-Qg-eCr">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="VMc-Qg-eCr">
|
||||||
<rect key="frame" x="184" y="19" width="257" height="18"/>
|
<rect key="frame" x="184" y="20" width="261" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Force key change once after unlocking" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="pA1-aL-KjT">
|
<buttonCell key="cell" type="check" title="Force key change once after unlocking" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="pA1-aL-KjT">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -755,7 +848,7 @@ Gw
|
|||||||
<constraint firstItem="956" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="2" secondAttribute="leading" constant="20" symbolic="YES" id="Yla-YR-bgz"/>
|
<constraint firstItem="956" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="2" secondAttribute="leading" constant="20" symbolic="YES" id="Yla-YR-bgz"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
<point key="canvasLocation" x="-2020" y="-860"/>
|
<point key="canvasLocation" x="-2020.5" y="-860.5"/>
|
||||||
</window>
|
</window>
|
||||||
</objects>
|
</objects>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15702" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15702"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -16,11 +16,11 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView id="1">
|
<customView id="1">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="180" height="134"/>
|
<rect key="frame" x="0.0" y="0.0" width="190" height="132"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<datePicker horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3">
|
<datePicker horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3">
|
||||||
<rect key="frame" x="20" y="91" width="143" height="27"/>
|
<rect key="frame" x="20" y="88" width="153" height="28"/>
|
||||||
<datePickerCell key="cell" borderStyle="bezel" alignment="left" id="4">
|
<datePickerCell key="cell" borderStyle="bezel" alignment="left" id="4">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<date key="date" timeIntervalSinceReferenceDate="-595929600">
|
<date key="date" timeIntervalSinceReferenceDate="-595929600">
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
</datePickerCell>
|
</datePickerCell>
|
||||||
</datePicker>
|
</datePicker>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="15">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="15">
|
||||||
<rect key="frame" x="18" y="47" width="145" height="25"/>
|
<rect key="frame" x="17" y="44" width="157" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="16">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="16">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -42,9 +42,9 @@
|
|||||||
<action selector="setDatePreset:" target="-2" id="RzX-je-KSz"/>
|
<action selector="setDatePreset:" target="-2" id="RzX-je-KSz"/>
|
||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="25">
|
<button verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="25">
|
||||||
<rect key="frame" x="90" y="19" width="70" height="23"/>
|
<rect key="frame" x="87" y="13" width="90" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Use Date" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="26">
|
<buttonCell key="cell" type="push" title="Use Date" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="26">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -52,9 +52,9 @@
|
|||||||
<action selector="useDate:" target="-2" id="34n-E5-FQq"/>
|
<action selector="useDate:" target="-2" id="34n-E5-FQq"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="29">
|
<button verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="29">
|
||||||
<rect key="frame" x="26" y="19" width="56" height="23"/>
|
<rect key="frame" x="13" y="13" width="76" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Cancel" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="30">
|
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="30">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
<constraint firstAttribute="bottom" secondItem="25" secondAttribute="bottom" constant="20" symbolic="YES" id="36"/>
|
<constraint firstAttribute="bottom" secondItem="25" secondAttribute="bottom" constant="20" symbolic="YES" id="36"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="3" secondAttribute="trailing" constant="20" id="6Qs-OP-VRr"/>
|
<constraint firstAttribute="trailing" secondItem="3" secondAttribute="trailing" constant="20" id="6Qs-OP-VRr"/>
|
||||||
<constraint firstItem="25" firstAttribute="centerY" secondItem="29" secondAttribute="centerY" id="M8N-5g-ClS"/>
|
<constraint firstItem="25" firstAttribute="centerY" secondItem="29" secondAttribute="centerY" id="M8N-5g-ClS"/>
|
||||||
<constraint firstItem="25" firstAttribute="leading" secondItem="29" secondAttribute="trailing" constant="8" symbolic="YES" id="on5-xg-jcC"/>
|
<constraint firstItem="25" firstAttribute="leading" secondItem="29" secondAttribute="trailing" constant="12" symbolic="YES" id="on5-xg-jcC"/>
|
||||||
<constraint firstItem="15" firstAttribute="top" secondItem="3" secondAttribute="bottom" constant="20" symbolic="YES" id="qKB-vi-OAw"/>
|
<constraint firstItem="15" firstAttribute="top" secondItem="3" secondAttribute="bottom" constant="20" symbolic="YES" id="qKB-vi-OAw"/>
|
||||||
<constraint firstItem="25" firstAttribute="top" secondItem="15" secondAttribute="bottom" constant="8" symbolic="YES" id="sxX-fk-xaJ"/>
|
<constraint firstItem="25" firstAttribute="top" secondItem="15" secondAttribute="bottom" constant="8" symbolic="YES" id="sxX-fk-xaJ"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -44,11 +44,11 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<view translatesAutoresizingMaskIntoConstraints="NO" id="3">
|
<view translatesAutoresizingMaskIntoConstraints="NO" id="3">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="293" height="493"/>
|
<rect key="frame" x="0.0" y="0.0" width="273" height="493"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="82">
|
<segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="82">
|
||||||
<rect key="frame" x="76" y="470" width="142" height="19"/>
|
<rect key="frame" x="62" y="468" width="150" height="21"/>
|
||||||
<segmentedCell key="cell" controlSize="small" borderStyle="border" alignment="left" style="capsule" trackingMode="selectOne" id="238">
|
<segmentedCell key="cell" controlSize="small" borderStyle="border" alignment="left" style="rounded" trackingMode="selectOne" id="238">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<segments>
|
<segments>
|
||||||
<segment label="General" selected="YES"/>
|
<segment label="General" selected="YES"/>
|
||||||
@@ -58,26 +58,26 @@
|
|||||||
</segmentedCell>
|
</segmentedCell>
|
||||||
</segmentedControl>
|
</segmentedControl>
|
||||||
<tabView drawsBackground="NO" type="noTabsNoBorder" initialItem="110" translatesAutoresizingMaskIntoConstraints="NO" id="83">
|
<tabView drawsBackground="NO" type="noTabsNoBorder" initialItem="110" translatesAutoresizingMaskIntoConstraints="NO" id="83">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="293" height="467"/>
|
<rect key="frame" x="0.0" y="0.0" width="273" height="467"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<tabViewItems>
|
<tabViewItems>
|
||||||
<tabViewItem label="General" identifier="1" id="110">
|
<tabViewItem label="General" identifier="1" id="110">
|
||||||
<view key="view" id="111">
|
<view key="view" id="111">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="293" height="467"/>
|
<rect key="frame" x="0.0" y="0.0" width="273" height="467"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
</view>
|
</view>
|
||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
<tabViewItem label="Attachments" identifier="" id="109">
|
<tabViewItem label="Attachments" identifier="" id="109">
|
||||||
<view key="view" id="123">
|
<view key="view" id="123">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="293" height="467"/>
|
<rect key="frame" x="0.0" y="0.0" width="273" height="467"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="124">
|
<button focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="124">
|
||||||
<rect key="frame" x="241" y="428" width="32" height="23"/>
|
<rect key="frame" x="214" y="423" width="46" height="32"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="32" id="176"/>
|
<constraint firstAttribute="width" constant="32" id="176"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSAddTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="177">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSAddTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="177">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -94,19 +94,19 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="38" horizontalPageScroll="10" verticalLineScroll="38" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="125" customClass="HNHUIScrollView">
|
<scrollView autohidesScrollers="YES" horizontalLineScroll="38" horizontalPageScroll="10" verticalLineScroll="38" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="125" customClass="HNHUIScrollView">
|
||||||
<rect key="frame" x="20" y="26" width="253" height="396"/>
|
<rect key="frame" x="20" y="26" width="233" height="396"/>
|
||||||
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="F3N-QI-Di5">
|
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="F3N-QI-Di5">
|
||||||
<rect key="frame" x="1" y="1" width="251" height="394"/>
|
<rect key="frame" x="1" y="1" width="231" height="394"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowHeight="36" rowSizeStyle="automatic" viewBased="YES" id="137">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowHeight="36" rowSizeStyle="automatic" viewBased="YES" id="137">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="251" height="394"/>
|
<rect key="frame" x="0.0" y="0.0" width="231" height="394"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="alternateSelectedControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="alternateSelectedControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="219" minWidth="40" maxWidth="1000" id="140">
|
<tableColumn width="190" minWidth="40" maxWidth="1000" id="140">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="NormalCell" id="143">
|
<tableCellView identifier="NormalCell" id="143">
|
||||||
<rect key="frame" x="11" y="1" width="228" height="36"/>
|
<rect key="frame" x="11" y="1" width="199" height="36"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="144">
|
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="144">
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="152"/>
|
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="152"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="145">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="145">
|
||||||
<rect key="frame" x="41" y="10" width="186" height="16"/>
|
<rect key="frame" x="41" y="10" width="157" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="151">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="151">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -152,7 +152,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</tableCellView>
|
</tableCellView>
|
||||||
<tableCellView identifier="SelectedCell" id="141" customClass="MPSelectedAttachmentTableCellView">
|
<tableCellView identifier="SelectedCell" id="141" customClass="MPSelectedAttachmentTableCellView">
|
||||||
<rect key="frame" x="11" y="39" width="228" height="36"/>
|
<rect key="frame" x="11" y="39" width="199" height="36"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="167">
|
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="167">
|
||||||
@@ -164,7 +164,7 @@
|
|||||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="170"/>
|
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="170"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="166">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="166">
|
||||||
<rect key="frame" x="41" y="10" width="131" height="16"/>
|
<rect key="frame" x="41" y="10" width="106" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="171">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="171">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -172,7 +172,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="42g-QS-XtW">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="42g-QS-XtW">
|
||||||
<rect key="frame" x="175" y="4" width="54" height="25"/>
|
<rect key="frame" x="150" y="4" width="50" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" imageScaling="proportionallyDown" inset="2" pullsDown="YES" altersStateOfSelectedItem="NO" id="nJc-UT-cas">
|
<popUpButtonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" imageScaling="proportionallyDown" inset="2" pullsDown="YES" altersStateOfSelectedItem="NO" id="nJc-UT-cas">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -218,7 +218,7 @@
|
|||||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="100" id="KFw-Ma-DSd"/>
|
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="100" id="KFw-Ma-DSd"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="138">
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="138">
|
||||||
<rect key="frame" x="1" y="147" width="52" height="16"/>
|
<rect key="frame" x="1" y="379" width="231" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="139">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="139">
|
||||||
@@ -242,7 +242,7 @@
|
|||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
<tabViewItem label="Autotype" identifier="" id="hK7-Dx-yjH">
|
<tabViewItem label="Autotype" identifier="" id="hK7-Dx-yjH">
|
||||||
<view key="view" id="2py-ab-4ZU">
|
<view key="view" id="2py-ab-4ZU">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="293" height="467"/>
|
<rect key="frame" x="0.0" y="0.0" width="273" height="467"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
</view>
|
</view>
|
||||||
</tabViewItem>
|
</tabViewItem>
|
||||||
@@ -284,8 +284,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QSX-Xo-tcH">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QSX-Xo-tcH">
|
||||||
<rect key="frame" x="19" y="18" width="253" height="23"/>
|
<rect key="frame" x="13" y="13" width="265" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Show Plugin Data" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="X9y-K7-lix">
|
<buttonCell key="cell" type="push" title="Show Plugin Data" bezelStyle="rounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="X9y-K7-lix">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -295,8 +295,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="G9J-nn-2bu" customClass="MPContextButton">
|
<segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="G9J-nn-2bu" customClass="MPContextButton">
|
||||||
<rect key="frame" x="219" y="98" width="54" height="24"/>
|
<rect key="frame" x="219" y="97" width="55" height="24"/>
|
||||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="texturedRounded" trackingMode="selectOne" id="POU-2t-8fl">
|
<segmentedCell key="cell" borderStyle="border" alignment="left" style="separated" trackingMode="selectOne" id="POU-2t-8fl">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<segments>
|
<segments>
|
||||||
<segment image="NSAddTemplate" width="32"/>
|
<segment image="NSAddTemplate" width="32"/>
|
||||||
@@ -321,7 +321,7 @@
|
|||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="53" customClass="HNHUITextField">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="53" customClass="HNHUITextField">
|
||||||
<rect key="frame" x="0.0" y="286" width="251" height="21"/>
|
<rect key="frame" x="0.0" y="286" width="251" height="21"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="70">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="70">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -341,7 +341,7 @@
|
|||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="55" customClass="HNHUITextField">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="55" customClass="HNHUITextField">
|
||||||
<rect key="frame" x="0.0" y="236" width="251" height="20"/>
|
<rect key="frame" x="0.0" y="236" width="251" height="20"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="68">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="68">
|
||||||
<font key="font" size="13" name="Menlo-Regular"/>
|
<font key="font" size="13" name="Menlo-Regular"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -362,9 +362,9 @@
|
|||||||
<stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" horizontalHuggingPriority="249" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="C4J-K4-QBG">
|
<stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" horizontalHuggingPriority="249" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="C4J-K4-QBG">
|
||||||
<rect key="frame" x="0.0" y="186" width="251" height="20"/>
|
<rect key="frame" x="0.0" y="186" width="251" height="20"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<secureTextField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="60" customClass="HNHUISecureTextField">
|
<secureTextField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" contentType="oneTimeCode" translatesAutoresizingMaskIntoConstraints="NO" id="60" customClass="HNHUISecureTextField">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="135" height="20"/>
|
<rect key="frame" x="0.0" y="0.0" width="123" height="20"/>
|
||||||
<secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="63" customClass="HNHUISecureTextFieldCell">
|
<secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="63">
|
||||||
<font key="font" size="13" name="Menlo-Regular"/>
|
<font key="font" size="13" name="Menlo-Regular"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -378,9 +378,9 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</secureTextField>
|
</secureTextField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="61">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="61">
|
||||||
<rect key="frame" x="142" y="-2" width="32" height="23"/>
|
<rect key="frame" x="124" y="-7" width="50" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="62">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="62">
|
||||||
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
<connections>
|
<connections>
|
||||||
@@ -388,8 +388,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="59">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="59">
|
||||||
<rect key="frame" x="180" y="-2" width="72" height="23"/>
|
<rect key="frame" x="168" y="-7" width="90" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Generate" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="64">
|
<buttonCell key="cell" type="push" title="Generate" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="64">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -420,7 +420,7 @@
|
|||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="56" customClass="HNHUITextField">
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="56" customClass="HNHUITextField">
|
||||||
<rect key="frame" x="0.0" y="135" width="251" height="21"/>
|
<rect key="frame" x="0.0" y="135" width="251" height="21"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="67">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="67">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -533,7 +533,7 @@
|
|||||||
<constraint firstItem="dx3-E2-FFt" firstAttribute="leading" secondItem="4" secondAttribute="leading" constant="20" symbolic="YES" id="sjr-Xo-zxh"/>
|
<constraint firstItem="dx3-E2-FFt" firstAttribute="leading" secondItem="4" secondAttribute="leading" constant="20" symbolic="YES" id="sjr-Xo-zxh"/>
|
||||||
<constraint firstItem="G9J-nn-2bu" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="4" secondAttribute="leading" constant="20" symbolic="YES" id="z4K-PB-Qfb"/>
|
<constraint firstItem="G9J-nn-2bu" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="4" secondAttribute="leading" constant="20" symbolic="YES" id="z4K-PB-Qfb"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<point key="canvasLocation" x="-304" y="-1442"/>
|
<point key="canvasLocation" x="-310" y="-1413"/>
|
||||||
</customView>
|
</customView>
|
||||||
<view translatesAutoresizingMaskIntoConstraints="NO" id="zv7-wE-Bmg" customClass="HNHUIScrollDocumentViewAdapter">
|
<view translatesAutoresizingMaskIntoConstraints="NO" id="zv7-wE-Bmg" customClass="HNHUIScrollDocumentViewAdapter">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="301" height="424"/>
|
<rect key="frame" x="0.0" y="0.0" width="301" height="424"/>
|
||||||
@@ -567,7 +567,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cDK-DM-F5z" customClass="HNHUITextField">
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cDK-DM-F5z" customClass="HNHUITextField">
|
||||||
<rect key="frame" x="20" y="329" width="228" height="21"/>
|
<rect key="frame" x="20" y="329" width="222" height="21"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Custom Entry Sequence" drawsBackground="YES" id="R2X-Ex-c6q">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Custom Entry Sequence" drawsBackground="YES" id="R2X-Ex-c6q">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -589,7 +589,7 @@
|
|||||||
<rect key="frame" x="20" y="136" width="261" height="163"/>
|
<rect key="frame" x="20" y="136" width="261" height="163"/>
|
||||||
<clipView key="contentView" id="aDE-WT-YIv">
|
<clipView key="contentView" id="aDE-WT-YIv">
|
||||||
<rect key="frame" x="1" y="1" width="259" height="161"/>
|
<rect key="frame" x="1" y="1" width="259" height="161"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="caM-L6-UHC">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" id="caM-L6-UHC">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="259" height="161"/>
|
<rect key="frame" x="0.0" y="0.0" width="259" height="161"/>
|
||||||
@@ -598,7 +598,7 @@
|
|||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="247" minWidth="40" maxWidth="1000" id="Wdn-k1-39b">
|
<tableColumn width="218" minWidth="40" maxWidth="1000" id="Wdn-k1-39b">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
@@ -611,12 +611,12 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="WindowAssociationCell" id="jI3-t8-8bp">
|
<tableCellView identifier="WindowAssociationCell" id="jI3-t8-8bp">
|
||||||
<rect key="frame" x="1" y="1" width="256" height="17"/>
|
<rect key="frame" x="11" y="1" width="227" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JgP-7K-Ugw">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="JgP-7K-Ugw">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="256" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="226" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="dyA-lo-PGa">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="dyA-lo-PGa">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -695,7 +695,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NjR-ea-Y7k" customClass="HNHUITextField">
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NjR-ea-Y7k" customClass="HNHUITextField">
|
||||||
<rect key="frame" x="20" y="10" width="228" height="21"/>
|
<rect key="frame" x="20" y="10" width="222" height="21"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Custom Window Sequence" drawsBackground="YES" id="fW9-9p-wwR">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Custom Window Sequence" drawsBackground="YES" id="fW9-9p-wwR">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -703,8 +703,8 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="m1C-m8-BKR">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="m1C-m8-BKR">
|
||||||
<rect key="frame" x="255" y="9" width="27" height="23"/>
|
<rect key="frame" x="243" y="4" width="45" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSActionTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="HIC-T9-j9G">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSActionTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="HIC-T9-j9G">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -713,8 +713,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="HDS-Bz-jrr">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="HDS-Bz-jrr">
|
||||||
<rect key="frame" x="255" y="327" width="27" height="23"/>
|
<rect key="frame" x="243" y="322" width="45" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSActionTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="V5Z-qf-FVH">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSActionTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="V5Z-qf-FVH">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -764,22 +764,22 @@
|
|||||||
<constraint firstAttribute="trailing" secondItem="45R-v4-ywl" secondAttribute="trailing" constant="20" symbolic="YES" id="uUm-S5-cxM"/>
|
<constraint firstAttribute="trailing" secondItem="45R-v4-ywl" secondAttribute="trailing" constant="20" symbolic="YES" id="uUm-S5-cxM"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="z03-zW-GN3" secondAttribute="trailing" constant="20" symbolic="YES" id="wiq-pY-TG8"/>
|
<constraint firstAttribute="trailing" secondItem="z03-zW-GN3" secondAttribute="trailing" constant="20" symbolic="YES" id="wiq-pY-TG8"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<point key="canvasLocation" x="146" y="-1275"/>
|
<point key="canvasLocation" x="145.5" y="-1275"/>
|
||||||
</view>
|
</view>
|
||||||
<scrollView borderType="line" autohidesScrollers="YES" horizontalLineScroll="56" horizontalPageScroll="10" verticalLineScroll="56" verticalPageScroll="10" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="180" customClass="HNHUIScrollView">
|
<scrollView borderType="line" autohidesScrollers="YES" horizontalLineScroll="56" horizontalPageScroll="10" verticalLineScroll="56" verticalPageScroll="10" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="180" customClass="HNHUIScrollView">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="261" height="268"/>
|
<rect key="frame" x="0.0" y="0.0" width="290" height="268"/>
|
||||||
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="k8G-zp-BXZ">
|
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="k8G-zp-BXZ">
|
||||||
<rect key="frame" x="1" y="1" width="259" height="266"/>
|
<rect key="frame" x="1" y="1" width="288" height="266"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="none" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="54" viewBased="YES" id="193">
|
<tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" tableStyle="fullWidth" selectionHighlightStyle="none" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="54" viewBased="YES" id="193">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="259" height="266"/>
|
<rect key="frame" x="0.0" y="0.0" width="288" height="266"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="247" minWidth="40" maxWidth="1000000" id="194">
|
<tableColumn width="218" minWidth="40" maxWidth="1000000" id="194">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
@@ -791,23 +791,22 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="SelectedCell" id="196" customClass="MPCustomFieldTableCellView">
|
<tableCellView identifier="SelectedCell" translatesAutoresizingMaskIntoConstraints="NO" id="196" customClass="MPCustomFieldTableCellView">
|
||||||
<rect key="frame" x="1" y="1" width="256" height="53"/>
|
<rect key="frame" x="0.0" y="0.0" width="227" height="53"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="199" customClass="HNHUISecureTextField">
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" contentType="oneTimeCode" translatesAutoresizingMaskIntoConstraints="NO" id="199" customClass="HNHUISecureTextField">
|
||||||
<rect key="frame" x="3" y="10" width="153" height="21"/>
|
<rect key="frame" x="3" y="10" width="114" height="21"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="213"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="213"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Value" drawsBackground="YES" id="214" customClass="HNHUISecureTextFieldCell">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Value" drawsBackground="YES" id="214" customClass="HNHUISecureTextFieldCell">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="200">
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="200">
|
||||||
<rect key="frame" x="1" y="39" width="223" height="14"/>
|
<rect key="frame" x="1" y="39" width="198" height="14"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="14" id="210"/>
|
<constraint firstAttribute="height" constant="14" id="210"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -818,16 +817,16 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="198">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="198">
|
||||||
<rect key="frame" x="197" y="9" width="26" height="23"/>
|
<rect key="frame" x="160" y="4" width="44" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSRemoveTemplate" imagePosition="overlaps" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="216">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSRemoveTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="216">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tDI-EL-JGB">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tDI-EL-JGB">
|
||||||
<rect key="frame" x="163" y="9" width="28" height="23"/>
|
<rect key="frame" x="118" y="4" width="44" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="52_EncryptedTemplate" imagePosition="overlaps" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="fat-C5-dS2">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSLockLockedTemplate" imagePosition="only" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" inset="2" id="fat-C5-dS2">
|
||||||
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
@@ -839,11 +838,11 @@
|
|||||||
<constraint firstItem="199" firstAttribute="leading" secondItem="196" secondAttribute="leading" constant="3" id="204"/>
|
<constraint firstItem="199" firstAttribute="leading" secondItem="196" secondAttribute="leading" constant="3" id="204"/>
|
||||||
<constraint firstItem="199" firstAttribute="top" secondItem="200" secondAttribute="bottom" constant="8" symbolic="YES" id="205"/>
|
<constraint firstItem="199" firstAttribute="top" secondItem="200" secondAttribute="bottom" constant="8" symbolic="YES" id="205"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="199" secondAttribute="bottom" constant="10" id="206"/>
|
<constraint firstAttribute="bottom" secondItem="199" secondAttribute="bottom" constant="10" id="206"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="198" secondAttribute="trailing" constant="34" id="209"/>
|
<constraint firstAttribute="trailing" secondItem="198" secondAttribute="trailing" constant="30" id="209"/>
|
||||||
<constraint firstItem="tDI-EL-JGB" firstAttribute="leading" secondItem="199" secondAttribute="trailing" constant="8" symbolic="YES" id="Wbg-bF-vD7"/>
|
<constraint firstItem="tDI-EL-JGB" firstAttribute="leading" secondItem="199" secondAttribute="trailing" constant="8" symbolic="YES" id="Wbg-bF-vD7"/>
|
||||||
<constraint firstItem="tDI-EL-JGB" firstAttribute="top" secondItem="199" secondAttribute="top" id="bpI-VY-E7b"/>
|
<constraint firstItem="tDI-EL-JGB" firstAttribute="top" secondItem="199" secondAttribute="top" id="bpI-VY-E7b"/>
|
||||||
<constraint firstItem="198" firstAttribute="top" secondItem="199" secondAttribute="top" id="lHD-b8-rRG"/>
|
<constraint firstItem="198" firstAttribute="top" secondItem="199" secondAttribute="top" id="lHD-b8-rRG"/>
|
||||||
<constraint firstItem="198" firstAttribute="leading" secondItem="tDI-EL-JGB" secondAttribute="trailing" constant="8" symbolic="YES" id="qSi-Hi-kM3"/>
|
<constraint firstItem="198" firstAttribute="leading" secondItem="tDI-EL-JGB" secondAttribute="trailing" constant="12" symbolic="YES" id="qSi-Hi-kM3"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="labelTextField" destination="200" id="242"/>
|
<outlet property="labelTextField" destination="200" id="242"/>
|
||||||
@@ -858,7 +857,9 @@
|
|||||||
</tableView>
|
</tableView>
|
||||||
</subviews>
|
</subviews>
|
||||||
<nil key="backgroundColor"/>
|
<nil key="backgroundColor"/>
|
||||||
|
<edgeInsets key="contentInsets" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||||
</clipView>
|
</clipView>
|
||||||
|
<edgeInsets key="contentInsets" left="0.0" right="0.0" top="0.0" bottom="0.0"/>
|
||||||
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="192">
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="192">
|
||||||
<rect key="frame" x="1" y="130" width="259" height="16"/>
|
<rect key="frame" x="1" y="130" width="259" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
@@ -870,13 +871,13 @@
|
|||||||
<connections>
|
<connections>
|
||||||
<outlet property="nextKeyView" destination="G9J-nn-2bu" id="CZ9-f2-JDQ"/>
|
<outlet property="nextKeyView" destination="G9J-nn-2bu" id="CZ9-f2-JDQ"/>
|
||||||
</connections>
|
</connections>
|
||||||
<point key="canvasLocation" x="-1015" y="-1275"/>
|
<point key="canvasLocation" x="-1049" y="-1342"/>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="52_EncryptedTemplate" width="16" height="16"/>
|
|
||||||
<image name="NSActionTemplate" width="15" height="15"/>
|
<image name="NSActionTemplate" width="15" height="15"/>
|
||||||
<image name="NSAddTemplate" width="14" height="13"/>
|
<image name="NSAddTemplate" width="14" height="13"/>
|
||||||
|
<image name="NSLockLockedTemplate" width="14" height="15"/>
|
||||||
<image name="NSQuickLookTemplate" width="21" height="13"/>
|
<image name="NSQuickLookTemplate" width="21" height="13"/>
|
||||||
<image name="NSRemoveTemplate" width="14" height="4"/>
|
<image name="NSRemoveTemplate" width="14" height="4"/>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14313.18"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
<outlet property="expireDateSelectButton" destination="4" id="W6H-j5-GLf"/>
|
<outlet property="expireDateSelectButton" destination="4" id="W6H-j5-GLf"/>
|
||||||
<outlet property="expiresCheckButton" destination="5" id="283"/>
|
<outlet property="expiresCheckButton" destination="5" id="283"/>
|
||||||
<outlet property="searchPopupButton" destination="229" id="284"/>
|
<outlet property="searchPopupButton" destination="229" id="284"/>
|
||||||
|
<outlet property="tagsTokenField" destination="5ty-ww-t4q" id="MD7-yb-kgI"/>
|
||||||
<outlet property="titleTextField" destination="23" id="35"/>
|
<outlet property="titleTextField" destination="23" id="35"/>
|
||||||
<outlet property="view" destination="37" id="45"/>
|
<outlet property="view" destination="37" id="45"/>
|
||||||
</connections>
|
</connections>
|
||||||
@@ -21,182 +22,218 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<scrollView borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="37" customClass="HNHUIScrollView">
|
<scrollView borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="37" customClass="HNHUIScrollView">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="257" height="291"/>
|
<rect key="frame" x="0.0" y="0.0" width="291" height="462"/>
|
||||||
<clipView key="contentView" id="HjA-kA-fcX">
|
<clipView key="contentView" id="HjA-kA-fcX">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="257" height="291"/>
|
<rect key="frame" x="0.0" y="0.0" width="291" height="462"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<view translatesAutoresizingMaskIntoConstraints="NO" id="38" customClass="HNHUIScrollDocumentViewAdapter">
|
<view translatesAutoresizingMaskIntoConstraints="NO" id="38" customClass="HNHUIScrollDocumentViewAdapter">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="257" height="291"/>
|
<rect key="frame" x="0.0" y="65" width="291" height="397"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="24">
|
<stackView distribution="fill" orientation="vertical" alignment="leading" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GyB-8Z-S3Q">
|
||||||
<rect key="frame" x="18" y="272" width="35" height="14"/>
|
<rect key="frame" x="20" y="20" width="251" height="357"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Name" id="25">
|
<subviews>
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="24">
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<rect key="frame" x="-2" y="343" width="255" height="14"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Name" id="25">
|
||||||
</textFieldCell>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
</textField>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="23" customClass="HNHUITextField">
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
<rect key="frame" x="20" y="242" width="217" height="22"/>
|
</textFieldCell>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="26">
|
</textField>
|
||||||
<font key="font" metaFont="system"/>
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="23" customClass="HNHUITextField">
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<rect key="frame" x="0.0" y="314" width="251" height="21"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="26">
|
||||||
</textFieldCell>
|
<font key="font" metaFont="system"/>
|
||||||
<connections>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<outlet property="nextKeyView" destination="5" id="KV0-QE-2i4"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</connections>
|
</textFieldCell>
|
||||||
</textField>
|
<connections>
|
||||||
<button horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="5">
|
<outlet property="nextKeyView" destination="5" id="KV0-QE-2i4"/>
|
||||||
<rect key="frame" x="18" y="214" width="67" height="18"/>
|
</connections>
|
||||||
<constraints>
|
</textField>
|
||||||
<constraint firstAttribute="height" constant="14" id="pWR-o1-KI6"/>
|
<stackView distribution="fill" orientation="horizontal" alignment="top" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aAt-VU-kLy">
|
||||||
</constraints>
|
<rect key="frame" x="0.0" y="286" width="251" height="20"/>
|
||||||
<buttonCell key="cell" type="check" title="Expires" bezelStyle="regularSquare" imagePosition="left" lineBreakMode="truncatingMiddle" state="on" inset="2" id="32">
|
<subviews>
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<button horizontalHuggingPriority="249" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="5">
|
||||||
<font key="font" metaFont="system"/>
|
<rect key="frame" x="-2" y="3" width="213" height="18"/>
|
||||||
</buttonCell>
|
<buttonCell key="cell" type="check" title="Expires" bezelStyle="regularSquare" imagePosition="left" lineBreakMode="truncatingMiddle" state="on" inset="2" id="32">
|
||||||
<connections>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<action selector="toggleExpire:" target="-2" id="t1w-WN-Eud"/>
|
<font key="font" metaFont="system"/>
|
||||||
<outlet property="nextKeyView" destination="4" id="Rem-Pk-yFJ"/>
|
</buttonCell>
|
||||||
</connections>
|
<connections>
|
||||||
</button>
|
<action selector="toggleExpire:" target="-2" id="t1w-WN-Eud"/>
|
||||||
<button focusRingType="exterior" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4">
|
<outlet property="nextKeyView" destination="4" id="Rem-Pk-yFJ"/>
|
||||||
<rect key="frame" x="205" y="210" width="32" height="25"/>
|
</connections>
|
||||||
<constraints>
|
</button>
|
||||||
<constraint firstAttribute="width" constant="32" id="l5I-EF-dHs"/>
|
<button focusRingType="exterior" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4">
|
||||||
</constraints>
|
<rect key="frame" x="218" y="-2" width="34" height="23"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSActionTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" focusRingType="exterior" imageScaling="proportionallyDown" inset="2" id="33">
|
<constraints>
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<constraint firstAttribute="width" constant="32" id="l5I-EF-dHs"/>
|
||||||
<font key="font" metaFont="system"/>
|
</constraints>
|
||||||
</buttonCell>
|
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSActionTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" focusRingType="exterior" imageScaling="proportionallyDown" inset="2" id="33">
|
||||||
<connections>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<action selector="pickExpiryDate:" target="-1" id="KIc-p2-zJQ"/>
|
<font key="font" metaFont="system"/>
|
||||||
<outlet property="nextKeyView" destination="229" id="12E-SZ-Mtu"/>
|
</buttonCell>
|
||||||
</connections>
|
<connections>
|
||||||
</button>
|
<action selector="pickExpiryDate:" target="-1" id="KIc-p2-zJQ"/>
|
||||||
<popUpButton verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="229">
|
<outlet property="nextKeyView" destination="229" id="12E-SZ-Mtu"/>
|
||||||
<rect key="frame" x="18" y="158" width="222" height="26"/>
|
</connections>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="230">
|
</button>
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
</subviews>
|
||||||
<font key="font" metaFont="menu"/>
|
<visibilityPriorities>
|
||||||
<menu key="menu" title="OtherViews" id="231"/>
|
<integer value="1000"/>
|
||||||
</popUpButtonCell>
|
<integer value="1000"/>
|
||||||
<connections>
|
</visibilityPriorities>
|
||||||
<outlet property="nextKeyView" destination="240" id="XsX-U5-uZd"/>
|
<customSpacing>
|
||||||
</connections>
|
<real value="3.4028234663852886e+38"/>
|
||||||
</popUpButton>
|
<real value="3.4028234663852886e+38"/>
|
||||||
<popUpButton verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="240">
|
</customSpacing>
|
||||||
<rect key="frame" x="18" y="103" width="222" height="26"/>
|
</stackView>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="242">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="264">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<rect key="frame" x="-2" y="264" width="255" height="14"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Search" id="265">
|
||||||
<menu key="menu" title="OtherViews" id="243"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
</popUpButtonCell>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<connections>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
<outlet property="nextKeyView" destination="Fnw-qz-IZU" id="Q0q-HY-T34"/>
|
</textFieldCell>
|
||||||
</connections>
|
</textField>
|
||||||
</popUpButton>
|
<popUpButton horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="229">
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="264">
|
<rect key="frame" x="-3" y="232" width="258" height="25"/>
|
||||||
<rect key="frame" x="18" y="190" width="41" height="14"/>
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="230">
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Search" id="265">
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="menu"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<menu key="menu" title="OtherViews" id="231"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
</popUpButtonCell>
|
||||||
</textFieldCell>
|
<connections>
|
||||||
</textField>
|
<outlet property="nextKeyView" destination="240" id="XsX-U5-uZd"/>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="276">
|
</connections>
|
||||||
<rect key="frame" x="18" y="135" width="52" height="14"/>
|
</popUpButton>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Autotype" id="277">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="276">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<rect key="frame" x="-2" y="214" width="255" height="14"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Autotype" id="277">
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
</textFieldCell>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textField>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Fnw-qz-IZU" customClass="HNHUITextField">
|
</textFieldCell>
|
||||||
<rect key="frame" x="20" y="50" width="217" height="22"/>
|
</textField>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="VeF-V7-i2I">
|
<popUpButton horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="240">
|
||||||
<font key="font" metaFont="system"/>
|
<rect key="frame" x="-3" y="182" width="258" height="25"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="242">
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
</textFieldCell>
|
<font key="font" metaFont="menu"/>
|
||||||
<connections>
|
<menu key="menu" title="OtherViews" id="243"/>
|
||||||
<outlet property="nextKeyView" destination="1Uh-eo-H0j" id="zer-UH-73e"/>
|
</popUpButtonCell>
|
||||||
</connections>
|
<connections>
|
||||||
</textField>
|
<outlet property="nextKeyView" destination="Fnw-qz-IZU" id="Q0q-HY-T34"/>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6Lw-XW-x20">
|
</connections>
|
||||||
<rect key="frame" x="18" y="80" width="107" height="14"/>
|
</popUpButton>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Autotype Sequence" id="6FG-UZ-Adh">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6Lw-XW-x20">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<rect key="frame" x="-2" y="164" width="255" height="14"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Autotype Sequence" id="6FG-UZ-Adh">
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
</textFieldCell>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textField>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Uh-eo-H0j">
|
</textFieldCell>
|
||||||
<rect key="frame" x="20" y="18" width="217" height="25"/>
|
</textField>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Show Plugin Data" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="qGr-oT-WjP">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Fnw-qz-IZU" customClass="HNHUITextField">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<rect key="frame" x="0.0" y="135" width="251" height="21"/>
|
||||||
<font key="font" metaFont="system"/>
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="VeF-V7-i2I">
|
||||||
</buttonCell>
|
<font key="font" metaFont="system"/>
|
||||||
<connections>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<action selector="showPluginData:" target="-1" id="yjJ-Xy-m4c"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<outlet property="nextKeyView" destination="23" id="x9e-ya-hiK"/>
|
</textFieldCell>
|
||||||
</connections>
|
<connections>
|
||||||
</button>
|
<outlet property="nextKeyView" destination="1Uh-eo-H0j" id="zer-UH-73e"/>
|
||||||
|
</connections>
|
||||||
|
</textField>
|
||||||
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mpC-tZ-ivx">
|
||||||
|
<rect key="frame" x="-2" y="113" width="255" height="14"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Tags" id="Rbf-K0-kWx">
|
||||||
|
<font key="font" metaFont="smallSystem"/>
|
||||||
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<tokenField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5ty-ww-t4q">
|
||||||
|
<rect key="frame" x="0.0" y="28" width="251" height="77"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="height" constant="77" id="W4K-vz-0pf"/>
|
||||||
|
</constraints>
|
||||||
|
<tokenFieldCell key="cell" selectable="YES" editable="YES" borderStyle="bezel" alignment="left" drawsBackground="YES" allowsEditingTextAttributes="YES" id="FfM-xQ-evx">
|
||||||
|
<font key="font" metaFont="cellTitle"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</tokenFieldCell>
|
||||||
|
</tokenField>
|
||||||
|
<button horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Uh-eo-H0j">
|
||||||
|
<rect key="frame" x="-7" y="-7" width="265" height="32"/>
|
||||||
|
<buttonCell key="cell" type="push" title="Show Plugin Data" bezelStyle="rounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="qGr-oT-WjP">
|
||||||
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="showPluginData:" target="-1" id="yjJ-Xy-m4c"/>
|
||||||
|
<outlet property="nextKeyView" destination="23" id="x9e-ya-hiK"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
</subviews>
|
||||||
|
<visibilityPriorities>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
</visibilityPriorities>
|
||||||
|
<customSpacing>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
</customSpacing>
|
||||||
|
</stackView>
|
||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="trailing" secondItem="Fnw-qz-IZU" secondAttribute="trailing" constant="20" symbolic="YES" id="3Gx-EC-k0Q"/>
|
<constraint firstItem="GyB-8Z-S3Q" firstAttribute="top" secondItem="38" secondAttribute="top" constant="20" id="BWS-cT-xmR"/>
|
||||||
<constraint firstItem="240" firstAttribute="top" secondItem="276" secondAttribute="bottom" constant="8" id="6Pu-PB-xxy"/>
|
<constraint firstAttribute="bottom" secondItem="GyB-8Z-S3Q" secondAttribute="bottom" constant="20" id="WaU-34-yaM"/>
|
||||||
<constraint firstItem="23" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="ABR-Ef-1ss"/>
|
<constraint firstAttribute="trailing" secondItem="GyB-8Z-S3Q" secondAttribute="trailing" constant="20" id="q0p-sG-MEY"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="229" secondAttribute="trailing" constant="20" symbolic="YES" id="Anv-gp-aTi"/>
|
<constraint firstItem="GyB-8Z-S3Q" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" symbolic="YES" id="zeA-bC-Akz"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="4" secondAttribute="trailing" constant="20" id="D99-L7-ojR"/>
|
|
||||||
<constraint firstItem="240" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="E0a-1e-KR9"/>
|
|
||||||
<constraint firstItem="5" firstAttribute="centerY" secondItem="4" secondAttribute="centerY" id="FdF-Pn-yY2"/>
|
|
||||||
<constraint firstItem="5" firstAttribute="top" secondItem="23" secondAttribute="bottom" constant="12" id="GFF-xs-Nuj"/>
|
|
||||||
<constraint firstItem="Fnw-qz-IZU" firstAttribute="top" secondItem="6Lw-XW-x20" secondAttribute="bottom" constant="8" id="Gfr-Tc-ldH"/>
|
|
||||||
<constraint firstItem="4" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="5" secondAttribute="trailing" constant="8" symbolic="YES" id="HDo-Yu-P02"/>
|
|
||||||
<constraint firstItem="1Uh-eo-H0j" firstAttribute="top" secondItem="Fnw-qz-IZU" secondAttribute="bottom" constant="8" symbolic="YES" id="ON2-U6-flt"/>
|
|
||||||
<constraint firstItem="24" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="OhC-BP-oPg"/>
|
|
||||||
<constraint firstItem="6Lw-XW-x20" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="SVn-Hh-xc6"/>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="240" secondAttribute="trailing" constant="20" symbolic="YES" id="V4d-R9-46P"/>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="23" secondAttribute="trailing" constant="20" id="Vej-zI-z2w"/>
|
|
||||||
<constraint firstItem="24" firstAttribute="top" secondItem="38" secondAttribute="top" constant="5" id="Wk6-kJ-fTY"/>
|
|
||||||
<constraint firstItem="5" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="ZaF-lS-pN8"/>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="1Uh-eo-H0j" secondAttribute="trailing" constant="20" symbolic="YES" id="ZzC-4Z-u4x"/>
|
|
||||||
<constraint firstItem="276" firstAttribute="top" secondItem="229" secondAttribute="bottom" constant="12" id="c0H-cE-rnF"/>
|
|
||||||
<constraint firstItem="6Lw-XW-x20" firstAttribute="top" secondItem="240" secondAttribute="bottom" constant="12" id="hDT-8L-2eV"/>
|
|
||||||
<constraint firstItem="23" firstAttribute="top" secondItem="24" secondAttribute="bottom" constant="8" id="kbc-Eb-FPr"/>
|
|
||||||
<constraint firstItem="Fnw-qz-IZU" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="lGO-Wz-eF9"/>
|
|
||||||
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="1Uh-eo-H0j" secondAttribute="bottom" constant="20" symbolic="YES" id="owP-KD-Io0"/>
|
|
||||||
<constraint firstItem="229" firstAttribute="top" secondItem="264" secondAttribute="bottom" constant="8" id="pDa-nw-ByQ"/>
|
|
||||||
<constraint firstItem="264" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="qnB-Pd-MqU"/>
|
|
||||||
<constraint firstItem="1Uh-eo-H0j" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" symbolic="YES" id="rJf-uc-7me"/>
|
|
||||||
<constraint firstItem="229" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="sCg-Na-ouj"/>
|
|
||||||
<constraint firstItem="276" firstAttribute="leading" secondItem="38" secondAttribute="leading" constant="20" id="xLc-Rz-374"/>
|
|
||||||
<constraint firstItem="264" firstAttribute="top" secondItem="5" secondAttribute="bottom" constant="12" id="xe7-ue-Wip"/>
|
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="38" firstAttribute="top" secondItem="HjA-kA-fcX" secondAttribute="top" id="Alo-CY-dgK"/>
|
<constraint firstItem="38" firstAttribute="top" secondItem="HjA-kA-fcX" secondAttribute="top" id="Alo-CY-dgK"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="38" secondAttribute="bottom" id="FbE-Hu-Y9V"/>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="38" secondAttribute="trailing" id="HP8-rS-ooi"/>
|
<constraint firstAttribute="trailing" secondItem="38" secondAttribute="trailing" id="HP8-rS-ooi"/>
|
||||||
<constraint firstItem="38" firstAttribute="leading" secondItem="HjA-kA-fcX" secondAttribute="leading" id="h7m-U5-sA4"/>
|
<constraint firstItem="38" firstAttribute="leading" secondItem="HjA-kA-fcX" secondAttribute="leading" id="h7m-U5-sA4"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</clipView>
|
</clipView>
|
||||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="39">
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="39">
|
||||||
<rect key="frame" x="-100" y="-100" width="257" height="16"/>
|
<rect key="frame" x="-100" y="-100" width="257" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="40">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="40">
|
||||||
<rect key="frame" x="-100" y="-100" width="15" height="201"/>
|
<rect key="frame" x="-100" y="-100" width="15" height="201"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<point key="canvasLocation" x="-2" y="132"/>
|
<point key="canvasLocation" x="-805.5" y="-499"/>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSActionTemplate" width="14" height="14"/>
|
<image name="NSActionTemplate" width="15" height="15"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14313.18"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -20,13 +20,13 @@
|
|||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<scrollView wantsLayer="YES" focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="57" customClass="HNHUIScrollView">
|
<scrollView wantsLayer="YES" focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="57" customClass="HNHUIScrollView">
|
||||||
<rect key="frame" x="10" y="50" width="445" height="330"/>
|
<rect key="frame" x="10" y="60" width="445" height="320"/>
|
||||||
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="Gwf-zs-lPT">
|
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="Gwf-zs-lPT">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="445" height="330"/>
|
<rect key="frame" x="0.0" y="0.0" width="445" height="320"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<collectionView focusRingType="none" selectable="YES" id="58" customClass="MPCollectionView">
|
<collectionView focusRingType="none" selectable="YES" id="58" customClass="MPCollectionView">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="445" height="330"/>
|
<rect key="frame" x="0.0" y="0.0" width="445" height="320"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<color key="primaryBackgroundColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="primaryBackgroundColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<connections>
|
<connections>
|
||||||
@@ -40,13 +40,13 @@
|
|||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="60">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="60">
|
||||||
<rect key="frame" x="364" y="0.0" width="16" height="268"/>
|
<rect key="frame" x="429" y="0.0" width="16" height="320"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="101">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="101">
|
||||||
<rect key="frame" x="330" y="19" width="115" height="23"/>
|
<rect key="frame" x="316" y="13" width="136" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Use Default Icon" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="102">
|
<buttonCell key="cell" type="push" title="Use Default Icon" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="102">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -55,8 +55,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8kv-BJ-IEk">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8kv-BJ-IEk">
|
||||||
<rect key="frame" x="214" y="19" width="108" height="23"/>
|
<rect key="frame" x="194" y="13" width="124" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Download Icon" bezelStyle="texturedRounded" imagePosition="left" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="iaf-XW-XUo">
|
<buttonCell key="cell" type="push" title="Download Icon" bezelStyle="rounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="iaf-XW-XUo">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -65,8 +65,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="His-4A-hcY">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="His-4A-hcY">
|
||||||
<rect key="frame" x="150" y="19" width="56" height="23"/>
|
<rect key="frame" x="120" y="13" width="76" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Cancel" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="1kM-cI-P1o">
|
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="1kM-cI-P1o">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -82,11 +82,11 @@
|
|||||||
<constraint firstItem="57" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="10" id="111"/>
|
<constraint firstItem="57" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="10" id="111"/>
|
||||||
<constraint firstItem="His-4A-hcY" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="69a-Sb-jSj"/>
|
<constraint firstItem="His-4A-hcY" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="69a-Sb-jSj"/>
|
||||||
<constraint firstItem="8kv-BJ-IEk" firstAttribute="baseline" secondItem="101" secondAttribute="baseline" id="Knp-g8-7FQ"/>
|
<constraint firstItem="8kv-BJ-IEk" firstAttribute="baseline" secondItem="101" secondAttribute="baseline" id="Knp-g8-7FQ"/>
|
||||||
<constraint firstItem="8kv-BJ-IEk" firstAttribute="leading" secondItem="His-4A-hcY" secondAttribute="trailing" constant="8" symbolic="YES" id="MZ0-p6-6MH"/>
|
<constraint firstItem="8kv-BJ-IEk" firstAttribute="leading" secondItem="His-4A-hcY" secondAttribute="trailing" constant="12" symbolic="YES" id="MZ0-p6-6MH"/>
|
||||||
<constraint firstItem="57" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="N2b-Nx-SZC"/>
|
<constraint firstItem="57" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="N2b-Nx-SZC"/>
|
||||||
<constraint firstItem="101" firstAttribute="top" secondItem="57" secondAttribute="bottom" constant="8" symbolic="YES" id="WT3-Nh-FrW"/>
|
<constraint firstItem="101" firstAttribute="top" secondItem="57" secondAttribute="bottom" constant="20" symbolic="YES" id="WT3-Nh-FrW"/>
|
||||||
<constraint firstItem="His-4A-hcY" firstAttribute="baseline" secondItem="101" secondAttribute="baseline" id="fq3-rS-gvQ"/>
|
<constraint firstItem="His-4A-hcY" firstAttribute="baseline" secondItem="101" secondAttribute="baseline" id="fq3-rS-gvQ"/>
|
||||||
<constraint firstItem="101" firstAttribute="leading" secondItem="8kv-BJ-IEk" secondAttribute="trailing" constant="8" symbolic="YES" id="nvi-CZ-a6L"/>
|
<constraint firstItem="101" firstAttribute="leading" secondItem="8kv-BJ-IEk" secondAttribute="trailing" constant="12" symbolic="YES" id="nvi-CZ-a6L"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<point key="canvasLocation" x="-1175" y="-7"/>
|
<point key="canvasLocation" x="-1175" y="-7"/>
|
||||||
</customView>
|
</customView>
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="MEC-x9-zrX">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="MEC-x9-zrX">
|
||||||
<rect key="frame" x="32" y="32" width="16" height="16"/>
|
<rect key="frame" x="32" y="29" width="16" height="22"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="16" id="cau-QV-8TQ"/>
|
<constraint firstAttribute="width" constant="16" id="cau-QV-8TQ"/>
|
||||||
<constraint firstAttribute="height" constant="16" id="yHZ-qj-Rcy"/>
|
<constraint firstAttribute="height" constant="16" id="yHZ-qj-Rcy"/>
|
||||||
@@ -126,7 +126,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="114">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="114">
|
||||||
<rect key="frame" x="8" y="8" width="32" height="32"/>
|
<rect key="frame" x="8" y="6.5" width="32.5" height="36"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="32" id="161"/>
|
<constraint firstAttribute="width" constant="32" id="161"/>
|
||||||
<constraint firstAttribute="height" constant="32" id="162"/>
|
<constraint firstAttribute="height" constant="32" id="162"/>
|
||||||
@@ -161,7 +161,7 @@
|
|||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSAddTemplate" width="11" height="11"/>
|
<image name="NSAddTemplate" width="14" height="13"/>
|
||||||
<image name="NSRefreshFreestandingTemplate" width="14" height="14"/>
|
<image name="NSRefreshFreestandingTemplate" width="15" height="15"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17506" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17506"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<rect key="frame" x="0.0" y="0.0" width="278" height="662"/>
|
<rect key="frame" x="0.0" y="0.0" width="278" height="662"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="2998" customClass="MPIconImageView">
|
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="2998" customClass="MPIconImageView">
|
||||||
<rect key="frame" x="20" y="620" width="32" height="32"/>
|
<rect key="frame" x="20" y="617" width="32" height="38"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="32" id="3027"/>
|
<constraint firstAttribute="width" constant="32" id="3027"/>
|
||||||
<constraint firstAttribute="height" constant="32" id="3028"/>
|
<constraint firstAttribute="height" constant="32" id="3028"/>
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2985">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2985">
|
||||||
<rect key="frame" x="82" y="194" width="115" height="23"/>
|
<rect key="frame" x="82" y="194" width="116" height="24"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="No Selection" id="2986">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="No Selection" id="2986">
|
||||||
<font key="font" metaFont="system" size="20"/>
|
<font key="font" metaFont="system" size="20"/>
|
||||||
<color key="textColor" name="controlShadowColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlShadowColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -126,7 +126,7 @@
|
|||||||
<rect key="frame" x="1" y="1" width="236" height="192"/>
|
<rect key="frame" x="1" y="1" width="236" height="192"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textView importsGraphics="NO" richText="NO" verticallyResizable="YES" allowsNonContiguousLayout="YES" smartInsertDelete="YES" id="g24-gQ-foD" customClass="HNHUITextView">
|
<textView importsGraphics="NO" richText="NO" verticallyResizable="YES" allowsUndo="YES" allowsNonContiguousLayout="YES" smartInsertDelete="YES" id="g24-gQ-foD" customClass="HNHUITextView">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="236" height="192"/>
|
<rect key="frame" x="0.0" y="0.0" width="236" height="192"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -204,6 +204,6 @@
|
|||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSActionTemplate" width="14" height="14"/>
|
<image name="NSActionTemplate" width="15" height="15"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment version="101304" identifier="macosx"/>
|
<deployment version="101304" identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -22,21 +22,23 @@
|
|||||||
</customObject>
|
</customObject>
|
||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView id="Hz6-mo-xeY">
|
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Hz6-mo-xeY">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="354" height="301"/>
|
<rect key="frame" x="0.0" y="0.0" width="324" height="362"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
|
||||||
<subviews>
|
<subviews>
|
||||||
<gridView xPlacement="leading" yPlacement="center" rowAlignment="firstBaseline" rowSpacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="4gl-4p-0WY">
|
<gridView horizontalHuggingPriority="251" xPlacement="leading" yPlacement="center" rowAlignment="firstBaseline" rowSpacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="4gl-4p-0WY">
|
||||||
<rect key="frame" x="20" y="28" width="314" height="253"/>
|
<rect key="frame" x="20" y="60" width="284" height="282"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="GJN-85-eYH" firstAttribute="trailing" secondItem="Bt8-9X-91R" secondAttribute="trailing" id="9fv-9s-YwU"/>
|
<constraint firstItem="GJN-85-eYH" firstAttribute="trailing" secondItem="Bt8-9X-91R" secondAttribute="trailing" id="9fv-9s-YwU"/>
|
||||||
|
<constraint firstItem="AdN-zI-C65" firstAttribute="top" secondItem="caF-Au-ey8" secondAttribute="bottom" constant="8" symbolic="YES" id="GFv-3D-Ejx"/>
|
||||||
|
<constraint firstItem="GJN-85-eYH" firstAttribute="top" secondItem="ku7-YD-kkV" secondAttribute="bottom" constant="8" symbolic="YES" id="kxe-2P-DnD"/>
|
||||||
|
<constraint firstItem="aa3-XV-Chc" firstAttribute="top" secondItem="AdN-zI-C65" secondAttribute="bottom" constant="8" id="lWy-AW-0tB"/>
|
||||||
<constraint firstItem="AdN-zI-C65" firstAttribute="trailing" secondItem="Bt8-9X-91R" secondAttribute="trailing" id="xXQ-D9-G21"/>
|
<constraint firstItem="AdN-zI-C65" firstAttribute="trailing" secondItem="Bt8-9X-91R" secondAttribute="trailing" id="xXQ-D9-G21"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<rows>
|
<rows>
|
||||||
<gridRow yPlacement="center" topPadding="4" bottomPadding="4" id="T2o-We-WjN"/>
|
<gridRow topPadding="4" bottomPadding="4" id="T2o-We-WjN"/>
|
||||||
<gridRow yPlacement="fill" id="leK-j9-Cah"/>
|
<gridRow yPlacement="fill" id="leK-j9-Cah"/>
|
||||||
<gridRow yPlacement="none" id="J7I-Uw-OQv"/>
|
<gridRow id="J7I-Uw-OQv"/>
|
||||||
<gridRow yPlacement="none" id="GmF-7D-t30"/>
|
<gridRow id="GmF-7D-t30"/>
|
||||||
<gridRow id="hS6-e9-JPg"/>
|
<gridRow id="hS6-e9-JPg"/>
|
||||||
<gridRow id="QY3-TF-Rbs"/>
|
<gridRow id="QY3-TF-Rbs"/>
|
||||||
<gridRow id="0Jy-aF-Wst"/>
|
<gridRow id="0Jy-aF-Wst"/>
|
||||||
@@ -48,8 +50,8 @@
|
|||||||
</columns>
|
</columns>
|
||||||
<gridCells>
|
<gridCells>
|
||||||
<gridCell row="T2o-We-WjN" column="Ar1-qh-iHT" rowAlignment="lastBaseline" id="19c-m3-M2s">
|
<gridCell row="T2o-We-WjN" column="Ar1-qh-iHT" rowAlignment="lastBaseline" id="19c-m3-M2s">
|
||||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hh3-nA-yHV">
|
<textField key="contentView" horizontalHuggingPriority="252" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hh3-nA-yHV">
|
||||||
<rect key="frame" x="46" y="209" width="59" height="16"/>
|
<rect key="frame" x="46" y="222" width="59" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="QR Code" id="PuA-kW-t29">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="QR Code" id="PuA-kW-t29">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -59,7 +61,7 @@
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="T2o-We-WjN" column="Ecc-pj-MX9" rowAlignment="none" id="jgf-mM-CW2">
|
<gridCell row="T2o-We-WjN" column="Ecc-pj-MX9" rowAlignment="none" id="jgf-mM-CW2">
|
||||||
<imageView key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="yS5-M0-RSB">
|
<imageView key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="yS5-M0-RSB">
|
||||||
<rect key="frame" x="106" y="182" width="70" height="70"/>
|
<rect key="frame" x="106" y="195" width="70" height="70"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="64" id="MhV-Ye-bQt"/>
|
<constraint firstAttribute="width" constant="64" id="MhV-Ye-bQt"/>
|
||||||
<constraint firstAttribute="height" constant="64" id="RRz-CV-k1H"/>
|
<constraint firstAttribute="height" constant="64" id="RRz-CV-k1H"/>
|
||||||
@@ -71,9 +73,9 @@
|
|||||||
</imageView>
|
</imageView>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="T2o-We-WjN" column="aZO-dP-SsW" xPlacement="leading" id="0bn-HV-7V1"/>
|
<gridCell row="T2o-We-WjN" column="aZO-dP-SsW" xPlacement="leading" id="0bn-HV-7V1"/>
|
||||||
<gridCell row="leK-j9-Cah" column="Ar1-qh-iHT" id="fgi-y3-z17">
|
<gridCell row="leK-j9-Cah" column="Ar1-qh-iHT" rowAlignment="none" id="fgi-y3-z17">
|
||||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="e3u-QK-K24">
|
<textField key="contentView" horizontalHuggingPriority="252" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="e3u-QK-K24">
|
||||||
<rect key="frame" x="61" y="154" width="44" height="16"/>
|
<rect key="frame" x="61" y="148" width="44" height="21"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Secret" id="ufY-IN-5UY">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="Secret" id="ufY-IN-5UY">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -81,9 +83,9 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="leK-j9-Cah" column="Ecc-pj-MX9" headOfMergedCell="q9e-Zx-LIY" yPlacement="center" id="q9e-Zx-LIY">
|
<gridCell row="leK-j9-Cah" column="Ecc-pj-MX9" yPlacement="center" id="q9e-Zx-LIY">
|
||||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Bt8-9X-91R">
|
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Bt8-9X-91R">
|
||||||
<rect key="frame" x="109" y="152" width="150" height="21"/>
|
<rect key="frame" x="109" y="148" width="150" height="21"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="150" id="aN6-yG-12x"/>
|
<constraint firstAttribute="width" constant="150" id="aN6-yG-12x"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -94,10 +96,10 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="leK-j9-Cah" column="aZO-dP-SsW" headOfMergedCell="q9e-Zx-LIY" id="gOO-ed-C7I"/>
|
<gridCell row="leK-j9-Cah" column="aZO-dP-SsW" id="gOO-ed-C7I"/>
|
||||||
<gridCell row="J7I-Uw-OQv" column="Ar1-qh-iHT" id="LYj-ea-Ou9">
|
<gridCell row="J7I-Uw-OQv" column="Ar1-qh-iHT" id="LYj-ea-Ou9">
|
||||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="W8L-ah-Kdc">
|
<textField key="contentView" hidden="YES" horizontalHuggingPriority="252" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="W8L-ah-Kdc">
|
||||||
<rect key="frame" x="71" y="127" width="34" height="16"/>
|
<rect key="frame" x="71" y="121" width="34" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Type" id="fNC-fH-sYi">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="Type" id="fNC-fH-sYi">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -105,9 +107,9 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="J7I-Uw-OQv" column="Ecc-pj-MX9" headOfMergedCell="fOz-RA-6LG" id="fOz-RA-6LG">
|
<gridCell row="J7I-Uw-OQv" column="Ecc-pj-MX9" id="fOz-RA-6LG">
|
||||||
<popUpButton key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ku7-YD-kkV">
|
<popUpButton key="contentView" hidden="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ku7-YD-kkV">
|
||||||
<rect key="frame" x="107" y="120" width="38" height="25"/>
|
<rect key="frame" x="106" y="114" width="157" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="WbA-Ie-Txj">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="WbA-Ie-Txj">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -115,10 +117,10 @@
|
|||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="J7I-Uw-OQv" column="aZO-dP-SsW" headOfMergedCell="fOz-RA-6LG" id="mka-sc-dDD"/>
|
<gridCell row="J7I-Uw-OQv" column="aZO-dP-SsW" id="mka-sc-dDD"/>
|
||||||
<gridCell row="GmF-7D-t30" column="Ar1-qh-iHT" id="Isd-CW-srQ">
|
<gridCell row="GmF-7D-t30" column="Ar1-qh-iHT" yPlacement="center" id="Isd-CW-srQ">
|
||||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4Ic-Nt-YlL">
|
<textField key="contentView" horizontalHuggingPriority="252" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4Ic-Nt-YlL">
|
||||||
<rect key="frame" x="75" y="96" width="30" height="16"/>
|
<rect key="frame" x="75" y="91" width="30" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="URL" id="Kci-xp-mLu">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="URL" id="Kci-xp-mLu">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -127,8 +129,8 @@
|
|||||||
</textField>
|
</textField>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="GmF-7D-t30" column="Ecc-pj-MX9" headOfMergedCell="Fpx-eQ-WAY" id="Fpx-eQ-WAY">
|
<gridCell row="GmF-7D-t30" column="Ecc-pj-MX9" headOfMergedCell="Fpx-eQ-WAY" id="Fpx-eQ-WAY">
|
||||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GJN-85-eYH">
|
<textField key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GJN-85-eYH">
|
||||||
<rect key="frame" x="109" y="94" width="150" height="21"/>
|
<rect key="frame" x="109" y="89" width="150" height="21"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="ZpH-Ks-BBi">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="ZpH-Ks-BBi">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -138,8 +140,8 @@
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="GmF-7D-t30" column="aZO-dP-SsW" headOfMergedCell="Fpx-eQ-WAY" id="ZXy-HZ-O3a"/>
|
<gridCell row="GmF-7D-t30" column="aZO-dP-SsW" headOfMergedCell="Fpx-eQ-WAY" id="ZXy-HZ-O3a"/>
|
||||||
<gridCell row="hS6-e9-JPg" column="Ar1-qh-iHT" id="5hJ-4K-a2d">
|
<gridCell row="hS6-e9-JPg" column="Ar1-qh-iHT" id="5hJ-4K-a2d">
|
||||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yiW-Wk-6YB">
|
<textField key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yiW-Wk-6YB">
|
||||||
<rect key="frame" x="7" y="66" width="98" height="16"/>
|
<rect key="frame" x="7" y="61" width="98" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Hash Algorithm" id="g3s-fk-k9Q">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="Hash Algorithm" id="g3s-fk-k9Q">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -149,7 +151,7 @@
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="hS6-e9-JPg" column="Ecc-pj-MX9" id="6MO-n5-2Cu">
|
<gridCell row="hS6-e9-JPg" column="Ecc-pj-MX9" id="6MO-n5-2Cu">
|
||||||
<popUpButton key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="caF-Au-ey8">
|
<popUpButton key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="caF-Au-ey8">
|
||||||
<rect key="frame" x="107" y="59" width="38" height="25"/>
|
<rect key="frame" x="106" y="54" width="157" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="Rxs-11-LRy">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="Rxs-11-LRy">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -159,8 +161,8 @@
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="hS6-e9-JPg" column="aZO-dP-SsW" id="56r-vv-PhT"/>
|
<gridCell row="hS6-e9-JPg" column="aZO-dP-SsW" id="56r-vv-PhT"/>
|
||||||
<gridCell row="QY3-TF-Rbs" column="Ar1-qh-iHT" id="jL5-XH-KYZ">
|
<gridCell row="QY3-TF-Rbs" column="Ar1-qh-iHT" id="jL5-XH-KYZ">
|
||||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JOR-bN-ZYC">
|
<textField key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JOR-bN-ZYC">
|
||||||
<rect key="frame" x="41" y="35" width="64" height="16"/>
|
<rect key="frame" x="41" y="31" width="64" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Time step" id="hbT-mm-dIn">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="Time step" id="hbT-mm-dIn">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -170,7 +172,7 @@
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="QY3-TF-Rbs" column="Ecc-pj-MX9" xPlacement="fill" id="bvB-9m-g1U">
|
<gridCell row="QY3-TF-Rbs" column="Ecc-pj-MX9" xPlacement="fill" id="bvB-9m-g1U">
|
||||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="AdN-zI-C65">
|
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="AdN-zI-C65">
|
||||||
<rect key="frame" x="109" y="33" width="150" height="21"/>
|
<rect key="frame" x="109" y="28" width="150" height="22"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="bHO-kq-GUf">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="bHO-kq-GUf">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -180,13 +182,13 @@
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="QY3-TF-Rbs" column="aZO-dP-SsW" rowAlignment="none" id="oRW-3a-WxP">
|
<gridCell row="QY3-TF-Rbs" column="aZO-dP-SsW" rowAlignment="none" id="oRW-3a-WxP">
|
||||||
<stepper key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CgJ-Qt-NPu">
|
<stepper key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CgJ-Qt-NPu">
|
||||||
<rect key="frame" x="262" y="29" width="19" height="28"/>
|
<rect key="frame" x="262" y="25" width="19" height="28"/>
|
||||||
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="RPy-q9-wKy"/>
|
<stepperCell key="cell" continuous="YES" alignment="left" maxValue="100" id="RPy-q9-wKy"/>
|
||||||
</stepper>
|
</stepper>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="0Jy-aF-Wst" column="Ar1-qh-iHT" id="hWa-nU-LpX">
|
<gridCell row="0Jy-aF-Wst" column="Ar1-qh-iHT" id="hWa-nU-LpX">
|
||||||
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="z5V-Af-Kpa">
|
<textField key="contentView" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="z5V-Af-Kpa">
|
||||||
<rect key="frame" x="-2" y="4" width="107" height="16"/>
|
<rect key="frame" x="-2" y="1" width="107" height="18"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Number of Digits" id="iYF-F5-nMb">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="Number of Digits" id="iYF-F5-nMb">
|
||||||
<font key="font" usesAppearanceFont="YES"/>
|
<font key="font" usesAppearanceFont="YES"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -196,7 +198,7 @@
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="0Jy-aF-Wst" column="Ecc-pj-MX9" id="gil-83-ris">
|
<gridCell row="0Jy-aF-Wst" column="Ecc-pj-MX9" id="gil-83-ris">
|
||||||
<popUpButton key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aa3-XV-Chc">
|
<popUpButton key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aa3-XV-Chc">
|
||||||
<rect key="frame" x="107" y="-3" width="38" height="25"/>
|
<rect key="frame" x="106" y="-4" width="157" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="rzY-5S-dIJ">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="rzY-5S-dIJ">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -207,14 +209,42 @@
|
|||||||
<gridCell row="0Jy-aF-Wst" column="aZO-dP-SsW" id="V48-br-lpl"/>
|
<gridCell row="0Jy-aF-Wst" column="aZO-dP-SsW" id="V48-br-lpl"/>
|
||||||
</gridCells>
|
</gridCells>
|
||||||
</gridView>
|
</gridView>
|
||||||
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ppm-aD-yti">
|
||||||
|
<rect key="frame" x="193" y="13" width="118" height="32"/>
|
||||||
|
<buttonCell key="cell" type="push" title="Save Settings" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="YGn-qt-RrI">
|
||||||
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="save:" target="-2" id="k3D-gK-Tch"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5a5-df-HAb">
|
||||||
|
<rect key="frame" x="119" y="13" width="76" height="32"/>
|
||||||
|
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Ynh-bE-30s">
|
||||||
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<string key="keyEquivalent" base64-UTF8="YES">
|
||||||
|
Gw
|
||||||
|
</string>
|
||||||
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="cancel:" target="-2" id="Z99-2L-Le6"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
|
<constraint firstItem="5a5-df-HAb" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="3Dj-2P-0OT"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="4gl-4p-0WY" secondAttribute="trailing" constant="20" symbolic="YES" id="4eg-dj-7eq"/>
|
<constraint firstAttribute="trailing" secondItem="4gl-4p-0WY" secondAttribute="trailing" constant="20" symbolic="YES" id="4eg-dj-7eq"/>
|
||||||
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="4gl-4p-0WY" secondAttribute="bottom" constant="20" symbolic="YES" id="6lC-F3-SvT"/>
|
<constraint firstItem="5a5-df-HAb" firstAttribute="bottom" secondItem="Ppm-aD-yti" secondAttribute="bottom" id="CZ9-Ia-TWV"/>
|
||||||
|
<constraint firstItem="Ppm-aD-yti" firstAttribute="leading" secondItem="5a5-df-HAb" secondAttribute="trailing" constant="12" symbolic="YES" id="EXf-y0-UFR"/>
|
||||||
<constraint firstItem="4gl-4p-0WY" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" symbolic="YES" id="QNT-yn-O32"/>
|
<constraint firstItem="4gl-4p-0WY" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" symbolic="YES" id="QNT-yn-O32"/>
|
||||||
|
<constraint firstItem="Ppm-aD-yti" firstAttribute="top" secondItem="4gl-4p-0WY" secondAttribute="bottom" constant="20" symbolic="YES" id="RMh-eo-ItW"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="Ppm-aD-yti" secondAttribute="bottom" constant="20" symbolic="YES" id="eBG-Ns-4ur"/>
|
||||||
<constraint firstItem="4gl-4p-0WY" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="g3C-GL-weQ"/>
|
<constraint firstItem="4gl-4p-0WY" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="g3C-GL-weQ"/>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="Ppm-aD-yti" secondAttribute="trailing" constant="20" symbolic="YES" id="gxW-QO-gFu"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<point key="canvasLocation" x="-989" y="-832"/>
|
<point key="canvasLocation" x="-1402" y="-1030"/>
|
||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
</document>
|
</document>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -31,26 +31,29 @@
|
|||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<stackView distribution="fill" orientation="horizontal" alignment="firstBaseline" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="avD-My-tnu">
|
<stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="avD-My-tnu">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="480" height="21"/>
|
<rect key="frame" x="0.0" y="0.0" width="479" height="21"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xBL-Jz-VQO" customClass="HNHUITextField">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xBL-Jz-VQO" customClass="HNHUITextField">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="399" height="21"/>
|
<rect key="frame" x="0.0" y="0.0" width="406" height="21"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="Vuy-HC-UhI">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="Vuy-HC-UhI">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="-2" id="pfM-gT-aXU"/>
|
||||||
|
</connections>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Hxg-bd-l1O">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Hxg-bd-l1O">
|
||||||
<rect key="frame" x="407" y="1" width="27" height="17"/>
|
<rect key="frame" x="414" y="2" width="26" height="18"/>
|
||||||
<buttonCell key="cell" type="inline" title="30" bezelStyle="inline" alignment="center" enabled="NO" borderStyle="border" inset="2" id="roW-Uk-ff9">
|
<buttonCell key="cell" type="inline" title="30" bezelStyle="inline" alignment="center" enabled="NO" borderStyle="border" inset="2" id="roW-Uk-ff9">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="smallSystemBold"/>
|
<font key="font" metaFont="smallSystemBold"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xge-Jc-QnB">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xge-Jc-QnB">
|
||||||
<rect key="frame" x="436" y="-7" width="50" height="32"/>
|
<rect key="frame" x="441" y="-6" width="45" height="32"/>
|
||||||
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSActionTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="64a-Tn-vdd">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSActionTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="64a-Tn-vdd">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -72,6 +75,9 @@
|
|||||||
</customSpacing>
|
</customSpacing>
|
||||||
</stackView>
|
</stackView>
|
||||||
</subviews>
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="avD-My-tnu" secondAttribute="trailing" constant="1" id="nhf-Ld-Bh4"/>
|
||||||
|
</constraints>
|
||||||
<visibilityPriorities>
|
<visibilityPriorities>
|
||||||
<integer value="1000"/>
|
<integer value="1000"/>
|
||||||
<integer value="1000"/>
|
<integer value="1000"/>
|
||||||
@@ -88,10 +94,10 @@
|
|||||||
<constraint firstItem="Lz5-aM-o4b" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="y4i-uB-HlK"/>
|
<constraint firstItem="Lz5-aM-o4b" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="y4i-uB-HlK"/>
|
||||||
<constraint firstItem="Lz5-aM-o4b" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="zFP-JZ-Qtu"/>
|
<constraint firstItem="Lz5-aM-o4b" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="zFP-JZ-Qtu"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<point key="canvasLocation" x="-180" y="74"/>
|
<point key="canvasLocation" x="-629" y="-23"/>
|
||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSActionTemplate" width="14" height="14"/>
|
<image name="NSActionTemplate" width="15" height="15"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
||||||
@@ -251,7 +250,7 @@ CA
|
|||||||
</menuItem>
|
</menuItem>
|
||||||
<menuItem title="Find…" tag="1" keyEquivalent="f" id="209">
|
<menuItem title="Find…" tag="1" keyEquivalent="f" id="209">
|
||||||
<connections>
|
<connections>
|
||||||
<action selector="perfromCustomSearch:" target="-1" id="RSR-PQ-TH1"/>
|
<action selector="performCustomSearch:" target="-1" id="RSR-PQ-TH1"/>
|
||||||
</connections>
|
</connections>
|
||||||
</menuItem>
|
</menuItem>
|
||||||
</items>
|
</items>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -29,11 +29,11 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView id="1">
|
<customView id="1">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="351" height="316"/>
|
<rect key="frame" x="0.0" y="0.0" width="351" height="330"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="148">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="148">
|
||||||
<rect key="frame" x="18" y="276" width="66" height="17"/>
|
<rect key="frame" x="18" y="292" width="66" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Password:" id="149">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Password:" id="149">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="152">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="152">
|
||||||
<rect key="frame" x="90" y="272" width="201" height="24"/>
|
<rect key="frame" x="90" y="290" width="201" height="20"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="621"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="621"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -52,11 +52,11 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="173">
|
<slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="173">
|
||||||
<rect key="frame" x="88" y="246" width="205" height="19"/>
|
<rect key="frame" x="88" y="256" width="205" height="28"/>
|
||||||
<sliderCell key="cell" state="on" alignment="left" maxValue="100" doubleValue="50" tickMarkPosition="above" sliderType="linear" id="174"/>
|
<sliderCell key="cell" state="on" alignment="left" maxValue="100" doubleValue="50" tickMarkPosition="above" sliderType="linear" id="174"/>
|
||||||
</slider>
|
</slider>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="178">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="178">
|
||||||
<rect key="frame" x="18" y="248" width="66" height="17"/>
|
<rect key="frame" x="18" y="265" width="66" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Length:" id="179">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Length:" id="179">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="182">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="182">
|
||||||
<rect key="frame" x="299" y="244" width="32" height="22"/>
|
<rect key="frame" x="299" y="261" width="32" height="21"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="32" id="eVc-Kg-bCi"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="32" id="eVc-Kg-bCi"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -76,13 +76,13 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<box autoresizesSubviews="NO" borderType="line" title="Character options" translatesAutoresizingMaskIntoConstraints="NO" id="332">
|
<box autoresizesSubviews="NO" borderType="line" title="Character options" translatesAutoresizingMaskIntoConstraints="NO" id="332">
|
||||||
<rect key="frame" x="17" y="88" width="317" height="119"/>
|
<rect key="frame" x="17" y="102" width="317" height="120"/>
|
||||||
<view key="contentView" id="f93-Su-hga">
|
<view key="contentView" id="f93-Su-hga">
|
||||||
<rect key="frame" x="3" y="3" width="311" height="101"/>
|
<rect key="frame" x="3" y="3" width="311" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="411">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="411">
|
||||||
<rect key="frame" x="16" y="42" width="279" height="22"/>
|
<rect key="frame" x="16" y="44" width="279" height="21"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="412" customClass="HNHUITextFieldCell">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="412" customClass="HNHUITextFieldCell">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="452">
|
<button verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="452">
|
||||||
<rect key="frame" x="16" y="72" width="36" height="19"/>
|
<rect key="frame" x="16" y="73" width="36" height="19"/>
|
||||||
<buttonCell key="cell" type="roundRect" title="A-Z" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="453">
|
<buttonCell key="cell" type="roundRect" title="A-Z" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="453">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="cellTitle"/>
|
<font key="font" metaFont="cellTitle"/>
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" tag="2" translatesAutoresizingMaskIntoConstraints="NO" id="456">
|
<button verticalHuggingPriority="750" tag="2" translatesAutoresizingMaskIntoConstraints="NO" id="456">
|
||||||
<rect key="frame" x="60" y="72" width="33" height="19"/>
|
<rect key="frame" x="60" y="73" width="34" height="19"/>
|
||||||
<buttonCell key="cell" type="roundRect" title="a-z" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="457">
|
<buttonCell key="cell" type="roundRect" title="a-z" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="457">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="cellTitle"/>
|
<font key="font" metaFont="cellTitle"/>
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" tag="4" translatesAutoresizingMaskIntoConstraints="NO" id="460">
|
<button verticalHuggingPriority="750" tag="4" translatesAutoresizingMaskIntoConstraints="NO" id="460">
|
||||||
<rect key="frame" x="101" y="72" width="35" height="19"/>
|
<rect key="frame" x="102" y="73" width="36" height="19"/>
|
||||||
<buttonCell key="cell" type="roundRect" title="0-9" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="461">
|
<buttonCell key="cell" type="roundRect" title="0-9" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="461">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="cellTitle"/>
|
<font key="font" metaFont="cellTitle"/>
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" tag="8" translatesAutoresizingMaskIntoConstraints="NO" id="464">
|
<button verticalHuggingPriority="750" tag="8" translatesAutoresizingMaskIntoConstraints="NO" id="464">
|
||||||
<rect key="frame" x="144" y="72" width="32" height="19"/>
|
<rect key="frame" x="146" y="73" width="32" height="19"/>
|
||||||
<buttonCell key="cell" type="roundRect" title="#!?" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="465">
|
<buttonCell key="cell" type="roundRect" title="#!?" bezelStyle="roundedRect" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="465">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="cellTitle"/>
|
<font key="font" metaFont="cellTitle"/>
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="468">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="468">
|
||||||
<rect key="frame" x="184" y="72" width="58" height="19"/>
|
<rect key="frame" x="186" y="73" width="58" height="19"/>
|
||||||
<buttonCell key="cell" type="roundRect" title="Custom" bezelStyle="roundedRect" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="469">
|
<buttonCell key="cell" type="roundRect" title="Custom" bezelStyle="roundedRect" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="469">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="cellTitle"/>
|
<font key="font" metaFont="cellTitle"/>
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RDM-JY-oF9">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RDM-JY-oF9">
|
||||||
<rect key="frame" x="14" y="18" width="222" height="18"/>
|
<rect key="frame" x="14" y="19" width="226" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Use characters from every group" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="CMc-Uh-Fo5">
|
<buttonCell key="cell" type="check" title="Use characters from every group" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="CMc-Uh-Fo5">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -172,8 +172,8 @@
|
|||||||
</constraints>
|
</constraints>
|
||||||
</box>
|
</box>
|
||||||
<button verticalHuggingPriority="750" horizontalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="494">
|
<button verticalHuggingPriority="750" horizontalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="494">
|
||||||
<rect key="frame" x="231" y="19" width="100" height="23"/>
|
<rect key="frame" x="218" y="13" width="120" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Use Password" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="495">
|
<buttonCell key="cell" type="push" title="Use Password" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="495">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -182,14 +182,14 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="500">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="500">
|
||||||
<rect key="frame" x="18" y="68" width="204" height="18"/>
|
<rect key="frame" x="18" y="81" width="208" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Copy password to pasteboard" bezelStyle="regularSquare" imagePosition="left" inset="2" id="501">
|
<buttonCell key="cell" type="check" title="Copy password to pasteboard" bezelStyle="regularSquare" imagePosition="left" inset="2" id="501">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="509">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="509">
|
||||||
<rect key="frame" x="299" y="273" width="32" height="23"/>
|
<rect key="frame" x="298" y="288" width="34" height="23"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSRefreshTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="510">
|
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSRefreshTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="510">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -199,8 +199,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="613">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="613">
|
||||||
<rect key="frame" x="167" y="19" width="56" height="23"/>
|
<rect key="frame" x="144" y="13" width="76" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Cancel" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="614">
|
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="614">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -209,11 +209,11 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<levelIndicator verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="635">
|
<levelIndicator verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="635">
|
||||||
<rect key="frame" x="90" y="213" width="173" height="18"/>
|
<rect key="frame" x="90" y="228" width="173" height="18"/>
|
||||||
<levelIndicatorCell key="cell" alignment="left" doubleValue="10" maxValue="90" warningValue="55" criticalValue="30" levelIndicatorStyle="continuousCapacity" id="636" customClass="HNHUILevelIndicatorCell"/>
|
<levelIndicatorCell key="cell" alignment="left" doubleValue="10" maxValue="90" warningValue="55" criticalValue="30" levelIndicatorStyle="continuousCapacity" id="636" customClass="HNHUILevelIndicatorCell"/>
|
||||||
</levelIndicator>
|
</levelIndicator>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="646">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="646">
|
||||||
<rect key="frame" x="18" y="215" width="66" height="17"/>
|
<rect key="frame" x="18" y="230" width="66" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Entropy:" id="647">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Entropy:" id="647">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -221,7 +221,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="652">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="652">
|
||||||
<rect key="frame" x="269" y="215" width="64" height="17"/>
|
<rect key="frame" x="269" y="230" width="64" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="25000 bit" id="653">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="25000 bit" id="653">
|
||||||
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="# bit" negativeFormat="# bit" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="," groupingSeparator="." currencyDecimalSeparator="," plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix=" bit" negativePrefix="-" negativeSuffix=" bit" id="681"/>
|
<numberFormatter key="formatter" formatterBehavior="custom10_4" positiveFormat="# bit" negativeFormat="# bit" usesGroupingSeparator="NO" paddingCharacter="*" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="309" decimalSeparator="," groupingSeparator="." currencyDecimalSeparator="," plusSign="+" minusSign="-" notANumberSymbol="NaN" perMillSymbol="‰" percentSymbol="%" exponentSymbol="E" positivePrefix="" positiveSuffix=" bit" negativePrefix="-" negativeSuffix=" bit" id="681"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -230,8 +230,8 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yil-UB-jtO">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yil-UB-jtO">
|
||||||
<rect key="frame" x="20" y="19" width="82" height="23"/>
|
<rect key="frame" x="13" y="13" width="102" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Set Default" bezelStyle="texturedRounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Wvs-Md-Ob8">
|
<buttonCell key="cell" type="push" title="Set Default" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Wvs-Md-Ob8">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<connections>
|
<connections>
|
||||||
@@ -240,7 +240,7 @@
|
|||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="4yb-SC-vau">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="4yb-SC-vau">
|
||||||
<rect key="frame" x="18" y="48" width="231" height="18"/>
|
<rect key="frame" x="18" y="59" width="235" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Use default only for selected entry" bezelStyle="regularSquare" imagePosition="left" inset="2" id="cfZ-5F-Nge">
|
<buttonCell key="cell" type="check" title="Use default only for selected entry" bezelStyle="regularSquare" imagePosition="left" inset="2" id="cfZ-5F-Nge">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -265,7 +265,7 @@
|
|||||||
<constraint firstItem="509" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="520"/>
|
<constraint firstItem="509" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="520"/>
|
||||||
<constraint firstItem="152" firstAttribute="leading" secondItem="148" secondAttribute="trailing" constant="8" symbolic="YES" id="606"/>
|
<constraint firstItem="152" firstAttribute="leading" secondItem="148" secondAttribute="trailing" constant="8" symbolic="YES" id="606"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="613" secondAttribute="bottom" constant="20" symbolic="YES" id="617"/>
|
<constraint firstAttribute="bottom" secondItem="613" secondAttribute="bottom" constant="20" symbolic="YES" id="617"/>
|
||||||
<constraint firstItem="494" firstAttribute="leading" secondItem="613" secondAttribute="trailing" constant="8" symbolic="YES" id="618"/>
|
<constraint firstItem="494" firstAttribute="leading" secondItem="613" secondAttribute="trailing" constant="12" symbolic="YES" id="618"/>
|
||||||
<constraint firstItem="173" firstAttribute="leading" secondItem="635" secondAttribute="leading" id="642"/>
|
<constraint firstItem="173" firstAttribute="leading" secondItem="635" secondAttribute="leading" id="642"/>
|
||||||
<constraint firstItem="173" firstAttribute="leading" secondItem="178" secondAttribute="trailing" constant="8" symbolic="YES" id="643"/>
|
<constraint firstItem="173" firstAttribute="leading" secondItem="178" secondAttribute="trailing" constant="8" symbolic="YES" id="643"/>
|
||||||
<constraint firstItem="646" firstAttribute="top" secondItem="1" secondAttribute="top" constant="84" id="648"/>
|
<constraint firstItem="646" firstAttribute="top" secondItem="1" secondAttribute="top" constant="84" id="648"/>
|
||||||
@@ -279,14 +279,14 @@
|
|||||||
<constraint firstItem="652" firstAttribute="leading" secondItem="635" secondAttribute="trailing" constant="8" symbolic="YES" id="672"/>
|
<constraint firstItem="652" firstAttribute="leading" secondItem="635" secondAttribute="trailing" constant="8" symbolic="YES" id="672"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="652" secondAttribute="trailing" constant="20" symbolic="YES" id="679"/>
|
<constraint firstAttribute="trailing" secondItem="652" secondAttribute="trailing" constant="20" symbolic="YES" id="679"/>
|
||||||
<constraint firstItem="635" firstAttribute="leading" secondItem="152" secondAttribute="leading" id="680"/>
|
<constraint firstItem="635" firstAttribute="leading" secondItem="152" secondAttribute="leading" id="680"/>
|
||||||
<constraint firstItem="613" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="yil-UB-jtO" secondAttribute="trailing" constant="8" symbolic="YES" id="59d-1n-jSa"/>
|
<constraint firstItem="613" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="yil-UB-jtO" secondAttribute="trailing" constant="12" symbolic="YES" id="59d-1n-jSa"/>
|
||||||
<constraint firstItem="646" firstAttribute="trailing" secondItem="178" secondAttribute="trailing" id="6kR-jk-E8r"/>
|
<constraint firstItem="646" firstAttribute="trailing" secondItem="178" secondAttribute="trailing" id="6kR-jk-E8r"/>
|
||||||
<constraint firstItem="yil-UB-jtO" firstAttribute="leading" secondItem="500" secondAttribute="leading" id="Hic-qB-mt4"/>
|
<constraint firstItem="yil-UB-jtO" firstAttribute="leading" secondItem="500" secondAttribute="leading" id="Hic-qB-mt4"/>
|
||||||
<constraint firstItem="4yb-SC-vau" firstAttribute="top" secondItem="500" secondAttribute="bottom" constant="6" id="IZo-0q-BdQ"/>
|
<constraint firstItem="4yb-SC-vau" firstAttribute="top" secondItem="500" secondAttribute="bottom" constant="6" id="IZo-0q-BdQ"/>
|
||||||
<constraint firstItem="148" firstAttribute="trailing" secondItem="178" secondAttribute="trailing" id="KpM-xy-ZTB"/>
|
<constraint firstItem="148" firstAttribute="trailing" secondItem="178" secondAttribute="trailing" id="KpM-xy-ZTB"/>
|
||||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="4yb-SC-vau" secondAttribute="trailing" constant="20" symbolic="YES" id="OnS-dH-uyZ"/>
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="4yb-SC-vau" secondAttribute="trailing" constant="20" symbolic="YES" id="OnS-dH-uyZ"/>
|
||||||
<constraint firstItem="509" firstAttribute="leading" secondItem="182" secondAttribute="leading" id="QZ5-Ge-aq8"/>
|
<constraint firstItem="509" firstAttribute="leading" secondItem="182" secondAttribute="leading" id="QZ5-Ge-aq8"/>
|
||||||
<constraint firstItem="613" firstAttribute="top" relation="greaterThanOrEqual" secondItem="4yb-SC-vau" secondAttribute="bottom" constant="8" symbolic="YES" id="SoR-gh-uhq"/>
|
<constraint firstItem="613" firstAttribute="top" relation="greaterThanOrEqual" secondItem="4yb-SC-vau" secondAttribute="bottom" constant="20" symbolic="YES" id="SoR-gh-uhq"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="yil-UB-jtO" secondAttribute="bottom" constant="20" id="eYK-Hw-fyy"/>
|
<constraint firstAttribute="bottom" secondItem="yil-UB-jtO" secondAttribute="bottom" constant="20" id="eYK-Hw-fyy"/>
|
||||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="500" secondAttribute="trailing" constant="20" symbolic="YES" id="iUl-yt-JbV"/>
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="500" secondAttribute="trailing" constant="20" symbolic="YES" id="iUl-yt-JbV"/>
|
||||||
<constraint firstItem="646" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="jPa-QR-GAy"/>
|
<constraint firstItem="646" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="jPa-QR-GAy"/>
|
||||||
@@ -297,6 +297,6 @@
|
|||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSRefreshTemplate" width="11" height="15"/>
|
<image name="NSRefreshTemplate" width="14" height="16"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="18122" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="18122"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -24,13 +24,13 @@
|
|||||||
<window title="Change Password" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="1">
|
<window title="Change Password" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="1">
|
||||||
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
||||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||||
<rect key="contentRect" x="1090" y="652" width="369" height="164"/>
|
<rect key="contentRect" x="1090" y="652" width="446" height="307"/>
|
||||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
|
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1025"/>
|
||||||
<view key="contentView" verticalHuggingPriority="251" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2">
|
<view key="contentView" verticalHuggingPriority="251" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="363" height="220"/>
|
<rect key="frame" x="0.0" y="0.0" width="369" height="217"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="68">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="68">
|
||||||
<rect key="frame" x="200" y="13" width="149" height="32"/>
|
<rect key="frame" x="213" y="13" width="143" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Change Password" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="69">
|
<buttonCell key="cell" type="push" title="Change Password" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="69">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="72">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="72">
|
||||||
<rect key="frame" x="118" y="13" width="82" height="32"/>
|
<rect key="frame" x="139" y="13" width="76" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="73">
|
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="73">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -53,7 +53,7 @@ Gw
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<gridView horizontalHuggingPriority="251" verticalHuggingPriority="750" xPlacement="leading" yPlacement="bottom" rowAlignment="none" translatesAutoresizingMaskIntoConstraints="NO" id="0Iv-td-ACj">
|
<gridView horizontalHuggingPriority="251" verticalHuggingPriority="750" xPlacement="leading" yPlacement="bottom" rowAlignment="none" translatesAutoresizingMaskIntoConstraints="NO" id="0Iv-td-ACj">
|
||||||
<rect key="frame" x="20" y="61" width="323" height="139"/>
|
<rect key="frame" x="20" y="60" width="329" height="137"/>
|
||||||
<rows>
|
<rows>
|
||||||
<gridRow id="Ljm-xA-9NW"/>
|
<gridRow id="Ljm-xA-9NW"/>
|
||||||
<gridRow id="Dv9-ND-6rX"/>
|
<gridRow id="Dv9-ND-6rX"/>
|
||||||
@@ -71,7 +71,7 @@ Gw
|
|||||||
<gridCell row="Ljm-xA-9NW" column="uaf-ph-2zN" id="1U3-Im-v9n"/>
|
<gridCell row="Ljm-xA-9NW" column="uaf-ph-2zN" id="1U3-Im-v9n"/>
|
||||||
<gridCell row="Ljm-xA-9NW" column="7oF-Xq-5de" id="2bp-dG-V6t">
|
<gridCell row="Ljm-xA-9NW" column="7oF-Xq-5de" id="2bp-dG-V6t">
|
||||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="12">
|
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="12">
|
||||||
<rect key="frame" x="84" y="125" width="204" height="14"/>
|
<rect key="frame" x="90" y="123" width="204" height="14"/>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="PASSWORD_ERROR" id="14">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="PASSWORD_ERROR" id="14">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
@@ -82,7 +82,7 @@ Gw
|
|||||||
<gridCell row="Ljm-xA-9NW" column="clB-mU-Eba" id="blk-az-oHS"/>
|
<gridCell row="Ljm-xA-9NW" column="clB-mU-Eba" id="blk-az-oHS"/>
|
||||||
<gridCell row="Dv9-ND-6rX" column="uaf-ph-2zN" id="JUU-XQ-60P">
|
<gridCell row="Dv9-ND-6rX" column="uaf-ph-2zN" id="JUU-XQ-60P">
|
||||||
<button key="contentView" horizontalHuggingPriority="252" translatesAutoresizingMaskIntoConstraints="NO" id="yKc-I9-uzv">
|
<button key="contentView" horizontalHuggingPriority="252" translatesAutoresizingMaskIntoConstraints="NO" id="yKc-I9-uzv">
|
||||||
<rect key="frame" x="-2" y="97" width="84" height="24"/>
|
<rect key="frame" x="-2" y="96" width="88" height="22"/>
|
||||||
<buttonCell key="cell" type="check" title="Password:" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="OQz-DA-SoY">
|
<buttonCell key="cell" type="check" title="Password:" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="OQz-DA-SoY">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -91,7 +91,7 @@ Gw
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="Dv9-ND-6rX" column="7oF-Xq-5de" id="cw2-er-epO">
|
<gridCell row="Dv9-ND-6rX" column="7oF-Xq-5de" id="cw2-er-epO">
|
||||||
<secureTextField key="contentView" horizontalHuggingPriority="253" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9" customClass="HNHUISecureTextField">
|
<secureTextField key="contentView" horizontalHuggingPriority="253" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9" customClass="HNHUISecureTextField">
|
||||||
<rect key="frame" x="86" y="99" width="200" height="20"/>
|
<rect key="frame" x="92" y="97" width="200" height="20"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="gTV-5A-Fyo"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="gTV-5A-Fyo"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -105,10 +105,21 @@ Gw
|
|||||||
</secureTextFieldCell>
|
</secureTextFieldCell>
|
||||||
</secureTextField>
|
</secureTextField>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="Dv9-ND-6rX" column="clB-mU-Eba" id="ykQ-xV-MfJ"/>
|
<gridCell row="Dv9-ND-6rX" column="clB-mU-Eba" id="ykQ-xV-MfJ">
|
||||||
|
<button key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7">
|
||||||
|
<rect key="frame" x="291" y="90" width="45" height="32"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" constant="31" id="59"/>
|
||||||
|
</constraints>
|
||||||
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="20">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
</button>
|
||||||
|
</gridCell>
|
||||||
<gridCell row="mNb-JP-3YX" column="uaf-ph-2zN" id="DTm-fw-duK">
|
<gridCell row="mNb-JP-3YX" column="uaf-ph-2zN" id="DTm-fw-duK">
|
||||||
<textField key="contentView" horizontalHuggingPriority="252" verticalHuggingPriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="10">
|
<textField key="contentView" horizontalHuggingPriority="252" verticalHuggingPriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="10">
|
||||||
<rect key="frame" x="31" y="73" width="51" height="16"/>
|
<rect key="frame" x="37" y="71" width="51" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Repeat:" id="16">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Repeat:" id="16">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -117,8 +128,8 @@ Gw
|
|||||||
</textField>
|
</textField>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="mNb-JP-3YX" column="7oF-Xq-5de" id="OBv-b8-DJs">
|
<gridCell row="mNb-JP-3YX" column="7oF-Xq-5de" id="OBv-b8-DJs">
|
||||||
<secureTextField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="11" customClass="HNHUISecureTextField">
|
<secureTextField key="contentView" verticalHuggingPriority="750" verticalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="11" customClass="HNHUISecureTextField">
|
||||||
<rect key="frame" x="86" y="73" width="200" height="20"/>
|
<rect key="frame" x="92" y="71" width="200" height="20"/>
|
||||||
<secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" placeholderString="Repeat Password" drawsBackground="YES" usesSingleLineMode="YES" id="15">
|
<secureTextFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" placeholderString="Repeat Password" drawsBackground="YES" usesSingleLineMode="YES" id="15">
|
||||||
<font key="font" size="13" name="Menlo-Regular"/>
|
<font key="font" size="13" name="Menlo-Regular"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -129,22 +140,11 @@ Gw
|
|||||||
</secureTextFieldCell>
|
</secureTextFieldCell>
|
||||||
</secureTextField>
|
</secureTextField>
|
||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="mNb-JP-3YX" column="clB-mU-Eba" id="erv-Ur-nvi">
|
<gridCell row="mNb-JP-3YX" column="clB-mU-Eba" id="erv-Ur-nvi"/>
|
||||||
<button key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7">
|
|
||||||
<rect key="frame" x="292" y="72" width="31" height="21"/>
|
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="width" constant="31" id="59"/>
|
|
||||||
</constraints>
|
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="20">
|
|
||||||
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
|
|
||||||
<font key="font" metaFont="system"/>
|
|
||||||
</buttonCell>
|
|
||||||
</button>
|
|
||||||
</gridCell>
|
|
||||||
<gridCell row="vQK-bD-mNH" column="uaf-ph-2zN" id="5U0-j9-rrv"/>
|
<gridCell row="vQK-bD-mNH" column="uaf-ph-2zN" id="5U0-j9-rrv"/>
|
||||||
<gridCell row="vQK-bD-mNH" column="7oF-Xq-5de" id="8JE-Wh-Sad">
|
<gridCell row="vQK-bD-mNH" column="7oF-Xq-5de" id="8JE-Wh-Sad">
|
||||||
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ibK-Px-Fvt">
|
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ibK-Px-Fvt">
|
||||||
<rect key="frame" x="84" y="53" width="204" height="14"/>
|
<rect key="frame" x="90" y="51" width="204" height="14"/>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="KEY_ERROR" id="EOD-dE-TFa">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="KEY_ERROR" id="EOD-dE-TFa">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
@@ -155,7 +155,7 @@ Gw
|
|||||||
<gridCell row="vQK-bD-mNH" column="clB-mU-Eba" id="fyu-1E-DpO"/>
|
<gridCell row="vQK-bD-mNH" column="clB-mU-Eba" id="fyu-1E-DpO"/>
|
||||||
<gridCell row="DIe-Hz-bd0" column="uaf-ph-2zN" id="Pjk-hs-Pb5">
|
<gridCell row="DIe-Hz-bd0" column="uaf-ph-2zN" id="Pjk-hs-Pb5">
|
||||||
<textField key="contentView" horizontalHuggingPriority="252" verticalHuggingPriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="5">
|
<textField key="contentView" horizontalHuggingPriority="252" verticalHuggingPriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="5">
|
||||||
<rect key="frame" x="33" y="28" width="49" height="19"/>
|
<rect key="frame" x="39" y="26" width="49" height="19"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Keyfile:" id="22">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Keyfile:" id="22">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -165,7 +165,7 @@ Gw
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="DIe-Hz-bd0" column="7oF-Xq-5de" id="o9J-f7-adq">
|
<gridCell row="DIe-Hz-bd0" column="7oF-Xq-5de" id="o9J-f7-adq">
|
||||||
<pathControl key="contentView" verticalHuggingPriority="750" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4" customClass="MPPathControl">
|
<pathControl key="contentView" verticalHuggingPriority="750" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4" customClass="MPPathControl">
|
||||||
<rect key="frame" x="83" y="24" width="206" height="25"/>
|
<rect key="frame" x="89" y="22" width="206" height="25"/>
|
||||||
<pathCell key="cell" selectable="YES" editable="YES" alignment="left" pathStyle="popUp" id="23" customClass="MPPathCell">
|
<pathCell key="cell" selectable="YES" editable="YES" alignment="left" pathStyle="popUp" id="23" customClass="MPPathCell">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</pathCell>
|
</pathCell>
|
||||||
@@ -173,8 +173,8 @@ Gw
|
|||||||
</gridCell>
|
</gridCell>
|
||||||
<gridCell row="DIe-Hz-bd0" column="clB-mU-Eba" id="miK-hQ-pkN">
|
<gridCell row="DIe-Hz-bd0" column="clB-mU-Eba" id="miK-hQ-pkN">
|
||||||
<button key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8">
|
<button key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8">
|
||||||
<rect key="frame" x="292" y="27" width="31" height="20"/>
|
<rect key="frame" x="291" y="19" width="45" height="31"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSStopProgressTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="19">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSStopProgressTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="19">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -186,8 +186,8 @@ Gw
|
|||||||
<gridCell row="TQt-iq-lMT" column="uaf-ph-2zN" id="nAI-ge-Vjb"/>
|
<gridCell row="TQt-iq-lMT" column="uaf-ph-2zN" id="nAI-ge-Vjb"/>
|
||||||
<gridCell row="TQt-iq-lMT" column="7oF-Xq-5de" id="dT5-pB-M7d">
|
<gridCell row="TQt-iq-lMT" column="7oF-Xq-5de" id="dT5-pB-M7d">
|
||||||
<button key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6">
|
<button key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6">
|
||||||
<rect key="frame" x="86" y="-1" width="200" height="23"/>
|
<rect key="frame" x="85" y="-7" width="214" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Generate Keyfile" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="21">
|
<buttonCell key="cell" type="push" title="Generate Keyfile" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="21">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -213,11 +213,11 @@ Gw
|
|||||||
<constraint firstItem="68" firstAttribute="top" secondItem="0Iv-td-ACj" secondAttribute="bottom" constant="20" symbolic="YES" id="s84-KY-RXX"/>
|
<constraint firstItem="68" firstAttribute="top" secondItem="0Iv-td-ACj" secondAttribute="bottom" constant="20" symbolic="YES" id="s84-KY-RXX"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
<point key="canvasLocation" x="-295" y="-412"/>
|
<point key="canvasLocation" x="-272" y="-447.5"/>
|
||||||
</window>
|
</window>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSQuickLookTemplate" width="19" height="12"/>
|
<image name="NSQuickLookTemplate" width="21" height="13"/>
|
||||||
<image name="NSStopProgressTemplate" width="11" height="11"/>
|
<image name="NSStopProgressTemplate" width="14" height="13"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17506" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17506"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<rect key="frame" x="0.0" y="0.0" width="508" height="526"/>
|
<rect key="frame" x="0.0" y="0.0" width="508" height="526"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2">
|
||||||
<rect key="frame" x="310" y="168" width="83" height="32"/>
|
<rect key="frame" x="323" y="169" width="78" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Unlock" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="3">
|
<buttonCell key="cell" type="push" title="Unlock" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="3">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -86,15 +86,15 @@ DQ
|
|||||||
</connections>
|
</connections>
|
||||||
</secureTextField>
|
</secureTextField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="408">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="408">
|
||||||
<rect key="frame" x="358" y="250" width="29" height="23"/>
|
<rect key="frame" x="351" y="246" width="50" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="409">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="409">
|
||||||
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="486">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="486">
|
||||||
<rect key="frame" x="358" y="221" width="29" height="23"/>
|
<rect key="frame" x="351" y="216" width="50" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSStopProgressTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="487">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSStopProgressTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="487">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -103,14 +103,14 @@ DQ
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="d8O-Ha-rrS">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="d8O-Ha-rrS">
|
||||||
<rect key="frame" x="72" y="254" width="81" height="18"/>
|
<rect key="frame" x="66" y="254" width="85" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Password" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="IU9-5u-jn9">
|
<buttonCell key="cell" type="check" title="Password" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="IU9-5u-jn9">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2pb-ZG-spA">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2pb-ZG-spA">
|
||||||
<rect key="frame" x="228" y="168" width="82" height="32"/>
|
<rect key="frame" x="249" y="169" width="76" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="erj-mR-UyO">
|
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="erj-mR-UyO">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -151,7 +151,6 @@ Gw
|
|||||||
<constraint firstItem="486" firstAttribute="leading" secondItem="408" secondAttribute="leading" id="490"/>
|
<constraint firstItem="486" firstAttribute="leading" secondItem="408" secondAttribute="leading" id="490"/>
|
||||||
<constraint firstItem="408" firstAttribute="trailing" secondItem="486" secondAttribute="trailing" id="492"/>
|
<constraint firstItem="408" firstAttribute="trailing" secondItem="486" secondAttribute="trailing" id="492"/>
|
||||||
<constraint firstItem="2" firstAttribute="trailing" secondItem="486" secondAttribute="trailing" id="496"/>
|
<constraint firstItem="2" firstAttribute="trailing" secondItem="486" secondAttribute="trailing" id="496"/>
|
||||||
<constraint firstItem="408" firstAttribute="leading" secondItem="338" secondAttribute="trailing" constant="8" symbolic="YES" id="7qE-8F-QgB"/>
|
|
||||||
<constraint firstItem="2pb-ZG-spA" firstAttribute="baseline" secondItem="2" secondAttribute="baseline" id="9nK-MH-Ozs"/>
|
<constraint firstItem="2pb-ZG-spA" firstAttribute="baseline" secondItem="2" secondAttribute="baseline" id="9nK-MH-Ozs"/>
|
||||||
<constraint firstItem="txI-yI-5nE" firstAttribute="trailing" secondItem="241" secondAttribute="trailing" id="AVL-HO-SMq"/>
|
<constraint firstItem="txI-yI-5nE" firstAttribute="trailing" secondItem="241" secondAttribute="trailing" id="AVL-HO-SMq"/>
|
||||||
<constraint firstItem="17" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="EOa-K4-v7J"/>
|
<constraint firstItem="17" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="EOa-K4-v7J"/>
|
||||||
@@ -169,7 +168,7 @@ Gw
|
|||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="02_MessageBoxWarningTemplate" width="16" height="16"/>
|
<image name="02_MessageBoxWarningTemplate" width="16" height="16"/>
|
||||||
<image name="NSQuickLookTemplate" width="19" height="12"/>
|
<image name="NSQuickLookTemplate" width="21" height="13"/>
|
||||||
<image name="NSStopProgressTemplate" width="11" height="11"/>
|
<image name="NSStopProgressTemplate" width="14" height="13"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -20,11 +20,11 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView id="Hz6-mo-xeY">
|
<customView id="Hz6-mo-xeY">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="410" height="220"/>
|
<rect key="frame" x="0.0" y="0.0" width="410" height="214"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KQ1-tZ-qja" customClass="HNHUISecureTextField">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KQ1-tZ-qja" customClass="HNHUISecureTextField">
|
||||||
<rect key="frame" x="20" y="74" width="278" height="24"/>
|
<rect key="frame" x="20" y="72" width="262" height="20"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Wi0-xp-KgI">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Wi0-xp-KgI">
|
||||||
<font key="font" size="13" name="Menlo-Regular"/>
|
<font key="font" size="13" name="Menlo-Regular"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -32,28 +32,27 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hKI-WP-N93">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hKI-WP-N93">
|
||||||
<rect key="frame" x="361.5" y="74" width="29" height="23"/>
|
<rect key="frame" x="347" y="65" width="50" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="95g-dp-50Q">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="95g-dp-50Q">
|
||||||
<behavior key="behavior" pushIn="YES" changeContents="YES" lightByContents="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<scrollView horizontalLineScroll="26" horizontalPageScroll="10" verticalLineScroll="26" verticalPageScroll="10" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" verticalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="MVS-ug-wys">
|
<scrollView horizontalLineScroll="26" horizontalPageScroll="10" verticalLineScroll="26" verticalPageScroll="10" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" verticalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="MVS-ug-wys">
|
||||||
<rect key="frame" x="20" y="106" width="370" height="64"/>
|
<rect key="frame" x="20" y="100" width="370" height="64"/>
|
||||||
<clipView key="contentView" drawsBackground="NO" id="8aa-cB-mUF">
|
<clipView key="contentView" drawsBackground="NO" id="8aa-cB-mUF">
|
||||||
<rect key="frame" x="1" y="0.0" width="368" height="63"/>
|
<rect key="frame" x="1" y="1" width="368" height="62"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="none" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="24" rowSizeStyle="systemDefault" headerView="GRO-H1-N4r" viewBased="YES" id="KJq-FZ-rAE">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="none" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="24" rowSizeStyle="systemDefault" headerView="GRO-H1-N4r" viewBased="YES" id="KJq-FZ-rAE">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="368" height="40"/>
|
<rect key="frame" x="0.0" y="0.0" width="368" height="39"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="365" minWidth="40" maxWidth="1000" id="Q1b-ir-hyW">
|
<tableColumn width="356" minWidth="40" maxWidth="1000" id="Q1b-ir-hyW">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -104,13 +103,13 @@
|
|||||||
<rect key="frame" x="-100" y="-100" width="15" height="102"/>
|
<rect key="frame" x="-100" y="-100" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<tableHeaderView key="headerView" id="GRO-H1-N4r">
|
<tableHeaderView key="headerView" wantsLayer="YES" id="GRO-H1-N4r">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="368" height="23"/>
|
<rect key="frame" x="0.0" y="0.0" width="368" height="23"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</tableHeaderView>
|
</tableHeaderView>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="k8l-uy-C3l">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="k8l-uy-C3l">
|
||||||
<rect key="frame" x="313" y="13" width="83" height="32"/>
|
<rect key="frame" x="319" y="13" width="78" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Submit" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="8vP-Ka-vsA">
|
<buttonCell key="cell" type="push" title="Submit" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="8vP-Ka-vsA">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -120,8 +119,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Y8X-Bm-qLt">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Y8X-Bm-qLt">
|
||||||
<rect key="frame" x="305.5" y="74" width="49" height="23"/>
|
<rect key="frame" x="283" y="65" width="70" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Reset" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Emo-pg-Mfe">
|
<buttonCell key="cell" type="push" title="Reset" bezelStyle="rounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Emo-pg-Mfe">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -130,7 +129,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="e2q-qh-Zlv">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="e2q-qh-Zlv">
|
||||||
<rect key="frame" x="167" y="49" width="76" height="17"/>
|
<rect key="frame" x="167" y="48" width="76" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="StatusLabel" id="M3h-q8-FLO">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="StatusLabel" id="M3h-q8-FLO">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -138,7 +137,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wAr-f2-ZUQ">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wAr-f2-ZUQ">
|
||||||
<rect key="frame" x="18" y="178" width="374" height="22"/>
|
<rect key="frame" x="18" y="172" width="374" height="22"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="MessageLabel" id="sHz-kg-YJQ">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="MessageLabel" id="sHz-kg-YJQ">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -174,6 +173,6 @@
|
|||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSQuickLookTemplate" width="19" height="12"/>
|
<image name="NSQuickLookTemplate" width="21" height="13"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="BDL-W9-psF">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="BDL-W9-psF">
|
||||||
<rect key="frame" x="18" y="341" width="237" height="17"/>
|
<rect key="frame" x="18" y="342" width="237" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Please pick a field value to be inserted" id="aJS-22-6Va">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Please pick a field value to be inserted" id="aJS-22-6Va">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="n1E-iQ-yd7">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="n1E-iQ-yd7">
|
||||||
<rect key="frame" x="381" y="13" width="79" height="32"/>
|
<rect key="frame" x="387" y="13" width="74" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Select" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6Wi-9i-Tcb">
|
<buttonCell key="cell" type="push" title="Select" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6Wi-9i-Tcb">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -40,21 +40,20 @@ DQ
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nlF-dy-Ttg">
|
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nlF-dy-Ttg">
|
||||||
<rect key="frame" x="20" y="61" width="434" height="272"/>
|
<rect key="frame" x="20" y="60" width="434" height="274"/>
|
||||||
<clipView key="contentView" id="am4-w0-FSd">
|
<clipView key="contentView" id="am4-w0-FSd">
|
||||||
<rect key="frame" x="1" y="0.0" width="432" height="271"/>
|
<rect key="frame" x="1" y="1" width="432" height="272"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" headerView="jX4-Gp-btT" viewBased="YES" id="5xi-x0-G4W">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" headerView="jX4-Gp-btT" viewBased="YES" id="5xi-x0-G4W">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="436" height="248"/>
|
<rect key="frame" x="0.0" y="0.0" width="445" height="249"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="118" minWidth="40" maxWidth="1000" id="0H9-DW-Jyj">
|
<tableColumn width="118" minWidth="40" maxWidth="1000" id="0H9-DW-Jyj">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Field">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Field">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -66,11 +65,11 @@ DQ
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="DataCell" id="s1C-7e-04S">
|
<tableCellView identifier="DataCell" id="s1C-7e-04S">
|
||||||
<rect key="frame" x="1" y="1" width="118" height="17"/>
|
<rect key="frame" x="1" y="1" width="123" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ADN-XZ-Lq7">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ADN-XZ-Lq7">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="118" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="123" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="e8U-mE-mZh">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="e8U-mE-mZh">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -84,11 +83,11 @@ DQ
|
|||||||
</connections>
|
</connections>
|
||||||
</tableCellView>
|
</tableCellView>
|
||||||
<tableCellView identifier="HeaderCell" id="wpe-VG-m1j">
|
<tableCellView identifier="HeaderCell" id="wpe-VG-m1j">
|
||||||
<rect key="frame" x="1" y="20" width="118" height="17"/>
|
<rect key="frame" x="1" y="20" width="123" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6sH-Uk-P1B">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6sH-Uk-P1B">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="118" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="123" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Header View Cell" id="kTy-VO-Xlg">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Header View Cell" id="kTy-VO-Xlg">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -105,7 +104,6 @@ DQ
|
|||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn width="312" minWidth="40" maxWidth="1000" id="rVo-ud-5fs">
|
<tableColumn width="312" minWidth="40" maxWidth="1000" id="rVo-ud-5fs">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Value">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Value">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -125,15 +123,15 @@ DQ
|
|||||||
</subviews>
|
</subviews>
|
||||||
</clipView>
|
</clipView>
|
||||||
<scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="RHy-ph-0lP">
|
<scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="RHy-ph-0lP">
|
||||||
<rect key="frame" x="1" y="255" width="432" height="16"/>
|
<rect key="frame" x="1" y="257" width="432" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="b5D-WW-IPI">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="b5D-WW-IPI">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<tableHeaderView key="headerView" id="jX4-Gp-btT">
|
<tableHeaderView key="headerView" wantsLayer="YES" id="jX4-Gp-btT">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="436" height="23"/>
|
<rect key="frame" x="0.0" y="0.0" width="445" height="23"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</tableHeaderView>
|
</tableHeaderView>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14313.18"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -15,25 +15,24 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView id="Hz6-mo-xeY">
|
<customView id="Hz6-mo-xeY">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="287" height="474"/>
|
<rect key="frame" x="0.0" y="0.0" width="287" height="472"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<scrollView borderType="line" autohidesScrollers="YES" horizontalLineScroll="56" horizontalPageScroll="10" verticalLineScroll="56" verticalPageScroll="10" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="eUU-kx-L3U" customClass="HNHUIScrollView">
|
<scrollView borderType="line" autohidesScrollers="YES" horizontalLineScroll="56" horizontalPageScroll="10" verticalLineScroll="56" verticalPageScroll="10" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="eUU-kx-L3U" customClass="HNHUIScrollView">
|
||||||
<rect key="frame" x="16" y="50" width="255" height="382"/>
|
<rect key="frame" x="16" y="48" width="255" height="382"/>
|
||||||
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="cgV-6Q-xC5">
|
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="cgV-6Q-xC5">
|
||||||
<rect key="frame" x="1" y="1" width="253" height="380"/>
|
<rect key="frame" x="1" y="1" width="253" height="380"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="none" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="54" rowSizeStyle="automatic" viewBased="YES" id="p6e-PR-zyQ">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="none" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="54" rowSizeStyle="automatic" viewBased="YES" id="p6e-PR-zyQ">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="253" height="380"/>
|
<rect key="frame" x="0.0" y="0.0" width="253" height="380"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="250" minWidth="40" maxWidth="1000" id="t3Y-fx-P5b">
|
<tableColumn width="241" minWidth="40" maxWidth="1000" id="t3Y-fx-P5b">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -72,11 +71,11 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="K3k-BF-ag9">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="K3k-BF-ag9">
|
||||||
<rect key="frame" x="217" y="8" width="32" height="25"/>
|
<rect key="frame" x="210" y="4" width="46" height="32"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="32" id="UXw-HR-Aqw"/>
|
<constraint firstAttribute="width" constant="32" id="UXw-HR-Aqw"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSRemoveTemplate" imagePosition="overlaps" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="11n-xu-gUH">
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSRemoveTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="11n-xu-gUH">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -107,21 +106,22 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</tableView>
|
</tableView>
|
||||||
</subviews>
|
</subviews>
|
||||||
|
<nil key="backgroundColor"/>
|
||||||
</clipView>
|
</clipView>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="200" id="PWI-m3-nSC"/>
|
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="200" id="PWI-m3-nSC"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="x6X-UZ-xSg">
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="x6X-UZ-xSg">
|
||||||
<rect key="frame" x="1" y="317" width="253" height="16"/>
|
<rect key="frame" x="1" y="317" width="253" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="YJP-Wl-Ugv">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="YJP-Wl-Ugv">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ZhC-nS-vfd">
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ZhC-nS-vfd">
|
||||||
<rect key="frame" x="18" y="440" width="63" height="14"/>
|
<rect key="frame" x="18" y="438" width="63" height="14"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Plugin data" id="unO-bO-8v0">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Plugin data" id="unO-bO-8v0">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -129,8 +129,8 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wUR-gA-36a">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wUR-gA-36a">
|
||||||
<rect key="frame" x="186" y="18" width="81" height="25"/>
|
<rect key="frame" x="172" y="13" width="102" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Remove All" bezelStyle="texturedRounded" imagePosition="overlaps" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6hH-Hc-gf4">
|
<buttonCell key="cell" type="push" title="Remove All" bezelStyle="rounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6hH-Hc-gf4">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -154,6 +154,6 @@
|
|||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSRemoveTemplate" width="11" height="11"/>
|
<image name="NSRemoveTemplate" width="14" height="4"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15705" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15705"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -22,19 +22,19 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Hz6-mo-xeY">
|
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Hz6-mo-xeY">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="607" height="502"/>
|
<rect key="frame" x="0.0" y="0.0" width="607" height="542"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<box borderType="line" title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="vBs-Ga-aq0">
|
<box borderType="line" title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="vBs-Ga-aq0">
|
||||||
<rect key="frame" x="175" y="46" width="415" height="306"/>
|
<rect key="frame" x="175" y="56" width="415" height="330"/>
|
||||||
<view key="contentView" id="tD5-Na-7XI">
|
<view key="contentView" id="tD5-Na-7XI">
|
||||||
<rect key="frame" x="3" y="3" width="409" height="300"/>
|
<rect key="frame" x="3" y="3" width="409" height="324"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="wIk-iw-Tcz">
|
<customView translatesAutoresizingMaskIntoConstraints="NO" id="wIk-iw-Tcz">
|
||||||
<rect key="frame" x="20" y="20" width="369" height="260"/>
|
<rect key="frame" x="20" y="20" width="369" height="284"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qPL-FR-ky7">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qPL-FR-ky7">
|
||||||
<rect key="frame" x="18" y="224" width="333" height="16"/>
|
<rect key="frame" x="18" y="248" width="333" height="16"/>
|
||||||
<textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" title="Plugin Settings Info" id="OOr-SW-jZb">
|
<textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" title="Plugin Settings Info" id="OOr-SW-jZb">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -59,14 +59,14 @@
|
|||||||
</view>
|
</view>
|
||||||
</box>
|
</box>
|
||||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="CqP-oK-S8k">
|
<button translatesAutoresizingMaskIntoConstraints="NO" id="CqP-oK-S8k">
|
||||||
<rect key="frame" x="18" y="422" width="159" height="18"/>
|
<rect key="frame" x="18" y="459" width="163" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Load unsecure Plugins" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="C4B-6z-ZqX">
|
<buttonCell key="cell" type="check" title="Load unsecure Plugins" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="C4B-6z-ZqX">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="aoG-FD-ds8">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="aoG-FD-ds8">
|
||||||
<rect key="frame" x="18" y="388" width="571" height="28"/>
|
<rect key="frame" x="18" y="424" width="571" height="28"/>
|
||||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="2bX-8S-9XM">
|
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="2bX-8S-9XM">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<string key="title">If enabled, Plugins without proper signatures will be allowed to load. Keep in mind, that Plugins have full access to your data! Changes take affect on restart.</string>
|
<string key="title">If enabled, Plugins without proper signatures will be allowed to load. Keep in mind, that Plugins have full access to your data! Changes take affect on restart.</string>
|
||||||
@@ -75,21 +75,20 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="37" horizontalPageScroll="10" verticalLineScroll="37" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fCk-fL-jU8">
|
<scrollView autohidesScrollers="YES" horizontalLineScroll="37" horizontalPageScroll="10" verticalLineScroll="37" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fCk-fL-jU8">
|
||||||
<rect key="frame" x="20" y="50" width="150" height="300"/>
|
<rect key="frame" x="20" y="60" width="150" height="324"/>
|
||||||
<clipView key="contentView" id="lTL-Q2-k45">
|
<clipView key="contentView" id="lTL-Q2-k45">
|
||||||
<rect key="frame" x="1" y="1" width="148" height="298"/>
|
<rect key="frame" x="1" y="1" width="148" height="322"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" ambiguous="YES" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="35" usesAutomaticRowHeights="YES" viewBased="YES" id="Ocu-C0-03d">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="35" usesAutomaticRowHeights="YES" viewBased="YES" id="Ocu-C0-03d">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="148" height="298"/>
|
<rect key="frame" x="0.0" y="0.0" width="148" height="322"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="145" minWidth="40" maxWidth="1000" id="kNH-wp-Drp">
|
<tableColumn width="136" minWidth="40" maxWidth="1000" id="kNH-wp-Drp">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -154,12 +153,13 @@
|
|||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="B9Q-hq-K4N">
|
<segmentedControl verticalHuggingPriority="750" id="B9Q-hq-K4N">
|
||||||
<rect key="frame" x="20" y="19" width="71" height="23"/>
|
<rect key="frame" x="17" y="18" width="63" height="36"/>
|
||||||
<segmentedCell key="cell" borderStyle="border" alignment="left" style="texturedSquare" trackingMode="momentary" id="cj3-R6-g1E">
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<segmentedCell key="cell" borderStyle="border" alignment="left" style="rounded" trackingMode="momentary" id="cj3-R6-g1E">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<segments>
|
<segments>
|
||||||
<segment image="NSAddTemplate" width="32"/>
|
<segment image="NSAddTemplate" width="24"/>
|
||||||
<segment image="NSRemoveTemplate" width="32" tag="1"/>
|
<segment image="NSRemoveTemplate" width="32" tag="1"/>
|
||||||
</segments>
|
</segments>
|
||||||
</segmentedCell>
|
</segmentedCell>
|
||||||
@@ -168,8 +168,8 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</segmentedControl>
|
</segmentedControl>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="SNe-cc-CZs">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="SNe-cc-CZs">
|
||||||
<rect key="frame" x="413" y="19" width="174" height="23"/>
|
<rect key="frame" x="400" y="13" width="194" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Browse Available Plugins…" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="sqO-8H-n1y">
|
<buttonCell key="cell" type="push" title="Browse Available Plugins…" bezelStyle="rounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="sqO-8H-n1y">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
@@ -178,21 +178,21 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XIl-03-JZP">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XIl-03-JZP">
|
||||||
<rect key="frame" x="18" y="356" width="250" height="18"/>
|
<rect key="frame" x="18" y="391" width="254" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Force loading of incompatible Plugins" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="yak-fS-jtA">
|
<buttonCell key="cell" type="check" title="Force loading of incompatible Plugins" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="yak-fS-jtA">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="K0z-aD-K2P">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="K0z-aD-K2P">
|
||||||
<rect key="frame" x="18" y="466" width="243" height="18"/>
|
<rect key="frame" x="18" y="505" width="247" height="18"/>
|
||||||
<buttonCell key="cell" type="check" title="Download current Plugin information" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="uHR-uL-Ddm">
|
<buttonCell key="cell" type="check" title="Download current Plugin information" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="uHR-uL-Ddm">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="nrf-Hz-0vB">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="nrf-Hz-0vB">
|
||||||
<rect key="frame" x="18" y="446" width="349" height="14"/>
|
<rect key="frame" x="18" y="484" width="349" height="14"/>
|
||||||
<textFieldCell key="cell" controlSize="small" selectable="YES" title="If enabled, a remote connection is established to macpassapp.org" id="i3S-9b-Bpf">
|
<textFieldCell key="cell" controlSize="small" selectable="YES" title="If enabled, a remote connection is established to macpassapp.org" id="i3S-9b-Bpf">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -223,18 +223,18 @@
|
|||||||
<constraint firstItem="nrf-Hz-0vB" firstAttribute="top" secondItem="K0z-aD-K2P" secondAttribute="bottom" constant="8" symbolic="YES" id="ohE-9y-xO4"/>
|
<constraint firstItem="nrf-Hz-0vB" firstAttribute="top" secondItem="K0z-aD-K2P" secondAttribute="bottom" constant="8" symbolic="YES" id="ohE-9y-xO4"/>
|
||||||
<constraint firstItem="XIl-03-JZP" firstAttribute="leading" secondItem="CqP-oK-S8k" secondAttribute="leading" id="oqX-wa-jm0"/>
|
<constraint firstItem="XIl-03-JZP" firstAttribute="leading" secondItem="CqP-oK-S8k" secondAttribute="leading" id="oqX-wa-jm0"/>
|
||||||
<constraint firstItem="K0z-aD-K2P" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" symbolic="YES" id="q4N-Jc-F3L"/>
|
<constraint firstItem="K0z-aD-K2P" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" symbolic="YES" id="q4N-Jc-F3L"/>
|
||||||
<constraint firstItem="SNe-cc-CZs" firstAttribute="top" secondItem="vBs-Ga-aq0" secondAttribute="bottom" constant="8" symbolic="YES" id="r4X-iM-iYU"/>
|
<constraint firstItem="SNe-cc-CZs" firstAttribute="top" secondItem="vBs-Ga-aq0" secondAttribute="bottom" constant="20" symbolic="YES" id="r4X-iM-iYU"/>
|
||||||
<constraint firstItem="CqP-oK-S8k" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="rN1-3Z-BBi"/>
|
<constraint firstItem="CqP-oK-S8k" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="rN1-3Z-BBi"/>
|
||||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="XIl-03-JZP" secondAttribute="trailing" constant="20" symbolic="YES" id="rkN-ew-RtP"/>
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="XIl-03-JZP" secondAttribute="trailing" constant="20" symbolic="YES" id="rkN-ew-RtP"/>
|
||||||
<constraint firstItem="fCk-fL-jU8" firstAttribute="top" secondItem="XIl-03-JZP" secondAttribute="bottom" constant="8" symbolic="YES" id="vl9-MY-WW1"/>
|
<constraint firstItem="fCk-fL-jU8" firstAttribute="top" secondItem="XIl-03-JZP" secondAttribute="bottom" constant="8" symbolic="YES" id="vl9-MY-WW1"/>
|
||||||
<constraint firstItem="vBs-Ga-aq0" firstAttribute="leading" secondItem="fCk-fL-jU8" secondAttribute="trailing" constant="8" id="xNu-Sj-xQO"/>
|
<constraint firstItem="vBs-Ga-aq0" firstAttribute="leading" secondItem="fCk-fL-jU8" secondAttribute="trailing" constant="8" id="xNu-Sj-xQO"/>
|
||||||
<constraint firstItem="aoG-FD-ds8" firstAttribute="top" secondItem="CqP-oK-S8k" secondAttribute="bottom" constant="8" symbolic="YES" id="zSW-h3-BrT"/>
|
<constraint firstItem="aoG-FD-ds8" firstAttribute="top" secondItem="CqP-oK-S8k" secondAttribute="bottom" constant="8" symbolic="YES" id="zSW-h3-BrT"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<point key="canvasLocation" x="179" y="115"/>
|
<point key="canvasLocation" x="169" y="6"/>
|
||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSAddTemplate" width="11" height="11"/>
|
<image name="NSAddTemplate" width="14" height="13"/>
|
||||||
<image name="NSRemoveTemplate" width="11" height="11"/>
|
<image name="NSRemoveTemplate" width="14" height="4"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -15,26 +15,25 @@
|
|||||||
</customObject>
|
</customObject>
|
||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView id="Hz6-mo-xeY">
|
<customView misplaced="YES" id="Hz6-mo-xeY">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="638" height="513"/>
|
<rect key="frame" x="0.0" y="0.0" width="628" height="488"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<scrollView autohidesScrollers="YES" horizontalLineScroll="26" horizontalPageScroll="10" verticalLineScroll="26" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="V1g-KK-vjw">
|
<scrollView autohidesScrollers="YES" horizontalLineScroll="26" horizontalPageScroll="10" verticalLineScroll="26" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="V1g-KK-vjw">
|
||||||
<rect key="frame" x="20" y="74" width="598" height="419"/>
|
<rect key="frame" x="20" y="72" width="573" height="372"/>
|
||||||
<clipView key="contentView" id="Sqy-VI-iH4">
|
<clipView key="contentView" id="Sqy-VI-iH4">
|
||||||
<rect key="frame" x="1" y="0.0" width="596" height="418"/>
|
<rect key="frame" x="1" y="1" width="571" height="370"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="sequential" alternatingRowBackgroundColors="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="systemDefault" headerView="uVe-04-Now" viewBased="YES" id="gDR-Fx-c0h">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="sequential" alternatingRowBackgroundColors="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="systemDefault" headerView="uVe-04-Now" viewBased="YES" id="gDR-Fx-c0h">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="599" height="395"/>
|
<rect key="frame" x="0.0" y="0.0" width="608" height="347"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn width="145" minWidth="10" maxWidth="3.4028234663852886e+38" id="Nzo-rR-Hfx">
|
<tableColumn width="145" minWidth="10" maxWidth="3.4028234663852886e+38" id="Nzo-rR-Hfx">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Plugin">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Plugin">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -46,11 +45,11 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="Uuc-Kh-oDl">
|
<tableCellView id="Uuc-Kh-oDl">
|
||||||
<rect key="frame" x="1" y="1" width="145" height="17"/>
|
<rect key="frame" x="1" y="1" width="150" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6fB-f9-l44">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6fB-f9-l44">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="145" height="17"/>
|
<rect key="frame" x="0.0" y="0.0" width="150" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="DRt-Gz-DUm">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="DRt-Gz-DUm">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -67,7 +66,6 @@
|
|||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn width="88" minWidth="10" maxWidth="3.4028234663852886e+38" id="hFg-AD-SqD">
|
<tableColumn width="88" minWidth="10" maxWidth="3.4028234663852886e+38" id="hFg-AD-SqD">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Latest Version">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Latest Version">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -79,7 +77,7 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="AKl-7g-maS">
|
<tableCellView id="AKl-7g-maS">
|
||||||
<rect key="frame" x="149" y="1" width="88" height="17"/>
|
<rect key="frame" x="154" y="1" width="88" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gZz-x5-KVH">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gZz-x5-KVH">
|
||||||
@@ -100,7 +98,6 @@
|
|||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn width="357" minWidth="10" maxWidth="3.4028234663852886e+38" id="g1Q-BS-vCR">
|
<tableColumn width="357" minWidth="10" maxWidth="3.4028234663852886e+38" id="g1Q-BS-vCR">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Status">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Status">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -112,11 +109,11 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="RMm-PO-UNp" customClass="MPPluginStatusTableCellView">
|
<tableCellView id="RMm-PO-UNp" customClass="MPPluginStatusTableCellView">
|
||||||
<rect key="frame" x="240" y="1" width="357" height="17"/>
|
<rect key="frame" x="245" y="1" width="361" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="RBa-0B-xVt">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="RBa-0B-xVt">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="96" height="17"/>
|
<rect key="frame" x="0.0" y="1" width="96" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="ZIf-CU-gh7">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="ZIf-CU-gh7">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -124,7 +121,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tVV-rz-Aff">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tVV-rz-Aff">
|
||||||
<rect key="frame" x="291" y="-1" width="46" height="19"/>
|
<rect key="frame" x="294" y="-1" width="48" height="19"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Action" bezelStyle="texturedRounded" alignment="center" controlSize="small" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6jQ-Uk-uqD">
|
<buttonCell key="cell" type="roundTextured" title="Action" bezelStyle="texturedRounded" alignment="center" controlSize="small" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6jQ-Uk-uqD">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
@@ -160,20 +157,20 @@
|
|||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="400" id="gYM-eK-y5v"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="400" id="gYM-eK-y5v"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="ajb-Vb-WhY">
|
<scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="ajb-Vb-WhY">
|
||||||
<rect key="frame" x="1" y="402" width="596" height="16"/>
|
<rect key="frame" x="1" y="355" width="571" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="3eJ-oK-GNt">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="3eJ-oK-GNt">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<tableHeaderView key="headerView" id="uVe-04-Now">
|
<tableHeaderView key="headerView" wantsLayer="YES" id="uVe-04-Now">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="599" height="23"/>
|
<rect key="frame" x="0.0" y="0.0" width="608" height="23"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</tableHeaderView>
|
</tableHeaderView>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bGv-Zc-Vrk">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bGv-Zc-Vrk">
|
||||||
<rect key="frame" x="14" y="13" width="87" height="32"/>
|
<rect key="frame" x="13" y="13" width="82" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Refresh" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="NZw-nO-lZ3">
|
<buttonCell key="cell" type="push" title="Refresh" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="NZw-nO-lZ3">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -183,7 +180,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Pkh-la-7FU">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Pkh-la-7FU">
|
||||||
<rect key="frame" x="552" y="13" width="72" height="32"/>
|
<rect key="frame" x="514" y="13" width="66" height="32"/>
|
||||||
<buttonCell key="cell" type="push" title="Done" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="j9a-fn-Pye">
|
<buttonCell key="cell" type="push" title="Done" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="j9a-fn-Pye">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -193,7 +190,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="d2Q-7O-ilP">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="d2Q-7O-ilP">
|
||||||
<rect key="frame" x="110" y="49" width="72" height="17"/>
|
<rect key="frame" x="110" y="48" width="72" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Updated at" id="DhR-ED-6gV">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="Updated at" id="DhR-ED-6gV">
|
||||||
<dateFormatter key="formatter" dateStyle="short" timeStyle="medium" doesRelativeDateFormatting="YES" id="0Ll-SA-lFN"/>
|
<dateFormatter key="formatter" dateStyle="short" timeStyle="medium" doesRelativeDateFormatting="YES" id="0Ll-SA-lFN"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
@@ -202,7 +199,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fjQ-ni-Ayx">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fjQ-ni-Ayx">
|
||||||
<rect key="frame" x="18" y="49" width="88" height="17"/>
|
<rect key="frame" x="18" y="48" width="88" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Last updated:" id="ntD-sJ-NRw">
|
<textFieldCell key="cell" lineBreakMode="clipping" title="Last updated:" id="ntD-sJ-NRw">
|
||||||
<dateFormatter key="formatter" dateStyle="short" timeStyle="medium" doesRelativeDateFormatting="YES" id="fJu-2Q-skm"/>
|
<dateFormatter key="formatter" dateStyle="short" timeStyle="medium" doesRelativeDateFormatting="YES" id="fJu-2Q-skm"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15702" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15702"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -18,11 +18,11 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView id="c22-O7-iKe">
|
<customView id="c22-O7-iKe">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="207" height="213"/>
|
<rect key="frame" x="0.0" y="0.0" width="219" height="209"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IZP-Gd-jdU">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IZP-Gd-jdU">
|
||||||
<rect key="frame" x="13" y="151" width="83" height="23"/>
|
<rect key="frame" x="10" y="146" width="96" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="KPf-xE-gde">
|
<popUpButtonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="KPf-xE-gde">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IFf-vC-3vk" customClass="HNHUITextField">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IFf-vC-3vk" customClass="HNHUITextField">
|
||||||
<rect key="frame" x="13" y="101" width="174" height="21"/>
|
<rect key="frame" x="13" y="99" width="186" height="21"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="100" id="Seu-01-P53"/>
|
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="100" id="Seu-01-P53"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@@ -48,14 +48,14 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="T2o-aJ-JmD">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="T2o-aJ-JmD">
|
||||||
<rect key="frame" x="149" y="19" width="38" height="23"/>
|
<rect key="frame" x="148" y="13" width="58" height="32"/>
|
||||||
<buttonCell key="cell" type="roundTextured" title="Use" bezelStyle="texturedRounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Kqx-qm-nMG">
|
<buttonCell key="cell" type="push" title="Use" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Kqx-qm-nMG">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
</buttonCell>
|
</buttonCell>
|
||||||
</button>
|
</button>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VR5-Rx-ueN">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VR5-Rx-ueN">
|
||||||
<rect key="frame" x="102" y="182" width="24" height="14"/>
|
<rect key="frame" x="108" y="178" width="24" height="14"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Key" id="K1t-OZ-ACe">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Key" id="K1t-OZ-ACe">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sZo-ie-Asw">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sZo-ie-Asw">
|
||||||
<rect key="frame" x="11" y="182" width="58" height="14"/>
|
<rect key="frame" x="11" y="178" width="58" height="14"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Reference" id="r1V-VE-ngy">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Reference" id="r1V-VE-ngy">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -71,10 +71,10 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="b4e-k2-WPS">
|
<popUpButton horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="b4e-k2-WPS">
|
||||||
<rect key="frame" x="104" y="151" width="83" height="23"/>
|
<rect key="frame" x="107" y="146" width="96" height="25"/>
|
||||||
<popUpButtonCell key="cell" type="roundTextured" title="Matching" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" selectedItem="yT1-XL-k6a" id="Aob-tW-bUP">
|
<popUpButtonCell key="cell" type="roundTextured" title="Matching" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" selectedItem="yT1-XL-k6a" id="Aob-tW-bUP">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="menu"/>
|
||||||
<menu key="menu" id="j2A-qj-k7L">
|
<menu key="menu" id="j2A-qj-k7L">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Matching" state="on" id="yT1-XL-k6a">
|
<menuItem title="Matching" state="on" id="yT1-XL-k6a">
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WTJ-he-uTu">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WTJ-he-uTu">
|
||||||
<rect key="frame" x="11" y="130" width="37" height="14"/>
|
<rect key="frame" x="11" y="128" width="37" height="14"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Match" id="9ce-da-syF">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Match" id="9ce-da-syF">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mcC-bG-cCz">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mcC-bG-cCz">
|
||||||
<rect key="frame" x="11" y="79" width="92" height="14"/>
|
<rect key="frame" x="11" y="77" width="92" height="14"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Reference String" id="gik-Ha-hRd">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Reference String" id="gik-Ha-hRd">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="smallSystem"/>
|
||||||
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="b36-T7-1tO" customClass="HNHUITextField">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="b36-T7-1tO" customClass="HNHUITextField">
|
||||||
<rect key="frame" x="13" y="50" width="174" height="21"/>
|
<rect key="frame" x="13" y="48" width="186" height="21"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Reference" drawsBackground="YES" id="dr9-x8-kKk">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Reference" drawsBackground="YES" id="dr9-x8-kKk">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
<outlet property="browserPopup" destination="ehI-gq-lsb" id="YMy-L1-pQw"/>
|
<outlet property="browserPopup" destination="ehI-gq-lsb" id="YMy-L1-pQw"/>
|
||||||
<outlet property="doubleClickTitlePopup" destination="40" id="aKJ-q9-xjb"/>
|
<outlet property="doubleClickTitlePopup" destination="40" id="aKJ-q9-xjb"/>
|
||||||
<outlet property="doubleClickURLPopup" destination="13" id="fGP-5I-0XK"/>
|
<outlet property="doubleClickURLPopup" destination="13" id="fGP-5I-0XK"/>
|
||||||
|
<outlet property="focusSearchAfterUnlockCheckButton" destination="VIS-db-Y8n" id="xVr-wf-eJg"/>
|
||||||
<outlet property="generatePasswordOnEntriesCheckButton" destination="yxq-YK-61i" id="0SK-CT-Wdn"/>
|
<outlet property="generatePasswordOnEntriesCheckButton" destination="yxq-YK-61i" id="0SK-CT-Wdn"/>
|
||||||
<outlet property="hideAfterCopyToClipboardCheckButton" destination="vT4-wF-ned" id="d7e-vc-cAQ"/>
|
<outlet property="hideAfterCopyToClipboardCheckButton" destination="vT4-wF-ned" id="d7e-vc-cAQ"/>
|
||||||
<outlet property="updatePasswordOnTemplateEntriesCheckButton" destination="LPY-sM-hjS" id="wav-op-uck"/>
|
<outlet property="updatePasswordOnTemplateEntriesCheckButton" destination="LPY-sM-hjS" id="wav-op-uck"/>
|
||||||
@@ -20,37 +21,24 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="1">
|
<customView translatesAutoresizingMaskIntoConstraints="NO" id="1">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="449" height="338"/>
|
<rect key="frame" x="0.0" y="0.0" width="449" height="478"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<box autoresizesSubviews="NO" horizontalHuggingPriority="249" verticalHuggingPriority="500" borderType="line" title="Entry Table" translatesAutoresizingMaskIntoConstraints="NO" id="2">
|
<box autoresizesSubviews="NO" horizontalHuggingPriority="249" verticalHuggingPriority="500" borderType="line" title="Entry Table" translatesAutoresizingMaskIntoConstraints="NO" id="2">
|
||||||
<rect key="frame" x="17" y="194" width="415" height="96"/>
|
<rect key="frame" x="17" y="272" width="415" height="104"/>
|
||||||
<view key="contentView" id="cfa-nq-Kzt">
|
<view key="contentView" id="cfa-nq-Kzt">
|
||||||
<rect key="frame" x="3" y="3" width="409" height="78"/>
|
<rect key="frame" x="3" y="3" width="409" height="86"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9">
|
||||||
<rect key="frame" x="18" y="51" width="134" height="16"/>
|
<rect key="frame" x="18" y="49" width="134" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Double-click on URL:" id="10">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Double-click on URL:" id="10">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="13">
|
|
||||||
<rect key="frame" x="155" y="44" width="110" height="25"/>
|
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="14">
|
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
|
||||||
<font key="font" metaFont="menu"/>
|
|
||||||
<menu key="menu" title="OtherViews" id="15">
|
|
||||||
<items>
|
|
||||||
<menuItem title="Copies URL" id="16"/>
|
|
||||||
<menuItem title="Opens URL" id="17"/>
|
|
||||||
</items>
|
|
||||||
</menu>
|
|
||||||
</popUpButtonCell>
|
|
||||||
</popUpButton>
|
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="36">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="36">
|
||||||
<rect key="frame" x="18" y="21" width="134" height="16"/>
|
<rect key="frame" x="18" y="19" width="134" height="16"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Double-click on Title:" id="37">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Double-click on Title:" id="37">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -58,7 +46,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="40">
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="40">
|
||||||
<rect key="frame" x="155" y="16" width="140" height="23"/>
|
<rect key="frame" x="155" y="16" width="140" height="21"/>
|
||||||
<popUpButtonCell key="cell" type="push" title="Opens Inspector" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="44" id="41">
|
<popUpButtonCell key="cell" type="push" title="Opens Inspector" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="44" id="41">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="menu"/>
|
||||||
@@ -70,50 +58,41 @@
|
|||||||
</menu>
|
</menu>
|
||||||
</popUpButtonCell>
|
</popUpButtonCell>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
|
<popUpButton verticalHuggingPriority="750" verticalCompressionResistancePriority="751" translatesAutoresizingMaskIntoConstraints="NO" id="13">
|
||||||
|
<rect key="frame" x="155" y="42" width="110" height="25"/>
|
||||||
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="14">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="menu"/>
|
||||||
|
<menu key="menu" title="OtherViews" id="15">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Copies URL" id="16"/>
|
||||||
|
<menuItem title="Opens URL" id="17"/>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</popUpButtonCell>
|
||||||
|
</popUpButton>
|
||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
|
<constraint firstItem="13" firstAttribute="top" secondItem="cfa-nq-Kzt" secondAttribute="top" constant="20" symbolic="YES" id="0iU-Bj-QtG"/>
|
||||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="40" secondAttribute="trailing" constant="20" symbolic="YES" id="3iK-WD-tbs"/>
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="40" secondAttribute="trailing" constant="20" symbolic="YES" id="3iK-WD-tbs"/>
|
||||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="13" secondAttribute="trailing" constant="20" symbolic="YES" id="EQn-DK-viK"/>
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="13" secondAttribute="trailing" constant="20" symbolic="YES" id="EQn-DK-viK"/>
|
||||||
<constraint firstItem="9" firstAttribute="leading" secondItem="cfa-nq-Kzt" secondAttribute="leading" constant="20" symbolic="YES" id="FHR-zo-tjR"/>
|
<constraint firstItem="9" firstAttribute="leading" secondItem="cfa-nq-Kzt" secondAttribute="leading" constant="20" symbolic="YES" id="FHR-zo-tjR"/>
|
||||||
<constraint firstItem="9" firstAttribute="firstBaseline" secondItem="13" secondAttribute="firstBaseline" id="Swb-ay-7G0"/>
|
<constraint firstItem="9" firstAttribute="firstBaseline" secondItem="13" secondAttribute="firstBaseline" id="Swb-ay-7G0"/>
|
||||||
<constraint firstItem="36" firstAttribute="firstBaseline" secondItem="40" secondAttribute="firstBaseline" id="dWh-SS-Sc4"/>
|
<constraint firstItem="36" firstAttribute="firstBaseline" secondItem="40" secondAttribute="firstBaseline" id="dWh-SS-Sc4"/>
|
||||||
<constraint firstItem="36" firstAttribute="leading" secondItem="cfa-nq-Kzt" secondAttribute="leading" constant="20" symbolic="YES" id="eqy-R2-mpP"/>
|
<constraint firstItem="36" firstAttribute="leading" secondItem="cfa-nq-Kzt" secondAttribute="leading" constant="20" symbolic="YES" id="eqy-R2-mpP"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="40" secondAttribute="bottom" constant="20" symbolic="YES" id="lle-u8-JWP"/>
|
<constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="40" secondAttribute="bottom" constant="20" symbolic="YES" id="lle-u8-JWP"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="13" firstAttribute="leading" secondItem="9" secondAttribute="trailing" constant="8" symbolic="YES" id="1WE-nm-pp2"/>
|
<constraint firstItem="13" firstAttribute="leading" secondItem="9" secondAttribute="trailing" constant="8" symbolic="YES" id="1WE-nm-pp2"/>
|
||||||
<constraint firstItem="40" firstAttribute="centerY" secondItem="36" secondAttribute="centerY" id="1hi-oU-uNn"/>
|
<constraint firstAttribute="height" constant="100" id="AfY-wN-l34"/>
|
||||||
<constraint firstItem="13" firstAttribute="top" secondItem="2" secondAttribute="top" constant="25" id="Nd9-4H-y8b"/>
|
|
||||||
<constraint firstItem="40" firstAttribute="top" secondItem="13" secondAttribute="bottom" constant="10" symbolic="YES" id="YWX-K2-P8C"/>
|
<constraint firstItem="40" firstAttribute="top" secondItem="13" secondAttribute="bottom" constant="10" symbolic="YES" id="YWX-K2-P8C"/>
|
||||||
<constraint firstItem="13" firstAttribute="leading" secondItem="40" secondAttribute="leading" id="mih-x6-1K0"/>
|
<constraint firstItem="13" firstAttribute="leading" secondItem="40" secondAttribute="leading" id="mih-x6-1K0"/>
|
||||||
<constraint firstItem="40" firstAttribute="leading" secondItem="36" secondAttribute="trailing" constant="8" symbolic="YES" id="tsy-wg-saI"/>
|
<constraint firstItem="40" firstAttribute="leading" secondItem="36" secondAttribute="trailing" constant="8" symbolic="YES" id="tsy-wg-saI"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
</box>
|
</box>
|
||||||
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ehI-gq-lsb">
|
|
||||||
<rect key="frame" x="112" y="294" width="136" height="25"/>
|
|
||||||
<popUpButtonCell key="cell" type="push" title="Default Browser" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="7YX-EA-9KA" id="7Ip-sU-sAK">
|
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
|
||||||
<font key="font" metaFont="menu"/>
|
|
||||||
<menu key="menu" title="OtherViews" id="XgO-Tj-QjO">
|
|
||||||
<items>
|
|
||||||
<menuItem title="Default Browser" state="on" id="7YX-EA-9KA"/>
|
|
||||||
<menuItem title="Item 2" id="gej-kA-GzQ"/>
|
|
||||||
<menuItem title="Item 3" id="zC2-cM-KDv"/>
|
|
||||||
</items>
|
|
||||||
</menu>
|
|
||||||
</popUpButtonCell>
|
|
||||||
</popUpButton>
|
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lOo-NI-b07">
|
|
||||||
<rect key="frame" x="18" y="301" width="91" height="16"/>
|
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Open URLs in:" id="soD-wI-YOH">
|
|
||||||
<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>
|
|
||||||
<box horizontalHuggingPriority="249" borderType="line" title="New Entries" translatesAutoresizingMaskIntoConstraints="NO" id="Xvt-tP-TbR">
|
<box horizontalHuggingPriority="249" borderType="line" title="New Entries" translatesAutoresizingMaskIntoConstraints="NO" id="Xvt-tP-TbR">
|
||||||
<rect key="frame" x="17" y="94" width="415" height="96"/>
|
<rect key="frame" x="17" y="172" width="415" height="96"/>
|
||||||
<view key="contentView" id="g0i-00-sng">
|
<view key="contentView" id="g0i-00-sng">
|
||||||
<rect key="frame" x="3" y="3" width="409" height="78"/>
|
<rect key="frame" x="3" y="3" width="409" height="78"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
@@ -145,7 +124,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</box>
|
</box>
|
||||||
<box horizontalHuggingPriority="249" title="Clipboard" translatesAutoresizingMaskIntoConstraints="NO" id="Kff-Xp-hAT">
|
<box horizontalHuggingPriority="249" title="Clipboard" translatesAutoresizingMaskIntoConstraints="NO" id="Kff-Xp-hAT">
|
||||||
<rect key="frame" x="17" y="16" width="415" height="74"/>
|
<rect key="frame" x="17" y="94" width="415" height="74"/>
|
||||||
<view key="contentView" id="Ntf-zj-VZL">
|
<view key="contentView" id="Ntf-zj-VZL">
|
||||||
<rect key="frame" x="3" y="3" width="409" height="56"/>
|
<rect key="frame" x="3" y="3" width="409" height="56"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
@@ -166,25 +145,87 @@
|
|||||||
</constraints>
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
</box>
|
</box>
|
||||||
|
<box title="Search" translatesAutoresizingMaskIntoConstraints="NO" id="CLc-Vg-aWg">
|
||||||
|
<rect key="frame" x="17" y="16" width="415" height="74"/>
|
||||||
|
<view key="contentView" id="KWW-Ss-mhI">
|
||||||
|
<rect key="frame" x="3" y="3" width="409" height="56"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VIS-db-Y8n">
|
||||||
|
<rect key="frame" x="18" y="19" width="261" height="18"/>
|
||||||
|
<buttonCell key="cell" type="check" title="Focus search after unlocking database" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="I0s-iS-0Sc">
|
||||||
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
</button>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="VIS-db-Y8n" firstAttribute="leading" secondItem="KWW-Ss-mhI" secondAttribute="leading" constant="20" symbolic="YES" id="GkT-nF-RKV"/>
|
||||||
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="VIS-db-Y8n" secondAttribute="trailing" constant="20" symbolic="YES" id="XzO-KB-P5X"/>
|
||||||
|
<constraint firstItem="VIS-db-Y8n" firstAttribute="top" secondItem="KWW-Ss-mhI" secondAttribute="top" constant="20" symbolic="YES" id="ciI-U3-HDa"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="VIS-db-Y8n" secondAttribute="bottom" constant="20" id="t7Q-vo-yyz"/>
|
||||||
|
</constraints>
|
||||||
|
</view>
|
||||||
|
</box>
|
||||||
|
<box title="URLs" translatesAutoresizingMaskIntoConstraints="NO" id="8Z8-mS-hfg">
|
||||||
|
<rect key="frame" x="17" y="380" width="415" height="78"/>
|
||||||
|
<view key="contentView" id="LD4-oH-eGw">
|
||||||
|
<rect key="frame" x="3" y="3" width="409" height="60"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lOo-NI-b07">
|
||||||
|
<rect key="frame" x="18" y="23" width="91" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" enabled="NO" sendsActionOnEndEditing="YES" title="Open URLs in:" id="soD-wI-YOH">
|
||||||
|
<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>
|
||||||
|
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ehI-gq-lsb">
|
||||||
|
<rect key="frame" x="112" y="16" width="136" height="25"/>
|
||||||
|
<popUpButtonCell key="cell" type="push" title="Default Browser" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="7YX-EA-9KA" id="7Ip-sU-sAK">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="menu"/>
|
||||||
|
<menu key="menu" title="OtherViews" id="XgO-Tj-QjO">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Default Browser" state="on" id="7YX-EA-9KA"/>
|
||||||
|
<menuItem title="Item 2" id="gej-kA-GzQ"/>
|
||||||
|
<menuItem title="Item 3" id="zC2-cM-KDv"/>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</popUpButtonCell>
|
||||||
|
</popUpButton>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="ehI-gq-lsb" secondAttribute="bottom" constant="20" symbolic="YES" id="5Pa-Hu-TKL"/>
|
||||||
|
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="ehI-gq-lsb" secondAttribute="trailing" constant="20" symbolic="YES" id="8Qh-aY-FnV"/>
|
||||||
|
<constraint firstItem="ehI-gq-lsb" firstAttribute="leading" secondItem="lOo-NI-b07" secondAttribute="trailing" constant="8" symbolic="YES" id="94i-HV-mfW"/>
|
||||||
|
<constraint firstItem="lOo-NI-b07" firstAttribute="leading" secondItem="LD4-oH-eGw" secondAttribute="leading" constant="20" symbolic="YES" id="FSg-Id-v0g"/>
|
||||||
|
<constraint firstItem="lOo-NI-b07" firstAttribute="firstBaseline" secondItem="ehI-gq-lsb" secondAttribute="firstBaseline" id="I4D-aA-QaC"/>
|
||||||
|
<constraint firstItem="ehI-gq-lsb" firstAttribute="top" secondItem="LD4-oH-eGw" secondAttribute="top" constant="20" symbolic="YES" id="ciK-1U-UYJ"/>
|
||||||
|
</constraints>
|
||||||
|
</view>
|
||||||
|
</box>
|
||||||
</subviews>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="2" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="5"/>
|
<constraint firstItem="2" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="5"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="2" secondAttribute="trailing" constant="20" symbolic="YES" id="8"/>
|
<constraint firstAttribute="trailing" secondItem="2" secondAttribute="trailing" constant="20" symbolic="YES" id="8"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="CLc-Vg-aWg" secondAttribute="bottom" constant="20" symbolic="YES" id="1VG-9p-VC6"/>
|
||||||
<constraint firstItem="Kff-Xp-hAT" firstAttribute="top" secondItem="Xvt-tP-TbR" secondAttribute="bottom" constant="8" symbolic="YES" id="3RL-tm-4wu"/>
|
<constraint firstItem="Kff-Xp-hAT" firstAttribute="top" secondItem="Xvt-tP-TbR" secondAttribute="bottom" constant="8" symbolic="YES" id="3RL-tm-4wu"/>
|
||||||
<constraint firstAttribute="bottom" secondItem="Kff-Xp-hAT" secondAttribute="bottom" constant="20" symbolic="YES" id="8k6-1d-wPj"/>
|
<constraint firstAttribute="trailing" secondItem="8Z8-mS-hfg" secondAttribute="trailing" constant="20" symbolic="YES" id="5Hg-na-QAc"/>
|
||||||
<constraint firstItem="Xvt-tP-TbR" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="BH4-4y-uma"/>
|
<constraint firstItem="Xvt-tP-TbR" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="BH4-4y-uma"/>
|
||||||
<constraint firstItem="2" firstAttribute="top" secondItem="ehI-gq-lsb" secondAttribute="bottom" constant="8" symbolic="YES" id="CnN-aU-Qa1"/>
|
|
||||||
<constraint firstItem="Xvt-tP-TbR" firstAttribute="top" secondItem="2" secondAttribute="bottom" constant="8" symbolic="YES" id="FVK-Uf-kLv"/>
|
<constraint firstItem="Xvt-tP-TbR" firstAttribute="top" secondItem="2" secondAttribute="bottom" constant="8" symbolic="YES" id="FVK-Uf-kLv"/>
|
||||||
<constraint firstItem="ehI-gq-lsb" firstAttribute="leading" secondItem="lOo-NI-b07" secondAttribute="trailing" constant="8" symbolic="YES" id="KxB-TG-rH5"/>
|
<constraint firstItem="CLc-Vg-aWg" firstAttribute="top" secondItem="Kff-Xp-hAT" secondAttribute="bottom" constant="8" symbolic="YES" id="MZ9-vN-2za"/>
|
||||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="ehI-gq-lsb" secondAttribute="trailing" constant="20" symbolic="YES" id="Ldw-aO-wuX"/>
|
<constraint firstItem="8Z8-mS-hfg" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="ScX-YY-rgS"/>
|
||||||
<constraint firstItem="ehI-gq-lsb" firstAttribute="top" secondItem="1" secondAttribute="top" constant="20" symbolic="YES" id="MAe-l7-8k2"/>
|
|
||||||
<constraint firstAttribute="trailing" secondItem="Kff-Xp-hAT" secondAttribute="trailing" constant="20" symbolic="YES" id="VLC-2A-Vdd"/>
|
<constraint firstAttribute="trailing" secondItem="Kff-Xp-hAT" secondAttribute="trailing" constant="20" symbolic="YES" id="VLC-2A-Vdd"/>
|
||||||
<constraint firstItem="Kff-Xp-hAT" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="Vle-Z0-mh8"/>
|
<constraint firstItem="Kff-Xp-hAT" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="Vle-Z0-mh8"/>
|
||||||
|
<constraint firstItem="2" firstAttribute="top" secondItem="8Z8-mS-hfg" secondAttribute="bottom" constant="8" symbolic="YES" id="Z6D-RB-aR5"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="Xvt-tP-TbR" secondAttribute="trailing" constant="20" id="anU-nC-YAw"/>
|
<constraint firstAttribute="trailing" secondItem="Xvt-tP-TbR" secondAttribute="trailing" constant="20" id="anU-nC-YAw"/>
|
||||||
<constraint firstItem="lOo-NI-b07" firstAttribute="firstBaseline" secondItem="ehI-gq-lsb" secondAttribute="firstBaseline" id="gFK-Ce-Q3b"/>
|
<constraint firstAttribute="trailing" secondItem="CLc-Vg-aWg" secondAttribute="trailing" constant="20" symbolic="YES" id="fXu-pq-O8Q"/>
|
||||||
<constraint firstItem="lOo-NI-b07" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="kaP-lB-tDY"/>
|
<constraint firstItem="CLc-Vg-aWg" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="wyw-aC-Vkj"/>
|
||||||
|
<constraint firstItem="8Z8-mS-hfg" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="20" symbolic="YES" id="xdM-IO-cz3"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<point key="canvasLocation" x="-752" y="-257"/>
|
<point key="canvasLocation" x="-906.5" y="-199.5"/>
|
||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -16,16 +16,16 @@
|
|||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="336">
|
<customView misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="336">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="695" height="523"/>
|
<rect key="frame" x="0.0" y="0.0" width="691" height="331"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="54">
|
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="54">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="695" height="524"/>
|
<rect key="frame" x="0.0" y="0.0" width="691" height="308"/>
|
||||||
<clipView key="contentView" id="4tt-2K-SPF">
|
<clipView key="contentView" id="4tt-2K-SPF">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="695" height="524"/>
|
<rect key="frame" x="0.0" y="0.0" width="691" height="308"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" rowSizeStyle="automatic" headerView="676" viewBased="YES" id="55" customClass="MPTableView">
|
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" rowSizeStyle="automatic" headerView="676" viewBased="YES" id="55" customClass="MPTableView">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="695" height="501"/>
|
<rect key="frame" x="0.0" y="0.0" width="691" height="285"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="2"/>
|
<size key="intercellSpacing" width="3" height="2"/>
|
||||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -44,11 +44,11 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="StringCell" id="269">
|
<tableCellView identifier="StringCell" id="269">
|
||||||
<rect key="frame" x="1" y="1" width="105" height="17"/>
|
<rect key="frame" x="11" y="1" width="110" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="270">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="270">
|
||||||
<rect key="frame" x="1" y="1" width="103" height="16"/>
|
<rect key="frame" x="1" y="1" width="108" height="16"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="271">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="271">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -80,11 +80,11 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="ImageCell" id="297">
|
<tableCellView identifier="ImageCell" id="297">
|
||||||
<rect key="frame" x="108.5" y="1" width="144" height="17"/>
|
<rect key="frame" x="124" y="1" width="144" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="298">
|
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="298">
|
||||||
<rect key="frame" x="3" y="0.0" width="17" height="17"/>
|
<rect key="frame" x="3" y="-3" width="17" height="23"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="17" id="312"/>
|
<constraint firstAttribute="width" constant="17" id="312"/>
|
||||||
<constraint firstAttribute="height" constant="17" id="T73-FC-KyN"/>
|
<constraint firstAttribute="height" constant="17" id="T73-FC-KyN"/>
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="PasswordCell" id="428">
|
<tableCellView identifier="PasswordCell" id="428">
|
||||||
<rect key="frame" x="255.5" y="1" width="118" height="17"/>
|
<rect key="frame" x="271" y="1" width="118" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="429" customClass="NSSecureTextField">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="429" customClass="NSSecureTextField">
|
||||||
@@ -164,7 +164,7 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="421">
|
<tableCellView id="421">
|
||||||
<rect key="frame" x="377" y="1" width="113" height="17"/>
|
<rect key="frame" x="393" y="1" width="113" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="422">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="422">
|
||||||
@@ -187,7 +187,7 @@
|
|||||||
</tableCellView>
|
</tableCellView>
|
||||||
</prototypeCellViews>
|
</prototypeCellViews>
|
||||||
</tableColumn>
|
</tableColumn>
|
||||||
<tableColumn width="200" minWidth="10" maxWidth="3.4028234663852886e+38" id="614">
|
<tableColumn width="165" minWidth="10" maxWidth="3.4028234663852886e+38" id="614">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -199,14 +199,14 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView id="616">
|
<tableCellView identifier="MonospacedStringCell" id="616">
|
||||||
<rect key="frame" x="493" y="1" width="200" height="17"/>
|
<rect key="frame" x="509" y="1" width="169" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="617">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="617">
|
||||||
<rect key="frame" x="1" y="1" width="198" height="16"/>
|
<rect key="frame" x="1" y="2" width="167" height="14"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="618">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="618">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" size="12" name="Menlo-Regular"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
@@ -228,15 +228,15 @@
|
|||||||
</subviews>
|
</subviews>
|
||||||
</clipView>
|
</clipView>
|
||||||
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="56">
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="56">
|
||||||
<rect key="frame" x="0.0" y="579" width="694" height="16"/>
|
<rect key="frame" x="0.0" y="484" width="690" height="16"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="58">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="58">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<tableHeaderView key="headerView" id="676">
|
<tableHeaderView key="headerView" wantsLayer="YES" id="676">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="695" height="23"/>
|
<rect key="frame" x="0.0" y="0.0" width="691" height="23"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</tableHeaderView>
|
</tableHeaderView>
|
||||||
</scrollView>
|
</scrollView>
|
||||||
@@ -251,6 +251,6 @@
|
|||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSActionTemplate" width="14" height="14"/>
|
<image name="NSActionTemplate" width="15" height="15"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
@end
|
@end
|
||||||
@implementation NSImage (MPTintedImage)
|
@implementation NSImage (MPTintedImage)
|
||||||
- (NSImage *)imageWithTintColor:(NSColor *)tintColor {
|
- (NSImage *)imageWithTintColor:(NSColor *)tintColor {
|
||||||
/* only tint tempated images! */
|
/* only tint templated images! */
|
||||||
if(NO == self.template) {
|
if(NO == self.template) {
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
if(self.timeInfo.isExpired) {
|
if(self.timeInfo.isExpired) {
|
||||||
const BOOL isGroup = [self isKindOfClass:[KPKGroup class]];
|
const BOOL isGroup = [self isKindOfClass:[KPKGroup class]];
|
||||||
return [MPIconHelper icon:(isGroup ? MPIconExpiredGroup : MPIconExpiredEntry)];
|
return [[MPIconHelper icon:(isGroup ? MPIconExpiredGroup : MPIconExpiredEntry)] imageWithTintColor:NSColor.systemRedColor];
|
||||||
}
|
}
|
||||||
if(self.icon) {
|
if(self.icon) {
|
||||||
return self.icon.image;
|
return self.icon.image;
|
||||||
|
|||||||
@@ -21,41 +21,17 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "MPAddEntryContextMenuDelegate.h"
|
#import "MPAddEntryContextMenuDelegate.h"
|
||||||
#import "MPDocument.h"
|
#import "MPContextMenuHelper.h"
|
||||||
#import "MPDocumentWindowController.h"
|
|
||||||
#import "MPActionHelper.h"
|
|
||||||
#import "KPKNode+IconImage.h"
|
|
||||||
|
|
||||||
#import "KeePassKit/KeePassKit.h"
|
#import "KeePassKit/KeePassKit.h"
|
||||||
|
|
||||||
#define EDIT_TEMPLATES_ITEM_TAG 10;
|
|
||||||
|
|
||||||
@implementation MPAddEntryContextMenuDelegate
|
@implementation MPAddEntryContextMenuDelegate
|
||||||
|
|
||||||
- (void)menuNeedsUpdate:(NSMenu *)menu {
|
- (void)menuNeedsUpdate:(NSMenu *)menu {
|
||||||
/*
|
|
||||||
The Method is rather brute force
|
|
||||||
It's possible nicer to cache the entries and just update
|
|
||||||
the menu entries, that actually need updating
|
|
||||||
*/
|
|
||||||
MPDocument *document = NSDocumentController.sharedDocumentController.currentDocument;
|
|
||||||
[menu removeAllItems];
|
[menu removeAllItems];
|
||||||
[menu addItemWithTitle:NSLocalizedString(@"EDIT_TEMPLATE_GROUP", "Menu item on the add entry context menu to edit template groups") action:[MPActionHelper actionOfType:MPActionEditTemplateGroup] keyEquivalent:@""];
|
NSArray<NSMenuItem *> *items = [MPContextMenuHelper contextMenuItemsWithCreateFromTemplateEntriesItems];
|
||||||
|
for(NSMenuItem *item in items) {
|
||||||
[menu addItem:[NSMenuItem separatorItem]];
|
[menu addItem:item];
|
||||||
for(KPKEntry *entry in document.templates.childEntries) {
|
|
||||||
NSString *templateMask = NSLocalizedString(@"NEW_ENTRY_WITH_TEMPLATE_%@", "Submenu to add an entry via template");
|
|
||||||
NSMenuItem *templateItem = [[NSMenuItem alloc] initWithTitle:[NSString stringWithFormat:templateMask, entry.title]
|
|
||||||
action:@selector(createEntryFromTemplate:)
|
|
||||||
keyEquivalent:@""];
|
|
||||||
templateItem.image = [entry.iconImage copy];
|
|
||||||
templateItem.image.size = NSMakeSize(14, 14);
|
|
||||||
templateItem.representedObject = entry.uuid;
|
|
||||||
[menu addItem:templateItem];
|
|
||||||
}
|
|
||||||
/* If there are no entries, add a note as disabled menu item */
|
|
||||||
if(menu.itemArray.count == 2) {
|
|
||||||
[menu addItemWithTitle:NSLocalizedString(@"NO_TEMPLATES", "Menu item added to show that no templates are defined") action:NULL keyEquivalent:@""];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
17
MacPass/MPAdvancedDatabaseSettingsViewController.h
Normal file
17
MacPass/MPAdvancedDatabaseSettingsViewController.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// MPAdvancedDatabaseSettingsViewController.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 18.11.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface MPAdvancedDatabaseSettingsViewController : NSViewController
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
22
MacPass/MPAdvancedDatabaseSettingsViewController.m
Normal file
22
MacPass/MPAdvancedDatabaseSettingsViewController.m
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
//
|
||||||
|
// MPAdvancedDatabaseSettingsViewController.m
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 18.11.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MPAdvancedDatabaseSettingsViewController.h"
|
||||||
|
|
||||||
|
@interface MPAdvancedDatabaseSettingsViewController ()
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MPAdvancedDatabaseSettingsViewController
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
// Do view setup here.
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
22
MacPass/MPAdvancedDatabaseSettingsViewController.xib
Normal file
22
MacPass/MPAdvancedDatabaseSettingsViewController.xib
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="MPAdvancedDatabaseSettingsViewController">
|
||||||
|
<connections>
|
||||||
|
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
|
<customView id="Hz6-mo-xeY">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<point key="canvasLocation" x="-229" y="178"/>
|
||||||
|
</customView>
|
||||||
|
</objects>
|
||||||
|
</document>
|
||||||
@@ -36,8 +36,9 @@ APPKIT_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings;
|
|||||||
@property (strong) IBOutlet NSMenu *exportMenu;
|
@property (strong) IBOutlet NSMenu *exportMenu;
|
||||||
|
|
||||||
@property (strong, readonly) MPEntryContextMenuDelegate *itemActionMenuDelegate;
|
@property (strong, readonly) MPEntryContextMenuDelegate *itemActionMenuDelegate;
|
||||||
|
@property (readonly) BOOL isTerminating;
|
||||||
|
|
||||||
@property (nonatomic, assign) BOOL isAllowedToStoreKeyFile;
|
@property (nonatomic) BOOL isAllowedToStoreKeyFile;
|
||||||
|
|
||||||
- (IBAction)checkForUpdates:(id)sender;
|
- (IBAction)checkForUpdates:(id)sender;
|
||||||
- (IBAction)showPreferences:(id)sender;
|
- (IBAction)showPreferences:(id)sender;
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ typedef NS_OPTIONS(NSInteger, MPAppStartupState) {
|
|||||||
_userNotificationCenterDelegate = [[MPUserNotificationCenterDelegate alloc] init];
|
_userNotificationCenterDelegate = [[MPUserNotificationCenterDelegate alloc] init];
|
||||||
self.itemActionMenuDelegate = [[MPEntryContextMenuDelegate alloc] init];
|
self.itemActionMenuDelegate = [[MPEntryContextMenuDelegate alloc] init];
|
||||||
_shouldOpenFile = NO;
|
_shouldOpenFile = NO;
|
||||||
|
_isTerminating = NO;
|
||||||
self.startupState = MPAppStartupStateNone;
|
self.startupState = MPAppStartupStateNone;
|
||||||
|
|
||||||
[NSNotificationCenter.defaultCenter addObserver:self
|
[NSNotificationCenter.defaultCenter addObserver:self
|
||||||
@@ -185,6 +186,7 @@ typedef NS_OPTIONS(NSInteger, MPAppStartupState) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender {
|
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender {
|
||||||
|
_isTerminating = YES;
|
||||||
[self hideWelcomeWindow];
|
[self hideWelcomeWindow];
|
||||||
if(MPTemporaryFileStorageCenter.defaultCenter.hasPendingStorages) {
|
if(MPTemporaryFileStorageCenter.defaultCenter.hasPendingStorages) {
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
|||||||
@@ -52,7 +52,12 @@
|
|||||||
self.cell = cell;
|
self.cell = cell;
|
||||||
|
|
||||||
self.focusRingType = NSFocusRingTypeNone;
|
self.focusRingType = NSFocusRingTypeNone;
|
||||||
self.segmentStyle = NSSegmentStyleTexturedSquare;
|
if (@available(macOS 11.0, *)) {
|
||||||
|
self.segmentStyle = NSSegmentStyleSeparated;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
self.segmentStyle = NSSegmentStyleTexturedSquare;
|
||||||
|
}
|
||||||
self.segmentCount = MPContextButtonSegmentCount;
|
self.segmentCount = MPContextButtonSegmentCount;
|
||||||
cell.trackingMode = NSSegmentSwitchTrackingMomentary;
|
cell.trackingMode = NSSegmentSwitchTrackingMomentary;
|
||||||
[cell setWidth:31 forSegment:MPContextButtonSegmentButton];
|
[cell setWidth:31 forSegment:MPContextButtonSegmentButton];
|
||||||
|
|||||||
@@ -37,11 +37,11 @@ typedef NS_OPTIONS(NSUInteger, MPContextMenuItemsFlags) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
@interface MPContextMenuHelper : NSTableCellView
|
@interface MPContextMenuHelper : NSTableCellView
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Creates an array of menuitems to be used as a menu
|
Creates an array of menuitems to be used as a menu
|
||||||
Automatically sets up actions, so you need to take care of the responder chain
|
Automatically sets up actions, so you need to take care of the responder chain
|
||||||
*/
|
*/
|
||||||
+ (NSArray <NSMenuItem *> *)contextMenuItemsWithItems:(MPContextMenuItemsFlags)flags;
|
+ (NSArray <NSMenuItem *> *)contextMenuItemsWithItems:(MPContextMenuItemsFlags)flags;
|
||||||
|
+ (NSArray <NSMenuItem *> *)contextMenuItemsWithCreateFromTemplateEntriesItems;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -22,9 +22,13 @@
|
|||||||
|
|
||||||
#import "MPContextMenuHelper.h"
|
#import "MPContextMenuHelper.h"
|
||||||
#import "MPActionHelper.h"
|
#import "MPActionHelper.h"
|
||||||
|
#import "MPDocument.h"
|
||||||
#import "MPFlagsHelper.h"
|
#import "MPFlagsHelper.h"
|
||||||
|
|
||||||
|
#import "KPKNode+IconImage.h"
|
||||||
|
|
||||||
|
#import <KeePassKit/KeePassKit.h>
|
||||||
|
|
||||||
static void MPContextmenuHelperBeginSection(NSMutableArray *items) {
|
static void MPContextmenuHelperBeginSection(NSMutableArray *items) {
|
||||||
if(items.count > 0) {
|
if(items.count > 0) {
|
||||||
[items addObject:[NSMenuItem separatorItem]];
|
[items addObject:[NSMenuItem separatorItem]];
|
||||||
@@ -33,6 +37,38 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) {
|
|||||||
|
|
||||||
@implementation MPContextMenuHelper
|
@implementation MPContextMenuHelper
|
||||||
|
|
||||||
|
+ (NSArray<NSMenuItem *> *)contextMenuItemsWithCreateFromTemplateEntriesItems {
|
||||||
|
/*
|
||||||
|
The Method is rather brute force
|
||||||
|
It's possible nicer to cache the entries and just update
|
||||||
|
the menu entries, that actually need updating
|
||||||
|
*/
|
||||||
|
|
||||||
|
NSMutableArray *items = [[NSMutableArray alloc] init];
|
||||||
|
NSMenuItem *editItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_TEMPLATE_GROUP", "Menu item on the add entry context menu to edit template groups") action:[MPActionHelper actionOfType:MPActionEditTemplateGroup] keyEquivalent:@""];
|
||||||
|
|
||||||
|
[items addObject:editItem];
|
||||||
|
MPContextmenuHelperBeginSection(items);
|
||||||
|
|
||||||
|
MPDocument *document = NSDocumentController.sharedDocumentController.currentDocument;
|
||||||
|
for(KPKEntry *entry in document.templates.childEntries) {
|
||||||
|
NSString *templateMask = NSLocalizedString(@"NEW_ENTRY_WITH_TEMPLATE_%@", "Submenu to add an entry via template");
|
||||||
|
NSMenuItem *templateItem = [[NSMenuItem alloc] initWithTitle:[NSString stringWithFormat:templateMask, entry.title]
|
||||||
|
action:@selector(createEntryFromTemplate:)
|
||||||
|
keyEquivalent:@""];
|
||||||
|
templateItem.image = [entry.iconImage copy];
|
||||||
|
templateItem.image.size = NSMakeSize(14, 14);
|
||||||
|
templateItem.representedObject = entry.uuid;
|
||||||
|
[items addObject:templateItem];
|
||||||
|
}
|
||||||
|
/* If there are no entries, add a note as disabled menu item */
|
||||||
|
if(items.count == 2) {
|
||||||
|
NSMenuItem *noItemsItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"NO_TEMPLATES", "Menu item added to show that no templates are defined") action:NULL keyEquivalent:@""];
|
||||||
|
[items addObject:noItemsItem];
|
||||||
|
}
|
||||||
|
return [items copy];
|
||||||
|
}
|
||||||
|
|
||||||
+ (NSArray<NSMenuItem *> *)contextMenuItemsWithItems:(MPContextMenuItemsFlags)flags {
|
+ (NSArray<NSMenuItem *> *)contextMenuItemsWithItems:(MPContextMenuItemsFlags)flags {
|
||||||
|
|
||||||
BOOL const insertCreate = MPIsFlagSetInOptions(MPContextMenuCreate, flags);
|
BOOL const insertCreate = MPIsFlagSetInOptions(MPContextMenuCreate, flags);
|
||||||
@@ -44,7 +80,7 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) {
|
|||||||
BOOL const insertHistory = MPIsFlagSetInOptions(MPContextMenuHistory, flags);
|
BOOL const insertHistory = MPIsFlagSetInOptions(MPContextMenuHistory, flags);
|
||||||
BOOL const insertShowGroupInOutline = MPIsFlagSetInOptions(MPContextMenuShowGroupInOutline, flags);
|
BOOL const insertShowGroupInOutline = MPIsFlagSetInOptions(MPContextMenuShowGroupInOutline, flags);
|
||||||
|
|
||||||
NSMutableArray *items = [NSMutableArray arrayWithCapacity:10];
|
NSMutableArray *items = [NSMutableArray arrayWithCapacity:15];
|
||||||
if(insertCreate) {
|
if(insertCreate) {
|
||||||
|
|
||||||
NSMenuItem *newGroup = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"NEW_GROUP", @"Menu item to create a new group")
|
NSMenuItem *newGroup = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"NEW_GROUP", @"Menu item to create a new group")
|
||||||
@@ -54,7 +90,20 @@ static void MPContextmenuHelperBeginSection(NSMutableArray *items) {
|
|||||||
action:[MPActionHelper actionOfType:MPActionAddEntry]
|
action:[MPActionHelper actionOfType:MPActionAddEntry]
|
||||||
keyEquivalent:@"n"];
|
keyEquivalent:@"n"];
|
||||||
|
|
||||||
|
|
||||||
[items addObjectsFromArray:@[ newGroup, newEntry ]];
|
[items addObjectsFromArray:@[ newGroup, newEntry ]];
|
||||||
|
/*
|
||||||
|
NSMenuItem *newEntryFromTemplate = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"NEW_ENTRY_FROM_TEMPLATE", @"Submen to create entries from tempaltes")
|
||||||
|
action:NULL
|
||||||
|
keyEquivalent:@""];
|
||||||
|
newEntryFromTemplate.submenu = [[NSMenu alloc] init];
|
||||||
|
NSArray *templateItems = [self contextMenuItemsWithCreateFromTemplateEntriesItems];
|
||||||
|
for(NSMenuItem *item in templateItems) {
|
||||||
|
[newEntryFromTemplate.submenu addItem:item];
|
||||||
|
}
|
||||||
|
[items addObjectsFromArray:@[ newGroup, newEntry, newEntryFromTemplate ]];
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
if(insertDuplicate) {
|
if(insertDuplicate) {
|
||||||
MPContextmenuHelperBeginSection(items);
|
MPContextmenuHelperBeginSection(items);
|
||||||
|
|||||||
@@ -51,11 +51,16 @@ typedef NS_ENUM(NSUInteger, MPDatabaseSettingsTab) {
|
|||||||
|
|
||||||
/* AES */
|
/* AES */
|
||||||
@property (weak) IBOutlet NSTextField *aesEncryptionRoundsTextField;
|
@property (weak) IBOutlet NSTextField *aesEncryptionRoundsTextField;
|
||||||
/* Argon2 */
|
/* Argon2d */
|
||||||
@property (weak) IBOutlet NSTextField *argon2ThreadsTextField;
|
@property (weak) IBOutlet NSTextField *argon2dThreadsTextField;
|
||||||
@property (weak) IBOutlet NSTextField *argon2IterationsTextField;
|
@property (weak) IBOutlet NSTextField *argon2dIterationsTextField;
|
||||||
@property (weak) IBOutlet NSTextField *argon2MemoryTextField;
|
@property (weak) IBOutlet NSTextField *argon2dMemoryTextField;
|
||||||
@property (weak) IBOutlet NSStepper *argon2MemoryStepper;
|
@property (weak) IBOutlet NSStepper *argon2dMemoryStepper;
|
||||||
|
/* Argon2id */
|
||||||
|
@property (weak) IBOutlet NSTextField *argon2idThreadsTextField;
|
||||||
|
@property (weak) IBOutlet NSTextField *argon2idIterationsTextField;
|
||||||
|
@property (weak) IBOutlet NSTextField *argon2idMemoryTextField;
|
||||||
|
@property (weak) IBOutlet NSStepper *argon2idMemoryStepper;
|
||||||
|
|
||||||
/* Advanced Tab*/
|
/* Advanced Tab*/
|
||||||
@property (weak) IBOutlet NSButton *enableHistoryCheckButton;
|
@property (weak) IBOutlet NSButton *enableHistoryCheckButton;
|
||||||
|
|||||||
@@ -39,7 +39,8 @@
|
|||||||
NSString *_missingFeature;
|
NSString *_missingFeature;
|
||||||
}
|
}
|
||||||
|
|
||||||
@property (assign) NSInteger argon2Memory;
|
@property (assign) NSInteger argon2dMemory;
|
||||||
|
@property (assign) NSInteger argon2idMemory;
|
||||||
|
|
||||||
@property (assign) BOOL enableHistory;
|
@property (assign) BOOL enableHistory;
|
||||||
@property (assign) NSInteger maxiumHistoryItems;
|
@property (assign) NSInteger maxiumHistoryItems;
|
||||||
@@ -107,7 +108,6 @@
|
|||||||
/* General */
|
/* General */
|
||||||
KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData;
|
KPKMetaData *metaData = ((MPDocument *)self.document).tree.metaData;
|
||||||
/* TODO move settingsChanged updates to KeePassKit as it's the models responsibility */
|
/* TODO move settingsChanged updates to KeePassKit as it's the models responsibility */
|
||||||
metaData.settingsChanged = NSDate.date;
|
|
||||||
metaData.databaseDescription = self.databaseDescriptionTextView.string;
|
metaData.databaseDescription = self.databaseDescriptionTextView.string;
|
||||||
metaData.databaseName = self.databaseNameTextField.stringValue;
|
metaData.databaseName = self.databaseNameTextField.stringValue;
|
||||||
|
|
||||||
@@ -164,21 +164,28 @@
|
|||||||
/* Security */
|
/* Security */
|
||||||
metaData.cipherUUID = self.cipherPopupButton.selectedItem.representedObject;
|
metaData.cipherUUID = self.cipherPopupButton.selectedItem.representedObject;
|
||||||
|
|
||||||
KPKAESKeyDerivation *aesKdf = [[KPKAESKeyDerivation alloc] initWithParameters:[KPKAESKeyDerivation defaultParameters]];
|
|
||||||
KPKArgon2DKeyDerivation *argon2Kdf = [[KPKArgon2DKeyDerivation alloc] initWithParameters:[KPKArgon2DKeyDerivation defaultParameters]];
|
|
||||||
// FIXME: add Argon2id support!
|
|
||||||
|
|
||||||
NSUUID *selectedKdfUUID = self.keyDerivationSettingsTabView.selectedTabViewItem.identifier;
|
NSUUID *selectedKdfUUID = self.keyDerivationSettingsTabView.selectedTabViewItem.identifier;
|
||||||
|
KPKAESKeyDerivation *aesKdf = [[KPKAESKeyDerivation alloc] initWithParameters:[KPKAESKeyDerivation defaultParameters]];
|
||||||
|
KPKArgon2DKeyDerivation *argon2dKdf = [[KPKArgon2DKeyDerivation alloc] initWithParameters:[KPKArgon2DKeyDerivation defaultParameters]];
|
||||||
|
KPKArgon2IDKeyDerivation *argon2idKdf = [[KPKArgon2IDKeyDerivation alloc] initWithParameters:[KPKArgon2IDKeyDerivation defaultParameters]];
|
||||||
|
|
||||||
if([selectedKdfUUID isEqual:aesKdf.uuid]) {
|
if([selectedKdfUUID isEqual:aesKdf.uuid]) {
|
||||||
|
|
||||||
aesKdf.rounds = self.aesEncryptionRoundsTextField.integerValue;
|
aesKdf.rounds = self.aesEncryptionRoundsTextField.integerValue;
|
||||||
metaData.keyDerivationParameters = aesKdf.parameters;
|
metaData.keyDerivationParameters = aesKdf.parameters;
|
||||||
}
|
}
|
||||||
else if([selectedKdfUUID isEqual:argon2Kdf.uuid]) {
|
else if([selectedKdfUUID isEqual:argon2dKdf.uuid]) {
|
||||||
argon2Kdf.iterations = self.argon2IterationsTextField.integerValue;
|
|
||||||
argon2Kdf.memory = self.argon2Memory;
|
argon2dKdf.iterations = self.argon2dIterationsTextField.integerValue;
|
||||||
argon2Kdf.threads = self.argon2ThreadsTextField.intValue;
|
argon2dKdf.memory = self.argon2dMemory;
|
||||||
metaData.keyDerivationParameters = argon2Kdf.parameters;
|
argon2dKdf.threads = self.argon2dThreadsTextField.intValue;
|
||||||
|
metaData.keyDerivationParameters = argon2dKdf.parameters;
|
||||||
|
}
|
||||||
|
else if([selectedKdfUUID isEqual:argon2idKdf.uuid]) {
|
||||||
|
argon2idKdf.iterations = self.argon2idIterationsTextField.integerValue;
|
||||||
|
argon2idKdf.memory = self.argon2idMemory;
|
||||||
|
argon2idKdf.threads = self.argon2idThreadsTextField.intValue;
|
||||||
|
metaData.keyDerivationParameters = argon2idKdf.parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Changes to metadata aren't backed by undomanager, thus we need to manually set the document dirty */
|
/* Changes to metadata aren't backed by undomanager, thus we need to manually set the document dirty */
|
||||||
@@ -190,12 +197,21 @@
|
|||||||
[self dismissSheet:0];
|
[self dismissSheet:0];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)benchmarkRounds:(id)sender {
|
- (IBAction)benchmarkParametersForDelay:(id)sender {
|
||||||
self.createKeyDerivationParametersButton.enabled = NO;
|
NSUUID *selectedKdfUUID = self.keyDerivationSettingsTabView.selectedTabViewItem.identifier;
|
||||||
[KPKAESKeyDerivation parametersForDelay:1 completionHandler:^(NSDictionary * _Nonnull options) {
|
if([selectedKdfUUID isEqual:[KPKAESKeyDerivation uuid]]) {
|
||||||
self.aesEncryptionRoundsTextField.integerValue = [options[KPKAESRoundsOption] unsignedInteger64Value];
|
self.createKeyDerivationParametersButton.enabled = NO;
|
||||||
self.createKeyDerivationParametersButton.enabled = YES;
|
[KPKAESKeyDerivation parametersForDelay:1 completionHandler:^(NSDictionary * _Nonnull options) {
|
||||||
}];
|
self.aesEncryptionRoundsTextField.integerValue = [options[KPKAESRoundsOption] unsignedInteger64Value];
|
||||||
|
self.createKeyDerivationParametersButton.enabled = YES;
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
else if([selectedKdfUUID isEqual:[KPKArgon2DKeyDerivation uuid]]) {
|
||||||
|
// TODO: add benchmark
|
||||||
|
}
|
||||||
|
else if([selectedKdfUUID isEqual:[KPKArgon2IDKeyDerivation uuid]]) {
|
||||||
|
// TODO: add benchmark
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)updateView {
|
- (void)updateView {
|
||||||
@@ -275,42 +291,57 @@
|
|||||||
[self.keyDerivationPopupButton selectItemAtIndex:kdfIndex];
|
[self.keyDerivationPopupButton selectItemAtIndex:kdfIndex];
|
||||||
[self.keyDerivationSettingsTabView selectTabViewItemWithIdentifier:keyDerivation.uuid];
|
[self.keyDerivationSettingsTabView selectTabViewItemWithIdentifier:keyDerivation.uuid];
|
||||||
|
|
||||||
|
/* fill defaults for AES */
|
||||||
|
KPKAESKeyDerivation *aesKdf = [[KPKAESKeyDerivation alloc] initWithParameters:[KPKAESKeyDerivation defaultParameters]];
|
||||||
|
self.aesEncryptionRoundsTextField.integerValue = aesKdf.rounds;
|
||||||
|
|
||||||
|
/* fill defaults for Argon2d */
|
||||||
|
KPKArgon2DKeyDerivation *argon2dKdf = [[KPKArgon2DKeyDerivation alloc] initWithParameters:[KPKArgon2DKeyDerivation defaultParameters]];
|
||||||
|
self.argon2dIterationsTextField.integerValue = argon2dKdf.iterations;
|
||||||
|
self.argon2dMemory = argon2dKdf.memory;
|
||||||
|
self.argon2dThreadsTextField.integerValue = argon2dKdf.threads;
|
||||||
|
|
||||||
|
/* fill defaults for Argon2id */
|
||||||
|
KPKArgon2IDKeyDerivation *argon2idKdf = [[KPKArgon2IDKeyDerivation alloc] initWithParameters:[KPKArgon2IDKeyDerivation defaultParameters]];
|
||||||
|
self.argon2idIterationsTextField.integerValue = argon2idKdf.iterations;
|
||||||
|
self.argon2idMemory = argon2idKdf.memory;
|
||||||
|
self.argon2idThreadsTextField.integerValue = argon2idKdf.threads;
|
||||||
|
|
||||||
if([keyDerivation isMemberOfClass:KPKAESKeyDerivation.class]) {
|
if([keyDerivation isMemberOfClass:KPKAESKeyDerivation.class]) {
|
||||||
/* set to database values */
|
/* set to database values */
|
||||||
KPKAESKeyDerivation *aesKdf = (KPKAESKeyDerivation *)keyDerivation;
|
KPKAESKeyDerivation *aesKdf = (KPKAESKeyDerivation *)keyDerivation;
|
||||||
self.aesEncryptionRoundsTextField.integerValue = aesKdf.rounds;
|
self.aesEncryptionRoundsTextField.integerValue = aesKdf.rounds;
|
||||||
self.createKeyDerivationParametersButton.enabled = YES;
|
self.createKeyDerivationParametersButton.enabled = YES;
|
||||||
|
|
||||||
/* fill defaults for Argon2 */
|
|
||||||
KPKArgon2DKeyDerivation *argon2Kdf = [[KPKArgon2DKeyDerivation alloc] initWithParameters:[KPKArgon2DKeyDerivation defaultParameters]];
|
|
||||||
self.argon2IterationsTextField.integerValue = argon2Kdf.iterations;
|
|
||||||
self.argon2Memory = argon2Kdf.memory;
|
|
||||||
self.argon2ThreadsTextField.integerValue = argon2Kdf.threads;
|
|
||||||
}
|
}
|
||||||
else if([keyDerivation isMemberOfClass:KPKArgon2DKeyDerivation.class]) {
|
else if([keyDerivation isMemberOfClass:KPKArgon2DKeyDerivation.class]) {
|
||||||
/* set to database value */
|
/* set to database value */
|
||||||
KPKArgon2DKeyDerivation *argon2Kdf = (KPKArgon2DKeyDerivation *)keyDerivation;
|
KPKArgon2DKeyDerivation *argon2dKdf = (KPKArgon2DKeyDerivation *)keyDerivation;
|
||||||
self.argon2Memory = argon2Kdf.memory;
|
self.argon2dMemory = argon2dKdf.memory;
|
||||||
self.argon2ThreadsTextField.integerValue = argon2Kdf.threads;
|
self.argon2dThreadsTextField.integerValue = argon2dKdf.threads;
|
||||||
self.argon2IterationsTextField.integerValue = argon2Kdf.iterations;
|
self.argon2dIterationsTextField.integerValue = argon2dKdf.iterations;
|
||||||
|
|
||||||
/* fill defaults for AES */
|
|
||||||
KPKAESKeyDerivation *aesKdf = [[KPKAESKeyDerivation alloc] initWithParameters:[KPKAESKeyDerivation defaultParameters]];
|
|
||||||
self.aesEncryptionRoundsTextField.integerValue = aesKdf.rounds;
|
|
||||||
}
|
}
|
||||||
else if([keyDerivation isMemberOfClass:KPKArgon2IDKeyDerivation.class]) {
|
else if([keyDerivation isMemberOfClass:KPKArgon2IDKeyDerivation.class]) {
|
||||||
// TODO: implement setup!
|
/* set to database value */
|
||||||
|
KPKArgon2IDKeyDerivation *argon2idKdf = (KPKArgon2IDKeyDerivation *)keyDerivation;
|
||||||
|
self.argon2idMemory = argon2idKdf.memory;
|
||||||
|
self.argon2idThreadsTextField.integerValue = argon2idKdf.threads;
|
||||||
|
self.argon2idIterationsTextField.integerValue = argon2idKdf.iterations;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
NSAssert(NO, @"Unkown key derivation");
|
NSAssert(NO, @"Unkown key derivation");
|
||||||
}
|
}
|
||||||
|
|
||||||
self.argon2MemoryStepper.minValue = 8*1024; // 8KB minimum
|
self.argon2dMemoryStepper.minValue = 8*1024; // 8KB minimum
|
||||||
self.argon2MemoryStepper.maxValue = NSIntegerMax;
|
self.argon2dMemoryStepper.maxValue = NSIntegerMax;
|
||||||
self.argon2MemoryStepper.increment = 1024*1024; // 1 megabytes steps
|
self.argon2dMemoryStepper.increment = 1024*1024; // 1 megabytes steps
|
||||||
[self.argon2MemoryTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2Memory)) options:nil];
|
[self.argon2dMemoryTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2dMemory)) options:nil];
|
||||||
[self.argon2MemoryStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2Memory)) options:nil];
|
[self.argon2dMemoryStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2dMemory)) options:nil];
|
||||||
|
|
||||||
|
self.argon2idMemoryStepper.minValue = 8*1024; // 8KB minimum
|
||||||
|
self.argon2idMemoryStepper.maxValue = NSIntegerMax;
|
||||||
|
self.argon2idMemoryStepper.increment = 1024*1024; // 1 megabytes steps
|
||||||
|
[self.argon2idMemoryTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2idMemory)) options:nil];
|
||||||
|
[self.argon2idMemoryStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(argon2idMemory)) options:nil];
|
||||||
|
|
||||||
NSUInteger cipherIndex = [self.cipherPopupButton.menu indexOfItemWithRepresentedObject:metaData.cipherUUID];
|
NSUInteger cipherIndex = [self.cipherPopupButton.menu indexOfItemWithRepresentedObject:metaData.cipherUUID];
|
||||||
[self.cipherPopupButton selectItemAtIndex:cipherIndex];
|
[self.cipherPopupButton selectItemAtIndex:cipherIndex];
|
||||||
|
|||||||
@@ -42,17 +42,20 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul
|
|||||||
- (void)enterSearchWithContext:(MPEntrySearchContext *)context {
|
- (void)enterSearchWithContext:(MPEntrySearchContext *)context {
|
||||||
/* the search context is loaded via defaults */
|
/* the search context is loaded via defaults */
|
||||||
self.searchContext = context;
|
self.searchContext = context;
|
||||||
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(updateSearch:) name:NSUndoManagerDidRedoChangeNotification object:self.undoManager];
|
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(updateSearch:) name:KPKTreeDidAddEntryNotification object:self.tree];
|
||||||
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(updateSearch:) name:NSUndoManagerDidUndoChangeNotification object:self.undoManager];
|
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(updateSearch:) name:KPKTreeDidAddGroupNotification object:self.tree];
|
||||||
/* Do not do this since it seems to break the undo/redo grouping completly!
|
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(updateSearch:) name:KPKTreeDidRemoveEntryNotification object:self.tree];
|
||||||
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(updateSearch:) name:NSUndoManagerDidCloseUndoGroupNotification object:self.undoManager];
|
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(updateSearch:) name:KPKTreeDidRemoveGroupNotification object:self.tree];
|
||||||
*/
|
|
||||||
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidEnterSearchNotification object:self];
|
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidEnterSearchNotification object:self];
|
||||||
[self updateSearch:self];
|
[self updateSearch:self];
|
||||||
|
/* clear selection */
|
||||||
|
self.selectedGroups = nil;
|
||||||
|
self.selectedEntries = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark Actions
|
#pragma mark Actions
|
||||||
- (IBAction)perfromCustomSearch:(id)sender {
|
- (IBAction)performCustomSearch:(id)sender {
|
||||||
[self enterSearchWithContext:[MPEntrySearchContext userContext]];
|
[self enterSearchWithContext:[MPEntrySearchContext userContext]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,11 +77,12 @@ NSString *const kMPDocumentSearchResultsKey = @"kMPDocumentSearchResul
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)exitSearch:(id)sender {
|
- (void)exitSearch:(id)sender {
|
||||||
[NSNotificationCenter.defaultCenter removeObserver:self name:NSUndoManagerDidUndoChangeNotification object:self.undoManager];
|
|
||||||
[NSNotificationCenter.defaultCenter removeObserver:self name:NSUndoManagerDidRedoChangeNotification object:self.undoManager];
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKTreeDidAddEntryNotification object:self.tree];
|
||||||
/* No need to do this since we did not register in the first place see [MPDocument enterSearchWithContext:]
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKTreeDidAddGroupNotification object:self.tree];
|
||||||
[NSNotificationCenter.defaultCenter removeObserver:self name:NSUndoManagerDidCloseUndoGroupNotification object:self.undoManager];
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKTreeDidRemoveEntryNotification object:self.tree];
|
||||||
*/
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKTreeDidRemoveGroupNotification object:self.tree];
|
||||||
|
|
||||||
self.searchContext = nil;
|
self.searchContext = nil;
|
||||||
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidExitSearchNotification object:self];
|
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidExitSearchNotification object:self];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ FOUNDATION_EXTERN NSString *const MPDocumentDidChangeSearchResults;
|
|||||||
FOUNDATION_EXTERN NSString *const kMPDocumentSearchResultsKey;
|
FOUNDATION_EXTERN NSString *const kMPDocumentSearchResultsKey;
|
||||||
|
|
||||||
@interface MPDocument (Search)
|
@interface MPDocument (Search)
|
||||||
- (IBAction)perfromCustomSearch:(id)sender;
|
- (IBAction)performCustomSearch:(id)sender;
|
||||||
- (void)enterSearchWithContext:(MPEntrySearchContext *)context;
|
- (void)enterSearchWithContext:(MPEntrySearchContext *)context;
|
||||||
|
|
||||||
/* Should be called by the NSSearchTextField to update the search string */
|
/* Should be called by the NSSearchTextField to update the search string */
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
NSLocalizedRecoverySuggestionErrorKey : NSLocalizedString(@"WARNING_ON_SAVE_NO_PASSWORD_OR_KEY_SET_SUGGESTION", ""),
|
NSLocalizedRecoverySuggestionErrorKey : NSLocalizedString(@"WARNING_ON_SAVE_NO_PASSWORD_OR_KEY_SET_SUGGESTION", ""),
|
||||||
NSLocalizedRecoveryOptionsErrorKey : @[ NSLocalizedString(@"CHANGE_PASSWORD_WITH_DOTS", ""), NSLocalizedString(@"CANCEL", "") ],
|
NSLocalizedRecoveryOptionsErrorKey : @[ NSLocalizedString(@"CHANGE_PASSWORD_WITH_DOTS", ""), NSLocalizedString(@"CANCEL", "") ],
|
||||||
NSRecoveryAttempterErrorKey : recovery
|
NSRecoveryAttempterErrorKey : recovery
|
||||||
};
|
};
|
||||||
if(outError != NULL) {
|
if(outError != NULL) {
|
||||||
*outError = [NSError errorWithDomain:MPDefaultErrorDomain code:MPErrorNoPasswordOrKeyFile userInfo:userInfo];
|
*outError = [NSError errorWithDomain:MPDefaultErrorDomain code:MPErrorNoPasswordOrKeyFile userInfo:userInfo];
|
||||||
}
|
}
|
||||||
@@ -240,13 +240,6 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
|
|
||||||
- (void)close {
|
- (void)close {
|
||||||
[self _cleanupLock];
|
[self _cleanupLock];
|
||||||
/*
|
|
||||||
We store the last url. Restored windows are automatically handled.
|
|
||||||
If closeAllDocuments is set, all docs get this message
|
|
||||||
*/
|
|
||||||
if(self.fileURL.isFileURL) {
|
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:self.fileURL.absoluteString forKey:kMPSettingsKeyLastDatabasePath];
|
|
||||||
}
|
|
||||||
self.tree = nil;
|
self.tree = nil;
|
||||||
[super close];
|
[super close];
|
||||||
}
|
}
|
||||||
@@ -430,17 +423,17 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
[passwordInputController requestPasswordWithMessage:NSLocalizedString(@"EXTERN_CHANGE_OF_MASTERKEY", @"The master key was changed by an external program!")
|
[passwordInputController requestPasswordWithMessage:NSLocalizedString(@"EXTERN_CHANGE_OF_MASTERKEY", @"The master key was changed by an external program!")
|
||||||
cancelLabel:NSLocalizedString(@"ABORT_MERGE_KEEP_MINE", @"Button label to abort a merge on a file with changed master key!")
|
cancelLabel:NSLocalizedString(@"ABORT_MERGE_KEEP_MINE", @"Button label to abort a merge on a file with changed master key!")
|
||||||
completionHandler:^BOOL(NSString *password, NSURL *keyURL, BOOL didCancel, NSError *__autoreleasing *error) {
|
completionHandler:^BOOL(NSString *password, NSURL *keyURL, BOOL didCancel, NSError *__autoreleasing *error) {
|
||||||
[self.windowForSheet endSheet:sheet returnCode:(didCancel ? NSModalResponseCancel : NSModalResponseOK)];
|
[self.windowForSheet endSheet:sheet returnCode:(didCancel ? NSModalResponseCancel : NSModalResponseOK)];
|
||||||
if(!didCancel) {
|
if(!didCancel) {
|
||||||
NSData *keyFileData = keyURL ? [NSData dataWithContentsOfURL:keyURL] : nil;
|
NSData *keyFileData = keyURL ? [NSData dataWithContentsOfURL:keyURL] : nil;
|
||||||
KPKCompositeKey *compositeKey = [[KPKCompositeKey alloc] init];
|
KPKCompositeKey *compositeKey = [[KPKCompositeKey alloc] init];
|
||||||
[compositeKey addKey:[KPKKey keyWithPassword:password]];
|
[compositeKey addKey:[KPKKey keyWithPassword:password]];
|
||||||
[compositeKey addKey:[KPKKey keyWithKeyFileData:keyFileData]];
|
[compositeKey addKey:[KPKKey keyWithKeyFileData:keyFileData]];
|
||||||
[self _mergeWithContentsFromURL:url key:compositeKey options:options];
|
[self _mergeWithContentsFromURL:url key:compositeKey options:options];
|
||||||
}
|
}
|
||||||
// just return yes regardless since we will display the sheet again if needed!
|
// just return yes regardless since we will display the sheet again if needed!
|
||||||
return YES;
|
return YES;
|
||||||
}];
|
}];
|
||||||
sheet.contentViewController = passwordInputController;
|
sheet.contentViewController = passwordInputController;
|
||||||
[self.windowForSheet beginSheet:sheet completionHandler:^(NSModalResponse returnCode) { /* nothing to do, rest is done in other handler! */ }];
|
[self.windowForSheet beginSheet:sheet completionHandler:^(NSModalResponse returnCode) { /* nothing to do, rest is done in other handler! */ }];
|
||||||
}
|
}
|
||||||
@@ -501,7 +494,7 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
- (BOOL)unlockWithPassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL error:(NSError *__autoreleasing*)error{
|
- (BOOL)unlockWithPassword:(NSString *)password keyFileURL:(NSURL *)keyFileURL error:(NSError *__autoreleasing*)error {
|
||||||
// TODO: Make this API asynchronous
|
// TODO: Make this API asynchronous
|
||||||
NSData *keyFileData = keyFileURL ? [NSData dataWithContentsOfURL:keyFileURL] : nil;
|
NSData *keyFileData = keyFileURL ? [NSData dataWithContentsOfURL:keyFileURL] : nil;
|
||||||
|
|
||||||
@@ -681,8 +674,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
|
|
||||||
KPKEntry *newEntry = [self.tree createEntry:parent];
|
KPKEntry *newEntry = [self.tree createEntry:parent];
|
||||||
/* setting properties on entries is undoable, but we do not want to record this so disable on creation */
|
/* setting properties on entries is undoable, but we do not want to record this so disable on creation */
|
||||||
BOOL wasUndoEnabeld = self.undoManager.isUndoRegistrationEnabled;
|
|
||||||
[self.undoManager disableUndoRegistration];
|
KPK_SCOPED_DISABLE_UNDO_BEGIN(self.undoManager)
|
||||||
|
|
||||||
newEntry.title = NSLocalizedString(@"DEFAULT_ENTRY_TITLE", @"Title for a newly created entry");
|
newEntry.title = NSLocalizedString(@"DEFAULT_ENTRY_TITLE", @"Title for a newly created entry");
|
||||||
if([self.tree.metaData.defaultUserName length] > 0) {
|
if([self.tree.metaData.defaultUserName length] > 0) {
|
||||||
newEntry.username = self.tree.metaData.defaultUserName;
|
newEntry.username = self.tree.metaData.defaultUserName;
|
||||||
@@ -696,10 +690,9 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
newEntry.password = defaultPassword;
|
newEntry.password = defaultPassword;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* re-enable undo/redo if we did turn it off */
|
|
||||||
if(wasUndoEnabeld) {
|
KPK_SCOPED_DISABLE_UNDO_END
|
||||||
[self.undoManager enableUndoRegistration];
|
|
||||||
}
|
|
||||||
[newEntry addToGroup:parent];
|
[newEntry addToGroup:parent];
|
||||||
[newEntry.undoManager setActionName:NSLocalizedString(@"NEW_ENTRY", "Action name for a newly created entry")];
|
[newEntry.undoManager setActionName:NSLocalizedString(@"NEW_ENTRY", "Action name for a newly created entry")];
|
||||||
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddEntryNotification
|
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddEntryNotification
|
||||||
@@ -717,14 +710,13 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
}
|
}
|
||||||
KPKGroup *newGroup = [self.tree createGroup:parent];
|
KPKGroup *newGroup = [self.tree createGroup:parent];
|
||||||
/* setting properties on entries is undoable, but we do not want to record this so disable on creation */
|
/* setting properties on entries is undoable, but we do not want to record this so disable on creation */
|
||||||
BOOL wasUndoEnabeld = self.undoManager.isUndoRegistrationEnabled;
|
KPK_SCOPED_DISABLE_UNDO_BEGIN(self.undoManager);
|
||||||
[self.undoManager disableUndoRegistration];
|
|
||||||
newGroup.title = NSLocalizedString(@"DEFAULT_GROUP_NAME", @"Title for a newly created group");
|
newGroup.title = NSLocalizedString(@"DEFAULT_GROUP_NAME", @"Title for a newly created group");
|
||||||
newGroup.iconId = MPIconFolder;
|
newGroup.iconId = MPIconFolder;
|
||||||
/* re-enable undo/redo if we did turn it off */
|
|
||||||
if(wasUndoEnabeld) {
|
KPK_SCOPED_DISABLE_UNDO_END;
|
||||||
[self.undoManager enableUndoRegistration];
|
|
||||||
}
|
|
||||||
[newGroup addToGroup:parent];
|
[newGroup addToGroup:parent];
|
||||||
[newGroup.undoManager setActionName:NSLocalizedString(@"NEW_GROUP", "Action name for a newly created group")];
|
[newGroup.undoManager setActionName:NSLocalizedString(@"NEW_GROUP", "Action name for a newly created group")];
|
||||||
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddGroupNotification
|
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddGroupNotification
|
||||||
@@ -852,19 +844,19 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)duplicateEntryWithOptions:(KPKCopyOptions)options {
|
- (void)duplicateEntryWithOptions:(KPKCopyOptions)options {
|
||||||
KPKEntry *duplicate;
|
KPKEntry *lastDuplicate;
|
||||||
for(KPKEntry *entry in self.selectedEntries) {
|
for(KPKEntry *entry in self.selectedEntries) {
|
||||||
duplicate = [entry copyWithTitle:nil options:options];
|
lastDuplicate = [entry copyWithTitle:nil options:options];
|
||||||
[duplicate addToGroup:entry.parent];
|
[lastDuplicate addToGroup:entry.parent];
|
||||||
}
|
}
|
||||||
[self.undoManager setActionName:[NSString stringWithFormat:NSLocalizedString(@"DUPLICATE_ENTRIES_ACTION_NAME", @"Action name for duplicating entries"), self.selectedEntries.count]];
|
[self.undoManager setActionName:[NSString stringWithFormat:NSLocalizedString(@"DUPLICATE_ENTRIES_ACTION_NAME", @"Action name for duplicating entries"), self.selectedEntries.count]];
|
||||||
if(duplicate) {
|
if(lastDuplicate) {
|
||||||
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddEntryNotification
|
[NSNotificationCenter.defaultCenter postNotificationName:MPDocumentDidAddEntryNotification
|
||||||
object:self
|
object:self
|
||||||
userInfo:@{ MPDocumentEntryKey: duplicate }];
|
userInfo:@{ MPDocumentEntryKey: lastDuplicate }];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
- (void)duplicateGroup:(id)sender {
|
- (void)duplicateGroup:(id)sender {
|
||||||
for(KPKGroup *group in self.selectedGroups) {
|
for(KPKGroup *group in self.selectedGroups) {
|
||||||
@@ -898,6 +890,10 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou
|
|||||||
KPKGroup *targetGroup = targetGroups.count == 1 ? targetGroups.firstObject : nil;
|
KPKGroup *targetGroup = targetGroups.count == 1 ? targetGroups.firstObject : nil;
|
||||||
|
|
||||||
if(self.encrypted || self.isReadOnly) {
|
if(self.encrypted || self.isReadOnly) {
|
||||||
|
if(anItem.action == @selector(revertDocumentToSaved:) ||
|
||||||
|
anItem.action == @selector(browseDocumentVersions:)) {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
#import "KeePassKit/KeePassKit.h"
|
#import "KeePassKit/KeePassKit.h"
|
||||||
#import "KPKFormat+MPUTIDetection.h"
|
#import "KPKFormat+MPUTIDetection.h"
|
||||||
|
|
||||||
|
#import "NSApplication+MPAdditions.h"
|
||||||
|
|
||||||
@interface MPDocumentController ()
|
@interface MPDocumentController ()
|
||||||
|
|
||||||
@property (strong) IBOutlet NSView *accessoryView;
|
@property (strong) IBOutlet NSView *accessoryView;
|
||||||
@@ -43,6 +45,14 @@
|
|||||||
|
|
||||||
@implementation MPDocumentController
|
@implementation MPDocumentController
|
||||||
|
|
||||||
|
- (BOOL)hasEditedDocuments {
|
||||||
|
MPAppDelegate *delegate = NSApp.mp_delegate;
|
||||||
|
if(delegate.isTerminating) {
|
||||||
|
// store all open documents once?!
|
||||||
|
}
|
||||||
|
return [super hasEditedDocuments];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)beginOpenPanel:(NSOpenPanel *)openPanel forTypes:(NSArray *)inTypes completionHandler:(void (^)(NSInteger))completionHandler {
|
- (void)beginOpenPanel:(NSOpenPanel *)openPanel forTypes:(NSArray *)inTypes completionHandler:(void (^)(NSInteger))completionHandler {
|
||||||
self.openPanel = openPanel;
|
self.openPanel = openPanel;
|
||||||
if(!self.accessoryView) {
|
if(!self.accessoryView) {
|
||||||
@@ -83,6 +93,16 @@
|
|||||||
[super addDocument:document];
|
[super addDocument:document];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)removeDocument:(NSDocument *)document {
|
||||||
|
MPAppDelegate *appDelegate = (MPAppDelegate *)NSApp.delegate;
|
||||||
|
if(appDelegate.isTerminating) {
|
||||||
|
if(document.fileURL.isFileURL) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setObject:document.fileURL.absoluteString forKey:kMPSettingsKeyLastDatabasePath];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[super removeDocument:document];
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)reopenLastDocument {
|
- (BOOL)reopenLastDocument {
|
||||||
if(self.documents.count > 0) {
|
if(self.documents.count > 0) {
|
||||||
return YES; // The document is already open
|
return YES; // The document is already open
|
||||||
@@ -93,7 +113,12 @@
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
NSString *lastPath = [NSUserDefaults.standardUserDefaults stringForKey:kMPSettingsKeyLastDatabasePath];
|
NSString *lastPath = [NSUserDefaults.standardUserDefaults stringForKey:kMPSettingsKeyLastDatabasePath];
|
||||||
documentUrl =[NSURL URLWithString:lastPath];
|
documentUrl = [NSURL URLWithString:lastPath];
|
||||||
|
NSError *error;
|
||||||
|
if(![documentUrl checkResourceIsReachableAndReturnError:&error]) {
|
||||||
|
[NSUserDefaults.standardUserDefaults removeObjectForKey:kMPSettingsKeyLastDatabasePath];
|
||||||
|
documentUrl = nil;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
BOOL isFileURL = documentUrl.fileURL;
|
BOOL isFileURL = documentUrl.fileURL;
|
||||||
if(isFileURL) {
|
if(isFileURL) {
|
||||||
|
|||||||
@@ -100,9 +100,17 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
|
|||||||
[super windowDidLoad];
|
[super windowDidLoad];
|
||||||
|
|
||||||
self.window.delegate = self.documentWindowDelegate;
|
self.window.delegate = self.documentWindowDelegate;
|
||||||
//self.window.styleMask |= NSWindowStyleMaskFullSizeContentView;
|
|
||||||
if (@available(macOS 11.0, *)) {
|
if (@available(macOS 11.0, *)) {
|
||||||
self.window.toolbarStyle = NSWindowToolbarStyleExpanded;
|
/* let the user decide how to dipsplay the toolbar */
|
||||||
|
BOOL useUnifiedToolbar = [NSUserDefaults.standardUserDefaults boolForKey:kMPSettingsKeyUseUnifiedToolbar];
|
||||||
|
if(useUnifiedToolbar) {
|
||||||
|
self.window.toolbarStyle = NSWindowToolbarStyleAutomatic;
|
||||||
|
// Do not use full size since the sidebar takes too much room!
|
||||||
|
// self.window.styleMask |= NSWindowStyleMaskFullSizeContentView;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
self.window.toolbarStyle = NSWindowToolbarStyleExpanded;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
[self.window registerForDraggedTypes:@[NSURLPboardType]];
|
[self.window registerForDraggedTypes:@[NSURLPboardType]];
|
||||||
|
|
||||||
@@ -156,8 +164,8 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
|
|||||||
/* enqueue async into main to catch some cases, where the UI would not set the responder correctly */
|
/* enqueue async into main to catch some cases, where the UI would not set the responder correctly */
|
||||||
MPDocumentWindowController * __weak welf = self;
|
MPDocumentWindowController * __weak welf = self;
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
NSResponder *responder = ((MPViewController *)contentViewController).reconmendedFirstResponder;
|
NSResponder *responder = ((MPViewController *)contentViewController).reconmendedFirstResponder;
|
||||||
[welf.window makeFirstResponder:responder];
|
[welf.window makeFirstResponder:responder];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -181,6 +189,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
|
|||||||
|
|
||||||
- (void)_didUnlockDatabase:(NSNotification *)notification {
|
- (void)_didUnlockDatabase:(NSNotification *)notification {
|
||||||
[self showEntries];
|
[self showEntries];
|
||||||
|
BOOL focusSearchAfterUnlock = [NSUserDefaults.standardUserDefaults boolForKey:kMPSettingsKeyFocusSearchAfterUnlock];
|
||||||
|
if(focusSearchAfterUnlock) {
|
||||||
|
[self.document performCustomSearch:self];
|
||||||
|
}
|
||||||
/* Show password reminders */
|
/* Show password reminders */
|
||||||
[self _presentPasswordIntervalAlerts];
|
[self _presentPasswordIntervalAlerts];
|
||||||
}
|
}
|
||||||
@@ -431,7 +443,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
|
|||||||
|
|
||||||
- (void)pickExpiryDate:(id)sender {
|
- (void)pickExpiryDate:(id)sender {
|
||||||
// FIXME: use propert responder chain
|
// FIXME: use propert responder chain
|
||||||
[self.splitViewController.inspectorViewController pickExpiryDate:sender];
|
[self.splitViewController.inspectorViewController pickExpiryDate:sender];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showPluginData:(id)sender {
|
- (void)showPluginData:(id)sender {
|
||||||
@@ -475,7 +487,6 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
|
|||||||
- (void)showEntries {
|
- (void)showEntries {
|
||||||
self.contentViewController = self.splitViewController;
|
self.contentViewController = self.splitViewController;
|
||||||
[self.splitViewController showOutline];
|
[self.splitViewController showOutline];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showGroupInOutline:(id)sender {
|
- (void)showGroupInOutline:(id)sender {
|
||||||
|
|||||||
@@ -28,13 +28,12 @@
|
|||||||
@implementation MPDocumentWindowDelegate
|
@implementation MPDocumentWindowDelegate
|
||||||
|
|
||||||
- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender {
|
- (NSDragOperation)draggingEntered:(id<NSDraggingInfo>)sender {
|
||||||
|
MPDocument *document = sender.draggingDestinationWindow.windowController.document;
|
||||||
MPDocument *document = [[[sender draggingDestinationWindow] windowController] document];
|
|
||||||
if(document.encrypted) {
|
if(document.encrypted) {
|
||||||
return NSDragOperationNone;
|
return NSDragOperationNone;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSPasteboard *draggingPasteBoard = [sender draggingPasteboard];
|
NSPasteboard *draggingPasteBoard = sender.draggingPasteboard;
|
||||||
|
|
||||||
NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:@[NSURL.class] options:nil];
|
NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:@[NSURL.class] options:nil];
|
||||||
BOOL ok = YES;
|
BOOL ok = YES;
|
||||||
@@ -52,7 +51,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)performDragOperation:(id<NSDraggingInfo>)sender {
|
- (BOOL)performDragOperation:(id<NSDraggingInfo>)sender {
|
||||||
NSPasteboard *draggingPasteBoard = [sender draggingPasteboard];
|
NSPasteboard *draggingPasteBoard = sender.draggingPasteboard;
|
||||||
NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:@[NSURL.class] options:nil];
|
NSArray *arrayOfURLs = [draggingPasteBoard readObjectsForClasses:@[NSURL.class] options:nil];
|
||||||
|
|
||||||
NSURL *url = arrayOfURLs.lastObject;
|
NSURL *url = arrayOfURLs.lastObject;
|
||||||
@@ -60,7 +59,7 @@
|
|||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
/* Currently not working, as the underlying operations do not get the undomanager */
|
/* Currently not working, as the underlying operations do not get the undomanager */
|
||||||
MPDocument *document = [sender draggingDestinationWindow].windowController.document;
|
MPDocument *document = sender.draggingDestinationWindow.windowController.document;
|
||||||
KPKGroup *parentGroup = document.selectedGroups.count == 1 ? document.selectedGroups.firstObject : document.root;
|
KPKGroup *parentGroup = document.selectedGroups.count == 1 ? document.selectedGroups.firstObject : document.root;
|
||||||
[document.undoManager beginUndoGrouping];
|
[document.undoManager beginUndoGrouping];
|
||||||
KPKEntry *entry = [document createEntry:parentGroup];
|
KPKEntry *entry = [document createEntry:parentGroup];
|
||||||
|
|||||||
33
MacPass/MPEntryAttributeViewController.h
Normal file
33
MacPass/MPEntryAttributeViewController.h
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
//
|
||||||
|
// MPEntryAttributeViewController.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 14.10.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#import <HNHUi/HNHUi.h>
|
||||||
|
#import "MPInspectorEditor.h"
|
||||||
|
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
|
||||||
|
/// View controller to show and edit KPKAttributes of KPKEntries.
|
||||||
|
/// Set the represented object to the KPKAttribute the editor shoudl show/edit
|
||||||
|
/// The editor can be set to edit or view
|
||||||
|
@interface MPEntryAttributeViewController : NSViewController <MPInspectorEditor, HNHUITextFieldDelegate>
|
||||||
|
|
||||||
|
@property (strong) IBOutlet NSTextField *keyTextField;
|
||||||
|
@property (strong) IBOutlet HNHUISecureTextField *valueTextField;
|
||||||
|
@property (strong) IBOutlet NSButton *toggleProtectedButton;
|
||||||
|
@property (strong) IBOutlet NSButton *removeButton;
|
||||||
|
|
||||||
|
- (void)updateValues;
|
||||||
|
- (void)updateEditing;
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
156
MacPass/MPEntryAttributeViewController.m
Normal file
156
MacPass/MPEntryAttributeViewController.m
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
//
|
||||||
|
// MPEntryAttributeViewController.m
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 14.10.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MPEntryAttributeViewController.h"
|
||||||
|
#import <HNHUi/HNHUi.h>
|
||||||
|
#import <KeePassKit/KeePassKit.h>
|
||||||
|
#import "MPPasteBoardController.h"
|
||||||
|
|
||||||
|
@interface MPEntryAttributeViewController () {
|
||||||
|
BOOL _isDefaultAttribute;
|
||||||
|
}
|
||||||
|
@property (readonly, nullable, strong) KPKAttribute *representedAttribute;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MPEntryAttributeViewController
|
||||||
|
|
||||||
|
@synthesize isEditor = _isEditor;
|
||||||
|
|
||||||
|
- (instancetype)initWithNibName:(NSNibName)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||||
|
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||||
|
if(self) {
|
||||||
|
_isEditor = NO;
|
||||||
|
_isDefaultAttribute = NO;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (instancetype)initWithCoder:(NSCoder *)coder {
|
||||||
|
self = [super initWithCoder:coder];
|
||||||
|
// set editor to false?
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
NSString *placeHolder = NSLocalizedString(@"NONE", "Placeholder text for input fields if no entry or group is selected");
|
||||||
|
self.keyTextField.placeholderString = placeHolder;
|
||||||
|
self.valueTextField.placeholderString = placeHolder;
|
||||||
|
|
||||||
|
self.toggleProtectedButton.action = @selector(toggleDisplay:);
|
||||||
|
self.toggleProtectedButton.target = self.valueTextField;
|
||||||
|
|
||||||
|
[self updateValues];
|
||||||
|
[self updateEditing];
|
||||||
|
|
||||||
|
__weak MPEntryAttributeViewController *welf = self;
|
||||||
|
self.valueTextField.buttonTitle = NSLocalizedString(@"COPY", "Button to copy the value of an Attribute");
|
||||||
|
self.valueTextField.buttonActionBlock = ^void(NSTextField *tf) {
|
||||||
|
NSText *text = [welf.view.window fieldEditor:NO forObject:welf.valueTextField];
|
||||||
|
if([text isKindOfClass:NSTextView.class]) {
|
||||||
|
[welf textField:welf.valueTextField textView:(NSTextView *)text performAction:@selector(copy:)];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
- (KPKAttribute *)representedAttribute {
|
||||||
|
if([self.representedObject isKindOfClass:KPKAttribute.class]) {
|
||||||
|
return (KPKAttribute *)self.representedObject;
|
||||||
|
}
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setIsEditor:(BOOL)isEditor {
|
||||||
|
_isEditor = isEditor;
|
||||||
|
[self updateEditing];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setRepresentedObject:(id)representedObject {
|
||||||
|
if(self.representedAttribute) {
|
||||||
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKWillChangeAttributeNotification object:self.representedObject];
|
||||||
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKDidChangeAttributeNotification object:self.representedObject];
|
||||||
|
}
|
||||||
|
super.representedObject = representedObject;
|
||||||
|
if(self.representedAttribute) {
|
||||||
|
[NSNotificationCenter.defaultCenter addObserver:self
|
||||||
|
selector:(@selector(_willChangeAttribute:))
|
||||||
|
name:KPKWillChangeAttributeNotification
|
||||||
|
object:self.representedAttribute];
|
||||||
|
[NSNotificationCenter.defaultCenter addObserver:self
|
||||||
|
selector:(@selector(_didChangeAttribute:))
|
||||||
|
name:KPKDidChangeAttributeNotification
|
||||||
|
object:self.representedAttribute];
|
||||||
|
|
||||||
|
}
|
||||||
|
_isDefaultAttribute = self.representedAttribute.isDefault;
|
||||||
|
[self updateValues];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)textField:(NSTextField *)textField textView:(NSTextView *)textView performAction:(SEL)action {
|
||||||
|
if(action != @selector(copy:)) {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only copy action
|
||||||
|
MPPasteboardOverlayInfoType info = MPPasteboardOverlayInfoCustom;
|
||||||
|
NSMutableString *selectedValue = [[NSMutableString alloc] init];
|
||||||
|
for(NSValue *rangeValue in textView.selectedRanges) {
|
||||||
|
[selectedValue appendString:[textView.string substringWithRange:rangeValue.rangeValue]];
|
||||||
|
}
|
||||||
|
if(selectedValue.length == 0) {
|
||||||
|
[selectedValue setString:textField.stringValue];
|
||||||
|
}
|
||||||
|
NSString *name = @"";
|
||||||
|
if([self.representedAttribute.key isEqual:kKPKUsernameKey]) {
|
||||||
|
info = MPPasteboardOverlayInfoUsername;
|
||||||
|
}
|
||||||
|
/*else if([self.representedAttribute.key isEqual:kKPKPasswordKey]) {
|
||||||
|
info = MPPasteboardOverlayInfoPassword;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
else if([self.representedAttribute.key isEqual:kKPKURLKey]) {
|
||||||
|
info = MPPasteboardOverlayInfoURL;
|
||||||
|
}
|
||||||
|
else if([self.representedAttribute.key isEqual:kKPKTitleKey]) {
|
||||||
|
name = NSLocalizedString(@"TITLE", "Displayed name when title field was copied");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
name = self.representedAttribute.key;
|
||||||
|
}
|
||||||
|
[MPPasteBoardController.defaultController copyObject:selectedValue overlayInfo:info name:name atView:self.view];
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void)_willChangeAttribute:(NSNotification *)notification {
|
||||||
|
// nothing to d
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)_didChangeAttribute:(NSNotification *)notification {
|
||||||
|
[self updateValues];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)updateValues {
|
||||||
|
self.view.hidden = (!self.isEditor && self.representedAttribute.value.length == 0);
|
||||||
|
self.keyTextField.stringValue = self.representedAttribute.key ? self.representedAttribute.key : @"";
|
||||||
|
self.valueTextField.stringValue = self.representedAttribute.value ? self.representedAttribute.value : @"";
|
||||||
|
self.valueTextField.showPassword = !self.representedAttribute.protect;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)updateEditing {
|
||||||
|
self.keyTextField.editable = !_isDefaultAttribute && self.isEditor;
|
||||||
|
self.valueTextField.editable = self.isEditor;
|
||||||
|
self.keyTextField.selectable = YES;
|
||||||
|
self.valueTextField.selectable = YES;
|
||||||
|
self.toggleProtectedButton.hidden = _isDefaultAttribute;
|
||||||
|
self.removeButton.hidden = !self.isEditor || (self.isEditor && !_isDefaultAttribute);
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
100
MacPass/MPEntryAttributeViewController.xib
Normal file
100
MacPass/MPEntryAttributeViewController.xib
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="18122" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="18122"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="MPEntryAttributeViewController">
|
||||||
|
<connections>
|
||||||
|
<outlet property="keyTextField" destination="m8q-FN-S8D" id="HzJ-cd-ifA"/>
|
||||||
|
<outlet property="removeButton" destination="Nmx-gC-8rG" id="eRy-l0-u0E"/>
|
||||||
|
<outlet property="toggleProtectedButton" destination="hAk-oD-dCj" id="js9-Hx-ycS"/>
|
||||||
|
<outlet property="valueTextField" destination="HZM-H4-dB4" id="56C-eA-J7G"/>
|
||||||
|
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
|
<customView id="Hz6-mo-xeY">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="251" height="43"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<stackView distribution="fill" orientation="vertical" alignment="leading" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="No7-P9-4cl">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="251" height="43"/>
|
||||||
|
<subviews>
|
||||||
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="m8q-FN-S8D">
|
||||||
|
<rect key="frame" x="-2" y="29" width="255" height="14"/>
|
||||||
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="AttributeName" id="MQc-TE-UjE">
|
||||||
|
<font key="font" metaFont="smallSystem"/>
|
||||||
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<stackView distribution="fill" orientation="horizontal" alignment="top" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LBt-0e-cUK">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="251" height="21"/>
|
||||||
|
<subviews>
|
||||||
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="HZM-H4-dB4" customClass="HNHUISecureTextField">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="181" height="21"/>
|
||||||
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="sO3-xr-VwO">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="-2" id="Dm6-8t-HmN"/>
|
||||||
|
</connections>
|
||||||
|
</textField>
|
||||||
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hAk-oD-dCj">
|
||||||
|
<rect key="frame" x="179" y="-6" width="44" height="32"/>
|
||||||
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSLockLockedTemplate" imagePosition="only" alignment="center" alternateImage="NSLockUnlockedTemplate" lineBreakMode="truncatingTail" borderStyle="border" inset="2" id="f80-K9-DO7">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
</button>
|
||||||
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Nmx-gC-8rG">
|
||||||
|
<rect key="frame" x="214" y="-6" width="44" height="32"/>
|
||||||
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSRemoveTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="179-uk-89S">
|
||||||
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
</button>
|
||||||
|
</subviews>
|
||||||
|
<visibilityPriorities>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
</visibilityPriorities>
|
||||||
|
<customSpacing>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
</customSpacing>
|
||||||
|
</stackView>
|
||||||
|
</subviews>
|
||||||
|
<visibilityPriorities>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
</visibilityPriorities>
|
||||||
|
<customSpacing>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
</customSpacing>
|
||||||
|
</stackView>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="No7-P9-4cl" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="0cj-uh-lAy"/>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="No7-P9-4cl" secondAttribute="trailing" id="Awb-Of-fpP"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="No7-P9-4cl" secondAttribute="bottom" id="MX2-as-4EI"/>
|
||||||
|
<constraint firstItem="No7-P9-4cl" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="mbE-gq-jDF"/>
|
||||||
|
</constraints>
|
||||||
|
<point key="canvasLocation" x="-434.5" y="134"/>
|
||||||
|
</customView>
|
||||||
|
</objects>
|
||||||
|
<resources>
|
||||||
|
<image name="NSLockLockedTemplate" width="14" height="15"/>
|
||||||
|
<image name="NSLockUnlockedTemplate" width="17" height="15"/>
|
||||||
|
<image name="NSRemoveTemplate" width="14" height="4"/>
|
||||||
|
</resources>
|
||||||
|
</document>
|
||||||
@@ -33,6 +33,8 @@
|
|||||||
#import "MPReferenceBuilderViewController.h"
|
#import "MPReferenceBuilderViewController.h"
|
||||||
#import "MPTOTPViewController.h"
|
#import "MPTOTPViewController.h"
|
||||||
#import "MPTOTPSetupViewController.h"
|
#import "MPTOTPSetupViewController.h"
|
||||||
|
#import "MPEntryAttributeViewController.h"
|
||||||
|
#import "MPNodeExpirationViewController.h"
|
||||||
|
|
||||||
#import "MPPrettyPasswordTransformer.h"
|
#import "MPPrettyPasswordTransformer.h"
|
||||||
#import "NSString+MPPasswordCreation.h"
|
#import "NSString+MPPasswordCreation.h"
|
||||||
@@ -59,6 +61,18 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) {
|
|||||||
MPEntryTabAutotype
|
MPEntryTabAutotype
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef NS_ENUM(NSUInteger, MPInpspectorEditorIndex) {
|
||||||
|
MPInpspectorEditorIndexImageEditor,
|
||||||
|
MPInpspectorEditorIndexTitle,
|
||||||
|
MPInpspectorEditorIndexUsername,
|
||||||
|
MPInpspectorEditorIndexPassword,
|
||||||
|
MPInpspectorEditorIndexURL,
|
||||||
|
MPInpspectorEditorIndexExpires,
|
||||||
|
MPInpspectorEditorIndexTags,
|
||||||
|
MPInpspectorEditorIndexDefaultCount
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
@interface NSObject (MPAppKitPrivateAPI)
|
@interface NSObject (MPAppKitPrivateAPI)
|
||||||
- (void)_searchWithGoogleFromMenu:(id)obj;
|
- (void)_searchWithGoogleFromMenu:(id)obj;
|
||||||
@end
|
@end
|
||||||
@@ -75,6 +89,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) {
|
|||||||
MPWindowTitleComboBoxDelegate *_windowTitleMenuDelegate;
|
MPWindowTitleComboBoxDelegate *_windowTitleMenuDelegate;
|
||||||
MPTagsTokenFieldDelegate *_tagTokenFieldDelegate;
|
MPTagsTokenFieldDelegate *_tagTokenFieldDelegate;
|
||||||
MPAddCustomFieldContextMenuDelegate *_addCustomFieldContextMenuDelegate;
|
MPAddCustomFieldContextMenuDelegate *_addCustomFieldContextMenuDelegate;
|
||||||
|
NSMutableArray<NSViewController<MPInspectorEditor> *> *_attributeEditorViewControllers;
|
||||||
}
|
}
|
||||||
|
|
||||||
@property (nonatomic, assign) BOOL showPassword;
|
@property (nonatomic, assign) BOOL showPassword;
|
||||||
@@ -111,6 +126,7 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) {
|
|||||||
_customFieldTableDelegate.viewController = self;
|
_customFieldTableDelegate.viewController = self;
|
||||||
_addCustomFieldContextMenuDelegate.viewController = self;
|
_addCustomFieldContextMenuDelegate.viewController = self;
|
||||||
|
|
||||||
|
_attributeEditorViewControllers = [[NSMutableArray alloc] init];
|
||||||
_activeTab = MPEntryTabGeneral;
|
_activeTab = MPEntryTabGeneral;
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
@@ -124,8 +140,19 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)setRepresentedObject:(id)representedObject {
|
- (void)setRepresentedObject:(id)representedObject {
|
||||||
|
if(self.representedObject) {
|
||||||
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKWillChangeEntryNotification object:self.representedEntry];
|
||||||
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKDidChangeEntryNotification object:self.representedEntry];
|
||||||
|
}
|
||||||
super.representedObject = representedObject;
|
super.representedObject = representedObject;
|
||||||
self.totpViewController.representedObject = self.representedObject;
|
|
||||||
|
[self _updateEditors];
|
||||||
|
|
||||||
|
/* only register for a single entry! */
|
||||||
|
if(self.representedEntry) {
|
||||||
|
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(_willChangeEntry:) name:KPKWillChangeEntryNotification object:self.representedEntry];
|
||||||
|
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(_didChangeEntry:) name:KPKDidChangeEntryNotification object:self.representedEntry];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
@@ -184,11 +211,12 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) {
|
|||||||
[self.togglePassword bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil];
|
[self.togglePassword bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(showPassword)) options:nil];
|
||||||
|
|
||||||
self.tagsTokenField.delegate = _tagTokenFieldDelegate;
|
self.tagsTokenField.delegate = _tagTokenFieldDelegate;
|
||||||
|
|
||||||
|
[self _setupAttributeEditors];
|
||||||
|
[self _updateEditors];
|
||||||
|
|
||||||
[self _setupTOPTView];
|
|
||||||
[self _setupCustomFieldsButton];
|
[self _setupCustomFieldsButton];
|
||||||
[self _setupViewBindings];
|
[self _setupViewBindings];
|
||||||
[self _updateFieldVisibilty];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)registerNotificationsForDocument:(MPDocument *)document {
|
- (void)registerNotificationsForDocument:(MPDocument *)document {
|
||||||
@@ -464,6 +492,10 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) {
|
|||||||
|
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
#pragma mark Entry Selection
|
#pragma mark Entry Selection
|
||||||
|
- (void)_updateEntryValues {
|
||||||
|
// TODO implement binding less model update
|
||||||
|
}
|
||||||
|
|
||||||
- (void)_setupViewBindings {
|
- (void)_setupViewBindings {
|
||||||
/* Disable for history view */
|
/* Disable for history view */
|
||||||
NSArray *inputs = @[self.titleTextField,
|
NSArray *inputs = @[self.titleTextField,
|
||||||
@@ -594,17 +626,39 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) {
|
|||||||
//[self.addCustomFieldButton setEnabled:NO forSegment:MPContextButtonSegmentContextButton];
|
//[self.addCustomFieldButton setEnabled:NO forSegment:MPContextButtonSegmentContextButton];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)_updateFieldVisibilty {
|
- (void)_setupAttributeEditors {
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)_setupTOPTView {
|
|
||||||
self.totpViewController = [[MPTOTPViewController alloc] init];
|
self.totpViewController = [[MPTOTPViewController alloc] init];
|
||||||
|
|
||||||
NSInteger urlindex = [self.fieldsStackView.arrangedSubviews indexOfObject:self.URLTextField];
|
NSInteger urlindex = [self.fieldsStackView.arrangedSubviews indexOfObject:self.URLTextField];
|
||||||
NSAssert(urlindex != NSNotFound, @"Missing reference view. This should not happen!");
|
NSAssert(urlindex != NSNotFound, @"Missing reference view. This should not happen!");
|
||||||
[self addChildViewController:self.totpViewController];
|
[self addChildViewController:self.totpViewController];
|
||||||
[self.fieldsStackView insertArrangedSubview:self.totpViewController.view atIndex:urlindex - 1];
|
[self.fieldsStackView insertArrangedSubview:self.totpViewController.view atIndex:urlindex - 1];
|
||||||
|
|
||||||
|
/*
|
||||||
|
MPNodeExpirationViewController *vc = [[MPNodeExpirationViewController alloc] init];
|
||||||
|
vc.isEditor = NO;
|
||||||
|
[_attributeEditorViewControllers addObject:vc];
|
||||||
|
[self.fieldsStackView addArrangedSubview:vc.view];
|
||||||
|
|
||||||
|
MPEntryAttributeViewController *vc = [[MPEntryAttributeViewController alloc] init];
|
||||||
|
vc.isEditor = NO;
|
||||||
|
[_attributeEditorViewControllers addObject:vc];
|
||||||
|
[self.fieldsStackView addArrangedSubview:vc.view];
|
||||||
|
|
||||||
|
for(NSUInteger index = 0; index < kKPKDefaultEntryKeysCount; index++) {
|
||||||
|
MPEntryAttributeViewController *vc = [[MPEntryAttributeViewController alloc] init];
|
||||||
|
vc.isEditor = NO;
|
||||||
|
[_attributeEditorViewControllers addObject:vc];
|
||||||
|
[self.fieldsStackView addArrangedSubview:vc.view];
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)_updateEditors {
|
||||||
|
self.totpViewController.representedObject = self.representedObject;
|
||||||
|
/* Update all the Attribute editors
|
||||||
|
_attributeEditorViewControllers[MPInpspectorEditorIndexUsername].representedObject = [self.representedEntry attributeWithKey:kKPKUsernameKey];
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
@@ -698,6 +752,19 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) {
|
|||||||
#pragma mark -
|
#pragma mark -
|
||||||
#pragma mark KPKEntry Notifications
|
#pragma mark KPKEntry Notifications
|
||||||
|
|
||||||
|
- (void)_willChangeEntry:(NSNotification *)notification {
|
||||||
|
NSLog(@"willChangeEntry");
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)_didChangeEntry:(NSNotification *)notification {
|
||||||
|
if(notification.object != self.representedObject) {
|
||||||
|
NSLog(@"Skipping: didChangeEntry:%@, we do not need this change!", notification.object);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
NSLog(@"didChangeEntry:%@", notification.object);
|
||||||
|
[self _updateEntryValues];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)_didChangeAttribute:(NSNotification *)notification {
|
- (void)_didChangeAttribute:(NSNotification *)notification {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
18
MacPass/MPEntryPasswordAttributeViewController.h
Normal file
18
MacPass/MPEntryPasswordAttributeViewController.h
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
//
|
||||||
|
// MPEntryPasswordAttributeViewController.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 18.10.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#import "MPEntryAttributeViewController.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface MPEntryPasswordAttributeViewController : MPEntryAttributeViewController
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
37
MacPass/MPEntryPasswordAttributeViewController.m
Normal file
37
MacPass/MPEntryPasswordAttributeViewController.m
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
//
|
||||||
|
// MPEntryPasswordAttributeViewController.m
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 18.10.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MPEntryPasswordAttributeViewController.h"
|
||||||
|
#import <HNHUi/HNHUi.h>
|
||||||
|
#import <KeePassKit/KeePassKit.h>
|
||||||
|
|
||||||
|
@interface MPEntryPasswordAttributeViewController ()
|
||||||
|
|
||||||
|
@property (strong) IBOutlet HNHUISecureTextField *passwordTextField;
|
||||||
|
@property (strong) IBOutlet NSButton *togglePasswordButton;
|
||||||
|
@property (strong) IBOutlet NSButton *generatePasswordButton;
|
||||||
|
|
||||||
|
@property (strong, nullable, readonly) KPKAttribute *representedAttribute;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MPEntryPasswordAttributeViewController
|
||||||
|
|
||||||
|
- (void)updateValues {
|
||||||
|
self.view.hidden = (!self.isEditor && self.representedAttribute.value.length == 0);
|
||||||
|
self.passwordTextField.stringValue = self.representedAttribute.value ? self.representedAttribute.value : @"";
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)updateEditing {
|
||||||
|
self.generatePasswordButton.hidden = !self.isEditor;
|
||||||
|
self.passwordTextField.editable = self.isEditor;
|
||||||
|
self.passwordTextField.selectable = YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
||||||
104
MacPass/MPEntryPasswordAttributeViewController.xib
Normal file
104
MacPass/MPEntryPasswordAttributeViewController.xib
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="18122" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="18122"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="MPEntryPasswordAttributeViewController">
|
||||||
|
<connections>
|
||||||
|
<outlet property="generatePasswordButton" destination="UlI-yI-Sqn" id="sKR-Rd-2LC"/>
|
||||||
|
<outlet property="keyTextField" destination="2aN-Ps-z4K" id="ua7-Km-K5o"/>
|
||||||
|
<outlet property="passwordTextField" destination="tpF-hp-29r" id="2pM-fr-9l0"/>
|
||||||
|
<outlet property="togglePasswordButton" destination="AY0-XE-8S7" id="IwM-pB-tQn"/>
|
||||||
|
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
|
<customView id="Hz6-mo-xeY">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="480" height="42"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<stackView distribution="fill" orientation="vertical" alignment="leading" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jTp-ga-xuT">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="480" height="42"/>
|
||||||
|
<subviews>
|
||||||
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2aN-Ps-z4K">
|
||||||
|
<rect key="frame" x="-2" y="28" width="484" height="14"/>
|
||||||
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Password" id="Piv-zL-dtc">
|
||||||
|
<font key="font" metaFont="smallSystem"/>
|
||||||
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" horizontalHuggingPriority="249" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XRh-Fs-reW">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="480" height="20"/>
|
||||||
|
<subviews>
|
||||||
|
<secureTextField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" allowsCharacterPickerTouchBarItem="YES" contentType="oneTimeCode" translatesAutoresizingMaskIntoConstraints="NO" id="tpF-hp-29r" customClass="HNHUISecureTextField">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="352" height="20"/>
|
||||||
|
<secureTextFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="CeT-F7-Vb3">
|
||||||
|
<font key="font" size="13" name="Menlo-Regular"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<allowedInputSourceLocales>
|
||||||
|
<string>NSAllRomanInputSourcesLocaleIdentifier</string>
|
||||||
|
</allowedInputSourceLocales>
|
||||||
|
</secureTextFieldCell>
|
||||||
|
<connections>
|
||||||
|
<outlet property="nextKeyView" destination="AY0-XE-8S7" id="uPk-2E-Bwh"/>
|
||||||
|
</connections>
|
||||||
|
</secureTextField>
|
||||||
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="AY0-XE-8S7">
|
||||||
|
<rect key="frame" x="353" y="-7" width="50" height="32"/>
|
||||||
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSQuickLookTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="NUE-lS-hzr">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<outlet property="nextKeyView" destination="UlI-yI-Sqn" id="6uu-J3-TEc"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="UlI-yI-Sqn">
|
||||||
|
<rect key="frame" x="397" y="-7" width="90" height="32"/>
|
||||||
|
<buttonCell key="cell" type="push" title="Generate" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Rx9-ck-eKo">
|
||||||
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
</button>
|
||||||
|
</subviews>
|
||||||
|
<visibilityPriorities>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
</visibilityPriorities>
|
||||||
|
<customSpacing>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
</customSpacing>
|
||||||
|
</stackView>
|
||||||
|
</subviews>
|
||||||
|
<visibilityPriorities>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
</visibilityPriorities>
|
||||||
|
<customSpacing>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
</customSpacing>
|
||||||
|
</stackView>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="jTp-ga-xuT" secondAttribute="trailing" id="8qT-FW-gVh"/>
|
||||||
|
<constraint firstItem="jTp-ga-xuT" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="Hla-na-Bw8"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="jTp-ga-xuT" secondAttribute="bottom" id="pcp-4W-Bvc"/>
|
||||||
|
<constraint firstItem="jTp-ga-xuT" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="wEy-tv-xz0"/>
|
||||||
|
</constraints>
|
||||||
|
<point key="canvasLocation" x="173" y="112"/>
|
||||||
|
</customView>
|
||||||
|
</objects>
|
||||||
|
<resources>
|
||||||
|
<image name="NSQuickLookTemplate" width="21" height="13"/>
|
||||||
|
</resources>
|
||||||
|
</document>
|
||||||
@@ -49,6 +49,8 @@
|
|||||||
|
|
||||||
#import "HNHUi/HNHUi.h"
|
#import "HNHUi/HNHUi.h"
|
||||||
|
|
||||||
|
#import "MPOpenURLHandler.h"
|
||||||
|
|
||||||
#import "MPNotifications.h"
|
#import "MPNotifications.h"
|
||||||
|
|
||||||
#define STATUS_BAR_ANIMATION_TIME 0.15
|
#define STATUS_BAR_ANIMATION_TIME 0.15
|
||||||
@@ -69,6 +71,7 @@ NSString *const MPEntryTableHistoryColumnIdentifier = @"MPEntryTableHistoryColum
|
|||||||
NSString *const _MPTableImageCellView = @"ImageCell";
|
NSString *const _MPTableImageCellView = @"ImageCell";
|
||||||
NSString *const _MPTableStringCellView = @"StringCell";
|
NSString *const _MPTableStringCellView = @"StringCell";
|
||||||
NSString *const _MPTableSecurCellView = @"PasswordCell";
|
NSString *const _MPTableSecurCellView = @"PasswordCell";
|
||||||
|
NSString *const _MPTableMonoSpacedStringCellView = @"MonospacedStringCell";
|
||||||
|
|
||||||
@interface MPEntryViewController () {
|
@interface MPEntryViewController () {
|
||||||
BOOL _isDisplayingContextBar;
|
BOOL _isDisplayingContextBar;
|
||||||
@@ -76,7 +79,6 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
}
|
}
|
||||||
|
|
||||||
@property (strong) MPContextBarViewController *contextBarViewController;
|
@property (strong) MPContextBarViewController *contextBarViewController;
|
||||||
@property (strong) NSArray *filteredEntries;
|
|
||||||
|
|
||||||
@property (weak) IBOutlet NSTableView *entryTable;
|
@property (weak) IBOutlet NSTableView *entryTable;
|
||||||
@property (assign) MPDisplayMode displayMode;
|
@property (assign) MPDisplayMode displayMode;
|
||||||
@@ -87,6 +89,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
@property (strong) NSLayoutConstraint *contextBarTopConstraint;
|
@property (strong) NSLayoutConstraint *contextBarTopConstraint;
|
||||||
|
|
||||||
@property (nonatomic, strong) MPEntryTableDataSource *dataSource;
|
@property (nonatomic, strong) MPEntryTableDataSource *dataSource;
|
||||||
|
@property (nonatomic) BOOL displayClearTextPasswords;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -105,6 +108,13 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
_dataSource = [[MPEntryTableDataSource alloc] init];
|
_dataSource = [[MPEntryTableDataSource alloc] init];
|
||||||
_dataSource.viewController = self;
|
_dataSource.viewController = self;
|
||||||
_contextBarViewController = [[MPContextBarViewController alloc] init];
|
_contextBarViewController = [[MPContextBarViewController alloc] init];
|
||||||
|
_displayClearTextPasswords = [NSUserDefaults.standardUserDefaults boolForKey:kMPSettingsKeyDisplayClearTextPasswordsInEntryList];
|
||||||
|
|
||||||
|
[self bind:NSStringFromSelector(@selector(displayClearTextPasswords))
|
||||||
|
toObject:NSUserDefaultsController.sharedUserDefaultsController
|
||||||
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDisplayClearTextPasswordsInEntryList]
|
||||||
|
options:nil];
|
||||||
|
|
||||||
[self _setupEntryBindings];
|
[self _setupEntryBindings];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
@@ -207,7 +217,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
// bind NSArrayController sorting so that sort order gets auto-saved
|
// bind NSArrayController sorting so that sort order gets auto-saved
|
||||||
// see: http://simx.me/technonova/software_development/sort_descriptors_nstableview_bindings_a.html
|
// see: http://simx.me/technonova/software_development/sort_descriptors_nstableview_bindings_a.html
|
||||||
[self.entryArrayController bind:NSSortDescriptorsBinding
|
[self.entryArrayController bind:NSSortDescriptorsBinding
|
||||||
toObject:[NSUserDefaultsController sharedUserDefaultsController]
|
toObject:NSUserDefaultsController.sharedUserDefaultsController
|
||||||
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEntryTableSortDescriptors]
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyEntryTableSortDescriptors]
|
||||||
options:@{ NSValueTransformerNameBindingOption: NSUnarchiveFromDataTransformerName }];
|
options:@{ NSValueTransformerNameBindingOption: NSUnarchiveFromDataTransformerName }];
|
||||||
|
|
||||||
@@ -224,6 +234,17 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)setDisplayClearTextPasswords:(BOOL)displayClearTextPasswords {
|
||||||
|
if(_displayClearTextPasswords == displayClearTextPasswords) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_displayClearTextPasswords = displayClearTextPasswords;
|
||||||
|
NSTableColumn *passwordColumn = [self.entryTable tableColumnWithIdentifier:MPEntryTablePasswordColumnIdentifier];
|
||||||
|
if(!passwordColumn.isHidden) {
|
||||||
|
[self.entryTable reloadData];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
- (NSResponder *)reconmendedFirstResponder {
|
- (NSResponder *)reconmendedFirstResponder {
|
||||||
return self.entryTable;
|
return self.entryTable;
|
||||||
}
|
}
|
||||||
@@ -273,6 +294,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
BOOL isHistoryColumn = [tableColumn.identifier isEqualToString:MPEntryTableHistoryColumnIdentifier];
|
BOOL isHistoryColumn = [tableColumn.identifier isEqualToString:MPEntryTableHistoryColumnIdentifier];
|
||||||
|
|
||||||
NSTableCellView *view = nil;
|
NSTableCellView *view = nil;
|
||||||
|
BOOL displayClearTextPasswords = [NSUserDefaults.standardUserDefaults boolForKey:kMPSettingsKeyDisplayClearTextPasswordsInEntryList];
|
||||||
if(isTitleColumn || isGroupColumn) {
|
if(isTitleColumn || isGroupColumn) {
|
||||||
view = [tableView makeViewWithIdentifier:_MPTableImageCellView owner:self];
|
view = [tableView makeViewWithIdentifier:_MPTableImageCellView owner:self];
|
||||||
[view.textField unbind:NSValueBinding];
|
[view.textField unbind:NSValueBinding];
|
||||||
@@ -303,7 +325,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
[view.imageView bind:NSValueBinding toObject:view withKeyPath:parentIconImageKeyPath options:nil];
|
[view.imageView bind:NSValueBinding toObject:view withKeyPath:parentIconImageKeyPath options:nil];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(isPasswordColum) {
|
else if(isPasswordColum && !displayClearTextPasswords) {
|
||||||
view = [tableView makeViewWithIdentifier:_MPTableSecurCellView owner:self];
|
view = [tableView makeViewWithIdentifier:_MPTableSecurCellView owner:self];
|
||||||
NSString *passwordKeyPath = [NSString stringWithFormat:@"%@.%@",
|
NSString *passwordKeyPath = [NSString stringWithFormat:@"%@.%@",
|
||||||
NSStringFromSelector(@selector(objectValue)),
|
NSStringFromSelector(@selector(objectValue)),
|
||||||
@@ -311,15 +333,19 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
NSDictionary *options = @{ NSValueTransformerBindingOption : [NSValueTransformer valueTransformerForName:MPStringLengthValueTransformerName] };
|
NSDictionary *options = @{ NSValueTransformerBindingOption : [NSValueTransformer valueTransformerForName:MPStringLengthValueTransformerName] };
|
||||||
[view.textField bind:NSValueBinding toObject:view withKeyPath:passwordKeyPath options:options];
|
[view.textField bind:NSValueBinding toObject:view withKeyPath:passwordKeyPath options:options];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
view = [tableView makeViewWithIdentifier:_MPTableStringCellView owner:self];
|
if(isPasswordColum) {
|
||||||
|
view = [tableView makeViewWithIdentifier:_MPTableMonoSpacedStringCellView owner:self];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
view = [tableView makeViewWithIdentifier:_MPTableStringCellView owner:self];
|
||||||
|
}
|
||||||
[view.textField unbind:NSValueBinding];
|
[view.textField unbind:NSValueBinding];
|
||||||
view.textField.stringValue = @"";
|
view.textField.stringValue = @"";
|
||||||
if(!isModifedColumn && !isCreatedColumn) {
|
if(!isModifedColumn && !isCreatedColumn) {
|
||||||
/* clean up old formatter that might be left */
|
/* clean up old formatter that might be left */
|
||||||
view.textField.formatter = nil;
|
view.textField.formatter = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isModifedColumn || isCreatedColumn) {
|
if(isModifedColumn || isCreatedColumn) {
|
||||||
if(!view.textField.formatter) {
|
if(!view.textField.formatter) {
|
||||||
/* Just use one formatter instance since it's expensive to create */
|
/* Just use one formatter instance since it's expensive to create */
|
||||||
@@ -383,6 +409,12 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
NSStringFromSelector(@selector(history))];
|
NSStringFromSelector(@selector(history))];
|
||||||
[view.textField bind:NSValueBinding toObject:view withKeyPath:historyCountKeyPath options:nil];
|
[view.textField bind:NSValueBinding toObject:view withKeyPath:historyCountKeyPath options:nil];
|
||||||
}
|
}
|
||||||
|
else if(isPasswordColum) {
|
||||||
|
NSString *passwordKeyPath = [NSString stringWithFormat:@"%@.%@",
|
||||||
|
NSStringFromSelector(@selector(objectValue)),
|
||||||
|
NSStringFromSelector(@selector(password))];
|
||||||
|
[view.textField bind:NSValueBinding toObject:view withKeyPath:passwordKeyPath options:nil];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
@@ -401,7 +433,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
return; // Not the right table view
|
return; // Not the right table view
|
||||||
}
|
}
|
||||||
/* do not update the current item if we are not in focus! */
|
/* do not update the current item if we are not in focus! */
|
||||||
if(tableView.window.firstResponder == self.entryTable) {
|
if(self.displayMode == MPDisplayModeSearchResults || tableView.window.firstResponder == self.entryTable) {
|
||||||
MPDocument *document = self.windowController.document;
|
MPDocument *document = self.windowController.document;
|
||||||
document.selectedEntries = self.entryArrayController.selectedObjects;
|
document.selectedEntries = self.entryArrayController.selectedObjects;
|
||||||
}
|
}
|
||||||
@@ -501,9 +533,8 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
|
|
||||||
- (void)_didUpdateSearchResults:(NSNotification *)notification {
|
- (void)_didUpdateSearchResults:(NSNotification *)notification {
|
||||||
NSArray *result = notification.userInfo[kMPDocumentSearchResultsKey];
|
NSArray *result = notification.userInfo[kMPDocumentSearchResultsKey];
|
||||||
NSAssert(result != nil, @"Resutls should never be nil");
|
NSAssert(result != nil, @"Results should never be nil");
|
||||||
self.filteredEntries = result;
|
self.entryArrayController.content = result;
|
||||||
self.entryArrayController.content = self.filteredEntries;
|
|
||||||
[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = NO;
|
[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = NO;
|
||||||
[self _updateContextBar];
|
[self _updateContextBar];
|
||||||
}
|
}
|
||||||
@@ -512,7 +543,6 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
- (void)_didExitSearch:(NSNotification *)notification {
|
- (void)_didExitSearch:(NSNotification *)notification {
|
||||||
[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = YES;
|
[self.entryTable tableColumnWithIdentifier:MPEntryTableParentColumnIdentifier].hidden = YES;
|
||||||
self.entryArrayController.content = nil;
|
self.entryArrayController.content = nil;
|
||||||
self.filteredEntries = nil;
|
|
||||||
self.displayMode = MPDisplayModeEntries;
|
self.displayMode = MPDisplayModeEntries;
|
||||||
[self _updateContextBar];
|
[self _updateContextBar];
|
||||||
MPDocument *document = notification.object;
|
MPDocument *document = notification.object;
|
||||||
@@ -521,6 +551,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
|
|
||||||
- (void)_didEnterSearch:(NSNotification *)notification {
|
- (void)_didEnterSearch:(NSNotification *)notification {
|
||||||
self.displayMode = MPDisplayModeSearchResults;
|
self.displayMode = MPDisplayModeSearchResults;
|
||||||
|
// FIXME: update selection?
|
||||||
[self _updateContextBar];
|
[self _updateContextBar];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -648,7 +679,6 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
[headerMenu addItemWithTitle:NSLocalizedString(@"CREATED", "Menu item to toggle display of created date column in entry table") action:NULL keyEquivalent:@""];
|
[headerMenu addItemWithTitle:NSLocalizedString(@"CREATED", "Menu item to toggle display of created date column in entry table") action:NULL keyEquivalent:@""];
|
||||||
[headerMenu addItemWithTitle:NSLocalizedString(@"HISTORY", "Menu item to toggle display of history count column in entry table") action:NULL keyEquivalent:@""];
|
[headerMenu addItemWithTitle:NSLocalizedString(@"HISTORY", "Menu item to toggle display of history count column in entry table") action:NULL keyEquivalent:@""];
|
||||||
|
|
||||||
|
|
||||||
NSArray *identifier = @[ MPEntryTableTitleColumnIdentifier,
|
NSArray *identifier = @[ MPEntryTableTitleColumnIdentifier,
|
||||||
MPEntryTableUserNameColumnIdentifier,
|
MPEntryTableUserNameColumnIdentifier,
|
||||||
MPEntryTablePasswordColumnIdentifier,
|
MPEntryTablePasswordColumnIdentifier,
|
||||||
@@ -666,6 +696,14 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
[item bind:NSValueBinding toObject:column withKeyPath:NSHiddenBinding options:options];
|
[item bind:NSValueBinding toObject:column withKeyPath:NSHiddenBinding options:options];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[headerMenu addItem:[NSMenuItem separatorItem]];
|
||||||
|
NSMenuItem *showPasswordsItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SHOW_CLEAR_TEXT_PASSWORDS", "Menu item to toggle display type of passwords") action:NULL keyEquivalent:@""];
|
||||||
|
[showPasswordsItem bind:NSValueBinding
|
||||||
|
toObject:NSUserDefaultsController.sharedUserDefaultsController
|
||||||
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDisplayClearTextPasswordsInEntryList]
|
||||||
|
options:nil];
|
||||||
|
[headerMenu addItem:showPasswordsItem];
|
||||||
self.entryTable.headerView.menu = headerMenu;
|
self.entryTable.headerView.menu = headerMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -716,27 +754,7 @@ NSString *const _MPTableSecurCellView = @"PasswordCell";
|
|||||||
KPKEntry *selectedEntry = nodes.count == 1 ? [nodes.firstObject asEntry] : nil;
|
KPKEntry *selectedEntry = nodes.count == 1 ? [nodes.firstObject asEntry] : nil;
|
||||||
NSString *expandedURL = [selectedEntry.url kpk_finalValueForEntry:selectedEntry];
|
NSString *expandedURL = [selectedEntry.url kpk_finalValueForEntry:selectedEntry];
|
||||||
if(expandedURL.length > 0) {
|
if(expandedURL.length > 0) {
|
||||||
NSURL *webURL = [NSURL URLWithString:expandedURL];
|
[MPOpenURLHandler.sharedHandler openURL:expandedURL];
|
||||||
NSString *scheme = webURL.scheme;
|
|
||||||
if(!scheme) {
|
|
||||||
webURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", expandedURL]];
|
|
||||||
}
|
|
||||||
|
|
||||||
NSString *browserBundleID = [NSUserDefaults.standardUserDefaults stringForKey:kMPSettingsKeyBrowserBundleId];
|
|
||||||
NSURL *browserApplicationURL = browserBundleID ? [NSWorkspace.sharedWorkspace URLForApplicationWithBundleIdentifier:browserBundleID] : nil;
|
|
||||||
BOOL openedURL = NO;
|
|
||||||
|
|
||||||
if(browserApplicationURL) {
|
|
||||||
NSRunningApplication *urlOpeningApplication = [NSWorkspace.sharedWorkspace openURLs:@[webURL] withApplicationAtURL:browserApplicationURL options:NSWorkspaceLaunchDefault configuration:@{} error:nil];
|
|
||||||
openedURL = nil != urlOpeningApplication;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!openedURL) {
|
|
||||||
openedURL = [NSWorkspace.sharedWorkspace openURL:webURL];
|
|
||||||
}
|
|
||||||
if(!openedURL) {
|
|
||||||
NSLog(@"Unable to open URL %@", webURL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
17
MacPass/MPGeneralDatabaseSettingsViewController.h
Normal file
17
MacPass/MPGeneralDatabaseSettingsViewController.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// MPGeneralDatabaseSettingsViewController.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 18.11.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface MPGeneralDatabaseSettingsViewController : NSViewController
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
66
MacPass/MPGeneralDatabaseSettingsViewController.m
Normal file
66
MacPass/MPGeneralDatabaseSettingsViewController.m
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
//
|
||||||
|
// MPGeneralDatabaseSettingsViewController.m
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 18.11.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MPGeneralDatabaseSettingsViewController.h"
|
||||||
|
|
||||||
|
#import "MPDocument.h"
|
||||||
|
|
||||||
|
#import <KeePassKit/KeePassKit.h>
|
||||||
|
|
||||||
|
@interface MPGeneralDatabaseSettingsViewController ()
|
||||||
|
|
||||||
|
@property (weak) IBOutlet NSTextField *databaseNameTextField;
|
||||||
|
@property (weak) IBOutlet NSPopUpButton *databaseCompressionPopupButton;
|
||||||
|
@property (weak) IBOutlet NSTextView *databaseDescriptionTextView;
|
||||||
|
@property (weak) IBOutlet NSColorWell *databaseColorColorWell;
|
||||||
|
@property (weak) IBOutlet NSTextField *fileVersionTextField;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MPGeneralDatabaseSettingsViewController
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma mark Private Helper
|
||||||
|
- (void)_setupView {
|
||||||
|
MPDocument *document = (MPDocument *)self.view.window.windowController.document;
|
||||||
|
|
||||||
|
KPKTree *tree = document.tree;
|
||||||
|
|
||||||
|
if(!tree) {
|
||||||
|
return; // nothing to read from
|
||||||
|
}
|
||||||
|
|
||||||
|
self.databaseNameTextField.stringValue = tree.metaData.databaseName;
|
||||||
|
self.databaseDescriptionTextView.string = tree.metaData.databaseDescription;
|
||||||
|
[self.databaseCompressionPopupButton selectItemAtIndex:tree.metaData.compressionAlgorithm];
|
||||||
|
self.databaseColorColorWell.color = tree.metaData.color ? tree.metaData.color : NSColor.clearColor;
|
||||||
|
|
||||||
|
|
||||||
|
NSData *fileData = [NSData dataWithContentsOfURL:document.fileURL];
|
||||||
|
if(!fileData) {
|
||||||
|
self.fileVersionTextField.stringValue = NSLocalizedString(@"UNKNOWN_FORMAT_FILE_NOT_SAVED_YET", "Database format is unknown since the file is not saved yet");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
KPKFileVersion version = [[KPKFormat sharedFormat] fileVersionForData:fileData];
|
||||||
|
NSDictionary *nameMappings = @{
|
||||||
|
@(KPKDatabaseFormatKdb): @"Kdb",
|
||||||
|
@(KPKDatabaseFormatKdbx): @"Kdbx",
|
||||||
|
@(KPKDatabaseFormatUnknown): NSLocalizedString(@"UNKNOWN_FORMAT", "Unknown database format.")
|
||||||
|
};
|
||||||
|
|
||||||
|
NSUInteger mayor = (version.version >> 16);
|
||||||
|
NSUInteger minor = (version.version & 0xFFFF);
|
||||||
|
|
||||||
|
self.fileVersionTextField.stringValue = [NSString stringWithFormat:@"%@ (Version %ld.%ld)", nameMappings[@(version.format)], mayor, minor];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
177
MacPass/MPGeneralDatabaseSettingsViewController.xib
Normal file
177
MacPass/MPGeneralDatabaseSettingsViewController.xib
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19455" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19455"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="MPGeneralDatabaseSettingsViewController">
|
||||||
|
<connections>
|
||||||
|
<outlet property="databaseColorColorWell" destination="mT4-DP-GXO" id="LfS-qU-wBC"/>
|
||||||
|
<outlet property="databaseCompressionPopupButton" destination="Dq5-lP-zsS" id="11H-3z-4YL"/>
|
||||||
|
<outlet property="databaseDescriptionTextView" destination="YXY-Zl-7nu" id="s8Q-Fa-oaw"/>
|
||||||
|
<outlet property="databaseNameTextField" destination="ufI-vz-Iga" id="LYk-xb-BYQ"/>
|
||||||
|
<outlet property="fileVersionTextField" destination="7hG-5O-ghC" id="SoE-e8-vh3"/>
|
||||||
|
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
|
<customView id="Hz6-mo-xeY">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="434" height="244"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<gridView xPlacement="trailing" yPlacement="fill" rowAlignment="none" rowSpacing="8" columnSpacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="RYv-Ng-2bJ">
|
||||||
|
<rect key="frame" x="20" y="20" width="394" height="204"/>
|
||||||
|
<rows>
|
||||||
|
<gridRow id="xmM-rD-5oB"/>
|
||||||
|
<gridRow yPlacement="top" id="EPS-PJ-wZn"/>
|
||||||
|
<gridRow id="6vV-rV-ITV"/>
|
||||||
|
<gridRow id="zYk-Ml-HAt"/>
|
||||||
|
<gridRow id="kzN-Ch-gfi"/>
|
||||||
|
</rows>
|
||||||
|
<columns>
|
||||||
|
<gridColumn id="7Ct-m6-g6y"/>
|
||||||
|
<gridColumn xPlacement="leading" id="eQs-KV-hxL"/>
|
||||||
|
</columns>
|
||||||
|
<gridCells>
|
||||||
|
<gridCell row="xmM-rD-5oB" column="7Ct-m6-g6y" id="am5-3Y-3j8">
|
||||||
|
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JAh-R7-pLA">
|
||||||
|
<rect key="frame" x="-2" y="188" width="102" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Database name:" id="03Y-Lj-rRN">
|
||||||
|
<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>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="xmM-rD-5oB" column="eQs-KV-hxL" id="IfW-cA-EoE">
|
||||||
|
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ufI-vz-Iga">
|
||||||
|
<rect key="frame" x="106" y="188" width="280" height="16"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" constant="280" id="FXj-7O-RqC"/>
|
||||||
|
</constraints>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="jl4-gm-Hbo">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="EPS-PJ-wZn" column="7Ct-m6-g6y" id="uqN-Dk-NnR">
|
||||||
|
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WIS-Jx-S9I">
|
||||||
|
<rect key="frame" x="22" y="164" width="78" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Description:" id="p9U-Kw-bI5">
|
||||||
|
<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>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="EPS-PJ-wZn" column="eQs-KV-hxL" id="Gb7-AY-QQA">
|
||||||
|
<scrollView key="contentView" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nST-Dm-Qr7">
|
||||||
|
<rect key="frame" x="106" y="80" width="280" height="100"/>
|
||||||
|
<clipView key="contentView" drawsBackground="NO" id="Is2-5k-gGr">
|
||||||
|
<rect key="frame" x="1" y="1" width="278" height="98"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<textView importsGraphics="NO" verticallyResizable="YES" usesFontPanel="YES" findStyle="panel" continuousSpellChecking="YES" allowsUndo="YES" usesRuler="YES" allowsNonContiguousLayout="YES" smartInsertDelete="YES" id="YXY-Zl-7nu">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="278" height="98"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<size key="minSize" width="278" height="98"/>
|
||||||
|
<size key="maxSize" width="463" height="10000000"/>
|
||||||
|
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textView>
|
||||||
|
</subviews>
|
||||||
|
</clipView>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="width" constant="280" id="UdJ-ki-epM"/>
|
||||||
|
<constraint firstAttribute="height" constant="100" id="XMz-jM-eIA"/>
|
||||||
|
</constraints>
|
||||||
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="I22-YZ-tXl">
|
||||||
|
<rect key="frame" x="-100" y="-100" width="87" height="18"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</scroller>
|
||||||
|
<scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="MI6-Kw-OxH">
|
||||||
|
<rect key="frame" x="263" y="1" width="16" height="98"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</scroller>
|
||||||
|
</scrollView>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="6vV-rV-ITV" column="7Ct-m6-g6y" id="EZb-Cx-iTX">
|
||||||
|
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8Dj-om-Zoe">
|
||||||
|
<rect key="frame" x="12" y="56" width="88" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Compression:" id="5Bm-Nl-53q">
|
||||||
|
<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>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="6vV-rV-ITV" column="eQs-KV-hxL" id="T5V-Av-aBB">
|
||||||
|
<popUpButton key="contentView" verticalHuggingPriority="750" verticalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="Dq5-lP-zsS">
|
||||||
|
<rect key="frame" x="103" y="52" width="72" height="21"/>
|
||||||
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="GdG-Qp-e8U">
|
||||||
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="menu"/>
|
||||||
|
<menu key="menu" title="OtherViews" id="8oG-i9-WDa">
|
||||||
|
<items>
|
||||||
|
<menuItem title="None" id="uX3-5x-6i6"/>
|
||||||
|
<menuItem title="GZip" tag="1" id="rIh-xx-34B"/>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</popUpButtonCell>
|
||||||
|
</popUpButton>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="zYk-Ml-HAt" column="7Ct-m6-g6y" id="DAB-yY-fno">
|
||||||
|
<textField key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jgn-WC-9Qs">
|
||||||
|
<rect key="frame" x="59" y="24" width="41" height="24"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Color:" id="shK-cG-3dL">
|
||||||
|
<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>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="zYk-Ml-HAt" column="eQs-KV-hxL" id="3lH-bt-QOB">
|
||||||
|
<colorWell key="contentView" translatesAutoresizingMaskIntoConstraints="NO" id="mT4-DP-GXO" customClass="HNHUIColorWell">
|
||||||
|
<rect key="frame" x="106" y="24" width="100" height="24"/>
|
||||||
|
<color key="color" red="0.05813049898" green="0.055541899059999997" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
</colorWell>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="kzN-Ch-gfi" column="7Ct-m6-g6y" id="SII-3r-mjn">
|
||||||
|
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IX3-zX-Jvu">
|
||||||
|
<rect key="frame" x="27" y="0.0" width="73" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="File format:" id="FgL-0B-JE9">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
</gridCell>
|
||||||
|
<gridCell row="kzN-Ch-gfi" column="eQs-KV-hxL" id="3Hz-QZ-yB0">
|
||||||
|
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7hG-5O-ghC">
|
||||||
|
<rect key="frame" x="104" y="0.0" width="72" height="16"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="VersionInfo" id="C2T-fi-WiV">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
</gridCell>
|
||||||
|
</gridCells>
|
||||||
|
</gridView>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="RYv-Ng-2bJ" secondAttribute="trailing" constant="20" id="atn-XX-tEa"/>
|
||||||
|
<constraint firstItem="RYv-Ng-2bJ" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="dcr-ZE-P1X"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="RYv-Ng-2bJ" secondAttribute="bottom" constant="20" id="e2v-cE-ajw"/>
|
||||||
|
<constraint firstItem="RYv-Ng-2bJ" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" symbolic="YES" id="qLx-ot-9dT"/>
|
||||||
|
</constraints>
|
||||||
|
<point key="canvasLocation" x="-368" y="-227"/>
|
||||||
|
</customView>
|
||||||
|
</objects>
|
||||||
|
</document>
|
||||||
@@ -27,14 +27,15 @@
|
|||||||
@interface MPGroupInspectorViewController : MPViewController
|
@interface MPGroupInspectorViewController : MPViewController
|
||||||
|
|
||||||
@property (strong) IBOutlet NSView *contentView;
|
@property (strong) IBOutlet NSView *contentView;
|
||||||
@property (weak) IBOutlet HNHUITextField *titleTextField;
|
@property (strong) IBOutlet HNHUITextField *titleTextField;
|
||||||
|
|
||||||
@property (weak) IBOutlet NSButton *expiresCheckButton;
|
@property (strong) IBOutlet NSButton *expiresCheckButton;
|
||||||
@property (weak) IBOutlet NSButton *expireDateSelectButton;
|
@property (strong) IBOutlet NSButton *expireDateSelectButton;
|
||||||
|
|
||||||
@property (weak) IBOutlet NSPopUpButton *searchPopupButton;
|
@property (strong) IBOutlet NSPopUpButton *searchPopupButton;
|
||||||
@property (weak) IBOutlet NSPopUpButton *autotypePopupButton;
|
@property (strong) IBOutlet NSPopUpButton *autotypePopupButton;
|
||||||
@property (weak) IBOutlet HNHUITextField *autotypeSequenceTextField;
|
@property (strong) IBOutlet HNHUITextField *autotypeSequenceTextField;
|
||||||
|
@property (strong) IBOutlet NSTokenField *tagsTokenField;
|
||||||
|
|
||||||
- (void)registerNotificationsForDocument:(MPDocument *)document;
|
- (void)registerNotificationsForDocument:(MPDocument *)document;
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -62,17 +62,17 @@
|
|||||||
scrollView.showBottomShadow = NO;
|
scrollView.showBottomShadow = NO;
|
||||||
scrollView.hasVerticalRuler = YES;
|
scrollView.hasVerticalRuler = YES;
|
||||||
scrollView.drawsBackground = NO;
|
scrollView.drawsBackground = NO;
|
||||||
scrollView.translatesAutoresizingMaskIntoConstraints = NO;
|
/*scrollView.translatesAutoresizingMaskIntoConstraints = NO;
|
||||||
NSView *clipView = scrollView.contentView;
|
NSView *clipView = scrollView.contentView;
|
||||||
|
|
||||||
scrollView.documentView = self.contentView;
|
//scrollView.documentView = self.contentView;
|
||||||
|
|
||||||
NSDictionary *views = NSDictionaryOfVariableBindings(_contentView);
|
NSDictionary *views = NSDictionaryOfVariableBindings(_contentView);
|
||||||
[clipView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_contentView]|"
|
[clipView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_contentView]|"
|
||||||
options:0
|
options:0
|
||||||
metrics:nil
|
metrics:nil
|
||||||
views:views]];
|
views:views]];
|
||||||
[self.view layoutSubtreeIfNeeded];
|
[self.view layoutSubtreeIfNeeded];*/
|
||||||
|
|
||||||
NSMenu *autotypeMenu = self.autotypePopupButton.menu;
|
NSMenu *autotypeMenu = self.autotypePopupButton.menu;
|
||||||
NSMenuItem *inheritAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_INHERIT", "Inherit autotype settings menu item") action:NULL keyEquivalent:@""];
|
NSMenuItem *inheritAutotype = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"AUTOTYPE_INHERIT", "Inherit autotype settings menu item") action:NULL keyEquivalent:@""];
|
||||||
@@ -127,6 +127,10 @@
|
|||||||
toObject:self
|
toObject:self
|
||||||
withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isSearchEnabled))]
|
withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(isSearchEnabled))]
|
||||||
options:nil];
|
options:nil];
|
||||||
|
[self.tagsTokenField bind:NSValueBinding
|
||||||
|
toObject:self
|
||||||
|
withKeyPath:[NSString stringWithFormat:@"%@.%@", NSStringFromSelector(@selector(representedObject)), NSStringFromSelector(@selector(tags))]
|
||||||
|
options:nullPlaceholderOptionsDict];
|
||||||
}
|
}
|
||||||
- (IBAction)toggleExpire:(NSButton*)sender {
|
- (IBAction)toggleExpire:(NSButton*)sender {
|
||||||
KPKGroup *group = self.representedObject;
|
KPKGroup *group = self.representedObject;
|
||||||
|
|||||||
23
MacPass/MPInspectorEditor.h
Normal file
23
MacPass/MPInspectorEditor.h
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//
|
||||||
|
// MPInspectorEditor.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 14.10.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/// The InpsectorEditor protocoll that should be implemented by editors used in the inspector
|
||||||
|
/// Individual editors shoudl adopt different APIs to accomodate their needs
|
||||||
|
/// The preferred way to set model data is to use the representedObject
|
||||||
|
@protocol MPInspectorEditor <NSObject>
|
||||||
|
|
||||||
|
@required
|
||||||
|
@property (nonatomic) BOOL isEditor;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -82,9 +82,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)willShowTab {
|
- (void)willShowTab {
|
||||||
_hotKey = [DDHotKey hotKeyWithKeyData:[NSUserDefaults.standardUserDefaults dataForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]];
|
if(!_hotKey) {
|
||||||
/* Change any invalid hotkeys to valid ones? */
|
_hotKey = [DDHotKey hotKeyWithKeyData:[NSUserDefaults.standardUserDefaults dataForKey:kMPSettingsKeyGlobalAutotypeKeyDataKey]];
|
||||||
self.hotKeyTextField.hotKey = self.hotKey;
|
}
|
||||||
|
/* Only call the setter if the hotkeys are different, otherwise the dealloc call will unregister them*/
|
||||||
|
if(![self.hotKeyTextField.hotKey isEqual:self.hotKey]) {
|
||||||
|
self.hotKeyTextField.hotKey = self.hotKey;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
|
|||||||
@@ -28,12 +28,7 @@ uint16_t const kMPUnknownKeyCode = UINT16_MAX;
|
|||||||
|
|
||||||
- (MPModifiedKey)modifiedKeyValue {
|
- (MPModifiedKey)modifiedKeyValue {
|
||||||
MPModifiedKey key;
|
MPModifiedKey key;
|
||||||
if(@available(macOS 10.13, *)) {
|
[self getValue:&key size:sizeof(MPModifiedKey)];
|
||||||
[self getValue:&key size:sizeof(MPModifiedKey)];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
[self getValue:&key];
|
|
||||||
}
|
|
||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
18
MacPass/MPNodeExpirationViewController.h
Normal file
18
MacPass/MPNodeExpirationViewController.h
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
//
|
||||||
|
// MPNodeExpirationViewController.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 22.10.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
#import "MPInspectorEditor.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface MPNodeExpirationViewController : NSViewController <MPInspectorEditor>
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
79
MacPass/MPNodeExpirationViewController.m
Normal file
79
MacPass/MPNodeExpirationViewController.m
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
//
|
||||||
|
// MPNodeExpirationViewController.m
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 22.10.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MPNodeExpirationViewController.h"
|
||||||
|
#import "MPInspectorViewController.h"
|
||||||
|
#import "MPValueTransformerHelper.h"
|
||||||
|
#import <KeePassKit/KeePassKit.h>
|
||||||
|
|
||||||
|
@interface MPNodeExpirationViewController ()
|
||||||
|
|
||||||
|
@property (nonatomic, readonly, strong) KPKTimeInfo *representedTimeInfo;
|
||||||
|
@property (strong) IBOutlet NSButton *expiredCheckButton;
|
||||||
|
@property (strong) IBOutlet NSButton *pickExpireDateButton;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MPNodeExpirationViewController
|
||||||
|
|
||||||
|
@synthesize isEditor = _isEditor;
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
self.pickExpireDateButton.action = @selector(pickExpiryDate:);
|
||||||
|
[self _updateValues];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (KPKTimeInfo *)representedTimeInfo {
|
||||||
|
if([self.representedObject isKindOfClass:KPKTimeInfo.class]) {
|
||||||
|
return self.representedObject;
|
||||||
|
}
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setRepresentedObject:(id)representedObject {
|
||||||
|
if(self.representedTimeInfo) {
|
||||||
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKWillChangeTimeInfoNotification object:self.representedTimeInfo];
|
||||||
|
[NSNotificationCenter.defaultCenter removeObserver:self name:KPKDidChangeTimeInfoNotification object:self.representedTimeInfo];
|
||||||
|
}
|
||||||
|
super.representedObject = representedObject;
|
||||||
|
if(self.representedTimeInfo) {
|
||||||
|
[NSNotificationCenter.defaultCenter addObserver:self
|
||||||
|
selector:(@selector(_willChangeTimeInfo:))
|
||||||
|
name:KPKWillChangeTimeInfoNotification
|
||||||
|
object:self.representedTimeInfo];
|
||||||
|
[NSNotificationCenter.defaultCenter addObserver:self
|
||||||
|
selector:(@selector(_didChangeTimeInfo:))
|
||||||
|
name:KPKDidChangeTimeInfoNotification
|
||||||
|
object:self.representedTimeInfo];
|
||||||
|
|
||||||
|
}
|
||||||
|
[self _updateValues];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setIsEditor:(BOOL)isEditor {
|
||||||
|
[self _updateValues];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)_updateValues {
|
||||||
|
self.view.hidden = self.representedTimeInfo.expires;
|
||||||
|
self.expiredCheckButton.state = HNHUIStateForBool(self.representedTimeInfo.expires);
|
||||||
|
NSValueTransformer *dateTransformer = [NSValueTransformer valueTransformerForName:MPExpiryDateValueTransformerName];
|
||||||
|
self.expiredCheckButton.title = [dateTransformer transformedValue:self.representedTimeInfo.expirationDate];
|
||||||
|
|
||||||
|
self.expiredCheckButton.enabled = self.isEditor;
|
||||||
|
self.pickExpireDateButton.enabled = self.isEditor;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)_willChangeTimeInfo:(NSNotification *)notification {}
|
||||||
|
|
||||||
|
- (void)_didChangeTimeInfo:(NSNotification *)notification {
|
||||||
|
[self _updateValues];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
65
MacPass/MPNodeExpirationViewController.xib
Normal file
65
MacPass/MPNodeExpirationViewController.xib
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="18122" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="18122"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="MPNodeExpirationViewController">
|
||||||
|
<connections>
|
||||||
|
<outlet property="expiredCheckButton" destination="HAQ-Wk-M7P" id="C1J-nJ-Cdz"/>
|
||||||
|
<outlet property="pickExpireDateButton" destination="G7C-WZ-ad7" id="zvU-TW-Mar"/>
|
||||||
|
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
|
<customView id="Hz6-mo-xeY">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="187" height="20"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" horizontalHuggingPriority="248" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="l8k-GC-FnL">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="187" height="20"/>
|
||||||
|
<subviews>
|
||||||
|
<button horizontalHuggingPriority="249" horizontalCompressionResistancePriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="HAQ-Wk-M7P">
|
||||||
|
<rect key="frame" x="-2" y="1" width="150" height="18"/>
|
||||||
|
<buttonCell key="cell" type="check" title="Expires" bezelStyle="regularSquare" imagePosition="left" lineBreakMode="truncatingMiddle" state="on" inset="2" id="7kV-WE-lr3">
|
||||||
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
</button>
|
||||||
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="G7C-WZ-ad7">
|
||||||
|
<rect key="frame" x="149" y="-7" width="45" height="32"/>
|
||||||
|
<buttonCell key="cell" type="push" bezelStyle="rounded" image="NSActionTemplate" imagePosition="only" alignment="center" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="hgC-Qj-aTs">
|
||||||
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="pickExpiryDate:" target="-1" id="EGg-Lx-7s5"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
</subviews>
|
||||||
|
<visibilityPriorities>
|
||||||
|
<integer value="1000"/>
|
||||||
|
<integer value="1000"/>
|
||||||
|
</visibilityPriorities>
|
||||||
|
<customSpacing>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
<real value="3.4028234663852886e+38"/>
|
||||||
|
</customSpacing>
|
||||||
|
</stackView>
|
||||||
|
</subviews>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="l8k-GC-FnL" secondAttribute="bottom" id="6uR-g8-FVH"/>
|
||||||
|
<constraint firstItem="l8k-GC-FnL" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="AuC-c3-JPv"/>
|
||||||
|
<constraint firstItem="l8k-GC-FnL" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="Qvv-5F-nde"/>
|
||||||
|
<constraint firstAttribute="trailing" secondItem="l8k-GC-FnL" secondAttribute="trailing" id="ckb-kh-R60"/>
|
||||||
|
</constraints>
|
||||||
|
<point key="canvasLocation" x="-91" y="-25"/>
|
||||||
|
</customView>
|
||||||
|
</objects>
|
||||||
|
<resources>
|
||||||
|
<image name="NSActionTemplate" width="15" height="15"/>
|
||||||
|
</resources>
|
||||||
|
</document>
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error {
|
- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error {
|
||||||
/* If super can pase without an error, all is fine */
|
/* If super can parse without an error, all is fine */
|
||||||
if([super getObjectValue:obj forString:string errorDescription:error]) {
|
if([super getObjectValue:obj forString:string errorDescription:error]) {
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|||||||
23
MacPass/MPOpenURLHandler.h
Normal file
23
MacPass/MPOpenURLHandler.h
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//
|
||||||
|
// MPOpenURLHandler.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 11.11.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface MPOpenURLHandler : NSObject
|
||||||
|
|
||||||
|
@property (class, strong, readonly) MPOpenURLHandler *sharedHandler;
|
||||||
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
|
||||||
|
- (void)openURL:(NSString *)url;
|
||||||
|
- (BOOL)supportsPrivateBrowsingForBundleId:(NSString *)bundleId;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
86
MacPass/MPOpenURLHandler.m
Normal file
86
MacPass/MPOpenURLHandler.m
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
//
|
||||||
|
// MPOpenURLHandler.m
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 11.11.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MPOpenURLHandler.h"
|
||||||
|
|
||||||
|
#import "MPSettingsHelper.h"
|
||||||
|
|
||||||
|
@implementation MPOpenURLHandler
|
||||||
|
|
||||||
|
static MPOpenURLHandler *_defaultInstance;
|
||||||
|
|
||||||
|
+ (MPOpenURLHandler *)sharedHandler {
|
||||||
|
static dispatch_once_t onceToken;
|
||||||
|
dispatch_once(&onceToken, ^{
|
||||||
|
_defaultInstance = [[MPOpenURLHandler alloc] _init];
|
||||||
|
});
|
||||||
|
return _defaultInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (instancetype)init {
|
||||||
|
return _defaultInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSArray<NSString *>*)privateBrowsingArgsForBundleId:(NSString *)bundleId {
|
||||||
|
|
||||||
|
static NSDictionary *privateBrowsingArgs;
|
||||||
|
static dispatch_once_t onceToken;
|
||||||
|
dispatch_once(&onceToken, ^{
|
||||||
|
privateBrowsingArgs = @{ @"com.google.Chrome" : @[@"--incognito"] };
|
||||||
|
});
|
||||||
|
return privateBrowsingArgs[bundleId];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (instancetype)_init {
|
||||||
|
NSAssert(_defaultInstance == nil, @"Multiple instances of MPLockDaemon not allowed!");
|
||||||
|
self = [super init];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)openURL:(NSString *)url {
|
||||||
|
NSURL *webURL = [NSURL URLWithString:url];
|
||||||
|
NSString *scheme = webURL.scheme;
|
||||||
|
if(!scheme) {
|
||||||
|
webURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", url]];
|
||||||
|
}
|
||||||
|
|
||||||
|
NSString *browserBundleID = [NSUserDefaults.standardUserDefaults stringForKey:kMPSettingsKeyBrowserBundleId];
|
||||||
|
NSURL *browserApplicationURL = browserBundleID ? [NSWorkspace.sharedWorkspace URLForApplicationWithBundleIdentifier:browserBundleID] : nil;
|
||||||
|
BOOL openedURL = NO;
|
||||||
|
|
||||||
|
if(browserApplicationURL) {
|
||||||
|
NSRunningApplication *urlOpeningApplication = [NSWorkspace.sharedWorkspace openURLs:@[webURL] withApplicationAtURL:browserApplicationURL options:NSWorkspaceLaunchDefault configuration:@{} error:nil];
|
||||||
|
openedURL = nil != urlOpeningApplication;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!openedURL) {
|
||||||
|
openedURL = [NSWorkspace.sharedWorkspace openURL:webURL];
|
||||||
|
}
|
||||||
|
if(!openedURL) {
|
||||||
|
NSLog(@"Unable to open URL %@", webURL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)supportsPrivateBrowsingForBundleId:(NSString *)bundleId {
|
||||||
|
return (nil != [self privateBrowsingArgsForBundleId:bundleId]);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSArray<NSString *>*)_launchArgumentsForBrowserBundleID:(NSString *)bundleId {
|
||||||
|
BOOL usePrivateBrowsing = [NSUserDefaults.standardUserDefaults boolForKey:kMPSettingsKeyUsePrivateBrowsingWhenOpeningURLs];
|
||||||
|
NSMutableArray<NSString *> *args = [[NSMutableArray alloc] init];
|
||||||
|
if(usePrivateBrowsing) {
|
||||||
|
NSArray<NSString *>* privateArgs = [self privateBrowsingArgsForBundleId:bundleId];
|
||||||
|
if(privateArgs) {
|
||||||
|
[args addObjectsFromArray:privateArgs];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return [args copy];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
@@ -136,7 +136,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell";
|
|||||||
NSInteger visibleRow = [self _rowForUUID:visibleUUID node:node];
|
NSInteger visibleRow = [self _rowForUUID:visibleUUID node:node];
|
||||||
selectRow = selectRow > -1 ? selectRow : 1;
|
selectRow = selectRow > -1 ? selectRow : 1;
|
||||||
[self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:selectRow] byExtendingSelection:NO];
|
[self.outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:selectRow] byExtendingSelection:NO];
|
||||||
|
|
||||||
if(visibleRow > -1) {
|
if(visibleRow > -1) {
|
||||||
NSRect rowRect = [self.outlineView rectOfRow:visibleRow];
|
NSRect rowRect = [self.outlineView rectOfRow:visibleRow];
|
||||||
[self.outlineView scrollPoint:rowRect.origin];
|
[self.outlineView scrollPoint:rowRect.origin];
|
||||||
@@ -225,7 +225,7 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell";
|
|||||||
#pragma mark Notifications
|
#pragma mark Notifications
|
||||||
- (void)registerNotificationsForDocument:(MPDocument *)document {
|
- (void)registerNotificationsForDocument:(MPDocument *)document {
|
||||||
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document];
|
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(_didAddGroup:) name:MPDocumentDidAddGroupNotification object:document];
|
||||||
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(_didRevertDocument:) name:MPDocumentDidRevertNotification object:document];
|
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(_didRevertDocument:) name:MPDocumentDidRevertNotification object:document];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)clearSelection {
|
- (void)clearSelection {
|
||||||
|
|||||||
@@ -150,10 +150,39 @@ typedef NS_ENUM(NSUInteger, MPPasswordEditKeyError) {
|
|||||||
|
|
||||||
- (IBAction)generateKey:(id)sender {
|
- (IBAction)generateKey:(id)sender {
|
||||||
MPDocument *document = self.document;
|
MPDocument *document = self.document;
|
||||||
NSData *data = [NSData kpk_generateKeyfileDataForFormat:document.tree.minimumVersion.format];
|
KPKFileVersion fileVersion = document.tree.minimumVersion;
|
||||||
|
NSArray *fileTypes = @[];
|
||||||
|
KPKKeyFileType keyFileType;
|
||||||
|
|
||||||
|
if(fileVersion.format == KPKDatabaseFormatUnknown) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if(fileVersion.format == KPKDatabaseFormatKdb) {
|
||||||
|
fileTypes = @[@"key"];
|
||||||
|
keyFileType = KPKKeyFileTypeBinary;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(fileVersion.version <= kKPKKdbxFileVersion3) {
|
||||||
|
keyFileType = KPKKeyFileTypeXMLVersion1;
|
||||||
|
fileTypes = @[@"key"];
|
||||||
|
}
|
||||||
|
// else if(fileVersion.version <=kKPKKdbxFileVersion4) {
|
||||||
|
// keyFileType = KPKKeyFileTypeXMLVersion1;
|
||||||
|
// fileTypes = @[@"key"];
|
||||||
|
// }
|
||||||
|
else if(fileVersion.version <= kKPKKdbxFileVersion4_1) {
|
||||||
|
keyFileType = KPKKeyFileTypeXMLVersion2;
|
||||||
|
fileTypes = @[@"keyx"];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NSData *data = [NSData kpk_generateKeyfileDataOfType:keyFileType];
|
||||||
if(data) {
|
if(data) {
|
||||||
NSSavePanel *savePanel = [NSSavePanel savePanel];
|
NSSavePanel *savePanel = [NSSavePanel savePanel];
|
||||||
savePanel.allowedFileTypes = @[@"key", @"xml"];
|
savePanel.allowedFileTypes = fileTypes;
|
||||||
savePanel.canCreateDirectories = YES;
|
savePanel.canCreateDirectories = YES;
|
||||||
savePanel.title = NSLocalizedString(@"SAVE_KEYFILE", "Button title to save the generated key file");
|
savePanel.title = NSLocalizedString(@"SAVE_KEYFILE", "Button title to save the generated key file");
|
||||||
[savePanel beginWithCompletionHandler:^(NSInteger result) {
|
[savePanel beginWithCompletionHandler:^(NSInteger result) {
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
typedef NS_ENUM(NSUInteger, MPPasteboardOverlayInfoType) {
|
typedef NS_ENUM(NSUInteger, MPPasteboardOverlayInfoType) {
|
||||||
MPPasteboardOverlayInfoPassword,
|
MPPasteboardOverlayInfoPassword,
|
||||||
MPPasteboardOverlayInfoUsername,
|
MPPasteboardOverlayInfoUsername,
|
||||||
@@ -30,6 +32,22 @@ typedef NS_ENUM(NSUInteger, MPPasteboardOverlayInfoType) {
|
|||||||
MPPasteboardOverlayInfoReference // overlay info that a reference that was copied
|
MPPasteboardOverlayInfoReference // overlay info that a reference that was copied
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef MPPasteboardOverlayInfoType MPPasteboardContentInfoType;
|
||||||
|
|
||||||
|
@interface MPPasteBoardContentInfo : NSObject
|
||||||
|
|
||||||
|
@property (readonly, strong) NSImage *image;
|
||||||
|
@property (readonly, strong) NSString *label;
|
||||||
|
|
||||||
|
+ (instancetype)contentInforForCustomField:(NSString *)name;
|
||||||
|
+ (instancetype)passwordContentInfo; // creates a content info approporate for passwords
|
||||||
|
+ (instancetype)urlContentInfo; // creates a content info apprpriate for urls
|
||||||
|
|
||||||
|
- (instancetype)initWithImage:(NSImage * _Nullable)image label:(NSString * _Nullable)label NS_DESIGNATED_INITIALIZER;
|
||||||
|
- (instancetype)initWithType:(MPPasteboardContentInfoType)type;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
@interface MPPasteBoardController : NSObject
|
@interface MPPasteBoardController : NSObject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,6 +88,9 @@ FOUNDATION_EXPORT NSString *const MPPasteBoardControllerDidClearClipboard;
|
|||||||
@param name a custom name
|
@param name a custom name
|
||||||
@param view the view that initiated the copy action
|
@param view the view that initiated the copy action
|
||||||
*/
|
*/
|
||||||
- (void)copyObject:(id<NSPasteboardWriting>)object overlayInfo:(MPPasteboardOverlayInfoType)overlayInfoType name:(NSString *)name atView:(NSView *)view;
|
- (void)copyObject:(id<NSPasteboardWriting>)object overlayInfo:(MPPasteboardOverlayInfoType)overlayInfoType name:(NSString * _Nullable)name atView:(NSView *)view;
|
||||||
|
- (void)copyObject:(id<NSPasteboardWriting>)object contentInfo:(MPPasteBoardContentInfo *)info atView:(NSView *)view;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#import "MPPasteBoardController.h"
|
#import "MPPasteBoardController.h"
|
||||||
#import "MPSettingsHelper.h"
|
#import "MPSettingsHelper.h"
|
||||||
|
#import "MPIconHelper.h"
|
||||||
#import "MPOverlayWindowController.h"
|
#import "MPOverlayWindowController.h"
|
||||||
|
|
||||||
/* Notifications */
|
/* Notifications */
|
||||||
@@ -126,6 +127,10 @@ NSString *const MPPasteBoardTypeSource = @"org.nspasteboard.source";
|
|||||||
self.isEmpty = NO;
|
self.isEmpty = NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)copyObject:(id<NSPasteboardWriting>)object contentInfo:(MPPasteBoardContentInfo *)info atView:(nonnull NSView *)view{
|
||||||
|
[self copyObject:object overlayInfo:MPPasteboardOverlayInfoCustom name:info.label atView:view];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)copyObject:(id<NSPasteboardWriting>)object overlayInfo:(MPPasteboardOverlayInfoType)overlayInfoType name:(NSString *)name atView:(NSView *)view{
|
- (void)copyObject:(id<NSPasteboardWriting>)object overlayInfo:(MPPasteboardOverlayInfoType)overlayInfoType name:(NSString *)name atView:(NSView *)view{
|
||||||
if(!object) {
|
if(!object) {
|
||||||
return;
|
return;
|
||||||
@@ -135,27 +140,27 @@ NSString *const MPPasteBoardTypeSource = @"org.nspasteboard.source";
|
|||||||
NSString *infoText = nil;
|
NSString *infoText = nil;
|
||||||
switch(overlayInfoType) {
|
switch(overlayInfoType) {
|
||||||
case MPPasteboardOverlayInfoPassword:
|
case MPPasteboardOverlayInfoPassword:
|
||||||
infoImage = [NSBundle.mainBundle imageForResource:@"00_PasswordTemplate"];
|
infoImage = [MPIconHelper icon:MPIconPassword];
|
||||||
infoText = NSLocalizedString(@"COPIED_PASSWORD", @"Password was copied to the pasteboard");
|
infoText = NSLocalizedString(@"COPIED_PASSWORD", @"Password was copied to the pasteboard");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MPPasteboardOverlayInfoURL:
|
case MPPasteboardOverlayInfoURL:
|
||||||
infoImage = [NSBundle.mainBundle imageForResource:@"01_PackageNetworkTemplate"];
|
infoImage = [MPIconHelper icon:MPIconPackageNetwork];
|
||||||
infoText = NSLocalizedString(@"COPIED_URL", @"URL was copied to the pasteboard");
|
infoText = NSLocalizedString(@"COPIED_URL", @"URL was copied to the pasteboard");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MPPasteboardOverlayInfoUsername:
|
case MPPasteboardOverlayInfoUsername:
|
||||||
infoImage = [NSBundle.mainBundle imageForResource:@"09_IdentityTemplate"];
|
infoImage = [MPIconHelper icon:MPIconIdentity];
|
||||||
infoText = NSLocalizedString(@"COPIED_USERNAME", @"Username was copied to the pasteboard");
|
infoText = NSLocalizedString(@"COPIED_USERNAME", @"Username was copied to the pasteboard");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MPPasteboardOverlayInfoCustom:
|
case MPPasteboardOverlayInfoCustom:
|
||||||
infoImage = [NSBundle.mainBundle imageForResource:@"00_PasswordTemplate"];
|
infoImage = [MPIconHelper icon:MPIconPassword];
|
||||||
infoText = [NSString stringWithFormat:NSLocalizedString(@"COPIED_FIELD_%@", "Field name that was copied to the pasteboard"), name];
|
infoText = [NSString stringWithFormat:NSLocalizedString(@"COPIED_FIELD_%@", "Field name that was copied to the pasteboard"), name];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MPPasteboardOverlayInfoReference:
|
case MPPasteboardOverlayInfoReference:
|
||||||
infoImage = [NSBundle.mainBundle imageForResource:@"04_KlipperTemplate"];
|
infoImage = [MPIconHelper icon:MPIconKlipper];
|
||||||
infoText = name;
|
infoText = name;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ NSString *const MPPathControlDidSetURLNotification = @"MPPathControlDidSetURLNot
|
|||||||
- (instancetype)initWithCoder:(NSCoder *)coder {
|
- (instancetype)initWithCoder:(NSCoder *)coder {
|
||||||
/* FIXME: this doesn't work well anymore. Need more work, see: https://www.mikeash.com/pyblog/custom-nscells-done-right.html */
|
/* FIXME: this doesn't work well anymore. Need more work, see: https://www.mikeash.com/pyblog/custom-nscells-done-right.html */
|
||||||
self = [super initWithCoder:coder];
|
self = [super initWithCoder:coder];
|
||||||
self.delegate = self;
|
self.delegate = self;
|
||||||
[self _setupCell];
|
[self _setupCell];
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
@@ -68,11 +68,24 @@ NSString *const MPPathControlDidSetURLNotification = @"MPPathControlDidSetURLNot
|
|||||||
if([self.delegate respondsToSelector:@selector(pathControl:willDisplayOpenPanel:)]) {
|
if([self.delegate respondsToSelector:@selector(pathControl:willDisplayOpenPanel:)]) {
|
||||||
[self.delegate pathControl:self willDisplayOpenPanel:panel];
|
[self.delegate pathControl:self willDisplayOpenPanel:panel];
|
||||||
}
|
}
|
||||||
[panel beginWithCompletionHandler:^(NSModalResponse result) {
|
// fall back to modal sheet when browsing Versions. Otherwise we would get kicked out of the TimeMachien UI
|
||||||
if(result == NSModalResponseOK) {
|
// #1206 See Unable to use Time Machine function when have a KeyFile
|
||||||
self.URL = panel.URLs.firstObject;
|
// Setting NSDocumentRevisionsDebugMode=1 will prevent TimeMachien from exiting even when the openPanel is not shown as sheet
|
||||||
}
|
NSDocument *document = self.window.windowController.document;
|
||||||
}];
|
if(document.isInViewingMode) {
|
||||||
|
[panel beginSheetModalForWindow:self.window completionHandler:^(NSModalResponse result) {
|
||||||
|
if(result == NSModalResponseOK) {
|
||||||
|
self.URL = panel.URLs.firstObject;
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
[panel beginWithCompletionHandler:^(NSModalResponse result) {
|
||||||
|
if(result == NSModalResponseOK) {
|
||||||
|
self.URL = panel.URLs.firstObject;
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)pathControl:(NSPathControl *)pathControl willDisplayOpenPanel:(NSOpenPanel *)openPanel {
|
- (void)pathControl:(NSPathControl *)pathControl willDisplayOpenPanel:(NSOpenPanel *)openPanel {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ FOUNDATION_EXPORT NSString *const MPPluginDescriptionInfoDictionaryKey;
|
|||||||
@param host plugin host hosting the pluing - MacPass
|
@param host plugin host hosting the pluing - MacPass
|
||||||
@return the plugin instance ready for use
|
@return the plugin instance ready for use
|
||||||
*/
|
*/
|
||||||
- (instancetype)initWithPluginHost:(MPPluginHost *)host NS_DESIGNATED_INITIALIZER;
|
- (instancetype)initWithPluginHost:(MPPluginHost *)host NS_DESIGNATED_INITIALIZER NS_REQUIRES_SUPER;
|
||||||
- (instancetype)init NS_UNAVAILABLE;
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
|
||||||
- (void)didLoadPlugin;
|
- (void)didLoadPlugin;
|
||||||
@@ -81,7 +81,6 @@ FOUNDATION_EXPORT NSString *const MPPluginDescriptionInfoDictionaryKey;
|
|||||||
- (NSString *)windowTitleForRunningApplication:(NSRunningApplication *)runningApplication;
|
- (NSString *)windowTitleForRunningApplication:(NSRunningApplication *)runningApplication;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|
||||||
#pragma mark Proposed Plugin Protocolls
|
#pragma mark Proposed Plugin Protocolls
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
17
MacPass/MPSecurityDatabaseSettingsViewController.h
Normal file
17
MacPass/MPSecurityDatabaseSettingsViewController.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// MPSecurityDatabaseSettingsViewController.h
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 18.11.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Cocoa/Cocoa.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface MPSecurityDatabaseSettingsViewController : NSViewController
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
22
MacPass/MPSecurityDatabaseSettingsViewController.m
Normal file
22
MacPass/MPSecurityDatabaseSettingsViewController.m
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
//
|
||||||
|
// MPSecurityDatabaseSettingsViewController.m
|
||||||
|
// MacPass
|
||||||
|
//
|
||||||
|
// Created by Michael Starke on 18.11.21.
|
||||||
|
// Copyright © 2021 HicknHack Software GmbH. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "MPSecurityDatabaseSettingsViewController.h"
|
||||||
|
|
||||||
|
@interface MPSecurityDatabaseSettingsViewController ()
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation MPSecurityDatabaseSettingsViewController
|
||||||
|
|
||||||
|
- (void)viewDidLoad {
|
||||||
|
[super viewDidLoad];
|
||||||
|
// Do view setup here.
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
19
MacPass/MPSecurityDatabaseSettingsViewController.xib
Normal file
19
MacPass/MPSecurityDatabaseSettingsViewController.xib
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11134" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
|
<dependencies>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11134"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="MPSecurityDatabaseSettingsViewController">
|
||||||
|
<connections>
|
||||||
|
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
|
<customView id="Hz6-mo-xeY">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
</customView>
|
||||||
|
</objects>
|
||||||
|
</document>
|
||||||
@@ -34,9 +34,14 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch;
|
|||||||
APPKIT_EXTERN NSString *const kMPSettingsKeyQuitOnLastWindowClose; // Quit MacPass when the user closes the last window
|
APPKIT_EXTERN NSString *const kMPSettingsKeyQuitOnLastWindowClose; // Quit MacPass when the user closes the last window
|
||||||
APPKIT_EXTERN NSString *const kMPSettingsKeyFileChangeStrategy;
|
APPKIT_EXTERN NSString *const kMPSettingsKeyFileChangeStrategy;
|
||||||
APPKIT_EXTERN NSString *const kMPSettingsKeyEnableAutosave; // if set to YES MacPass support Autosaving for documents
|
APPKIT_EXTERN NSString *const kMPSettingsKeyEnableAutosave; // if set to YES MacPass support Autosaving for documents
|
||||||
|
APPKIT_EXTERN NSString *const kMPSettingsKeyFocusSearchAfterUnlock; // Enter search after unlocking the database
|
||||||
|
|
||||||
|
/* Entry Table Display */
|
||||||
|
APPKIT_EXTERN NSString *const kMPSettingsKeyDisplayClearTextPasswordsInEntryList;
|
||||||
|
|
||||||
/* URL handling */
|
/* URL handling */
|
||||||
APPKIT_EXTERN NSString *const kMPSettingsKeyBrowserBundleId;
|
APPKIT_EXTERN NSString *const kMPSettingsKeyBrowserBundleId;
|
||||||
|
APPKIT_EXTERN NSString *const kMPSettingsKeyUsePrivateBrowsingWhenOpeningURLs;
|
||||||
|
|
||||||
/* Autolock */
|
/* Autolock */
|
||||||
APPKIT_EXTERN NSString *const kMPSettingsKeyLockOnSleep;
|
APPKIT_EXTERN NSString *const kMPSettingsKeyLockOnSleep;
|
||||||
@@ -94,6 +99,9 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyAllowRemoteFetchOfPluginRepository;
|
|||||||
/* Network */
|
/* Network */
|
||||||
APPKIT_EXTERN NSString *const kMPSettingsKeyFaviconDownloadMethod;
|
APPKIT_EXTERN NSString *const kMPSettingsKeyFaviconDownloadMethod;
|
||||||
|
|
||||||
|
/* UI */
|
||||||
|
APPKIT_EXTERN NSString *const kMPSettingsKeyUseUnifiedToolbar;
|
||||||
|
|
||||||
typedef NS_ENUM(NSUInteger, MPFileChangeStrategy) {
|
typedef NS_ENUM(NSUInteger, MPFileChangeStrategy) {
|
||||||
MPFileChangeStrategyAsk,
|
MPFileChangeStrategyAsk,
|
||||||
MPFileChangeStrategyKeepMine,
|
MPFileChangeStrategyKeepMine,
|
||||||
|
|||||||
@@ -30,18 +30,23 @@ NSString *const kMPSettingsKeyPasteboardClearTimeout = @"Cl
|
|||||||
NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit";
|
NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit";
|
||||||
NSString *const kMPSettingsKeyPreventUniversalClipboard = @"PreventUniversalClipboard";
|
NSString *const kMPSettingsKeyPreventUniversalClipboard = @"PreventUniversalClipboard";
|
||||||
NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId";
|
NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId";
|
||||||
|
NSString *const kMPSettingsKeyUsePrivateBrowsingWhenOpeningURLs = @"UsePrivateBrowsingWhenOpeningURLs";
|
||||||
NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch";
|
NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch";
|
||||||
NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch";
|
NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch";
|
||||||
NSString *const kMPSettingsKeyQuitOnLastWindowClose = @"QuitOnLastWindowClose";
|
NSString *const kMPSettingsKeyQuitOnLastWindowClose = @"QuitOnLastWindowClose";
|
||||||
NSString *const kMPSettingsKeyFileChangeStrategy = @"FileChangeStrategy";
|
NSString *const kMPSettingsKeyFileChangeStrategy = @"FileChangeStrategy";
|
||||||
NSString *const kMPSettingsKeyEnableAutosave = @"EnableAutosave";
|
NSString *const kMPSettingsKeyEnableAutosave = @"EnableAutosave";
|
||||||
|
NSString *const kMPSettingsKeyFocusSearchAfterUnlock = @"FocusSearchAfterUnlock";
|
||||||
|
|
||||||
|
NSString *const kMPSettingsKeyDisplayClearTextPasswordsInEntryList = @"DisplayClearTextPasswordsInEntryList";
|
||||||
|
|
||||||
NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep";
|
NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep";
|
||||||
NSString *const kMPSettingskeyLockOnLogout = @"LockOnLogout";
|
NSString *const kMPSettingskeyLockOnLogout = @"LockOnLogout";
|
||||||
NSString *const kMPSettingskeyLockOnScreenSleep = @"LockOnScreenSleep";
|
NSString *const kMPSettingskeyLockOnScreenSleep = @"LockOnScreenSleep";
|
||||||
NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut";
|
NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut";
|
||||||
NSString *const kMPSettingsKeyShowInspector = @"ShowInspector";
|
NSString *const kMPSettingsKeyShowInspector = @"ShowInspector";
|
||||||
NSString *const kMPSettingsKeyEntryTableSortDescriptors = @"EntryTableSortDescriptors";
|
NSString *const kMPSettingsKeyEntryTableSortDescriptors = @"EntryTableSortDescriptors";
|
||||||
|
|
||||||
NSString *const kMPSettingsKeyLegacyHideTitle = @"LegacyHideTitle";
|
NSString *const kMPSettingsKeyLegacyHideTitle = @"LegacyHideTitle";
|
||||||
NSString *const kMPSettingsKeyLegacyHideUsername = @"LegacyHideUsername ";
|
NSString *const kMPSettingsKeyLegacyHideUsername = @"LegacyHideUsername ";
|
||||||
NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword";
|
NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword";
|
||||||
@@ -90,6 +95,8 @@ NSString *const kMPSettingsKeyAllowRemoteFetchOfPluginRepository = @"Al
|
|||||||
|
|
||||||
NSString *const kMPSettingsKeyFaviconDownloadMethod = @"FaviconDownloadMethod";
|
NSString *const kMPSettingsKeyFaviconDownloadMethod = @"FaviconDownloadMethod";
|
||||||
|
|
||||||
|
NSString *const kMPSettingsKeyUseUnifiedToolbar =@"UseUnifiedToolbar";
|
||||||
|
|
||||||
/* Deprecated */
|
/* Deprecated */
|
||||||
NSString *const kMPDeprecatedSettingsKeyRememberKeyFilesForDatabases = @"kMPSettingsKeyRememberKeyFilesForDatabases";
|
NSString *const kMPDeprecatedSettingsKeyRememberKeyFilesForDatabases = @"kMPSettingsKeyRememberKeyFilesForDatabases";
|
||||||
NSString *const kMPDeprecatedSettingsKeyLastDatabasePath = @"MPLastDatabasePath";
|
NSString *const kMPDeprecatedSettingsKeyLastDatabasePath = @"MPLastDatabasePath";
|
||||||
@@ -127,51 +134,54 @@ NSString *const kMPDepricatedSettingsKeyAutotypeHideAccessibiltyWarning = @"Au
|
|||||||
static dispatch_once_t onceToken;
|
static dispatch_once_t onceToken;
|
||||||
dispatch_once(&onceToken, ^{
|
dispatch_once(&onceToken, ^{
|
||||||
standardDefaults = @{
|
standardDefaults = @{
|
||||||
kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default
|
kMPSettingsKeyShowInspector: @YES, // Show the Inspector by default
|
||||||
kMPSettingsKeyPasteboardClearTimeout: @30, // 30 seconds
|
kMPSettingsKeyPasteboardClearTimeout: @30, // 30 seconds
|
||||||
kMPSettingsKeyClearPasteboardOnQuit: @YES, // Clear Clipboard on quit
|
kMPSettingsKeyClearPasteboardOnQuit: @YES, // Clear Clipboard on quit
|
||||||
kMPSettingsKeyPreventUniversalClipboard: @YES, // Disable Universal Clipboard by default
|
kMPSettingsKeyPreventUniversalClipboard: @YES, // Disable Universal Clipboard by default
|
||||||
kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO,
|
kMPSettingsKeyOpenEmptyDatabaseOnLaunch: @NO,
|
||||||
kMPSettingsKeyReopenLastDatabaseOnLaunch: @YES,
|
kMPSettingsKeyReopenLastDatabaseOnLaunch: @YES,
|
||||||
kMPSettingsKeyFileChangeStrategy: @(MPFileChangeStrategyAsk), // Ask what to do on a file change!
|
kMPSettingsKeyFileChangeStrategy: @(MPFileChangeStrategyAsk), // Ask what to do on a file change!
|
||||||
kMPSettingsKeyLockOnSleep: @YES,
|
kMPSettingsKeyLockOnSleep: @YES,
|
||||||
kMPSettingskeyLockOnLogout: @NO,
|
kMPSettingskeyLockOnLogout: @NO,
|
||||||
kMPSettingskeyLockOnScreenSleep: @NO,
|
kMPSettingskeyLockOnScreenSleep: @NO,
|
||||||
kMPSettingsKeyIdleLockTimeOut: @0, // Do not lock while idle by default
|
kMPSettingsKeyIdleLockTimeOut: @0, // Do not lock while idle by default
|
||||||
kMPSettingsKeyLegacyHideNotes: @NO,
|
kMPSettingsKeyLegacyHideNotes: @NO,
|
||||||
kMPSettingsKeyLegacyHidePassword: @YES,
|
kMPSettingsKeyLegacyHidePassword: @YES,
|
||||||
kMPSettingsKeyLegacyHideTitle: @NO,
|
kMPSettingsKeyLegacyHideTitle: @NO,
|
||||||
kMPSettingsKeyLegacyHideURL: @NO,
|
kMPSettingsKeyLegacyHideURL: @NO,
|
||||||
kMPSettingsKeyLegacyHideUsername: @NO,
|
kMPSettingsKeyLegacyHideUsername: @NO,
|
||||||
kMPSettingsKeyRememberKeyFilesForDatabases: @NO,
|
kMPSettingsKeyRememberKeyFilesForDatabases: @NO,
|
||||||
kMPSettingsKeySendCommandForControlKey: @YES, // translate Ctrl to Cmd by default
|
kMPSettingsKeySendCommandForControlKey: @YES, // translate Ctrl to Cmd by default
|
||||||
kMPSettingsKeyEnableGlobalAutotype: @NO, // Keep global autotype disabled by default
|
kMPSettingsKeyEnableGlobalAutotype: @NO, // Keep global autotype disabled by default
|
||||||
kMPSettingsKeyGlobalAutotypeKeyDataKey: DDHotKey.defaultHotKeyData, // Cmd + Alt + M
|
kMPSettingsKeyGlobalAutotypeKeyDataKey: DDHotKey.defaultHotKeyData, // Cmd + Alt + M
|
||||||
kMPSettingsKeyDefaultGlobalAutotypeSequence: @"{USERNAME}{TAB}{PASSWORD}{ENTER}",
|
kMPSettingsKeyDefaultGlobalAutotypeSequence: @"{USERNAME}{TAB}{PASSWORD}{ENTER}",
|
||||||
kMPSettingsKeyAutotypeMatchTitle: @YES,
|
kMPSettingsKeyAutotypeMatchTitle: @YES,
|
||||||
kMPSettingsKeyAutotypeMatchURL: @NO,
|
kMPSettingsKeyAutotypeMatchURL: @NO,
|
||||||
kMPSettingsKeyAutotypeMatchHost: @NO,
|
kMPSettingsKeyAutotypeMatchHost: @NO,
|
||||||
kMPSettingsKeyAutotypeMatchTags: @NO,
|
kMPSettingsKeyAutotypeMatchTags: @NO,
|
||||||
kMPSettingsKeyEnableQuicklookPreview: @NO,
|
kMPSettingsKeyEnableQuicklookPreview: @NO,
|
||||||
kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO,
|
kMPSettingsKeyCopyGeneratedPasswordToClipboard: @NO,
|
||||||
kMPSettingsKeyDefaultPasswordLength: @12,
|
kMPSettingsKeyDefaultPasswordLength: @12,
|
||||||
kMPSettingsKeyPasswordCharacterFlags: @(MPPasswordCharactersAll),
|
kMPSettingsKeyPasswordCharacterFlags: @(MPPasswordCharactersAll),
|
||||||
kMPSettingsKeyPasswordUseCustomString: @NO,
|
kMPSettingsKeyPasswordUseCustomString: @NO,
|
||||||
kMPSettingsKeyPasswordCustomString: @"",
|
kMPSettingsKeyPasswordCustomString: @"",
|
||||||
kMPSettingsKeyPasswordEnsureOccurance: @NO,
|
kMPSettingsKeyPasswordEnsureOccurance: @NO,
|
||||||
kMPSettingsKeyDoubleClickURLAction: @(MPDoubleClickURLActionCopy),
|
kMPSettingsKeyDoubleClickURLAction: @(MPDoubleClickURLActionCopy),
|
||||||
kMPSettingsKeyDoubleClickTitleAction: @(MPDoubleClickTitleActionInspect),
|
kMPSettingsKeyDoubleClickTitleAction: @(MPDoubleClickTitleActionInspect),
|
||||||
kMPSettingsKeyLoadUnsecurePlugins: @NO,
|
kMPSettingsKeyLoadUnsecurePlugins: @NO,
|
||||||
kMPSettingsKeyUpdatePasswordOnTemplateEntries: @YES,
|
kMPSettingsKeyUpdatePasswordOnTemplateEntries: @YES,
|
||||||
kMPSettingsKeyGeneratePasswordForNewEntires: @YES,
|
kMPSettingsKeyGeneratePasswordForNewEntires: @YES,
|
||||||
kMPSettingsKeyDisabledPlugins: @[],
|
kMPSettingsKeyDisabledPlugins: @[],
|
||||||
kMPSettingsKeyLoadIncompatiblePlugins: @NO,
|
kMPSettingsKeyLoadIncompatiblePlugins: @NO,
|
||||||
kMPSettingsKeyQuitOnLastWindowClose: @NO,
|
kMPSettingsKeyQuitOnLastWindowClose: @NO,
|
||||||
kMPSettingsKeyEnableAutosave: @YES,
|
kMPSettingsKeyEnableAutosave: @YES,
|
||||||
kMPSettingsKeyHideAfterCopyToClipboard: @NO,
|
kMPSettingsKeyHideAfterCopyToClipboard: @NO,
|
||||||
kMPSettingsKeyFaviconDownloadMethod: @(MPFaviconDownloadMethodDirect), // Download directly from host
|
kMPSettingsKeyFaviconDownloadMethod: @(MPFaviconDownloadMethodDirect), // Download directly from host
|
||||||
kMPSettingsKeyGloablAutotypeAlwaysShowCandidateSelection: @NO
|
kMPSettingsKeyGloablAutotypeAlwaysShowCandidateSelection: @NO,
|
||||||
};
|
kMPSettingsKeyUseUnifiedToolbar: @YES, // Do not use unified toolbar under Big Sur and above
|
||||||
|
kMPSettingsKeyFocusSearchAfterUnlock: @NO, // Do not enter search directly after unlocking the database
|
||||||
|
kMPSettingsKeyUsePrivateBrowsingWhenOpeningURLs: @NO // No private mode when option URLs by default
|
||||||
|
};
|
||||||
});
|
});
|
||||||
return standardDefaults;
|
return standardDefaults;
|
||||||
}
|
}
|
||||||
@@ -192,9 +202,9 @@ NSString *const kMPDepricatedSettingsKeyAutotypeHideAccessibiltyWarning = @"Au
|
|||||||
kMPDeprecatedSettingsKeyShowMenuItem,
|
kMPDeprecatedSettingsKeyShowMenuItem,
|
||||||
kMPDepricatedSettingsKeyLoadUnsecurePlugins,
|
kMPDepricatedSettingsKeyLoadUnsecurePlugins,
|
||||||
kMPDepricatedSettingsKeyAutotypeHideAccessibiltyWarning
|
kMPDepricatedSettingsKeyAutotypeHideAccessibiltyWarning
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
return deprecatedSettings;
|
return deprecatedSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -209,17 +219,17 @@ NSString *const kMPDepricatedSettingsKeyAutotypeHideAccessibiltyWarning = @"Au
|
|||||||
/*
|
/*
|
||||||
MacPass < 0.4 did use compare: for the entry table view,
|
MacPass < 0.4 did use compare: for the entry table view,
|
||||||
this was changed in 0.4 to localizedCaseInsensitiveCompare:
|
this was changed in 0.4 to localizedCaseInsensitiveCompare:
|
||||||
|
|
||||||
MacPass < 0.5.2 did use parent.name for group names,
|
MacPass < 0.5.2 did use parent.name for group names,
|
||||||
this was changed in 0.6. to parent.title
|
this was changed in 0.6. to parent.title
|
||||||
|
|
||||||
*/
|
*/
|
||||||
NSData *descriptorData = [NSUserDefaults.standardUserDefaults dataForKey:kMPSettingsKeyEntryTableSortDescriptors];
|
NSData *descriptorData = [NSUserDefaults.standardUserDefaults dataForKey:kMPSettingsKeyEntryTableSortDescriptors];
|
||||||
if(!descriptorData) {
|
if(!descriptorData) {
|
||||||
return; // No user defaults
|
return; // No user defaults
|
||||||
}
|
}
|
||||||
NSArray *sortDescriptors = [NSKeyedUnarchiver unarchiveObjectWithData:descriptorData];
|
NSArray *sortDescriptors = [NSKeyedUnarchiver unarchiveObjectWithData:descriptorData];
|
||||||
|
|
||||||
for(NSSortDescriptor *descriptor in sortDescriptors) {
|
for(NSSortDescriptor *descriptor in sortDescriptors) {
|
||||||
/* Brute force, just kill the settings if they might cause trouble */
|
/* Brute force, just kill the settings if they might cause trouble */
|
||||||
if(descriptor.selector == @selector(compare:)
|
if(descriptor.selector == @selector(compare:)
|
||||||
@@ -297,7 +307,7 @@ NSString *const kMPDepricatedSettingsKeyAutotypeHideAccessibiltyWarning = @"Au
|
|||||||
if(oldValue != [[self _standardDefaults][kMPDepricatedSettingsKeyLoadUnsecurePlugins] boolValue]) {
|
if(oldValue != [[self _standardDefaults][kMPDepricatedSettingsKeyLoadUnsecurePlugins] boolValue]) {
|
||||||
[NSUserDefaults.standardUserDefaults setBool:oldValue forKey:kMPSettingsKeyLoadUnsecurePlugins];
|
[NSUserDefaults.standardUserDefaults setBool:oldValue forKey:kMPSettingsKeyLoadUnsecurePlugins];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface MPTOTPSetupViewController : NSViewController
|
@interface MPTOTPSetupViewController : NSViewController <NSTextFieldDelegate>
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,8 @@
|
|||||||
@property (strong) IBOutlet NSGridView *gridView;
|
@property (strong) IBOutlet NSGridView *gridView;
|
||||||
@property (strong) IBOutlet NSPopUpButton *typePopUpButton;
|
@property (strong) IBOutlet NSPopUpButton *typePopUpButton;
|
||||||
|
|
||||||
@property (strong) KPKTimeOTPGenerator *generator;
|
@property (nonatomic, readonly) KPKEntry *representedEntry;
|
||||||
@property NSInteger timeSlice;
|
@property (copy) KPKTimeOTPGenerator *generator;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -32,6 +32,8 @@ typedef NS_ENUM(NSUInteger, MPOTPUpdateSource) {
|
|||||||
MPOTPUpdateSourceSecret,
|
MPOTPUpdateSourceSecret,
|
||||||
MPOTPUpdateSourceAlgorithm,
|
MPOTPUpdateSourceAlgorithm,
|
||||||
MPOTPUpdateSourceTimeSlice,
|
MPOTPUpdateSourceTimeSlice,
|
||||||
|
MPOTPUpdateSourceType,
|
||||||
|
MPOTPUpdateSourceDigits,
|
||||||
MPOTPUpdateSourceEntry
|
MPOTPUpdateSourceEntry
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -43,10 +45,70 @@ typedef NS_ENUM(NSUInteger, MPOTPType) {
|
|||||||
|
|
||||||
@implementation MPTOTPSetupViewController
|
@implementation MPTOTPSetupViewController
|
||||||
|
|
||||||
|
- (KPKEntry *)representedEntry {
|
||||||
|
if([self.representedObject isKindOfClass:KPKEntry.class]) {
|
||||||
|
return (KPKEntry *)self.representedObject;
|
||||||
|
}
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
NSAssert([self.representedObject isKindOfClass:KPKEntry.class], @"represented object needs to be a KPKEntry");
|
[self _setupView];
|
||||||
|
[self _updateView:MPOTPUpdateSourceEntry];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)changeType:(id)sender {
|
||||||
|
if(sender != self.typePopUpButton) {
|
||||||
|
return; // wrong sender
|
||||||
|
}
|
||||||
|
[self _updateView:MPOTPUpdateSourceType];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)changeHashAlgorithm:(id)sender {
|
||||||
|
[self _updateView:MPOTPUpdateSourceAlgorithm];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)changeDigits:(id)sender {
|
||||||
|
[self _updateView:MPOTPUpdateSourceDigits];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)changeTimeSlice:(id)sender {
|
||||||
|
[self _updateView:MPOTPUpdateSourceTimeSlice];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)parseQRCode:(id)sender {
|
||||||
|
if(sender != self.qrCodeImageView) {
|
||||||
|
return; // wrong sender
|
||||||
|
}
|
||||||
|
[self _updateView:MPOTPUpdateSourceQRImage];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)cancel:(id)sender {
|
||||||
|
[self.presentingViewController dismissViewController:self];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (IBAction)save:(id)sender {
|
||||||
|
// Update entry settings!
|
||||||
|
// FIXME: add model observing to ensure correct history recording
|
||||||
|
[self.generator saveToEntry:self.representedEntry];
|
||||||
|
[self.presentingViewController dismissViewController:self];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)controlTextDidEndEditing:(NSNotification *)notification {
|
||||||
|
NSControl *control = notification.object;
|
||||||
|
if(control == self.secretTextField) {
|
||||||
|
[self _updateView:MPOTPUpdateSourceSecret];
|
||||||
|
}
|
||||||
|
else if(control == self.urlTextField) {
|
||||||
|
[self _updateView:MPOTPUpdateSourceURL];
|
||||||
|
}
|
||||||
|
else if(control == self.timeStepTextField) {
|
||||||
|
[self _updateView:MPOTPUpdateSourceTimeSlice];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)_setupView {
|
||||||
/* algorithm */
|
/* algorithm */
|
||||||
NSMenuItem *sha1Item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"HASH_SHA1", "SHA 1 hash algoritm menu item") action:NULL keyEquivalent:@""];
|
NSMenuItem *sha1Item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"HASH_SHA1", "SHA 1 hash algoritm menu item") action:NULL keyEquivalent:@""];
|
||||||
sha1Item.tag = KPKOTPHashAlgorithmSha1;
|
sha1Item.tag = KPKOTPHashAlgorithmSha1;
|
||||||
@@ -60,6 +122,9 @@ typedef NS_ENUM(NSUInteger, MPOTPType) {
|
|||||||
[self.algorithmPopUpButton.menu addItem:sha256Item];
|
[self.algorithmPopUpButton.menu addItem:sha256Item];
|
||||||
[self.algorithmPopUpButton.menu addItem:sha512Item];
|
[self.algorithmPopUpButton.menu addItem:sha512Item];
|
||||||
|
|
||||||
|
self.algorithmPopUpButton.action = @selector(changeHashAlgorithm:);
|
||||||
|
self.algorithmPopUpButton.target = self;
|
||||||
|
|
||||||
/* digits */
|
/* digits */
|
||||||
NSAssert(self.digitCountPopUpButton.menu.numberOfItems == 0, @"Digit menu needs to be empty");
|
NSAssert(self.digitCountPopUpButton.menu.numberOfItems == 0, @"Digit menu needs to be empty");
|
||||||
for(NSUInteger digit = 6; digit <= 8; digit++) {
|
for(NSUInteger digit = 6; digit <= 8; digit++) {
|
||||||
@@ -67,7 +132,11 @@ typedef NS_ENUM(NSUInteger, MPOTPType) {
|
|||||||
item.tag = digit;
|
item.tag = digit;
|
||||||
[self.digitCountPopUpButton.menu addItem:item];
|
[self.digitCountPopUpButton.menu addItem:item];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.digitCountPopUpButton.action = @selector(changeDigits:);
|
||||||
|
self.digitCountPopUpButton.target = self;
|
||||||
|
|
||||||
|
|
||||||
NSAssert(self.typePopUpButton.menu.numberOfItems == 0, @"Type menu needs to be empty!");
|
NSAssert(self.typePopUpButton.menu.numberOfItems == 0, @"Type menu needs to be empty!");
|
||||||
NSMenuItem *rfcItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"OTP_RFC", @"OTP type RFC ") action:NULL keyEquivalent:@""];
|
NSMenuItem *rfcItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"OTP_RFC", @"OTP type RFC ") action:NULL keyEquivalent:@""];
|
||||||
rfcItem.tag = MPOTPTypeRFC;
|
rfcItem.tag = MPOTPTypeRFC;
|
||||||
@@ -80,65 +149,166 @@ typedef NS_ENUM(NSUInteger, MPOTPType) {
|
|||||||
[self.typePopUpButton.menu addItem:steamItem];
|
[self.typePopUpButton.menu addItem:steamItem];
|
||||||
[self.typePopUpButton.menu addItem:customItem];
|
[self.typePopUpButton.menu addItem:customItem];
|
||||||
|
|
||||||
[self.timeStepTextField bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(timeSlice)) options:nil];
|
self.typePopUpButton.action = @selector(changeType:);
|
||||||
[self.timeStepStepper bind:NSValueBinding toObject:self withKeyPath:NSStringFromSelector(@selector(timeSlice)) options:nil];
|
self.typePopUpButton.target = self;
|
||||||
|
|
||||||
|
self.timeStepTextField.stringValue = @"";
|
||||||
|
self.timeStepStepper.integerValue = 0;
|
||||||
|
|
||||||
|
self.timeStepStepper.action = @selector(changeTimeSlice:);
|
||||||
|
/*[self.timeStepTextField bind:NSValueBinding
|
||||||
|
toObject:self
|
||||||
|
withKeyPath:NSStringFromSelector(@selector(timeSlice))
|
||||||
|
options:nil];
|
||||||
|
[self.timeStepStepper bind:NSValueBinding
|
||||||
|
toObject:self
|
||||||
|
withKeyPath:NSStringFromSelector(@selector(timeSlice))
|
||||||
|
options:@{ NSConditionallySetsEnabledBindingOption:@(NO), NSConditionallySetsEditableBindingOption:@(NO)}];*/
|
||||||
|
|
||||||
|
self.secretTextField.delegate = self;
|
||||||
|
self.urlTextField.delegate = self;
|
||||||
|
|
||||||
[self _updateView:MPOTPUpdateSourceEntry];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)toggleDisclosure:(id)sender {
|
|
||||||
for(NSInteger row = 1; row < self.gridView.numberOfRows; row++) {
|
|
||||||
NSGridRow *gridRow = [self.gridView rowAtIndex:row];
|
|
||||||
gridRow.hidden = !gridRow.hidden;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)parseQRCode:(id)sender {
|
|
||||||
if(sender != self.qrCodeImageView) {
|
|
||||||
return; // wrong sender
|
|
||||||
}
|
|
||||||
[self _updateView:MPOTPUpdateSourceQRImage];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)_updateView:(MPOTPUpdateSource)source {
|
- (void)_updateView:(MPOTPUpdateSource)source {
|
||||||
self.generator = [[KPKTimeOTPGenerator alloc] initWithAttributes:((KPKEntry *)self.representedObject).attributes];
|
/*
|
||||||
|
MPOTPUpdateSourceQRImage,
|
||||||
if(source == MPOTPUpdateSourceQRImage) {
|
MPOTPUpdateSourceURL,
|
||||||
NSString *qrCodeString = self.qrCodeImageView.image.QRCodeString;
|
MPOTPUpdateSourceSecret,
|
||||||
NSURL *otpURL = [NSURL URLWithString:qrCodeString];
|
MPOTPUpdateSourceAlgorithm,
|
||||||
if(!otpURL.isTimeOTPURL) {
|
MPOTPUpdateSourceTimeSlice,
|
||||||
return; // no valid URL
|
MPOTPUpdateSourceType,
|
||||||
}
|
MPOTPUpdateSourceEntry
|
||||||
self.urlTextField.stringValue = otpURL.absoluteString;
|
*/
|
||||||
}
|
if(source != MPOTPUpdateSourceEntry) {
|
||||||
|
NSAssert(self.generator, @"OTP Generator needs to be set when change source is not entry");
|
||||||
|
|
||||||
/* FIXME: update correct values based on changes */
|
|
||||||
|
|
||||||
/* URL and QR code */
|
|
||||||
KPKEntry *entry = self.representedObject;
|
|
||||||
NSString *url = [entry attributeWithKey:kKPKAttributeKeyOTPOAuthURL].value;
|
|
||||||
|
|
||||||
self.urlTextField.stringValue = @"";
|
|
||||||
|
|
||||||
if(url) {
|
|
||||||
NSURL *authURL = [NSURL URLWithString:url];
|
|
||||||
if(authURL.isTimeOTPURL) {
|
|
||||||
self.urlTextField.stringValue = authURL.absoluteString;
|
|
||||||
self.qrCodeImageView.image = [NSImage QRCodeImageWithString:authURL.absoluteString];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* secret */
|
BOOL enableCustomSettings = NO;
|
||||||
NSString *secret = [self.generator.key base32EncodedString];
|
switch(source) {
|
||||||
|
case MPOTPUpdateSourceType: {
|
||||||
|
MPOTPType otpType = self.typePopUpButton.selectedTag;
|
||||||
|
NSData *oldKey = self.generator.key;
|
||||||
|
switch(otpType) {
|
||||||
|
case MPOTPTypeCustom:
|
||||||
|
enableCustomSettings = YES;
|
||||||
|
case MPOTPTypeRFC:
|
||||||
|
self.generator = [[KPKTimeOTPGenerator alloc] init]; // initialize a RFC otp generator for custom and rfc types
|
||||||
|
self.generator.key = oldKey;
|
||||||
|
break;
|
||||||
|
case MPOTPTypeSteam:
|
||||||
|
self.generator = [[KPKSteamOTPGenerator alloc] init]; // initialize a default Steam OTP generator
|
||||||
|
self.generator.key = oldKey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MPOTPUpdateSourceQRImage: {
|
||||||
|
NSString *qrCodeString = self.qrCodeImageView.image.QRCodeString;
|
||||||
|
NSURL *otpURL = [NSURL URLWithString:qrCodeString];
|
||||||
|
self.generator = otpURL.isSteamOTPURL ? [[KPKSteamOTPGenerator alloc] initWithURL:self.urlTextField.stringValue] : [[KPKTimeOTPGenerator alloc] initWithURL:self.urlTextField.stringValue];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case MPOTPUpdateSourceURL:{
|
||||||
|
NSURL *otpURL = [NSURL URLWithString:self.urlTextField.stringValue];
|
||||||
|
if(otpURL.isSteamOTPURL) {
|
||||||
|
self.generator = [[KPKSteamOTPGenerator alloc] initWithURL:self.urlTextField.stringValue];
|
||||||
|
}
|
||||||
|
else if(otpURL.isTimeOTPURL) {
|
||||||
|
self.generator = [[KPKTimeOTPGenerator alloc] initWithURL:self.urlTextField.stringValue];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// invalid URL
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case MPOTPUpdateSourceEntry:
|
||||||
|
if(self.representedEntry.hasTimeOTP) {
|
||||||
|
if(self.representedEntry.hasSteamOTP) {
|
||||||
|
self.generator = [[KPKSteamOTPGenerator alloc] initWithAttributes:self.representedEntry.attributes];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
self.generator = [[KPKTimeOTPGenerator alloc] initWithAttributes:self.representedEntry.attributes];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
self.generator = [[KPKTimeOTPGenerator alloc] init];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MPOTPUpdateSourceSecret:
|
||||||
|
self.generator.key = [NSData dataWithBase32EncodedString:self.secretTextField.stringValue];
|
||||||
|
break;
|
||||||
|
case MPOTPUpdateSourceAlgorithm:
|
||||||
|
self.generator.hashAlgorithm = (KPKOTPHashAlgorithm)self.algorithmPopUpButton.selectedTag;
|
||||||
|
break;
|
||||||
|
case MPOTPUpdateSourceTimeSlice:
|
||||||
|
self.generator.timeSlice = self.timeStepStepper.integerValue;
|
||||||
|
break;
|
||||||
|
case MPOTPUpdateSourceDigits:
|
||||||
|
self.generator.numberOfDigits = self.digitCountPopUpButton.selectedTag;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
The KPKOTPGenerator is the sole data source. We do not need to query anything else
|
||||||
|
*/
|
||||||
|
|
||||||
|
if(!self.generator) {
|
||||||
|
// display issues!
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* update display data with current generator */
|
||||||
|
BOOL isSteam = [self.generator isKindOfClass:KPKSteamOTPGenerator.class];
|
||||||
|
|
||||||
|
if((self.generator.isRFC6238 && !enableCustomSettings) || isSteam) {
|
||||||
|
if(isSteam) {
|
||||||
|
[self.typePopUpButton selectItemWithTag:MPOTPTypeSteam];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
[self.typePopUpButton selectItemWithTag:MPOTPTypeRFC];
|
||||||
|
}
|
||||||
|
self.digitCountPopUpButton.enabled = NO;
|
||||||
|
self.algorithmPopUpButton.enabled = NO;
|
||||||
|
self.timeStepStepper.enabled = NO;
|
||||||
|
self.timeStepTextField.enabled = NO;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
[self.typePopUpButton selectItemWithTag:MPOTPTypeCustom];
|
||||||
|
self.digitCountPopUpButton.enabled = YES;
|
||||||
|
self.algorithmPopUpButton.enabled = YES;
|
||||||
|
self.timeStepStepper.enabled = YES;
|
||||||
|
self.timeStepTextField.enabled = YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
NSURL *authURL;
|
||||||
|
if(isSteam) {
|
||||||
|
authURL = [NSURL URLWIthSteamOTPKey:self.generator.key issuer:self.representedEntry.title];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
authURL = [NSURL URLWithTimeOTPKey:self.generator.key
|
||||||
|
algorithm:self.generator.hashAlgorithm
|
||||||
|
issuer:self.representedEntry.title
|
||||||
|
period:self.generator.timeSlice
|
||||||
|
digits:self.generator.numberOfDigits];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!(authURL && authURL.isTimeOTPURL)) {
|
||||||
|
// display issue!
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.urlTextField.stringValue = authURL.absoluteString;
|
||||||
|
self.qrCodeImageView.image = [NSImage QRCodeImageWithString:authURL.absoluteString];
|
||||||
|
|
||||||
|
NSString *secret = [self.generator.key base32EncodedStringWithOptions:0];
|
||||||
self.secretTextField.stringValue = secret ? secret : @"";
|
self.secretTextField.stringValue = secret ? secret : @"";
|
||||||
|
|
||||||
[self.algorithmPopUpButton selectItemWithTag:self.generator.hashAlgorithm];
|
[self.algorithmPopUpButton selectItemWithTag:self.generator.hashAlgorithm];
|
||||||
|
|
||||||
[self.digitCountPopUpButton selectItemWithTag:self.generator.numberOfDigits];
|
[self.digitCountPopUpButton selectItemWithTag:self.generator.numberOfDigits];
|
||||||
|
self.timeStepStepper.integerValue = self.generator.timeSlice;
|
||||||
self.timeSlice = self.generator.timeSlice;
|
self.timeStepTextField.stringValue = self.timeStepStepper.stringValue;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface MPTOTPViewController : NSViewController
|
@interface MPTOTPViewController : NSViewController <HNHUITextFieldDelegate>
|
||||||
@property (strong) IBOutlet HNHUITextField *toptValueTextField;
|
@property (strong) IBOutlet HNHUITextField *toptValueTextField;
|
||||||
@property (strong) IBOutlet NSButton *remainingTimeButton;
|
@property (strong) IBOutlet NSButton *remainingTimeButton;
|
||||||
@property (strong) IBOutlet NSButton *showSetupButton;
|
@property (strong) IBOutlet NSButton *showSetupButton;
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
#import <KeePassKit/KeePassKit.h>
|
#import <KeePassKit/KeePassKit.h>
|
||||||
#import "MPEntryInspectorViewController.h"
|
#import "MPEntryInspectorViewController.h"
|
||||||
|
#import "MPPasteBoardController.h"
|
||||||
|
|
||||||
@interface MPTOTPViewController ()
|
@interface MPTOTPViewController ()
|
||||||
|
|
||||||
@@ -21,6 +22,14 @@
|
|||||||
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
self.remainingTimeButton.title = @"";
|
self.remainingTimeButton.title = @"";
|
||||||
|
self.toptValueTextField.buttonTitle = NSLocalizedString(@"COPY", @"Copy the TOTP value to the clipboard");
|
||||||
|
__weak MPTOTPViewController *welf = self;
|
||||||
|
self.toptValueTextField.buttonActionBlock = (^void(NSTextField *tf) {
|
||||||
|
NSText *text = [welf.view.window fieldEditor:NO forObject:welf.toptValueTextField];
|
||||||
|
if([text isKindOfClass:NSTextView.class]) {
|
||||||
|
[welf textField:welf.toptValueTextField textView:(NSTextView *)text performAction:@selector(copy:)];
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)showOTPSetup:(id)sender {
|
- (IBAction)showOTPSetup:(id)sender {
|
||||||
@@ -45,6 +54,24 @@
|
|||||||
[self _didChangeAttribute:nil];
|
[self _didChangeAttribute:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (BOOL)textField:(NSTextField *)textField textView:(NSTextView *)textView performAction:(SEL)action {
|
||||||
|
if(action == @selector(copy:)) {
|
||||||
|
MPPasteboardOverlayInfoType info = MPPasteboardOverlayInfoCustom;
|
||||||
|
NSMutableString *selectedValue = [[NSMutableString alloc] init];
|
||||||
|
for(NSValue *rangeValue in textView.selectedRanges) {
|
||||||
|
[selectedValue appendString:[textView.string substringWithRange:rangeValue.rangeValue]];
|
||||||
|
}
|
||||||
|
if(selectedValue.length == 0) {
|
||||||
|
[selectedValue setString:textField.stringValue];
|
||||||
|
}
|
||||||
|
NSString *name = NSLocalizedString(@"TOTP", "Field TOTP was copied to the pasteboard");
|
||||||
|
[MPPasteBoardController.defaultController copyObject:selectedValue overlayInfo:info name:name atView:self.view];
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
- (void)_didChangeAttribute:(NSNotification *)notification {
|
- (void)_didChangeAttribute:(NSNotification *)notification {
|
||||||
[self _updateDisplay];
|
[self _updateDisplay];
|
||||||
}
|
}
|
||||||
@@ -54,7 +81,8 @@
|
|||||||
BOOL showTOTP = entry.hasTimeOTP;
|
BOOL showTOTP = entry.hasTimeOTP;
|
||||||
self.view.hidden = !showTOTP;
|
self.view.hidden = !showTOTP;
|
||||||
if(showTOTP) {
|
if(showTOTP) {
|
||||||
self.generator = [[KPKTimeOTPGenerator alloc] initWithAttributes:entry.attributes];
|
|
||||||
|
self.generator = entry.hasSteamOTP ? [[KPKSteamOTPGenerator alloc] initWithAttributes:entry.attributes] : [[KPKTimeOTPGenerator alloc] initWithAttributes:entry.attributes];
|
||||||
self.generator.time = NSDate.date.timeIntervalSince1970;
|
self.generator.time = NSDate.date.timeIntervalSince1970;
|
||||||
NSString *stringValue = self.generator.string;
|
NSString *stringValue = self.generator.string;
|
||||||
self.toptValueTextField.stringValue = stringValue ? stringValue : @"";
|
self.toptValueTextField.stringValue = stringValue ? stringValue : @"";
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ APPKIT_EXTERN NSString *const MPToolbarItemIdentifierAutotype;
|
|||||||
|
|
||||||
@class MPDocument;
|
@class MPDocument;
|
||||||
|
|
||||||
@interface MPToolbarDelegate : NSObject <NSToolbarDelegate, NSTextFieldDelegate>
|
@interface MPToolbarDelegate : NSObject <NSToolbarDelegate, NSSearchFieldDelegate>
|
||||||
|
|
||||||
@property (weak, readonly) NSSearchField *searchField;
|
@property (weak, readonly) NSSearchField *searchField;
|
||||||
@property (weak) NSToolbar *toolbar;
|
@property (weak) NSToolbar *toolbar;
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
|
|||||||
menu.delegate = NSApp.mp_delegate.itemActionMenuDelegate;
|
menu.delegate = NSApp.mp_delegate.itemActionMenuDelegate;
|
||||||
item.menuFormRepresentation = menuRepresentation;
|
item.menuFormRepresentation = menuRepresentation;
|
||||||
item.view = popupButton;
|
item.view = popupButton;
|
||||||
|
item.visibilityPriority = NSToolbarItemVisibilityPriorityHigh - 1;
|
||||||
}
|
}
|
||||||
else if( [itemIdentifier isEqualToString:MPToolbarItemIdentifierAddEntry]) {
|
else if( [itemIdentifier isEqualToString:MPToolbarItemIdentifierAddEntry]) {
|
||||||
MPContextButton *button = [[MPContextButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)];
|
MPContextButton *button = [[MPContextButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)];
|
||||||
@@ -157,7 +158,6 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
|
|||||||
menu.delegate = _addEntryMenuDelegate;
|
menu.delegate = _addEntryMenuDelegate;
|
||||||
button.contextMenu = menu;
|
button.contextMenu = menu;
|
||||||
|
|
||||||
|
|
||||||
NSRect fittingRect = button.frame;
|
NSRect fittingRect = button.frame;
|
||||||
fittingRect.size.width = MAX( (CGFloat)32.0,fittingRect.size.width);
|
fittingRect.size.width = MAX( (CGFloat)32.0,fittingRect.size.width);
|
||||||
button.frame = fittingRect;
|
button.frame = fittingRect;
|
||||||
@@ -167,7 +167,6 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
|
|||||||
action:[self _actionForToolbarItemIdentifier:itemIdentifier]
|
action:[self _actionForToolbarItemIdentifier:itemIdentifier]
|
||||||
keyEquivalent:@""];
|
keyEquivalent:@""];
|
||||||
item.menuFormRepresentation = menuRepresentation;
|
item.menuFormRepresentation = menuRepresentation;
|
||||||
|
|
||||||
}
|
}
|
||||||
else if( [itemIdentifier isEqualToString:MPToolbarItemIdentifierSearch]){
|
else if( [itemIdentifier isEqualToString:MPToolbarItemIdentifierSearch]){
|
||||||
NSSearchField *searchField = [[NSSearchField alloc] init];
|
NSSearchField *searchField = [[NSSearchField alloc] init];
|
||||||
@@ -177,14 +176,21 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
|
|||||||
cell.cancelButtonCell.target = nil;
|
cell.cancelButtonCell.target = nil;
|
||||||
searchField.recentsAutosaveName = @"RecentEntrySearches";
|
searchField.recentsAutosaveName = @"RecentEntrySearches";
|
||||||
item.view = searchField;
|
item.view = searchField;
|
||||||
/* Use default size base on documentation */
|
item.visibilityPriority = NSToolbarItemVisibilityPriorityHigh;
|
||||||
item.minSize = NSMakeSize(140, 32);
|
|
||||||
item.maxSize = NSMakeSize(400, 32);
|
if(@available(macOS 11, *)) {
|
||||||
|
// do not call any sizing API
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* Use default size base on documentation */
|
||||||
|
item.minSize = NSMakeSize(140, 32);
|
||||||
|
item.maxSize = NSMakeSize(400, 32);
|
||||||
|
}
|
||||||
|
|
||||||
NSMenu *templateMenu = [self _allocateSearchMenuTemplate];
|
NSMenu *templateMenu = [self _allocateSearchMenuTemplate];
|
||||||
searchField.searchMenuTemplate = templateMenu;
|
searchField.searchMenuTemplate = templateMenu;
|
||||||
searchField.placeholderString = NSLocalizedString(@"SEARCH_EVERYWHERE", @"Placeholder string displayed in the search field in the toolbar");
|
searchField.placeholderString = NSLocalizedString(@"SEARCH_EVERYWHERE", @"Placeholder string displayed in the search field in the toolbar");
|
||||||
/* 10.10 does not support NSSearchFieldDelegate */
|
searchField.delegate = self;
|
||||||
((NSTextField *)searchField).delegate = self;
|
|
||||||
self.searchField = searchField;
|
self.searchField = searchField;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -228,7 +234,7 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
|
|||||||
MPToolbarItemIdentifierInspector: [MPIconHelper icon:MPIconSidebar],
|
MPToolbarItemIdentifierInspector: [MPIconHelper icon:MPIconSidebar],
|
||||||
MPToolbarItemIdentifierHistory: [MPIconHelper icon:MPIconHistory],
|
MPToolbarItemIdentifierHistory: [MPIconHelper icon:MPIconHistory],
|
||||||
MPToolbarItemIdentifierAutotype : [MPIconHelper icon:MPIconKeyboard]
|
MPToolbarItemIdentifierAutotype : [MPIconHelper icon:MPIconKeyboard]
|
||||||
};
|
};
|
||||||
return imageDict;
|
return imageDict;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -273,7 +279,7 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
|
|||||||
MPToolbarItemIdentifierSearch: NSLocalizedString(@"SEARCH", @"Search input in Toolbar "),
|
MPToolbarItemIdentifierSearch: NSLocalizedString(@"SEARCH", @"Search input in Toolbar "),
|
||||||
MPToolbarItemIdentifierHistory: NSLocalizedString(@"SHOW_HISTORY", @"Toolbar item to toggle history display"),
|
MPToolbarItemIdentifierHistory: NSLocalizedString(@"SHOW_HISTORY", @"Toolbar item to toggle history display"),
|
||||||
MPToolbarItemIdentifierAutotype: NSLocalizedString(@"TOOLBAR_PERFORM_AUTOTYPE_FOR_ENTRY", @"Toolbar item to perform autotype")
|
MPToolbarItemIdentifierAutotype: NSLocalizedString(@"TOOLBAR_PERFORM_AUTOTYPE_FOR_ENTRY", @"Toolbar item to perform autotype")
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
return labelDict[identifier];
|
return labelDict[identifier];
|
||||||
}
|
}
|
||||||
@@ -291,7 +297,7 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
|
|||||||
MPToolbarItemIdentifierInspector: @(MPActionToggleInspector),
|
MPToolbarItemIdentifierInspector: @(MPActionToggleInspector),
|
||||||
MPToolbarItemIdentifierHistory: @(MPActionShowEntryHistory),
|
MPToolbarItemIdentifierHistory: @(MPActionShowEntryHistory),
|
||||||
MPToolbarItemIdentifierAutotype: @(MPActionPerformAutotypeForSelectedEntry)
|
MPToolbarItemIdentifierAutotype: @(MPActionPerformAutotypeForSelectedEntry)
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
MPActionType actionType = (MPActionType)[actionDict[identifier] integerValue];
|
MPActionType actionType = (MPActionType)[actionDict[identifier] integerValue];
|
||||||
return [MPActionHelper actionOfType:actionType];
|
return [MPActionHelper actionOfType:actionType];
|
||||||
@@ -339,6 +345,11 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
|
|||||||
}
|
}
|
||||||
/* only make the searchfield first responder if it's not already in an active search */
|
/* only make the searchfield first responder if it's not already in an active search */
|
||||||
if(![self.searchField currentEditor]) {
|
if(![self.searchField currentEditor]) {
|
||||||
|
|
||||||
|
// force search to be enabled since we might end up being called when it's not (yet) enabled
|
||||||
|
if(!searchItem.enabled) {
|
||||||
|
searchItem.enabled = YES;
|
||||||
|
}
|
||||||
[self.searchField.window makeFirstResponder:self.searchField];
|
[self.searchField.window makeFirstResponder:self.searchField];
|
||||||
[self.searchField selectText:self];
|
[self.searchField selectText:self];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,13 +21,12 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import "MPToolbarItem.h"
|
#import "MPToolbarItem.h"
|
||||||
#import "MPActionHelper.h"
|
|
||||||
|
|
||||||
@implementation MPToolbarItem
|
@implementation MPToolbarItem
|
||||||
|
|
||||||
- (void)validate {
|
- (void)validate {
|
||||||
if(![self.view menu]) {
|
if(![self.view menu]) {
|
||||||
id target = [NSApp targetForAction:[self action] to:nil from:self];
|
id target = [NSApp targetForAction:self.action to:nil from:self];
|
||||||
BOOL isValid = (nil != target);
|
BOOL isValid = (nil != target);
|
||||||
id validateTarget = [NSApp targetForAction:@selector(validateToolbarItem:) to:nil from:self];
|
id validateTarget = [NSApp targetForAction:@selector(validateToolbarItem:) to:nil from:self];
|
||||||
if(validateTarget) {
|
if(validateTarget) {
|
||||||
|
|||||||
@@ -39,6 +39,19 @@ NSString *const MPUserNotificationTypeRunAutotypeDoctor = @"MPUserNotificationTy
|
|||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)userNotificationCenter:(NSUserNotificationCenter *)center didDeliverNotification:(NSUserNotification *)notification {
|
||||||
|
/* we only clean autotype feedback. the rest piles up */
|
||||||
|
if(![notification.identifier isEqualToString:MPUserNotificationTypeAutotypeFeedback]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for(NSUserNotification *deliveredNotification in center.deliveredNotifications) {
|
||||||
|
if(deliveredNotification == notification) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
[center removeDeliveredNotification:deliveredNotification];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
- (void)userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification {
|
- (void)userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification {
|
||||||
NSDictionary *userInfo = notification.userInfo;
|
NSDictionary *userInfo = notification.userInfo;
|
||||||
NSString *notificationType = userInfo[MPUserNotificationTypeKey];
|
NSString *notificationType = userInfo[MPUserNotificationTypeKey];
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ NSString *const MPExpiryDateValueTransformerName = @"com.hicknhack.macpass.MPExp
|
|||||||
static NSDateFormatter *formatter;
|
static NSDateFormatter *formatter;
|
||||||
if(!formatter) {
|
if(!formatter) {
|
||||||
formatter = [[NSDateFormatter alloc] init];
|
formatter = [[NSDateFormatter alloc] init];
|
||||||
formatter.dateStyle = kCFDateFormatterLongStyle;
|
formatter.dateStyle = NSDateFormatterLongStyle;
|
||||||
formatter.timeStyle = NSDateFormatterNoStyle;
|
formatter.timeStyle = NSDateFormatterNoStyle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,11 +25,6 @@
|
|||||||
|
|
||||||
@interface MPWorkflowPreferencesController : MPViewController <MPPreferencesTab>
|
@interface MPWorkflowPreferencesController : MPViewController <MPPreferencesTab>
|
||||||
|
|
||||||
@property (strong) IBOutlet NSPopUpButton *browserPopup;
|
|
||||||
@property (strong) IBOutlet NSPopUpButton *doubleClickURLPopup;
|
|
||||||
@property (strong) IBOutlet NSPopUpButton *doubleClickTitlePopup;
|
|
||||||
@property (strong) IBOutlet NSButton *updatePasswordOnTemplateEntriesCheckButton;
|
|
||||||
@property (strong) IBOutlet NSButton *generatePasswordOnEntriesCheckButton;
|
|
||||||
@property (strong) IBOutlet NSButton *hideAfterCopyToClipboardCheckButton;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -26,6 +26,15 @@
|
|||||||
|
|
||||||
@interface MPWorkflowPreferencesController ()
|
@interface MPWorkflowPreferencesController ()
|
||||||
|
|
||||||
|
@property (strong) IBOutlet NSPopUpButton *browserPopup;
|
||||||
|
@property (strong) IBOutlet NSPopUpButton *doubleClickURLPopup;
|
||||||
|
@property (strong) IBOutlet NSPopUpButton *doubleClickTitlePopup;
|
||||||
|
@property (strong) IBOutlet NSButton *updatePasswordOnTemplateEntriesCheckButton;
|
||||||
|
@property (strong) IBOutlet NSButton *generatePasswordOnEntriesCheckButton;
|
||||||
|
@property (strong) IBOutlet NSButton *hideAfterCopyToClipboardCheckButton;
|
||||||
|
@property (strong) IBOutlet NSButton *focusSearchAfterUnlockCheckButton;
|
||||||
|
//@property (strong) IBOutlet NSButton *privateBrowsingCheckButton;
|
||||||
|
|
||||||
- (IBAction)_showCustomBrowserSelection:(id)sender;
|
- (IBAction)_showCustomBrowserSelection:(id)sender;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
@@ -39,11 +48,34 @@
|
|||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
NSUserDefaultsController *defaultsController = NSUserDefaultsController.sharedUserDefaultsController;
|
NSUserDefaultsController *defaultsController = NSUserDefaultsController.sharedUserDefaultsController;
|
||||||
|
|
||||||
[self.doubleClickURLPopup bind:NSSelectedIndexBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickURLAction] options:nil];
|
[self.doubleClickURLPopup bind:NSSelectedIndexBinding
|
||||||
[self.doubleClickTitlePopup bind:NSSelectedIndexBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickTitleAction] options:nil];
|
toObject:defaultsController
|
||||||
[self.updatePasswordOnTemplateEntriesCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyUpdatePasswordOnTemplateEntries] options:nil];
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickURLAction]
|
||||||
[self.generatePasswordOnEntriesCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyGeneratePasswordForNewEntires] options:nil];
|
options:nil];
|
||||||
[self.hideAfterCopyToClipboardCheckButton bind:NSValueBinding toObject:defaultsController withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyHideAfterCopyToClipboard] options:nil];
|
[self.doubleClickTitlePopup bind:NSSelectedIndexBinding
|
||||||
|
toObject:defaultsController
|
||||||
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyDoubleClickTitleAction]
|
||||||
|
options:nil];
|
||||||
|
[self.updatePasswordOnTemplateEntriesCheckButton bind:NSValueBinding
|
||||||
|
toObject:defaultsController
|
||||||
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyUpdatePasswordOnTemplateEntries]
|
||||||
|
options:nil];
|
||||||
|
[self.generatePasswordOnEntriesCheckButton bind:NSValueBinding
|
||||||
|
toObject:defaultsController
|
||||||
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyGeneratePasswordForNewEntires]
|
||||||
|
options:nil];
|
||||||
|
[self.hideAfterCopyToClipboardCheckButton bind:NSValueBinding
|
||||||
|
toObject:defaultsController
|
||||||
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyHideAfterCopyToClipboard]
|
||||||
|
options:nil];
|
||||||
|
[self.focusSearchAfterUnlockCheckButton bind:NSValueBinding
|
||||||
|
toObject:defaultsController
|
||||||
|
withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyFocusSearchAfterUnlock]
|
||||||
|
options:nil];
|
||||||
|
// [self.privateBrowsingCheckButton bind:NSValueBinding
|
||||||
|
// toObject:defaultsController
|
||||||
|
// withKeyPath:[MPSettingsHelper defaultControllerPathForKey:kMPSettingsKeyUsePrivateBrowsingWhenOpeningURLs]
|
||||||
|
// options:nil];
|
||||||
[self _updateBrowserSelection];
|
[self _updateBrowserSelection];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,11 +84,11 @@
|
|||||||
<key>NSMainNibFile</key>
|
<key>NSMainNibFile</key>
|
||||||
<string>MainMenu</string>
|
<string>MainMenu</string>
|
||||||
<key>NSNetworkVolumesUsageDescription</key>
|
<key>NSNetworkVolumesUsageDescription</key>
|
||||||
<string>MacPass need access to Network Volumes to load and save your databases and/or key files there</string>
|
<string>MacPass needs access to Network Volumes to load and save your databases and/or key files there</string>
|
||||||
<key>NSPrincipalClass</key>
|
<key>NSPrincipalClass</key>
|
||||||
<string>NSApplication</string>
|
<string>NSApplication</string>
|
||||||
<key>NSRemovableVolumesUsageDescription</key>
|
<key>NSRemovableVolumesUsageDescription</key>
|
||||||
<string>MacPass need access to Removable Volumes to load and save your databases and/or key files there</string>
|
<string>MacPass needs access to Removable Volumes to load and save your databases and/or key files there</string>
|
||||||
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSUserNotificationAlertStyle</key>
|
<key>NSUserNotificationAlertStyle</key>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14313.18"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
@@ -14,25 +14,24 @@
|
|||||||
</customObject>
|
</customObject>
|
||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="196">
|
<customView misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="196">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="272" height="449"/>
|
<rect key="frame" x="0.0" y="0.0" width="292" height="450"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="24" horizontalPageScroll="10" verticalLineScroll="24" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="227">
|
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="24" horizontalPageScroll="10" verticalLineScroll="24" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="227">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="272" height="449"/>
|
<rect key="frame" x="0.0" y="0.0" width="292" height="449"/>
|
||||||
<clipView key="contentView" drawsBackground="NO" id="WAU-Bu-ack">
|
<clipView key="contentView" drawsBackground="NO" id="WAU-Bu-ack">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="272" height="449"/>
|
<rect key="frame" x="0.0" y="0.0" width="292" height="449"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="8" outlineTableColumn="231" id="228" customClass="MPOutlineView">
|
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="8" outlineTableColumn="231" id="228" customClass="MPOutlineView">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="272" height="449"/>
|
<rect key="frame" x="0.0" y="0.0" width="292" height="449"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<size key="intercellSpacing" width="3" height="0.0"/>
|
<size key="intercellSpacing" width="3" height="0.0"/>
|
||||||
<color key="backgroundColor" name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||||
<tableColumns>
|
<tableColumns>
|
||||||
<tableColumn identifier="AutomaticTableColumnIdentifier.0" width="269" minWidth="16" maxWidth="1000" id="231">
|
<tableColumn identifier="AutomaticTableColumnIdentifier.0" width="260" minWidth="16" maxWidth="1000" id="231">
|
||||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
|
||||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
</tableHeaderCell>
|
</tableHeaderCell>
|
||||||
@@ -44,11 +43,11 @@
|
|||||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||||
<prototypeCellViews>
|
<prototypeCellViews>
|
||||||
<tableCellView identifier="HeaderCell" id="237">
|
<tableCellView identifier="HeaderCell" id="237">
|
||||||
<rect key="frame" x="1" y="0.0" width="269" height="17"/>
|
<rect key="frame" x="11" y="0.0" width="269" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="238">
|
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="238">
|
||||||
<rect key="frame" x="1" y="1" width="267" height="14"/>
|
<rect key="frame" x="1" y="2" width="267" height="14"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="HEADER CELL" id="239">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="HEADER CELL" id="239">
|
||||||
<font key="font" metaFont="smallSystemBold"/>
|
<font key="font" metaFont="smallSystemBold"/>
|
||||||
<color key="textColor" red="0.43921568630000002" green="0.4941176471" blue="0.54901960780000003" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="textColor" red="0.43921568630000002" green="0.4941176471" blue="0.54901960780000003" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
@@ -66,11 +65,11 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</tableCellView>
|
</tableCellView>
|
||||||
<tableCellView identifier="DataCell" id="240" customClass="MPOutlineTableCellView">
|
<tableCellView identifier="DataCell" id="240" customClass="MPOutlineTableCellView">
|
||||||
<rect key="frame" x="1" y="17" width="269" height="24"/>
|
<rect key="frame" x="11" y="17" width="269" height="24"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="241">
|
<imageView wantsLayer="YES" translatesAutoresizingMaskIntoConstraints="NO" id="241">
|
||||||
<rect key="frame" x="3" y="4" width="17" height="17"/>
|
<rect key="frame" x="3" y="1" width="17" height="23"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstAttribute="width" constant="17" id="385"/>
|
<constraint firstAttribute="width" constant="17" id="385"/>
|
||||||
<constraint firstAttribute="height" constant="17" id="bah-Ng-60T"/>
|
<constraint firstAttribute="height" constant="17" id="bah-Ng-60T"/>
|
||||||
@@ -78,7 +77,7 @@
|
|||||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="242"/>
|
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="242"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="243">
|
<textField horizontalHuggingPriority="249" verticalHuggingPriority="750" horizontalCompressionResistancePriority="749" translatesAutoresizingMaskIntoConstraints="NO" id="243">
|
||||||
<rect key="frame" x="26" y="4" width="214" height="17"/>
|
<rect key="frame" x="26" y="4" width="216" height="17"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="244">
|
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="244">
|
||||||
<font key="font" metaFont="system"/>
|
<font key="font" metaFont="system"/>
|
||||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
@@ -86,7 +85,7 @@
|
|||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mX2-wv-qML">
|
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mX2-wv-qML">
|
||||||
<rect key="frame" x="246" y="3" width="20" height="17"/>
|
<rect key="frame" x="248" y="3" width="18" height="18"/>
|
||||||
<buttonCell key="cell" type="inline" title="0" bezelStyle="inline" alignment="center" refusesFirstResponder="YES" borderStyle="border" inset="2" id="gnA-JK-kZz">
|
<buttonCell key="cell" type="inline" title="0" bezelStyle="inline" alignment="center" refusesFirstResponder="YES" borderStyle="border" inset="2" id="gnA-JK-kZz">
|
||||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="smallSystemBold"/>
|
<font key="font" metaFont="smallSystemBold"/>
|
||||||
@@ -116,11 +115,11 @@
|
|||||||
</subviews>
|
</subviews>
|
||||||
<nil key="backgroundColor"/>
|
<nil key="backgroundColor"/>
|
||||||
</clipView>
|
</clipView>
|
||||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="229">
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="229">
|
||||||
<rect key="frame" x="1" y="119" width="238" height="15"/>
|
<rect key="frame" x="1" y="119" width="238" height="15"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="230">
|
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="230">
|
||||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
</scroller>
|
</scroller>
|
||||||
@@ -136,6 +135,6 @@
|
|||||||
</customView>
|
</customView>
|
||||||
</objects>
|
</objects>
|
||||||
<resources>
|
<resources>
|
||||||
<image name="NSActionTemplate" width="14" height="14"/>
|
<image name="NSActionTemplate" width="15" height="15"/>
|
||||||
</resources>
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
{
|
{
|
||||||
"name": "AutotypeURL",
|
"name": "AutotypeURL",
|
||||||
"description": "Extract URLs from Browsers to enhance Global Autotype",
|
"description": "Extract URLs from Browsers to enhance Global Autotype",
|
||||||
"download": "https://github.com/MacPass/AutotypeURL/releases/download/1.0/AutotypeURL-1.0.mpplugin.zip",
|
"download": "https://github.com/MacPass/AutotypeURL/releases/download/1.3/AutotypeURL-1.3.mpplugin.zip",
|
||||||
"source": "https://github.com/MacPass/AutotypeURL",
|
"source": "https://github.com/MacPass/AutotypeURL",
|
||||||
"currentVersion": "1.0",
|
"currentVersion": "1.3",
|
||||||
"bundleIdentifier": "com.hicknhacksoftware.AutotypeURL",
|
"bundleIdentifier": "com.hicknhacksoftware.AutotypeURL",
|
||||||
"compatibilty" : [
|
"compatibilty" : [
|
||||||
{
|
{
|
||||||
"pluginVersion": "1.0",
|
"pluginVersion": "1.*",
|
||||||
"minimumHostVersion" : "0.7.10"
|
"minimumHostVersion" : "0.7.10"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
9
MacPass/cs.lproj/AutotypeBuilderView.strings
Normal file
9
MacPass/cs.lproj/AutotypeBuilderView.strings
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Autotype Sequence"; ObjectID = "8ny-Qk-Jvo"; */
|
||||||
|
"8ny-Qk-Jvo.title" = "Sekvence samodoplňování";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Set Autotype Sequence"; ObjectID = "aOD-Ih-Sft"; */
|
||||||
|
"aOD-Ih-Sft.title" = "Nastavit sekvenci samodoplňování";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Available Commands and Placeholders"; ObjectID = "lug-97-H9D"; */
|
||||||
|
"lug-97-H9D.title" = "Dostupné příkazy a zástupné symboly";
|
||||||
18
MacPass/cs.lproj/AutotypeCandidateSelectionView.strings
Normal file
18
MacPass/cs.lproj/AutotypeCandidateSelectionView.strings
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "60p-7v-Nje"; */
|
||||||
|
"60p-7v-Nje.title" = "Zrušit";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "PKW-gr-yqN"; */
|
||||||
|
"PKW-gr-yqN.title" = "Text Cell";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Title"; ObjectID = "TN3-3a-LaA"; */
|
||||||
|
"TN3-3a-LaA.title" = "Title";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Sequence"; ObjectID = "bvJ-2i-eMc"; */
|
||||||
|
"bvJ-2i-eMc.title" = "Sequence";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "There are multiple matches for the current window. Please select which match should be used."; ObjectID = "gcf-gb-ZsF"; */
|
||||||
|
"gcf-gb-ZsF.title" = "Pro aktuální okno existuje několik shod. Zvolte, prosím, která se má použít.";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Perform Autotype"; ObjectID = "w7H-hx-CUF"; */
|
||||||
|
"w7H-hx-CUF.title" = "Provést samodoplnění";
|
||||||
24
MacPass/cs.lproj/AutotypeDoctorReportViewController.strings
Normal file
24
MacPass/cs.lproj/AutotypeDoctorReportViewController.strings
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Request Permissions…"; ObjectID = "1Nx-Cg-TCn"; */
|
||||||
|
"1Nx-Cg-TCn.title" = "Vyžádat oprávnění…";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "MacPass will send key press events to the system when Autotype or Global Autotype is executed. Since macOS 10.14 Mojave this is only possible, if Accessibility permissions are granted to the application."; ObjectID = "6GI-KJ-Xue"; */
|
||||||
|
"6GI-KJ-Xue.title" = "Když se provádí samodoplňování nebo globální samodoplňování, MacPass pošle do systému událost stisknutí klávesy. Od macOS 10.14 Mojave je toto možné, pouze pokud je aplikaci uděleno oprávnění pro zpřístupnění.";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "MacPass will read every window title when Global Autotype is executed to find a match. Since macOS 10.15 Catalina it is not possible to read any window title, if the user has not granted permissions to record the screen. If you are running macOS 10.15 or higher, MacPass will check if it can read every window title of currently visible windows. This test will not read the actual title. The titles aren't stored or processed in any way."; ObjectID = "7of-1z-Nfk"; */
|
||||||
|
"7of-1z-Nfk.title" = "Když se má provést globální samodoplnění, MacPass přečte každý titulek okna kvůli nalezení shody. Od macOS 10.15 Catalina není možné přečíst titulek okna, pokud uživatel nedal oprávnění k záznamu obrazovky. Pokud používáte macOS 10.15 nebo vyšší, MacPass zkontroluje, zda může přečíst titulky aktuálně viditelných oken. Tento test nečte skutečné titulky, ani data nijak nezpracovává a neukládá.";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Open Accessibilty Preferences…"; ObjectID = "8m1-vs-pd5"; */
|
||||||
|
"8m1-vs-pd5.title" = "Otevřít Předvolby zpřístupnění…";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Screen Recording"; ObjectID = "9gr-mz-2I4"; */
|
||||||
|
"9gr-mz-2I4.title" = "Záznam obrazovky";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "To request Screen Recording permissions, MacPass will try to capture a 1 by 1 Pixel sized screenshot of the top left part of your screen. The data is not stored nor processed in any way."; ObjectID = "Mhg-rd-1hK"; */
|
||||||
|
"Mhg-rd-1hK.title" = "Pro žádost o oprávnění záznamu obrazovky zkusí MacPass udělat snímek obrazovky o rozměrech 1x1 pixel od levého horního okraje obrazovky. Data nejsou nijak ukládána ani zpracovávána.";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Accessibility"; ObjectID = "aIL-8W-63g"; */
|
||||||
|
"aIL-8W-63g.title" = "Zpřístupnění";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Open Screen Recording Preferences…"; ObjectID = "lgB-Ys-L9R"; */
|
||||||
|
"lgB-Ys-L9R.title" = "Otevřít Předvolby záznamu obrazovky…";
|
||||||
57
MacPass/cs.lproj/ContextBar.strings
Normal file
57
MacPass/cs.lproj/ContextBar.strings
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Search:"; ObjectID = "7"; */
|
||||||
|
"7.title" = "Hledat:";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Title"; ObjectID = "53D-ne-nv6"; */
|
||||||
|
"53D-ne-nv6.title" = "Název";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Empty Trash"; ObjectID = "8Ok-oe-6AB"; */
|
||||||
|
"8Ok-oe-6AB.title" = "Vyprázdnit koš";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Trash"; ObjectID = "8P1-Rp-sF4"; */
|
||||||
|
"8P1-Rp-sF4.title" = "Koš";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "URL"; ObjectID = "92o-gN-Psj"; */
|
||||||
|
"92o-gN-Psj.title" = "URL";
|
||||||
|
|
||||||
|
/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "CFk-71-NYQ"; */
|
||||||
|
"CFk-71-NYQ.title" = "Položka 3";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "History"; ObjectID = "ER3-Ic-v0N"; */
|
||||||
|
"ER3-Ic-v0N.title" = "Historie";
|
||||||
|
|
||||||
|
/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "LRm-iZ-XrA"; */
|
||||||
|
"LRm-iZ-XrA.title" = "Položka 1";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Restore Entry"; ObjectID = "UTg-y9-4DN"; */
|
||||||
|
"UTg-y9-4DN.title" = "Obnovit záznam";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Filter"; ObjectID = "Ud6-Nz-6PS"; */
|
||||||
|
"Ud6-Nz-6PS.label" = "Filtr";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Everywhere"; ObjectID = "WMK-bb-ESj"; */
|
||||||
|
"WMK-bb-ESj.title" = "Všude";
|
||||||
|
|
||||||
|
/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "cpr-p6-YAY"; */
|
||||||
|
"cpr-p6-YAY.title" = "Položka 2";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Exit History"; ObjectID = "ewQ-8F-e1E"; */
|
||||||
|
"ewQ-8F-e1E.title" = "Opustit historii";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Notes"; ObjectID = "iDN-2E-hwt"; */
|
||||||
|
"iDN-2E-hwt.title" = "Poznámky";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Username"; ObjectID = "jfQ-Jh-2gl"; */
|
||||||
|
"jfQ-Jh-2gl.title" = "Uživatelské jméno";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Trash"; ObjectID = "na6-h9-r9q"; */
|
||||||
|
"na6-h9-r9q.label" = "Koš";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Password"; ObjectID = "rvQ-4V-SsS"; */
|
||||||
|
"rvQ-4V-SsS.title" = "Heslo";
|
||||||
|
|
||||||
|
/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "wC4-fF-dLW"; */
|
||||||
|
"wC4-fF-dLW.title" = "OtherViews";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "History"; ObjectID = "z4I-cp-nhf"; */
|
||||||
|
"z4I-cp-nhf.label" = "Historie";
|
||||||
120
MacPass/cs.lproj/DatabaseSettingsWindow.strings
Normal file
120
MacPass/cs.lproj/DatabaseSettingsWindow.strings
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
|
||||||
|
/* Class = "NSWindow"; title = "Window"; ObjectID = "1"; */
|
||||||
|
"1.title" = "Window";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Database name:"; ObjectID = "190"; */
|
||||||
|
"190.title" = "Název databáze:";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Description:"; ObjectID = "257"; */
|
||||||
|
"257.title" = "Popis:";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "OK"; ObjectID = "289"; */
|
||||||
|
"289.title" = "OK";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "General"; ObjectID = "358"; */
|
||||||
|
"358.label" = "Obecné";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "368"; */
|
||||||
|
"368.label" = "Rozšířené";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Security"; ObjectID = "370"; */
|
||||||
|
"370.label" = "Zabezpečení";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Enable Entry History"; ObjectID = "532"; */
|
||||||
|
"532.title" = "Používat historii záznamu";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Enable Recycle Bin"; ObjectID = "536"; */
|
||||||
|
"536.title" = "Používat koš";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Maximum items in history:"; ObjectID = "558"; */
|
||||||
|
"558.title" = "Maximálně položek v historii:";
|
||||||
|
|
||||||
|
/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "680"; */
|
||||||
|
"680.title" = "OtherViews";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "957"; */
|
||||||
|
"957.title" = "Zrušit";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Maximum history size:"; ObjectID = "1269"; */
|
||||||
|
"1269.title" = "Maximální velikost historie:";
|
||||||
|
|
||||||
|
/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1396"; */
|
||||||
|
"1396.title" = "OtherViews";
|
||||||
|
|
||||||
|
/* Class = "NSMenuItem"; title = "None"; ObjectID = "1397"; */
|
||||||
|
"1397.title" = "Žádná";
|
||||||
|
|
||||||
|
/* Class = "NSMenuItem"; title = "GZip"; ObjectID = "1398"; */
|
||||||
|
"1398.title" = "GZip";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Compression:"; ObjectID = "1405"; */
|
||||||
|
"1405.title" = "Komprese:";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Color:"; ObjectID = "1435"; */
|
||||||
|
"1435.title" = "Barva:";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Template Group:"; ObjectID = "1588"; */
|
||||||
|
"1588.title" = "Skupina šablon:";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Default Username:"; ObjectID = "1591"; */
|
||||||
|
"1591.title" = "Výchozí uživatelské jméno:";
|
||||||
|
|
||||||
|
/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "1740"; */
|
||||||
|
"1740.title" = "OtherViews";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Threads"; ObjectID = "2QI-ne-N5d"; */
|
||||||
|
"2QI-ne-N5d.title" = "Vlákna";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Iterations"; ObjectID = "2ZA-Gc-JdZ"; */
|
||||||
|
"2ZA-Gc-JdZ.title" = "Iterace";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Enforce key change"; ObjectID = "5QH-N1-FHK"; */
|
||||||
|
"5QH-N1-FHK.title" = "Vynutit změnu klíče";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Argon2d"; ObjectID = "6qB-sH-9FI"; */
|
||||||
|
"6qB-sH-9FI.label" = "Argon2d";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Recommend key change"; ObjectID = "CtU-Eq-dgy"; */
|
||||||
|
"CtU-Eq-dgy.title" = "Doporučit změnu klíče";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Algorithm"; ObjectID = "GVd-KH-pHc"; */
|
||||||
|
"GVd-KH-pHc.title" = "Algoritmus";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Generate Parameters"; ObjectID = "PoI-Er-Y8P"; */
|
||||||
|
"PoI-Er-Y8P.title" = "Generovat parametry";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "VersionInfo"; ObjectID = "Ush-4r-A1A"; */
|
||||||
|
"Ush-4r-A1A.title" = "VersionInfo";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Recommend key change"; ObjectID = "Xib-Fn-sqx"; */
|
||||||
|
"Xib-Fn-sqx.title" = "Doporučit změnu klíče";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "File format:"; ObjectID = "bTk-YZ-x0G"; */
|
||||||
|
"bTk-YZ-x0G.title" = "Formát souboru:";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Aes"; ObjectID = "ft1-pl-lpO"; */
|
||||||
|
"ft1-pl-lpO.label" = "Aes";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Encryption:"; ObjectID = "gxY-UL-bEG"; */
|
||||||
|
"gxY-UL-bEG.title" = "Kódování:";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Memory"; ObjectID = "iRY-If-Kwn"; */
|
||||||
|
"iRY-If-Kwn.title" = "Paměť";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Recyclebin Group:"; ObjectID = "kI5-Kp-byE"; */
|
||||||
|
"kI5-Kp-byE.title" = "Skupina pro koš:";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Force key change once after unlocking"; ObjectID = "pA1-aL-KjT"; */
|
||||||
|
"pA1-aL-KjT.title" = "Vynutit změnu klíče po odemknutí";
|
||||||
|
|
||||||
|
/* Class = "NSBox"; title = "Key derivation"; ObjectID = "pbl-Mb-r8V"; */
|
||||||
|
"pbl-Mb-r8V.title" = "Derivace klíče";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Rounds"; ObjectID = "uUQ-9s-M5E"; */
|
||||||
|
"uUQ-9s-M5E.title" = "Kola";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Argon2id"; ObjectID = "xI9-6m-9ju"; */
|
||||||
|
"xI9-6m-9ju.label" = "Argon2id";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Force key change"; ObjectID = "z6u-YT-7LE"; */
|
||||||
|
"z6u-YT-7LE.title" = "Vynutit změnu klíče";
|
||||||
9
MacPass/cs.lproj/DatePickingView.strings
Normal file
9
MacPass/cs.lproj/DatePickingView.strings
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "17"; */
|
||||||
|
"17.title" = "OtherViews";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Use Date"; ObjectID = "26"; */
|
||||||
|
"26.title" = "Použít datum";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "30"; */
|
||||||
|
"30.title" = "Zrušit";
|
||||||
18
MacPass/cs.lproj/DuplicateEntryOptionsWindow.strings
Normal file
18
MacPass/cs.lproj/DuplicateEntryOptionsWindow.strings
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Reference username instead of copying it"; ObjectID = "O9X-XH-n8o"; */
|
||||||
|
"O9X-XH-n8o.title" = "Refererovat na uživatelského jméno místo zkopírování";
|
||||||
|
|
||||||
|
/* Class = "NSWindow"; title = "Duplicate Entry Options"; ObjectID = "QvC-M9-y7g"; */
|
||||||
|
"QvC-M9-y7g.title" = "Možnosti duplikace záznamu";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Duplicate Entry"; ObjectID = "WqI-qH-ARf"; */
|
||||||
|
"WqI-qH-ARf.title" = "Duplikovat záznam";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Duplicate history"; ObjectID = "dXl-KS-4rE"; */
|
||||||
|
"dXl-KS-4rE.title" = "Duplikovat historii";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Reference password instead of copying it"; ObjectID = "daA-QV-CDq"; */
|
||||||
|
"daA-QV-CDq.title" = "Refererovat na heslo místo zkopírování";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "x6e-bE-Y6R"; */
|
||||||
|
"x6e-bE-Y6R.title" = "Zrušit";
|
||||||
108
MacPass/cs.lproj/EntryInspectorView.strings
Normal file
108
MacPass/cs.lproj/EntryInspectorView.strings
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Generate"; ObjectID = "64"; */
|
||||||
|
"64.title" = "Generovat";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Password"; ObjectID = "65"; */
|
||||||
|
"65.title" = "Heslo";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "URL"; ObjectID = "66"; */
|
||||||
|
"66.title" = "Adresa URL";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Username"; ObjectID = "69"; */
|
||||||
|
"69.title" = "Uživatelské jméno";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Title"; ObjectID = "71"; */
|
||||||
|
"71.title" = "Název";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Expires"; ObjectID = "78"; */
|
||||||
|
"78.title" = "Expirace";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Tags"; ObjectID = "79"; */
|
||||||
|
"79.title" = "Štítky";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Attachments"; ObjectID = "109"; */
|
||||||
|
"109.label" = "Přílohy";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "General"; ObjectID = "110"; */
|
||||||
|
"110.label" = "Obecné";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Attachments"; ObjectID = "135"; */
|
||||||
|
"135.title" = "Přílohy";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "142"; */
|
||||||
|
"142.title" = "Text Cell";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "151"; */
|
||||||
|
"151.title" = "Table View Cell";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "171"; */
|
||||||
|
"171.title" = "Table View Cell";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "197"; */
|
||||||
|
"197.title" = "Text Cell";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; placeholderString = "Title"; ObjectID = "211"; */
|
||||||
|
"211.placeholderString" = "Titulek";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; placeholderString = "Value"; ObjectID = "214"; */
|
||||||
|
"214.placeholderString" = "Hodnota";
|
||||||
|
|
||||||
|
/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[0] = "General"; ObjectID = "238"; */
|
||||||
|
"238.ibShadowedLabels[0]" = "Obecné";
|
||||||
|
|
||||||
|
/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[1] = "Files"; ObjectID = "238"; */
|
||||||
|
"238.ibShadowedLabels[1]" = "Soubory";
|
||||||
|
|
||||||
|
/* Class = "NSSegmentedCell"; 238.ibShadowedLabels[2] = "Autotype"; ObjectID = "238"; */
|
||||||
|
"238.ibShadowedLabels[2]" = "Samodoplňování";
|
||||||
|
|
||||||
|
/* Class = "NSMenuItem"; title = "Save"; ObjectID = "0ok-MC-QMP"; */
|
||||||
|
"0ok-MC-QMP.title" = "Uložit";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Enable Autotype"; ObjectID = "9Nx-mE-DK3"; */
|
||||||
|
"9Nx-mE-DK3.title" = "Povolit samodoplňování";
|
||||||
|
|
||||||
|
/* Class = "NSMenuItem"; title = "Quicklook"; ObjectID = "NtM-y3-l4D"; */
|
||||||
|
"NtM-y3-l4D.title" = "Rychlý náhled";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; placeholderString = "Custom Entry Sequence"; ObjectID = "R2X-Ex-c6q"; */
|
||||||
|
"R2X-Ex-c6q.placeholderString" = "Vlastní sekvence";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Window Sequence"; ObjectID = "RQB-bR-MC0"; */
|
||||||
|
"RQB-bR-MC0.title" = "Sekvence okna";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Show Plugin Data"; ObjectID = "X9y-K7-lix"; */
|
||||||
|
"X9y-K7-lix.title" = "Ukázat data pluginu";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Autotype Sequence"; ObjectID = "bQ5-0E-h3O"; */
|
||||||
|
"bQ5-0E-h3O.title" = "Sekvence samodoplňování";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Window Title"; ObjectID = "bkO-Bk-AuX"; */
|
||||||
|
"bkO-Bk-AuX.title" = "Titulek okna";
|
||||||
|
|
||||||
|
/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "bke-G2-oEf"; */
|
||||||
|
"bke-G2-oEf.title" = "Smazat";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "dyA-lo-PGa"; */
|
||||||
|
"dyA-lo-PGa.title" = "Table View Cell";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "ep5-bQ-cfZ"; */
|
||||||
|
"ep5-bQ-cfZ.title" = "Text Cell";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; placeholderString = "Custom Window Sequence"; ObjectID = "fW9-9p-wwR"; */
|
||||||
|
"fW9-9p-wwR.placeholderString" = "Vlastní sekvence";
|
||||||
|
|
||||||
|
/* Class = "NSTabViewItem"; label = "Autotype"; ObjectID = "hK7-Dx-yjH"; */
|
||||||
|
"hK7-Dx-yjH.label" = "Samodoplňování";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "Window Associations"; ObjectID = "ned-1Q-FXA"; */
|
||||||
|
"ned-1Q-FXA.title" = "Asociace oken";
|
||||||
|
|
||||||
|
/* Class = "NSButtonCell"; title = "Obfuscate Autotype"; ObjectID = "oNq-kB-3eb"; */
|
||||||
|
"oNq-kB-3eb.title" = "Obfuskovat samodoplňování";
|
||||||
|
|
||||||
|
/* Class = "NSMenu"; title = "OtherViews"; ObjectID = "sNS-o1-pD7"; */
|
||||||
|
"sNS-o1-pD7.title" = "OtherViews";
|
||||||
|
|
||||||
|
/* Class = "NSTextFieldCell"; title = "UUID"; ObjectID = "vTq-N1-5oa"; */
|
||||||
|
"vTq-N1-5oa.title" = "UUID";
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user