stubbed custom data popup

This commit is contained in:
michael starke
2017-02-03 16:36:54 +01:00
parent 03f5ca42a2
commit 11236c50f9
11 changed files with 304 additions and 97 deletions

View File

@@ -27,7 +27,7 @@
4C17F108184E6B6C00E85625 /* 31_PrintTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F106184E6B6C00E85625 /* 31_PrintTemplate.pdf */; };
4C17F109184E6B6C00E85625 /* 30_TerminalTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C17F107184E6B6C00E85625 /* 30_TerminalTemplate.pdf */; };
4C1BDF2B1E4392640012A3F0 /* MPPluginDataViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1BDF291E4392640012A3F0 /* MPPluginDataViewController.m */; };
4C1BDF2C1E4392640012A3F0 /* MPPluginDataViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1BDF2A1E4392640012A3F0 /* MPPluginDataViewController.xib */; };
4C1BDF2C1E4392640012A3F0 /* PluginDataView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1BDF2A1E4392640012A3F0 /* PluginDataView.xib */; };
4C1DDCDD1711ECEB00C98DA3 /* PasswordCreatorWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */; };
4C1E9885185F71A800943563 /* MPContextBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1E9884185F71A800943563 /* MPContextBarViewController.m */; };
4C1F7FA21E3A12E600D6A40E /* MPModifiedKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C1F7FA11E3A12E600D6A40E /* MPModifiedKey.m */; };
@@ -326,7 +326,7 @@
4C17F107184E6B6C00E85625 /* 30_TerminalTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 30_TerminalTemplate.pdf; sourceTree = "<group>"; };
4C1BDF281E4392640012A3F0 /* MPPluginDataViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPluginDataViewController.h; sourceTree = "<group>"; };
4C1BDF291E4392640012A3F0 /* MPPluginDataViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPluginDataViewController.m; sourceTree = "<group>"; };
4C1BDF2A1E4392640012A3F0 /* MPPluginDataViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MPPluginDataViewController.xib; sourceTree = "<group>"; };
4C1BDF2A1E4392640012A3F0 /* PluginDataView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PluginDataView.xib; sourceTree = "<group>"; };
4C1DDCDC1711ECEB00C98DA3 /* PasswordCreatorWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PasswordCreatorWindow.xib; sourceTree = "<group>"; };
4C1E9883185F71A800943563 /* MPContextBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPContextBarViewController.h; sourceTree = "<group>"; };
4C1E9884185F71A800943563 /* MPContextBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPContextBarViewController.m; sourceTree = "<group>"; };
@@ -1296,6 +1296,7 @@
isa = PBXGroup;
children = (
4C47D77718B37911002755E4 /* Settings */,
4C4B7EF517A46815000234C7 /* Inspector */,
4C2E382416D1470200037A9D /* MPViewController.h */,
4C2E382516D1470200037A9D /* MPViewController.m */,
4C65FAE616D16DDB006E0577 /* MPPasswordInputController.h */,
@@ -1316,7 +1317,6 @@
4C4B7EE617A45EC5000234C7 /* MPDatePickingViewController.h */,
4C4B7EE717A45EC5000234C7 /* MPDatePickingViewController.m */,
6021FE7918E15FF300C3BC51 /* DatePickingView.xib */,
4C4B7EF517A46815000234C7 /* Inspector */,
4C0F647917B6BC9C00D9522A /* MPSavePanelAccessoryViewController.h */,
4C0F647A17B6BC9C00D9522A /* MPSavePanelAccessoryViewController.m */,
4C1E9883185F71A800943563 /* MPContextBarViewController.h */,
@@ -1333,7 +1333,7 @@
4CAAA8261D787B8B00CDE977 /* AutotypeBuilderView.xib */,
4C1BDF281E4392640012A3F0 /* MPPluginDataViewController.h */,
4C1BDF291E4392640012A3F0 /* MPPluginDataViewController.m */,
4C1BDF2A1E4392640012A3F0 /* MPPluginDataViewController.xib */,
4C1BDF2A1E4392640012A3F0 /* PluginDataView.xib */,
);
name = "View Controller";
sourceTree = "<group>";
@@ -1657,7 +1657,7 @@
4C53A7A51864C39D000DFF0D /* KPKLocalizable.strings in Resources */,
4C3826761AD04C24007D7D67 /* harddiskTemplate.pdf in Resources */,
4C0DBEF51BF508DE00F9B287 /* PluginSettings.xib in Resources */,
4C1BDF2C1E4392640012A3F0 /* MPPluginDataViewController.xib in Resources */,
4C1BDF2C1E4392640012A3F0 /* PluginDataView.xib in Resources */,
4C7F8B681A10B68400CCB83D /* WelcomeWindow.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;

View File

@@ -9,7 +9,6 @@
<customObject id="-2" userLabel="File's Owner" customClass="MPEntryInspectorViewController">
<connections>
<outlet property="URLTextField" destination="56" id="262"/>
<outlet property="addAssociationButton" destination="Iy9-9L-Aev" id="HQH-Ad-9my"/>
<outlet property="associationSequenceTextField" destination="NjR-ea-Y7k" id="kTb-Y5-XrZ"/>
<outlet property="attachmentTableView" destination="137" id="265"/>
<outlet property="autotypView" destination="zv7-wE-Bmg" id="m1g-dk-hFv"/>
@@ -22,7 +21,6 @@
<outlet property="infoTabControl" destination="82" id="264"/>
<outlet property="obfuscateAutotypeCheckButton" destination="I7L-Am-Qpa" id="hwa-zl-24W"/>
<outlet property="passwordTextField" destination="60" id="263"/>
<outlet property="removeAssociationButton" destination="AAj-Ak-z46" id="7Xj-Tf-8CI"/>
<outlet property="showCustomAssociationSequenceAutotypeBuilderButton" destination="m1C-m8-BKR" id="B3I-AG-TCJ"/>
<outlet property="showCustomEntrySequenceAutotypeBuilderButton" destination="HDS-Bz-jrr" id="7u1-17-oMK"/>
<outlet property="tabView" destination="83" id="269"/>
@@ -39,10 +37,10 @@
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<view translatesAutoresizingMaskIntoConstraints="NO" id="3">
<rect key="frame" x="0.0" y="0.0" width="293" height="421"/>
<rect key="frame" x="0.0" y="0.0" width="293" height="493"/>
<subviews>
<segmentedControl verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="82">
<rect key="frame" x="35" y="397" width="224" height="19"/>
<rect key="frame" x="35" y="469" width="224" height="19"/>
<segmentedCell key="cell" controlSize="small" borderStyle="border" alignment="left" style="texturedSquare" trackingMode="selectOne" id="238">
<font key="font" metaFont="smallSystem"/>
<segments>
@@ -54,22 +52,22 @@
</segmentedCell>
</segmentedControl>
<tabView drawsBackground="NO" type="noTabsNoBorder" initialItem="110" translatesAutoresizingMaskIntoConstraints="NO" id="83">
<rect key="frame" x="0.0" y="0.0" width="293" height="395"/>
<rect key="frame" x="0.0" y="0.0" width="293" height="467"/>
<font key="font" metaFont="system"/>
<tabViewItems>
<tabViewItem label="General" identifier="1" id="110">
<view key="view" id="111">
<rect key="frame" x="0.0" y="0.0" width="293" height="503"/>
<rect key="frame" x="0.0" y="0.0" width="293" height="467"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
</view>
</tabViewItem>
<tabViewItem label="Attachments" identifier="" id="109">
<view key="view" id="123">
<rect key="frame" x="0.0" y="0.0" width="293" height="503"/>
<rect key="frame" x="0.0" y="0.0" width="293" height="395"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="124">
<rect key="frame" x="241" y="464" width="32" height="25"/>
<rect key="frame" x="241" y="356" width="32" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="176"/>
</constraints>
@@ -82,7 +80,7 @@
</connections>
</button>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="126">
<rect key="frame" x="18" y="469" width="77" height="14"/>
<rect key="frame" x="18" y="361" width="77" height="14"/>
<constraints>
<constraint firstAttribute="width" constant="73" id="136"/>
</constraints>
@@ -93,13 +91,13 @@
</textFieldCell>
</textField>
<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="432"/>
<rect key="frame" x="20" y="26" width="253" height="324"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="F3N-QI-Di5">
<rect key="frame" x="1" y="1" width="251" height="430"/>
<rect key="frame" x="1" y="1" width="251" height="322"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowHeight="36" rowSizeStyle="automatic" viewBased="YES" id="137">
<rect key="frame" x="0.0" y="0.0" width="251" height="430"/>
<rect key="frame" x="0.0" y="0.0" width="251" height="322"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="alternateSelectedControlTextColor" catalog="System" colorSpace="catalog"/>
@@ -244,11 +242,11 @@
</tabViewItem>
<tabViewItem label="CustomFields" identifier="" id="108">
<view key="view" id="178">
<rect key="frame" x="0.0" y="0.0" width="293" height="395"/>
<rect key="frame" x="0.0" y="0.0" width="293" height="467"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="179">
<rect key="frame" x="241" y="356" width="32" height="25"/>
<rect key="frame" x="241" y="428" width="32" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="231"/>
</constraints>
@@ -258,10 +256,11 @@
</buttonCell>
<connections>
<action selector="addCustomField:" target="-2" id="273"/>
<outlet property="nextKeyView" destination="193" id="aWG-La-YP3"/>
</connections>
</button>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="181">
<rect key="frame" x="18" y="361" width="79" height="14"/>
<rect key="frame" x="18" y="433" width="79" height="14"/>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Custom Fields" id="190">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
@@ -269,13 +268,13 @@
</textFieldCell>
</textField>
<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="16" y="20" width="261" height="330"/>
<rect key="frame" x="16" y="50" width="261" height="372"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="k8G-zp-BXZ">
<rect key="frame" x="1" y="1" width="259" height="328"/>
<rect key="frame" x="1" y="1" width="259" height="370"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<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="193">
<rect key="frame" x="0.0" y="0.0" width="259" height="328"/>
<rect key="frame" x="0.0" y="0.0" width="259" height="370"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -408,23 +407,43 @@
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<connections>
<outlet property="nextKeyView" destination="QSX-Xo-tcH" id="KP9-D4-4cC"/>
</connections>
</scrollView>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QSX-Xo-tcH">
<rect key="frame" x="20" y="18" width="253" height="25"/>
<buttonCell key="cell" type="roundTextured" title="Edit Plugin Data" bezelStyle="texturedRounded" 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"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="showPluginData:" target="-1" id="yGe-GL-mcW"/>
<outlet property="nextKeyView" destination="179" id="mgK-HS-YUb"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="QSX-Xo-tcH" secondAttribute="trailing" constant="20" symbolic="YES" id="7B0-M9-r2H"/>
<constraint firstItem="180" firstAttribute="top" secondItem="179" secondAttribute="bottom" constant="8" symbolic="YES" id="8Pv-sU-zUE"/>
<constraint firstItem="QSX-Xo-tcH" firstAttribute="top" secondItem="180" secondAttribute="bottom" constant="8" symbolic="YES" id="B8B-uO-xXm"/>
<constraint firstItem="180" firstAttribute="leading" secondItem="178" secondAttribute="leading" constant="16" id="Ddi-Em-9i9"/>
<constraint firstItem="181" firstAttribute="top" secondItem="178" secondAttribute="top" constant="20" symbolic="YES" id="IDm-Hm-H94"/>
<constraint firstAttribute="trailing" secondItem="179" secondAttribute="trailing" constant="20" symbolic="YES" id="YIb-vM-ibK"/>
<constraint firstAttribute="bottom" secondItem="QSX-Xo-tcH" secondAttribute="bottom" constant="20" symbolic="YES" id="eWQ-7d-Up1"/>
<constraint firstItem="179" firstAttribute="baseline" secondItem="181" secondAttribute="baseline" id="jwt-pt-9Kw"/>
<constraint firstAttribute="bottom" secondItem="180" secondAttribute="bottom" constant="20" symbolic="YES" id="pwo-bN-16i"/>
<constraint firstItem="QSX-Xo-tcH" firstAttribute="leading" secondItem="178" secondAttribute="leading" constant="20" symbolic="YES" id="ksY-hn-bSN"/>
<constraint firstItem="181" firstAttribute="leading" secondItem="178" secondAttribute="leading" constant="20" symbolic="YES" id="zjP-O5-h3E"/>
<constraint firstAttribute="trailing" secondItem="180" secondAttribute="trailing" constant="16" id="ztn-Z6-oAK"/>
</constraints>
</view>
<connections>
<outlet property="initialFirstResponder" destination="179" id="o2m-1Y-Vd8"/>
</connections>
</tabViewItem>
<tabViewItem label="Autotype" identifier="" id="hK7-Dx-yjH">
<view key="view" id="2py-ab-4ZU">
<rect key="frame" x="0.0" y="0.0" width="293" height="503"/>
<rect key="frame" x="0.0" y="0.0" width="293" height="395"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
</view>
</tabViewItem>
@@ -441,7 +460,7 @@
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="82" secondAttribute="trailing" constant="20" symbolic="YES" id="4df-0Y-ggz"/>
<constraint firstItem="82" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="3" secondAttribute="leading" constant="20" symbolic="YES" id="zU6-5h-Swa"/>
</constraints>
<point key="canvasLocation" x="955" y="-542"/>
<point key="canvasLocation" x="954.5" y="-506.5"/>
</view>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="4" customClass="HNHUIScrollDocumentViewAdapter">
<rect key="frame" x="0.0" y="0.0" width="291" height="457"/>

View File

@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="16D32" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="MPGroupInspectorViewController">
@@ -10,7 +11,6 @@
<outlet property="autotypePopupButton" destination="240" id="285"/>
<outlet property="autotypeSequenceTextField" destination="Fnw-qz-IZU" id="a7M-zz-0ye"/>
<outlet property="contentView" destination="38" id="Dv7-1B-VeH"/>
<outlet property="expireDateSelectButton" destination="4" id="Bzg-8k-0OS"/>
<outlet property="expiresCheckButton" destination="5" id="283"/>
<outlet property="searchPopupButton" destination="229" id="284"/>
<outlet property="titleTextField" destination="23" id="35"/>
@@ -20,16 +20,16 @@
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<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">
<rect key="frame" x="0.0" y="0.0" width="257" height="261"/>
<rect key="frame" x="0.0" y="0.0" width="257" height="291"/>
<clipView key="contentView" id="HjA-kA-fcX">
<rect key="frame" x="0.0" y="0.0" width="257" height="261"/>
<rect key="frame" x="0.0" y="0.0" width="257" height="291"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view translatesAutoresizingMaskIntoConstraints="NO" id="38" customClass="HNHUIScrollDocumentViewAdapter">
<rect key="frame" x="0.0" y="0.0" width="257" height="261"/>
<rect key="frame" x="0.0" y="0.0" width="257" height="291"/>
<subviews>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="24">
<rect key="frame" x="18" y="242" width="35" height="14"/>
<rect key="frame" x="18" y="272" width="35" height="14"/>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Name" id="25">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
@@ -37,7 +37,7 @@
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="23" customClass="HNHUIRoundedTextField">
<rect key="frame" x="20" y="212" width="217" height="22"/>
<rect key="frame" x="20" y="242" width="217" height="22"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" truncatesLastVisibleLine="YES" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="26">
<font key="font" metaFont="system"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
@@ -48,7 +48,7 @@
</connections>
</textField>
<button horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="5">
<rect key="frame" x="18" y="184" width="67" height="18"/>
<rect key="frame" x="18" y="214" width="67" height="18"/>
<constraints>
<constraint firstAttribute="height" constant="14" id="pWR-o1-KI6"/>
</constraints>
@@ -61,7 +61,7 @@
</connections>
</button>
<button focusRingType="exterior" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4">
<rect key="frame" x="205" y="180" width="32" height="25"/>
<rect key="frame" x="205" y="210" width="32" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="l5I-EF-dHs"/>
</constraints>
@@ -75,7 +75,7 @@
</connections>
</button>
<popUpButton verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="229">
<rect key="frame" x="18" y="128" width="222" height="26"/>
<rect key="frame" x="18" y="158" width="222" height="26"/>
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="230">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -86,7 +86,7 @@
</connections>
</popUpButton>
<popUpButton verticalHuggingPriority="750" horizontalCompressionResistancePriority="249" translatesAutoresizingMaskIntoConstraints="NO" id="240">
<rect key="frame" x="18" y="73" width="222" height="26"/>
<rect key="frame" x="18" y="103" width="222" height="26"/>
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="242">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -97,7 +97,7 @@
</connections>
</popUpButton>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="264">
<rect key="frame" x="18" y="160" width="41" height="14"/>
<rect key="frame" x="18" y="190" width="41" height="14"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Search" id="265">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
@@ -105,7 +105,7 @@
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="276">
<rect key="frame" x="18" y="105" width="52" height="14"/>
<rect key="frame" x="18" y="135" width="52" height="14"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Autotype" id="277">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
@@ -113,24 +113,35 @@
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Fnw-qz-IZU" customClass="HNHUIRoundedTextField">
<rect key="frame" x="20" y="20" width="217" height="22"/>
<rect key="frame" x="20" y="50" width="217" height="22"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="VeF-V7-i2I">
<font key="font" metaFont="system"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<outlet property="nextKeyView" destination="23" id="ZlU-EF-myK"/>
<outlet property="nextKeyView" destination="1Uh-eo-H0j" id="zer-UH-73e"/>
</connections>
</textField>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6Lw-XW-x20">
<rect key="frame" x="18" y="50" width="107" height="14"/>
<rect key="frame" x="18" y="80" width="107" height="14"/>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Autotype Sequence" id="6FG-UZ-Adh">
<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>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Uh-eo-H0j">
<rect key="frame" x="20" y="18" width="217" height="25"/>
<buttonCell key="cell" type="roundTextured" title="Edit Plugin Data" bezelStyle="texturedRounded" 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>
<constraints>
<constraint firstAttribute="trailing" secondItem="Fnw-qz-IZU" secondAttribute="trailing" constant="20" symbolic="YES" id="3Gx-EC-k0Q"/>
@@ -143,21 +154,24 @@
<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 firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="Fnw-qz-IZU" secondAttribute="bottom" constant="20" symbolic="YES" id="xRe-8b-p6s"/>
<constraint firstItem="264" firstAttribute="top" secondItem="5" secondAttribute="bottom" constant="12" id="xe7-ue-Wip"/>
</constraints>
</view>
@@ -177,6 +191,7 @@
<rect key="frame" x="-100" y="-100" width="15" height="201"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<point key="canvasLocation" x="-2" y="132"/>
</scrollView>
</objects>
<resources>

View File

@@ -386,6 +386,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
[self.inspectorViewController pickExpiryDate:sender];
}
- (void)showPluginData:(id)sender {
[self.inspectorViewController showPluginData:sender];
}
- (void)toggleInspector:(id)sender {
NSView *inspectorView = self.inspectorViewController.view;
BOOL inspectorWasVisible = [self _isInspectorVisible];

View File

@@ -15,31 +15,31 @@
@interface MPEntryInspectorViewController : MPViewController <NSPopoverDelegate, QLPreviewPanelDelegate>
@property (weak) IBOutlet NSSegmentedControl *infoTabControl;
/* General */
@property (weak) IBOutlet NSTabView *tabView;
@property (strong) IBOutlet NSView *generalView;
@property (weak) IBOutlet NSTextField *titleTextField;
@property (weak) IBOutlet NSTextField *usernameTextField;
@property (weak) IBOutlet NSTextField *URLTextField;
@property (weak) IBOutlet HNHUIRoundedSecureTextField *passwordTextField;
@property (weak) IBOutlet NSButton *generatePasswordButton;
@property (weak) IBOutlet NSButton *togglePassword;
@property (weak) IBOutlet NSButton *expiresCheckButton;
@property (weak) IBOutlet NSTokenField *tagsTokenField;
@property (weak) IBOutlet NSTextField *uuidTextField;
@property (weak) IBOutlet NSTextField *createdTextField;
@property (weak) IBOutlet NSTextField *modifiedTextField;
@property (weak) IBOutlet NSSegmentedControl *infoTabControl;
/* Attachments */
@property (weak) IBOutlet NSTableView *attachmentTableView;
@property (weak) IBOutlet NSTableView *customFieldsTableView;
@property (weak) IBOutlet NSTableView *pluginDataTableView;
@property (weak) IBOutlet NSButton *generatePasswordButton;
@property (weak) IBOutlet NSButton *togglePassword;
@property (weak) IBOutlet NSTabView *tabView;
@property (strong) IBOutlet NSView *generalView;
@property (strong) IBOutlet NSView *autotypView;
@property (weak) IBOutlet NSButton *expiresCheckButton;
@property (weak) IBOutlet NSTokenField *tagsTokenField;
/* Autotype */
@property (strong) IBOutlet NSView *autotypView;
@property (weak) IBOutlet NSButton *enableAutotypeCheckButton;
@property (weak) IBOutlet NSButton *obfuscateAutotypeCheckButton;
@property (weak) IBOutlet NSTableView *windowAssociationsTableView;
@@ -47,8 +47,6 @@
@property (weak) IBOutlet NSTextField *customEntrySequenceTextField;
@property (weak) IBOutlet NSComboBox *windowTitleComboBox;
@property (weak) IBOutlet NSButton *removeAssociationButton;
@property (weak) IBOutlet NSButton *addAssociationButton;
@property (weak) IBOutlet NSButton *showCustomAssociationSequenceAutotypeBuilderButton;
@property (weak) IBOutlet NSTextField *associationSequenceTextField;

