Skip to content

Commit 8bf2217

Browse files
committed
Add shortcuts to copy functions, see issue #1
Edit build phases to automatically install the color picker when building.
1 parent 6588030 commit 8bf2217

File tree

4 files changed

+45
-26
lines changed

4 files changed

+45
-26
lines changed

Color Picker Plus.xcodeproj/project.pbxproj

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
344AA57720DFEBEA0045C7B2 /* Color Picker Plus.colorPicker in CopyFiles */ = {isa = PBXBuildFile; fileRef = 3491077020D13DDC0058E50D /* Color Picker Plus.colorPicker */; };
1011
34509CE420D328C400CF78C0 /* RGB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34509CE320D328C400CF78C0 /* RGB.swift */; };
1112
34509CE620D3293500CF78C0 /* HSV.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34509CE520D3293500CF78C0 /* HSV.swift */; };
1213
34509CEA20D3ADDF00CF78C0 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34509CE920D3ADDF00CF78C0 /* Logger.swift */; };
@@ -18,6 +19,19 @@
1819
34BC620F20D27DA90093CCFC /* CurrentColorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34BC620E20D27DA90093CCFC /* CurrentColorView.swift */; };
1920
/* End PBXBuildFile section */
2021

22+
/* Begin PBXCopyFilesBuildPhase section */
23+
344AA57620DFEBB00045C7B2 /* CopyFiles */ = {
24+
isa = PBXCopyFilesBuildPhase;
25+
buildActionMask = 2147483647;
26+
dstPath = "~/Library/ColorPickers";
27+
dstSubfolderSpec = 0;
28+
files = (
29+
344AA57720DFEBEA0045C7B2 /* Color Picker Plus.colorPicker in CopyFiles */,
30+
);
31+
runOnlyForDeploymentPostprocessing = 0;
32+
};
33+
/* End PBXCopyFilesBuildPhase section */
34+
2135
/* Begin PBXFileReference section */
2236
34509CE320D328C400CF78C0 /* RGB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RGB.swift; sourceTree = "<group>"; };
2337
34509CE520D3293500CF78C0 /* HSV.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HSV.swift; sourceTree = "<group>"; };
@@ -94,6 +108,7 @@
94108
3491076C20D13DDC0058E50D /* Sources */,
95109
3491076D20D13DDC0058E50D /* Frameworks */,
96110
3491076E20D13DDC0058E50D /* Resources */,
111+
344AA57620DFEBB00045C7B2 /* CopyFiles */,
97112
);
98113
buildRules = (
99114
);

Color Picker Plus/ColorPickerPlus.swift

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,10 @@ public class ColorPickerPlus: NSColorPicker, NSColorPickingCustom {
5252
Logger.error(message: "Could not find nib named \(pickerNibName)")
5353
fatalError()
5454
}
55-
55+
5656
radioHue.state = NSControl.StateValue.on
57-
58-
colorGraphicsView.delegate = self
5957

58+
colorGraphicsView.delegate = self
6059
}
6160

6261
return pickerView
@@ -330,26 +329,31 @@ extension ColorPickerPlus: ChangeColorDelegate {
330329
let copyMenu = copyPopUp.menu!
331330

332331
copyMenu.addItem(withTitle: "Copy", action: nil, keyEquivalent: "")
333-
copyMenu.addItem(withTitle: "HEX - #\(rgb.toHEX())", action: nil, keyEquivalent: "")
334-
copyMenu.addItem(withTitle: "RGB - \(txtRed.stringValue), \(txtGreen.stringValue), \(txtBlue.stringValue)", action: nil, keyEquivalent: "")
335-
copyMenu.addItem(withTitle: "Float RGB - \(floatR), \(floatG), \(floatB)", action: nil, keyEquivalent: "")
336-
copyMenu.addItem(withTitle: "HSV - \(txtHue.stringValue), \(txtSaturation.stringValue), \(txtBrightness.stringValue)", action: nil, keyEquivalent: "")
332+
333+
copyMenu.addItem(withTitle: "HEX - #\(rgb.toHEX())", action: nil, keyEquivalent: "c")
334+
335+
copyMenu.addItem(withTitle: "RGB - \(txtRed.stringValue), \(txtGreen.stringValue), \(txtBlue.stringValue)", action: nil, keyEquivalent: "r")
336+
337+
copyMenu.addItem(withTitle: "Float RGB - \(floatR), \(floatG), \(floatB)", action: nil, keyEquivalent: "R")
338+
339+
copyMenu.addItem(withTitle: "HSV - \(txtHue.stringValue), \(txtSaturation.stringValue), \(txtBrightness.stringValue)", action: nil, keyEquivalent: "H")
337340

338341
copyMenu.addItem(NSMenuItem.separator())
339342

340-
copyMenu.addItem(withTitle: "Web RGB - rgb(\(txtRed.stringValue), \(txtGreen.stringValue), \(txtBlue.stringValue))",
341-
action: nil, keyEquivalent: "")
342-
copyMenu.addItem(withTitle: "Web RGBa - rgba(\(txtRed.stringValue), \(txtGreen.stringValue), \(txtBlue.stringValue), \(txtAlpha.stringValue))", action: nil, keyEquivalent: "")
343-
copyMenu.addItem(withTitle: "Web HSL - hsl(\(txtHue.stringValue), \(txtSaturation.stringValue)%, \(txtBrightness.stringValue)%)", action: nil, keyEquivalent: "")
344-
345-
/*copyPopUp.addItems(withTitles: [
346-
,
347-
,
348-
,
349-
,
350-
,
351-
352-
])*/
343+
let webRGBItem = NSMenuItem(title: "Web RGB - rgb(\(txtRed.stringValue), \(txtGreen.stringValue), \(txtBlue.stringValue))", action: nil, keyEquivalent: "w")
344+
webRGBItem.keyEquivalentModifierMask = [.command, .option]
345+
346+
copyMenu.addItem(webRGBItem)
347+
348+
let webRGBaItem = NSMenuItem(title: "Web RGBa - rgba(\(txtRed.stringValue), \(txtGreen.stringValue), \(txtBlue.stringValue), \(txtAlpha.stringValue))", action: nil, keyEquivalent: "w")
349+
webRGBaItem.keyEquivalentModifierMask = [.command, .shift]
350+
351+
copyMenu.addItem(webRGBaItem)
352+
353+
let webHSLItem = NSMenuItem(title: "Web HSL - hsl(\(txtHue.stringValue), \(txtSaturation.stringValue)%, \(txtBrightness.stringValue)%)", action: nil, keyEquivalent: "w")
354+
webHSLItem.keyEquivalentModifierMask = [.command, .option, .shift]
355+
356+
copyMenu.addItem(webHSLItem)
353357

354358
}
355359

