Compare commits
17 Commits
57dc3388d9
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 3fc740a421 | |||
| 1666294476 | |||
| f7740ccc46 | |||
| 8d3dc57168 | |||
| 825dc65f77 | |||
| 6620ef92c4 | |||
| 07e364853d | |||
| 0e4ce49241 | |||
| 178e2fb0fb | |||
| 986e730ab3 | |||
| 4864deba90 | |||
| 4f1f045eae | |||
| 339a449958 | |||
| 8699686cb2 | |||
| a78a22ce5f | |||
| 8c6ca92d0a | |||
| 76707c3966 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
.DS_Store
|
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [0.4.1.1]
|
||||||
|
- Bug fixes
|
||||||
|
|
||||||
## [0.4.1]
|
## [0.4.1]
|
||||||
- Better delimiter support
|
- Better delimiter support
|
||||||
- %LENS tag
|
- %LENS tag
|
||||||
|
|||||||
715
MainMenu.nib/designable.nib
generated
Normal file
715
MainMenu.nib/designable.nib
generated
Normal file
@@ -0,0 +1,715 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14113" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||||
|
<dependencies>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14113"/>
|
||||||
|
<plugIn identifier="com.apple.WebKitIBPlugin" version="14113"/>
|
||||||
|
<capability name="box content view" minToolsVersion="7.0"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="210"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application" customClass="NSObject">
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="446"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="207" userLabel="ScriptExecController" customClass="ScriptExecController">
|
||||||
|
<connections>
|
||||||
|
<outlet property="aboutMenuItem" destination="232" id="238"/>
|
||||||
|
<outlet property="dropletBox" destination="494" id="502"/>
|
||||||
|
<outlet property="dropletDropFilesLabel" destination="499" id="507"/>
|
||||||
|
<outlet property="dropletMessageTextField" destination="505" id="508"/>
|
||||||
|
<outlet property="dropletProgressIndicator" destination="496" id="504"/>
|
||||||
|
<outlet property="dropletShaderView" destination="519" id="w2q-dA-smc"/>
|
||||||
|
<outlet property="dropletWindow" destination="490" id="512"/>
|
||||||
|
<outlet property="hideMenuItem" destination="134" id="239"/>
|
||||||
|
<outlet property="openRecentMenuItem" destination="FvD-xH-BRz" id="V8D-h2-Uw1"/>
|
||||||
|
<outlet property="progressBarCancelButton" destination="206" id="299"/>
|
||||||
|
<outlet property="progressBarDetailsLabel" destination="290" id="300"/>
|
||||||
|
<outlet property="progressBarDetailsTriangle" destination="288" id="301"/>
|
||||||
|
<outlet property="progressBarIndicator" destination="204" id="298"/>
|
||||||
|
<outlet property="progressBarMessageTextField" destination="205" id="297"/>
|
||||||
|
<outlet property="progressBarTextView" destination="307" id="516"/>
|
||||||
|
<outlet property="progressBarWindow" destination="21" id="296"/>
|
||||||
|
<outlet property="quitMenuItem" destination="136" id="240"/>
|
||||||
|
<outlet property="textWindow" destination="216" id="dD5-aT-ujC"/>
|
||||||
|
<outlet property="textWindowCancelButton" destination="220" id="uuU-Xb-xDZ"/>
|
||||||
|
<outlet property="textWindowMessageTextField" destination="366" id="bT3-oV-9zc"/>
|
||||||
|
<outlet property="textWindowProgressIndicator" destination="230" id="AXd-F1-wQr"/>
|
||||||
|
<outlet property="textWindowTextView" destination="225" id="FZy-wJ-th1"/>
|
||||||
|
<outlet property="webView" destination="258" id="GEt-Hd-OFL"/>
|
||||||
|
<outlet property="webViewCancelButton" destination="251" id="i5n-LY-nJs"/>
|
||||||
|
<outlet property="webViewMessageTextField" destination="509" id="Unv-5h-E6P"/>
|
||||||
|
<outlet property="webViewProgressIndicator" destination="277" id="Hun-a2-4wC"/>
|
||||||
|
<outlet property="webViewWindow" destination="247" id="9lw-Pg-xRw"/>
|
||||||
|
<outlet property="windowMenu" destination="24" id="328"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="ProgressBarWindow" animationBehavior="default" id="21" userLabel="ProgressWindow">
|
||||||
|
<windowStyleMask key="styleMask" titled="YES" miniaturizable="YES" resizable="YES"/>
|
||||||
|
<rect key="contentRect" x="472" y="537" width="600" height="83"/>
|
||||||
|
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="878"/>
|
||||||
|
<value key="minSize" type="size" width="600" height="83"/>
|
||||||
|
<value key="maxSize" type="size" width="1200" height="83"/>
|
||||||
|
<view key="contentView" id="2">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="600" height="83"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<subviews>
|
||||||
|
<progressIndicator wantsLayer="YES" verticalHuggingPriority="750" maxValue="100" bezeled="NO" indeterminate="YES" style="bar" id="204">
|
||||||
|
<rect key="frame" x="18" y="27" width="472" height="20"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
|
</progressIndicator>
|
||||||
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" id="205">
|
||||||
|
<rect key="frame" x="18" y="55" width="565" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" lineBreakMode="clipping" sendsActionOnEndEditing="YES" baseWritingDirection="leftToRight" alignment="left" id="472">
|
||||||
|
<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>
|
||||||
|
<button verticalHuggingPriority="750" id="206">
|
||||||
|
<rect key="frame" x="500" y="20" width="86" height="32"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
|
||||||
|
<buttonCell key="cell" type="push" title="Quit" bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="473">
|
||||||
|
<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="207" id="215"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<button toolTip="Show details" horizontalHuggingPriority="750" verticalHuggingPriority="750" id="288">
|
||||||
|
<rect key="frame" x="20" y="10" width="13" height="13"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<buttonCell key="cell" type="disclosureTriangle" bezelStyle="disclosure" imagePosition="above" alignment="left" controlSize="small" borderStyle="border" inset="2" id="474">
|
||||||
|
<behavior key="behavior" pushIn="YES" changeBackground="YES" changeGray="YES" lightByContents="YES"/>
|
||||||
|
<font key="font" metaFont="smallSystem"/>
|
||||||
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleDetails:" target="207" id="303"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" id="290">
|
||||||
|
<rect key="frame" x="33" y="7" width="41" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Details" id="475">
|
||||||
|
<font key="font" metaFont="smallSystem"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<scrollView autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" id="304">
|
||||||
|
<rect key="frame" x="20" y="-203" width="555" height="202"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
|
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="2mm-QF-kpX">
|
||||||
|
<rect key="frame" x="1" y="1" width="553" height="200"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<textView editable="NO" importsGraphics="NO" richText="NO" verticallyResizable="YES" findStyle="panel" allowsDocumentBackgroundColorChange="YES" linkDetection="YES" id="307">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="553" height="200"/>
|
||||||
|
<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="553" height="200"/>
|
||||||
|
<size key="maxSize" width="555" height="10000000"/>
|
||||||
|
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="489"/>
|
||||||
|
</connections>
|
||||||
|
</textView>
|
||||||
|
</subviews>
|
||||||
|
</clipView>
|
||||||
|
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="481">
|
||||||
|
<rect key="frame" x="-100" y="-100" width="87" height="18"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</scroller>
|
||||||
|
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="0.39849624060150374" horizontal="NO" id="480">
|
||||||
|
<rect key="frame" x="323" y="1" width="15" height="200"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</scroller>
|
||||||
|
</scrollView>
|
||||||
|
</subviews>
|
||||||
|
</view>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="377"/>
|
||||||
|
</connections>
|
||||||
|
<point key="canvasLocation" x="87" y="313"/>
|
||||||
|
</window>
|
||||||
|
<menu title="MainMenu" systemMenu="main" id="29" userLabel="MainMenu">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Application" id="56">
|
||||||
|
<menu key="submenu" title="Application" systemMenu="apple" id="57">
|
||||||
|
<items>
|
||||||
|
<menuItem title="About" id="232">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="orderFrontStandardAboutPanel:" target="-2" id="237"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="233">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Preferences..." keyEquivalent="," id="reA-2d-BZ0">
|
||||||
|
<connections>
|
||||||
|
<action selector="menuItemSelected:" target="207" id="x6l-Tq-pHp"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Check for Updates..." keyEquivalent="u" id="jWa-5b-mBK" userLabel="Check for updates...">
|
||||||
|
<connections>
|
||||||
|
<action selector="menuItemSelected:" target="207" id="VBb-a8-Cku"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Services" id="235">
|
||||||
|
<menu key="submenu" title="Services" systemMenu="services" id="234"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="236">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Hide" keyEquivalent="h" id="134">
|
||||||
|
<connections>
|
||||||
|
<action selector="hide:" target="-2" id="152"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Hide Others" keyEquivalent="h" id="145">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="hideOtherApplications:" target="-2" id="146"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Show All" id="150">
|
||||||
|
<connections>
|
||||||
|
<action selector="unhideAllApplications:" target="-2" id="153"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="149">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Quit" keyEquivalent="q" id="136">
|
||||||
|
<connections>
|
||||||
|
<action selector="terminate:" target="-2" id="139"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="File" id="83">
|
||||||
|
<menu key="submenu" title="File" id="81">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Open…" keyEquivalent="o" id="72">
|
||||||
|
<connections>
|
||||||
|
<action selector="openFiles:" target="207" id="524"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Open Recent" id="FvD-xH-BRz">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="QHk-NS-To3">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Clear Menu" id="CWw-N0-5lz">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="79">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Close" keyEquivalent="w" id="73">
|
||||||
|
<connections>
|
||||||
|
<action selector="performClose:" target="-1" id="193"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Save to File…" keyEquivalent="s" id="75">
|
||||||
|
<connections>
|
||||||
|
<action selector="saveToFile:" target="207" id="523"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="74">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Page Setup…" keyEquivalent="P" id="77">
|
||||||
|
<connections>
|
||||||
|
<action selector="runPageLayout:" target="-1" id="87"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Print…" keyEquivalent="p" id="78">
|
||||||
|
<connections>
|
||||||
|
<action selector="print:" target="-1" id="86"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Edit" id="OYz-zT-LAM">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Edit" id="gbe-PM-Daj">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Undo" keyEquivalent="z" id="6BN-ih-O2m">
|
||||||
|
<connections>
|
||||||
|
<action selector="undo:" target="-1" id="oH0-3R-wus"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Redo" keyEquivalent="z" id="TgQ-5S-p2w">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="redo:" target="-1" id="bxh-7G-6rR"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="ktb-NS-TU3"/>
|
||||||
|
<menuItem title="Cut" keyEquivalent="x" id="yLq-sd-YR5">
|
||||||
|
<connections>
|
||||||
|
<action selector="cut:" target="-1" id="46i-iL-VLK"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Copy" keyEquivalent="c" id="s3v-O1-6pA">
|
||||||
|
<connections>
|
||||||
|
<action selector="copy:" target="-1" id="jxG-ij-fh7"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Paste" keyEquivalent="v" id="6Ld-ut-13f">
|
||||||
|
<connections>
|
||||||
|
<action selector="paste:" target="-1" id="PGw-sA-Gma"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Paste and Match Style" keyEquivalent="V" id="GyB-HZ-4kH">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="pasteAsPlainText:" target="-1" id="AlS-iZ-R4l"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Delete" id="YkA-TP-1J9">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="delete:" target="-1" id="cE3-5v-CP0"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Select All" keyEquivalent="a" id="z4j-fk-SUb">
|
||||||
|
<connections>
|
||||||
|
<action selector="selectAll:" target="-1" id="eM9-h9-WVo"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="FXg-ZR-vZj"/>
|
||||||
|
<menuItem title="Find" id="amO-Yt-228">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Find" id="9XE-hK-Hbc">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Find…" tag="1" keyEquivalent="f" id="yA2-y8-dhZ">
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="-1" id="zqc-0l-nEk"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="ceF-be-hip">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="-1" id="Fno-81-Q2N"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="6FX-CW-rwT">
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="-1" id="AeZ-8e-DSZ"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="kIR-xV-7pl">
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="-1" id="ALM-eS-1XU"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="yTY-2E-Cp9">
|
||||||
|
<connections>
|
||||||
|
<action selector="performFindPanelAction:" target="-1" id="Gbj-g6-cYJ"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Jump to Selection" keyEquivalent="j" id="80n-rn-d7I">
|
||||||
|
<connections>
|
||||||
|
<action selector="centerSelectionInVisibleArea:" target="-1" id="qfH-cs-Cdv"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Spelling and Grammar" id="uWG-xr-cNT">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Spelling" id="Xoa-7u-7zM">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="rZl-3I-YFV">
|
||||||
|
<connections>
|
||||||
|
<action selector="showGuessPanel:" target="-1" id="CSh-4b-cGc"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Check Document Now" keyEquivalent=";" id="tjk-pc-YjK">
|
||||||
|
<connections>
|
||||||
|
<action selector="checkSpelling:" target="-1" id="O3S-v5-8Ra"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="ohv-rn-e7b"/>
|
||||||
|
<menuItem title="Check Spelling While Typing" id="E3o-iC-0NO">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleContinuousSpellChecking:" target="-1" id="k4Q-aZ-O6y"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Check Grammar With Spelling" id="mUP-Jd-Tu1">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleGrammarChecking:" target="-1" id="Ypd-WC-IMS"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Correct Spelling Automatically" id="qq3-jk-TYN">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticSpellingCorrection:" target="-1" id="Ob8-wh-bLR"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Substitutions" id="8Ti-fk-PNH">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Substitutions" id="NeW-07-aln">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Show Substitutions" id="DXm-9z-Sle">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="orderFrontSubstitutionsPanel:" target="-1" id="z43-IC-kpA"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="aVP-JA-dKq"/>
|
||||||
|
<menuItem title="Smart Copy/Paste" id="Pcq-B9-JQ5">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleSmartInsertDelete:" target="-1" id="iu4-Nn-DU4"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Smart Quotes" id="iDT-WP-ISR">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="pnI-ku-LV9"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Smart Dashes" id="QFc-JW-5qE">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticDashSubstitution:" target="-1" id="pY9-lv-EM7"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Smart Links" id="opP-BJ-vhR">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticLinkDetection:" target="-1" id="lfD-XD-tfO"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Data Detectors" id="zWu-P7-fpg">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticDataDetection:" target="-1" id="EAz-S6-L7B"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Text Replacement" id="2R8-fL-H32">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="toggleAutomaticTextReplacement:" target="-1" id="7Lb-Uz-uJ9"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Transformations" id="v1A-Fi-A5j">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Transformations" id="B0B-bK-IZ3">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Make Upper Case" id="1P0-qI-ZAM">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="uppercaseWord:" target="-1" id="cre-Qh-bSZ"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Make Lower Case" id="sK6-Xl-9uz">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="lowercaseWord:" target="-1" id="qid-xu-iAw"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Capitalize" id="zvd-g7-rwM">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="capitalizeWord:" target="-1" id="0tj-lN-nE0"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Speech" id="bsj-0j-07E">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<menu key="submenu" title="Speech" id="r3p-Q2-qJZ">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Start Speaking" id="8Hl-RR-cUq">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="startSpeaking:" target="-1" id="Zbb-Tp-HBE"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Stop Speaking" id="SLa-Tk-XGJ">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="stopSpeaking:" target="-1" id="Oyc-KO-3qC"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="View" id="KUk-6o-tke">
|
||||||
|
<menu key="submenu" title="View" id="ITS-DI-OJD">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Make Text Bigger" keyEquivalent="+" id="Qae-cV-V7J">
|
||||||
|
<connections>
|
||||||
|
<action selector="makeTextBigger:" target="207" id="cHK-EO-JtV"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Make Text Smaller" keyEquivalent="-" id="Gv4-oc-1eL">
|
||||||
|
<connections>
|
||||||
|
<action selector="makeTextSmaller:" target="207" id="JTY-6k-ZKY"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Window" id="19">
|
||||||
|
<menu key="submenu" title="Window" systemMenu="window" id="24">
|
||||||
|
<items>
|
||||||
|
<menuItem title="Zoom" keyEquivalent="z" id="197">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
|
||||||
|
<connections>
|
||||||
|
<action selector="performZoom:" target="-1" id="198"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Minimize" keyEquivalent="m" id="23">
|
||||||
|
<connections>
|
||||||
|
<action selector="performMiniaturize:" target="-1" id="37"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem isSeparatorItem="YES" id="322">
|
||||||
|
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||||
|
</menuItem>
|
||||||
|
<menuItem title="Bring All to Front" id="5">
|
||||||
|
<connections>
|
||||||
|
<action selector="arrangeInFront:" target="-1" id="39"/>
|
||||||
|
</connections>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
</menu>
|
||||||
|
</menuItem>
|
||||||
|
</items>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="525"/>
|
||||||
|
</connections>
|
||||||
|
<point key="canvasLocation" x="36" y="0.0"/>
|
||||||
|
</menu>
|
||||||
|
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="TextWindow" animationBehavior="default" id="216" userLabel="TextOutputWindow">
|
||||||
|
<windowStyleMask key="styleMask" titled="YES" miniaturizable="YES" resizable="YES"/>
|
||||||
|
<rect key="contentRect" x="297" y="408" width="580" height="420"/>
|
||||||
|
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="878"/>
|
||||||
|
<value key="minSize" type="size" width="400" height="200"/>
|
||||||
|
<view key="contentView" id="217">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="580" height="420"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<subviews>
|
||||||
|
<button verticalHuggingPriority="750" id="220">
|
||||||
|
<rect key="frame" x="488" y="7" width="86" height="32"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||||
|
<buttonCell key="cell" type="push" title="Quit" bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="476">
|
||||||
|
<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="207" id="223"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<scrollView autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" id="226">
|
||||||
|
<rect key="frame" x="9" y="45" width="561" height="367"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="Hk1-72-Owa">
|
||||||
|
<rect key="frame" x="1" y="1" width="559" height="365"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<subviews>
|
||||||
|
<textView editable="NO" importsGraphics="NO" richText="NO" verticallyResizable="YES" usesFontPanel="YES" findStyle="panel" allowsDocumentBackgroundColorChange="YES" linkDetection="YES" id="225">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="559" height="365"/>
|
||||||
|
<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="559" height="365"/>
|
||||||
|
<size key="maxSize" width="561" height="10000000"/>
|
||||||
|
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="488"/>
|
||||||
|
</connections>
|
||||||
|
</textView>
|
||||||
|
</subviews>
|
||||||
|
</clipView>
|
||||||
|
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="483">
|
||||||
|
<rect key="frame" x="-100" y="-100" width="87" height="18"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</scroller>
|
||||||
|
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="482">
|
||||||
|
<rect key="frame" x="-30" y="1" width="15" height="340"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</scroller>
|
||||||
|
</scrollView>
|
||||||
|
<progressIndicator horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" id="230">
|
||||||
|
<rect key="frame" x="15" y="18" width="16" height="16"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
|
</progressIndicator>
|
||||||
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" id="366">
|
||||||
|
<rect key="frame" x="43" y="17" width="429" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" id="477">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
</subviews>
|
||||||
|
</view>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="376"/>
|
||||||
|
</connections>
|
||||||
|
<point key="canvasLocation" x="-478" y="370"/>
|
||||||
|
</window>
|
||||||
|
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="WebViewWindow" animationBehavior="default" id="247" userLabel="WebOutputWindow">
|
||||||
|
<windowStyleMask key="styleMask" titled="YES" miniaturizable="YES" resizable="YES"/>
|
||||||
|
<rect key="contentRect" x="297" y="408" width="580" height="420"/>
|
||||||
|
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="878"/>
|
||||||
|
<value key="minSize" type="size" width="400" height="200"/>
|
||||||
|
<view key="contentView" id="248">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="580" height="420"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<subviews>
|
||||||
|
<button verticalHuggingPriority="750" id="251">
|
||||||
|
<rect key="frame" x="485" y="6" width="86" height="32"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||||
|
<buttonCell key="cell" type="push" title="Quit" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" inset="2" id="478">
|
||||||
|
<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="207" id="267"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<box boxType="oldStyle" borderType="line" titlePosition="noTitle" id="257">
|
||||||
|
<rect key="frame" x="8" y="45" width="563" height="367"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<view key="contentView" id="X4z-hY-QR7">
|
||||||
|
<rect key="frame" x="1" y="1" width="561" height="365"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<webView maintainsBackForwardList="NO" id="258" customClass="STDragWebView">
|
||||||
|
<rect key="frame" x="-1" y="0.0" width="562" height="365"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<webPreferences key="preferences" defaultFontSize="12" defaultFixedFontSize="12">
|
||||||
|
<nil key="identifier"/>
|
||||||
|
</webPreferences>
|
||||||
|
<connections>
|
||||||
|
<outlet property="UIDelegate" destination="207" id="378"/>
|
||||||
|
<outlet property="downloadDelegate" destination="207" id="382"/>
|
||||||
|
<outlet property="dragDelegate" destination="207" id="kaI-rz-1Ps"/>
|
||||||
|
<outlet property="frameLoadDelegate" destination="207" id="381"/>
|
||||||
|
<outlet property="policyDelegate" destination="207" id="380"/>
|
||||||
|
<outlet property="resourceLoadDelegate" destination="207" id="379"/>
|
||||||
|
</connections>
|
||||||
|
</webView>
|
||||||
|
</subviews>
|
||||||
|
</view>
|
||||||
|
</box>
|
||||||
|
<progressIndicator horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" id="277">
|
||||||
|
<rect key="frame" x="16" y="15" width="16" height="16"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
|
</progressIndicator>
|
||||||
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" id="509">
|
||||||
|
<rect key="frame" x="37" y="14" width="429" height="17"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" id="510">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
</subviews>
|
||||||
|
</view>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="375"/>
|
||||||
|
</connections>
|
||||||
|
</window>
|
||||||
|
<window title="Droplet" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" visibleAtLaunch="NO" frameAutosaveName="DropletWindow" animationBehavior="default" id="490" userLabel="DropletWindow">
|
||||||
|
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||||
|
<rect key="contentRect" x="157" y="273" width="294" height="280"/>
|
||||||
|
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="878"/>
|
||||||
|
<view key="contentView" id="491">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="294" height="280"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<subviews>
|
||||||
|
<textField hidden="YES" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" id="519">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="294" height="280"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" enabled="NO" allowsUndo="NO" sendsActionOnEndEditing="YES" drawsBackground="YES" id="520">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<box autoresizesSubviews="NO" borderType="line" titlePosition="noTitle" id="494">
|
||||||
|
<rect key="frame" x="17" y="16" width="260" height="246"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<view key="contentView" id="q0i-G4-K1a">
|
||||||
|
<rect key="frame" x="1" y="1" width="258" height="244"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<progressIndicator wantsLayer="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" style="spinning" id="496">
|
||||||
|
<rect key="frame" x="112" y="128" width="32" height="32"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
</progressIndicator>
|
||||||
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" id="499">
|
||||||
|
<rect key="frame" x="92" y="112" width="71" height="34"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" alignment="center" title="Drop files here" id="500">
|
||||||
|
<font key="font" metaFont="system"/>
|
||||||
|
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textFieldCell>
|
||||||
|
</textField>
|
||||||
|
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" id="505">
|
||||||
|
<rect key="frame" x="18" y="44" width="218" height="76"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="center" id="506">
|
||||||
|
<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>
|
||||||
|
</subviews>
|
||||||
|
</view>
|
||||||
|
</box>
|
||||||
|
</subviews>
|
||||||
|
</view>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="207" id="RFt-L5-f73"/>
|
||||||
|
</connections>
|
||||||
|
<point key="canvasLocation" x="608" y="262"/>
|
||||||
|
</window>
|
||||||
|
</objects>
|
||||||
|
</document>
|
||||||
BIN
MainMenu.nib/keyedobjects.nib
generated
Normal file
BIN
MainMenu.nib/keyedobjects.nib
generated
Normal file
Binary file not shown.
36
README.md
36
README.md
@@ -1,41 +1,39 @@
|
|||||||
<img align="left" src="" style="float: left; margin-right: 30px;" width="120">
|
<img align='left' src='icon.iconset/icon_512x512.png' width='128'>
|
||||||
|
|
||||||
# Rollup
|
# Rollup
|
||||||
|
|
||||||
**Rollup** is a tool for renaming image files based on their EXIF tags. It was originally written to improve the arbitrary filenames in the iPhone Camera Roll.
|
**Rollup** is a tool for renaming image files based on their EXIF tags. It was originally written to improve the arbitrary filenames in the iPhone Camera Roll.
|
||||||
|
|
||||||
* **⇩ [Download Latest Version](https://www.profiteroles.org/git/profiteroles/Rollup/raw/master/Rollup.app.zip)**
|
####[⇩ Download Rollup 0.4.1.1](https://git1.profiteroles.org/p/Rollup/raw/master/Rollup.app.zip) ([Changelog](CHANGELOG.md))
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
* Recursive directory scanning
|
* Recursive directory scanning
|
||||||
|
* Reverse Geocoding
|
||||||
* Custom rename template
|
* Custom rename template
|
||||||
* Reverse geocoding (lookup place name from GPS coordinates)
|
|
||||||
|
|
||||||
## Available tags
|
## Available tags
|
||||||
|
|
||||||
**%FILE** The original filename
|
| Option | Description |
|
||||||
**%EXT** The original file extension
|
| :------| :-----------|
|
||||||
**%DTO** Timestamp (with fallback to file modification date)
|
| **%FILE** | The original filename |
|
||||||
**%DUR** Video Duration (formatted)
|
| **%DTO** | Timestamp (with fallback to file modification date) |
|
||||||
**%SW** Software (formatted)
|
| **%DUR** | Video Duration (formatted) |
|
||||||
**%MODEL** Digital Camera Model
|
| **%SW** | Software (formatted) |
|
||||||
**%LENS** Lens (formatted)
|
| **%MODEL** | Digital Camera Model |
|
||||||
**%PLACE** Formatted location (from GPS coordinates)
|
| **%LENS** | Lens (formatted) |
|
||||||
|
| **%PLACE** | Formatted location (from GPS coordinates) |
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
<img src="/git/profiteroles/Rollup/raw/master/screenshot_1.png" width="500">
|
<img src='screenshot_1.png' width='552'>
|
||||||
<img src="/git/profiteroles/Rollup/raw/master/screenshot_2.png" width="1000">
|
<img src='screenshot_2.png' width='1079'>
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
Running Rollup requires disabling Gatekeeper by running `sudo spctl --master-disable` in the Terminal.
|
- Running Rollup may require disabling Gatekeeper by running `sudo spctl --master-disable` in the Terminal
|
||||||
The following characters are currently supported as delimiters: " ","_","-","+"
|
- Reverse Geocoding requires a valid Google API key. As of 2018, Google requires a paid account for access to the places database. Although a valid credit card is required to create the account, only massive searches incur fees. More here: https://developers.google.com/maps/documentation/geocoding/start
|
||||||
|
- The following characters are currently supported as delimiters: ' ','_','-','+'
|
||||||
## Changelog
|
|
||||||
|
|
||||||
https://www.profiteroles.org/git/profiteroles/Rollup/src/master/CHANGELOG.md
|
|
||||||
|
|
||||||
## Building from source
|
## Building from source
|
||||||
|
|
||||||
|
|||||||
BIN
Rollup.app.zip
BIN
Rollup.app.zip
Binary file not shown.
15
Rollup.php
15
Rollup.php
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// Rollup
|
// Rollup
|
||||||
|
|
||||||
$version = file_get_contents(__DIR__."/version.txt");
|
$version = file_get_contents(__DIR__."/current_version.txt");
|
||||||
|
|
||||||
// Includes
|
// Includes
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ if (!file_exists($prefs_file)) {
|
|||||||
}
|
}
|
||||||
$p = unserialize(file_get_contents($prefs_file));
|
$p = unserialize(file_get_contents($prefs_file));
|
||||||
|
|
||||||
$p['etbin'] = __DIR__."/exiftool";
|
$p['etbin'] = __DIR__."/bin/exiftool";
|
||||||
$p['pfiletypes'] = array("jpg","jpeg","dng","heic","png","gif");
|
$p['pfiletypes'] = array("jpg","jpeg","dng","heic","png","gif");
|
||||||
$p['vfiletypes'] = array("mov","mp4","m4v");
|
$p['vfiletypes'] = array("mov","mp4","m4v");
|
||||||
$p['screenshot_dims'] = array(320,640,750,828,1125,1242);
|
$p['screenshot_dims'] = array(320,640,750,828,1125,1242);
|
||||||
@@ -41,14 +41,14 @@ switch (@$argv[0]) {
|
|||||||
}
|
}
|
||||||
die;
|
die;
|
||||||
case "Check for Updates...":
|
case "Check for Updates...":
|
||||||
$curr_version = @file_get_contents("https://www.profiteroles.org/git/profiteroles/Rollup/raw/master/version.txt");
|
$curr_version = file_get_contents("https://www.profiteroles.org/git/p/Rollup/raw/master/current_version.txt");
|
||||||
if (!$curr_version) {
|
if (!$curr_version) {
|
||||||
echo "\nALERT:Can't connect|Error checking for latest version\n";
|
echo "\nALERT:Can't connect|Error checking for latest version\n";
|
||||||
die;
|
die;
|
||||||
}
|
}
|
||||||
if ($curr_version > $version) {
|
if ($curr_version > $version) {
|
||||||
if(askMulti("Rollup ".$curr_version." is available (you have ".$version.")", array("Cancel","Download")) == 1) {
|
if(askMulti("Rollup ".$curr_version." is available (you have ".$version.")", array("Cancel","Download")) == 1) {
|
||||||
exec("open https://www.profiteroles.org/git/profiteroles/Rollup");
|
exec("open https://www.profiteroles.org/git/p/Rollup");
|
||||||
echo "QUITAPP\n";
|
echo "QUITAPP\n";
|
||||||
} else {
|
} else {
|
||||||
die;
|
die;
|
||||||
@@ -57,6 +57,9 @@ switch (@$argv[0]) {
|
|||||||
echo "\nALERT:Up-to-date|".$version." is the latest version.\n";
|
echo "\nALERT:Up-to-date|".$version." is the latest version.\n";
|
||||||
die;
|
die;
|
||||||
}
|
}
|
||||||
|
case null:
|
||||||
|
echo "No input";
|
||||||
|
die;
|
||||||
}
|
}
|
||||||
|
|
||||||
// API key check
|
// API key check
|
||||||
@@ -133,9 +136,9 @@ foreach ($files as $file) {
|
|||||||
// The following is a fairly lame hack
|
// The following is a fairly lame hack
|
||||||
|
|
||||||
foreach ($p['delimiters'] as $char) {
|
foreach ($p['delimiters'] as $char) {
|
||||||
$d_a[] = $char;
|
|
||||||
$d_a[] = $char.$char;
|
|
||||||
$d_a[] = $char.$char.$char;
|
$d_a[] = $char.$char.$char;
|
||||||
|
$d_a[] = $char.$char;
|
||||||
|
$d_a[] = $char;
|
||||||
$d_b[] = $char;
|
$d_b[] = $char;
|
||||||
$d_b[] = $char;
|
$d_b[] = $char;
|
||||||
$d_b[] = $char;
|
$d_b[] = $char;
|
||||||
|
|||||||
70
Rollup.platypus
Normal file
70
Rollup.platypus
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>AcceptsFiles</key>
|
||||||
|
<true/>
|
||||||
|
<key>AcceptsText</key>
|
||||||
|
<false/>
|
||||||
|
<key>Authentication</key>
|
||||||
|
<false/>
|
||||||
|
<key>Author</key>
|
||||||
|
<string>profiteroles</string>
|
||||||
|
<key>BundledFiles</key>
|
||||||
|
<array>
|
||||||
|
<string>/Volumes/Code/Rollup/bin</string>
|
||||||
|
<string>/Volumes/Code/Rollup/master/current_version.txt</string>
|
||||||
|
<string>/Volumes/Code/Rollup/master/functions.php</string>
|
||||||
|
<string>/Volumes/Code/Rollup/master/Rollup.php</string>
|
||||||
|
<string>/Volumes/Code/Rollup/master/RollupPrefs.php</string>
|
||||||
|
<string>/Volumes/Code/Rollup/master/prefs.php</string>
|
||||||
|
</array>
|
||||||
|
<key>Creator</key>
|
||||||
|
<string>Platypus-5.3</string>
|
||||||
|
<key>DeclareService</key>
|
||||||
|
<false/>
|
||||||
|
<key>DevelopmentVersion</key>
|
||||||
|
<false/>
|
||||||
|
<key>Droppable</key>
|
||||||
|
<true/>
|
||||||
|
<key>IconPath</key>
|
||||||
|
<string>/Volumes/Code/Rollup/master/icon.icns</string>
|
||||||
|
<key>Identifier</key>
|
||||||
|
<string>org.profiteroles.Rollup</string>
|
||||||
|
<key>InterfaceType</key>
|
||||||
|
<string>Progress Bar</string>
|
||||||
|
<key>InterpreterPath</key>
|
||||||
|
<string>/usr/bin/php</string>
|
||||||
|
<key>Name</key>
|
||||||
|
<string>Rollup</string>
|
||||||
|
<key>NibPath</key>
|
||||||
|
<string>/Volumes/Code/Rollup/master/MainMenu.nib</string>
|
||||||
|
<key>OptimizeApplication</key>
|
||||||
|
<true/>
|
||||||
|
<key>Overwrite</key>
|
||||||
|
<false/>
|
||||||
|
<key>PromptForFileOnLaunch</key>
|
||||||
|
<false/>
|
||||||
|
<key>RemainRunning</key>
|
||||||
|
<true/>
|
||||||
|
<key>RunInBackground</key>
|
||||||
|
<false/>
|
||||||
|
<key>ScriptPath</key>
|
||||||
|
<string>/Volumes/Code/Rollup/master/script</string>
|
||||||
|
<key>TextBackground</key>
|
||||||
|
<string>#ffffff</string>
|
||||||
|
<key>TextFont</key>
|
||||||
|
<string>Monaco</string>
|
||||||
|
<key>TextForeground</key>
|
||||||
|
<string>#000000</string>
|
||||||
|
<key>TextSize</key>
|
||||||
|
<real>13</real>
|
||||||
|
<key>UniformTypes</key>
|
||||||
|
<array>
|
||||||
|
<string>public.item</string>
|
||||||
|
<string>public.folder</string>
|
||||||
|
</array>
|
||||||
|
<key>Version</key>
|
||||||
|
<string>0.0.0.0</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -90,7 +90,7 @@ $p = unserialize(file_get_contents($prefs_file));
|
|||||||
|
|
||||||
// Launch Pashua and parse results
|
// Launch Pashua and parse results
|
||||||
|
|
||||||
$path = __DIR__."/Pashua.app/Contents/MacOS/Pashua";
|
$path = __DIR__."/bin/Pashua.app/Contents/MacOS/Pashua";
|
||||||
$raw = shell_exec("echo ".escapeshellarg(makeWindowString($p))." | ".escapeshellarg($path)." - ");
|
$raw = shell_exec("echo ".escapeshellarg(makeWindowString($p))." | ".escapeshellarg($path)." - ");
|
||||||
$result = array();
|
$result = array();
|
||||||
foreach (explode("\n", $raw) as $line) {
|
foreach (explode("\n", $raw) as $line) {
|
||||||
|
|||||||
1
current_version.txt
Normal file
1
current_version.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
0.4.1.1
|
||||||
@@ -1 +1 @@
|
|||||||
a:8:{s:7:"allowed";a:8:{i:0;s:3:"jpg";i:1;s:4:"jpeg";i:2;s:3:"png";i:3;s:3:"mov";i:4;s:3:"mp4";i:5;s:3:"m4v";i:6;s:3:"dng";i:7;s:4:"heic";}s:5:"limit";i:2000;s:9:"maxlength";i:30;s:6:"review";i:1;s:2:"pt";s:33:"%DTO_%MODEL_%PLACE_%SW_%FILE.%EXT";s:2:"vt";s:31:"%DTO_%DUR_%PLACE_%SW_%FILE.%EXT";s:3:"key";s:0:"";s:7:"dry_run";i:1;}
|
a:7:{s:7:"allowed";a:8:{i:0;s:3:"jpg";i:1;s:4:"jpeg";i:2;s:3:"png";i:3;s:3:"mov";i:4;s:3:"mp4";i:5;s:3:"m4v";i:6;s:3:"dng";i:7;s:4:"heic";}s:5:"limit";i:2000;s:9:"maxlength";i:30;s:2:"pt";s:33:"%DTO_%MODEL_%PLACE_%SW_%FILE.%EXT";s:2:"vt";s:31:"%DTO_%DUR_%PLACE_%SW_%FILE.%EXT";s:3:"key";s:0:"";s:7:"dry_run";i:1;}
|
||||||
@@ -1 +0,0 @@
|
|||||||
0.4.1
|
|
||||||
Reference in New Issue
Block a user