View File

@@ -24,6 +24,7 @@
- (IBAction)pickIcon:(id)sender;
- (IBAction)pickExpiryDate:(id)sender;
- (IBAction)showPluginData:(id)sender;
/* Separate call to ensure all registered objects are in place */
- (void)registerNotificationsForDocument:(NSDocument *)document;

View File

@@ -15,6 +15,7 @@
#import "MPIconSelectViewController.h"
#import "MPNotifications.h"
#import "MPPopupImageView.h"
#import "MPPluginDataViewController.h"
#import "KeePassKit/KeePassKit.h"
@@ -169,33 +170,31 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
#pragma mark -
#pragma mark Popup
- (IBAction)pickIcon:(id)sender {
if(self.popover) {
return; // There is still a popover so do nothing
}
self.popover = [[NSPopover alloc] init];
self.popover.delegate = self;
self.popover.behavior = NSPopoverBehaviorTransient;
MPIconSelectViewController *vc = [[MPIconSelectViewController alloc] init];
vc.representedObject = self.representedObject;
vc.popover = self.popover;
vc.observer = self.windowController.document;
self.popover.contentViewController = vc;
[self.popover showRelativeToRect:NSZeroRect ofView:sender preferredEdge:NSMinYEdge];
NSAssert([sender isKindOfClass:[NSView class]], @"");
[self _popupViewController:[[MPIconSelectViewController alloc] init] atView:(NSView *)sender];
}
- (IBAction)pickExpiryDate:(id)sender {
NSAssert([sender isKindOfClass:[NSView class]], @"");
[self _popupViewController:[[MPDatePickingViewController alloc] init] atView:(NSView *)sender];
}
- (IBAction)showPluginData:(id)sender {
NSAssert([sender isKindOfClass:[NSView class]], @"");
[self _popupViewController:[[MPPluginDataViewController alloc] init] atView:(NSView *)sender];
}
- (void)_popupViewController:(MPViewController *)vc atView:(NSView *)view {
if(self.popover) {
return; // Popover still active, abort
}
NSAssert([sender isKindOfClass:[NSView class]], @"");
self.popover = [[NSPopover alloc] init];
self.popover.delegate = self;
self.popover.behavior = NSPopoverBehaviorTransient;
MPDatePickingViewController *vc = [[MPDatePickingViewController alloc] init];
vc.representedObject = self.representedObject;
vc.observer = self.windowController.document;
self.popover.contentViewController = vc;
[self.popover showRelativeToRect:NSZeroRect ofView:sender preferredEdge:NSMinYEdge];
[self.popover showRelativeToRect:NSZeroRect ofView:view preferredEdge:NSMinYEdge];
}