Color Picker Plus/ColorPickerPlus.xib

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,14 @@
8181
</customSpacing>
8282
</stackView>
8383
<stackView distribution="fill" orientation="horizontal" alignment="top" spacing="6" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2Bu-Yz-R04">
84-
<rect key="frame" x="8" y="160" width="159" height="86"/>
84+
<rect key="frame" x="0.0" y="160" width="159" height="86"/>
8585
<subviews>
8686
<stackView distribution="fill" orientation="vertical" alignment="leading" spacing="18" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lfX-l0-tI2" userLabel="Radio Buttons">
8787
<rect key="frame" x="0.0" y="2" width="88" height="84"/>
8888
<subviews>
8989
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qXH-1l-JWm">
9090
<rect key="frame" x="-1" y="67" width="51" height="18"/>
91-
<buttonCell key="cell" type="radio" title="Hue:" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="YuF-Ui-Z5v">
91+
<buttonCell key="cell" type="radio" title="Hue:" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="YuF-Ui-Z5v">
9292
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
9393
<font key="font" metaFont="system"/>
9494
</buttonCell>
@@ -234,7 +234,7 @@
234234
</customSpacing>
235235
</stackView>
236236
<stackView distribution="fill" orientation="horizontal" alignment="top" spacing="6" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lxn-OB-rvi">
237-
<rect key="frame" x="8" y="48" width="95" height="86"/>
237+
<rect key="frame" x="0.0" y="48" width="95" height="86"/>
238238
<subviews>
239239
<stackView distribution="fill" orientation="vertical" alignment="leading" spacing="15" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="muO-Dc-Hpg">
240240
<rect key="frame" x="0.0" y="2" width="41" height="81"/>
@@ -398,7 +398,7 @@
398398
</customSpacing>
399399
</stackView>
400400
<stackView distribution="fill" orientation="horizontal" alignment="top" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kdX-rc-sbV">
401-
<rect key="frame" x="111" y="48" width="108" height="22"/>
401+
<rect key="frame" x="103" y="48" width="108" height="22"/>
402402
<subviews>
403403
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="N0j-Qs-4Ja">
404404
<rect key="frame" x="-2" y="3" width="43" height="17"/>
@@ -453,12 +453,12 @@
453453
<constraint firstItem="kdX-rc-sbV" firstAttribute="leading" secondItem="lxn-OB-rvi" secondAttribute="trailing" constant="8" id="7xR-eX-zcD"/>
454454
<constraint firstItem="kdX-rc-sbV" firstAttribute="bottom" secondItem="lxn-OB-rvi" secondAttribute="bottom" id="9gw-bb-qIK"/>
455455
<constraint firstItem="2Bu-Yz-R04" firstAttribute="top" secondItem="620-J9-FsS" secondAttribute="bottom" constant="26" id="F2W-u4-dO9"/>
456-
<constraint firstItem="lxn-OB-rvi" firstAttribute="leading" secondItem="q7Y-uj-GJr" secondAttribute="leading" constant="8" id="J9p-vk-a0p"/>
456+
<constraint firstItem="lxn-OB-rvi" firstAttribute="leading" secondItem="q7Y-uj-GJr" secondAttribute="leading" id="J9p-vk-a0p"/>
457457
<constraint firstAttribute="width" constant="250" id="LUe-tZ-DyW"/>
458458
<constraint firstAttribute="trailing" secondItem="Wsc-u6-09p" secondAttribute="trailing" id="V29-bb-QVz"/>
459459
<constraint firstAttribute="trailing" secondItem="JiC-in-bay" secondAttribute="trailing" id="WVi-ws-ecE"/>
460460
<constraint firstItem="620-J9-FsS" firstAttribute="top" secondItem="q7Y-uj-GJr" secondAttribute="top" id="amo-B4-O7y"/>
461-
<constraint firstItem="2Bu-Yz-R04" firstAttribute="leading" secondItem="q7Y-uj-GJr" secondAttribute="leading" constant="8" id="dHz-V6-XK3"/>
461+
<constraint firstItem="2Bu-Yz-R04" firstAttribute="leading" secondItem="q7Y-uj-GJr" secondAttribute="leading" id="dHz-V6-XK3"/>
462462
<constraint firstAttribute="bottom" secondItem="JiC-in-bay" secondAttribute="bottom" id="e4P-bQ-coz"/>
463463
<constraint firstItem="Wsc-u6-09p" firstAttribute="leading" secondItem="620-J9-FsS" secondAttribute="trailing" constant="8" id="f7T-dE-gel"/>
464464
<constraint firstItem="lxn-OB-rvi" firstAttribute="top" secondItem="2Bu-Yz-R04" secondAttribute="bottom" constant="26" id="fdf-Oa-r0U"/>

0 commit comments

Comments
 (0)