View File

@@ -8,6 +8,6 @@
#import "MPViewController.h"
@interface MPPluginDataViewController : MPViewController
@interface MPPluginDataViewController : MPViewController <NSTableViewDelegate>
@end

View File

@@ -8,15 +8,49 @@
#import "MPPluginDataViewController.h"
#import <KeePassKit/KeePassKit.h>
@interface MPPluginDataViewController ()
@property (nonatomic, readonly, assign) KPKNode *representedNode;
@property (strong) NSDictionaryController *pluginDataController;
@property (weak) IBOutlet NSTableView *pluginDataTabelView;
@end
@implementation MPPluginDataViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do view setup here.
- (NSString *)nibName {
return @"PluginDataView";
}
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self) {
_pluginDataController = [[NSDictionaryController alloc] init];
}
return self;
}
- (void)didLoadView {
[self.pluginDataController bind:NSContentDictionaryBinding toObject:self.representedObject withKeyPath:NSStringFromSelector(@selector(customData)) options:nil];
self.pluginDataTabelView.backgroundColor = [NSColor clearColor];
}
- (KPKNode *)representedNode {
if([self.representedObject isKindOfClass:[KPKNode class]]) {
return self.representedObject;
}
return nil;
}
- (IBAction)removeAllPluginData:(id)sender {
//
}
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
NSTableCellView *view = [tableView makeViewWithIdentifier:@"PluginCell" owner:self];
return view;
}
@end

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" 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="MPPluginDataViewController">
<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>

156
MacPass/PluginDataView.xib Normal file
View File

@@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="16D32" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="MPPluginDataViewController">
<connections>
<outlet property="pluginDataTabelView" destination="p6e-PR-zyQ" id="m0W-rb-98Y"/>
<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="287" height="474"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<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">
<rect key="frame" x="16" y="50" width="255" height="382"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="cgV-6Q-xC5">
<rect key="frame" x="1" y="1" width="253" height="380"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<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">
<rect key="frame" x="0.0" y="0.0" width="253" height="380"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn width="250" minWidth="40" maxWidth="1000" id="t3Y-fx-P5b">
<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="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="bG1-Sb-Xyp">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView identifier="PluginCell" id="UoX-me-pld" customClass="MPCustomFieldTableCellView">
<rect key="frame" x="1" y="1" width="250" height="54"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Cg8-mb-FyC">
<rect key="frame" x="3" y="10" width="206" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="22" id="QuX-qP-qVw"/>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="iEU-n3-paT"/>
</constraints>
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Value" drawsBackground="YES" id="mLw-O5-6D3" customClass="HNHUIRoundedTextFieldCell">
<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>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8Hg-PS-kMA">
<rect key="frame" x="1" y="40" width="250" height="14"/>
<constraints>
<constraint firstAttribute="height" constant="14" id="wzo-VS-eAU"/>
</constraints>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" placeholderString="Title" id="MaV-TP-92X">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="K3k-BF-ag9">
<rect key="frame" x="217" y="8" width="32" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="UXw-HR-Aqw"/>
</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">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
</subviews>
<constraints>
<constraint firstItem="K3k-BF-ag9" firstAttribute="leading" secondItem="Cg8-mb-FyC" secondAttribute="trailing" constant="8" symbolic="YES" id="2LT-aO-bSn"/>
<constraint firstItem="Cg8-mb-FyC" firstAttribute="top" secondItem="8Hg-PS-kMA" secondAttribute="bottom" constant="8" symbolic="YES" id="AtL-Ze-sts"/>
<constraint firstItem="8Hg-PS-kMA" firstAttribute="trailing" secondItem="K3k-BF-ag9" secondAttribute="trailing" id="EyH-Mn-Fws"/>
<constraint firstItem="K3k-BF-ag9" firstAttribute="centerY" secondItem="Cg8-mb-FyC" secondAttribute="centerY" id="Ezf-Xe-ezd"/>
<constraint firstAttribute="bottom" secondItem="Cg8-mb-FyC" secondAttribute="bottom" constant="10" id="FdC-nJ-7eE"/>
<constraint firstAttribute="trailing" secondItem="K3k-BF-ag9" secondAttribute="trailing" constant="1" id="Jff-VO-5Eg"/>
<constraint firstItem="8Hg-PS-kMA" firstAttribute="leading" secondItem="UoX-me-pld" secondAttribute="leading" constant="3" id="RSg-w1-r8L"/>
<constraint firstItem="Cg8-mb-FyC" firstAttribute="leading" secondItem="UoX-me-pld" secondAttribute="leading" constant="3" id="St3-S7-fdi"/>
<constraint firstItem="8Hg-PS-kMA" firstAttribute="top" secondItem="UoX-me-pld" secondAttribute="top" id="v9R-Sj-DN1"/>
</constraints>
<connections>
<outlet property="labelTextField" destination="8Hg-PS-kMA" id="9zM-LX-5fE"/>
<outlet property="removeButton" destination="K3k-BF-ag9" id="MBO-ax-DwG"/>
<outlet property="valueTextField" destination="Cg8-mb-FyC" id="JgY-zs-Bzi"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
</tableView>
</subviews>
</clipView>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="200" id="PWI-m3-nSC"/>
</constraints>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="x6X-UZ-xSg">
<rect key="frame" x="1" y="317" width="253" height="16"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="YJP-Wl-Ugv">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZhC-nS-vfd">
<rect key="frame" x="18" y="440" width="63" height="14"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Plugin data" id="unO-bO-8v0">
<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>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wUR-gA-36a">
<rect key="frame" x="186" y="18" width="81" height="25"/>
<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">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="removeAllPluginData:" target="-2" id="Yvv-T7-Rm6"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstItem="eUU-kx-L3U" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="16" id="0bJ-7Y-iro"/>
<constraint firstItem="ZhC-nS-vfd" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" symbolic="YES" id="5OY-SF-ogp"/>
<constraint firstItem="wUR-gA-36a" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="AbL-H3-ywA"/>
<constraint firstAttribute="trailing" secondItem="eUU-kx-L3U" secondAttribute="trailing" constant="16" id="O3U-xz-Dpz"/>
<constraint firstItem="wUR-gA-36a" firstAttribute="top" secondItem="eUU-kx-L3U" secondAttribute="bottom" constant="8" id="OpG-TS-qRP"/>
<constraint firstItem="ZhC-nS-vfd" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" symbolic="YES" id="Ped-Eg-aph"/>
<constraint firstAttribute="trailing" secondItem="wUR-gA-36a" secondAttribute="trailing" constant="20" symbolic="YES" id="U4G-Xy-gHa"/>
<constraint firstItem="eUU-kx-L3U" firstAttribute="top" secondItem="ZhC-nS-vfd" secondAttribute="bottom" constant="8" symbolic="YES" id="Z31-cy-f9g"/>
<constraint firstAttribute="bottom" secondItem="wUR-gA-36a" secondAttribute="bottom" constant="20" symbolic="YES" id="ohy-oM-biY"/>
</constraints>
<point key="canvasLocation" x="-159.5" y="130"/>
</customView>
</objects>
<resources>
<image name="NSRemoveTemplate" width="11" height="11"/>
</resources>
</document>