Skip to content

Commit

Permalink
Merge branch 'skurfer-v4'
Browse files Browse the repository at this point in the history
  • Loading branch information
skurfer committed Feb 10, 2016
2 parents 94ad1a3 + 5f08aed commit 43fc43d
Show file tree
Hide file tree
Showing 10 changed files with 172 additions and 513 deletions.
32 changes: 14 additions & 18 deletions Documentation.mdown
@@ -1,34 +1,30 @@
##1Password 3 Plugin
## 1Password Plugin

The 1Password plugin for Quicksilver gives you the ability to manipulate 1Password data from Quicksilver, and to Go & Fill web logins.

### Catalog
### Requirements

For Quicksilver to index your logins, you will need to enable integration with 3rd party apps in the "Advanced" section of 1Password's preferences.

This plugin enables Quicksilver to index your 1Password data. This includes:
### Catalog

* Web forms
* Accounts
* Software
* Identities
* Wallet items
* Notes
This plugin allows Quicksilver to index your 1Password Logins.

You can access all these items by right arrowing (→) into the 1Password.app in Quicksilver's first pane.

You may also add these items to your catalog by going to the [Catalog preferences](qs://preferences#QSCatalogPrefPane) and enabling the '1Password' entry.

### Actions

**Go & Fill**
Go & Fill
: The Go & Fill action is available for 1Password web forms. When run on a web form, the plugin takes you to your browser and logs you in using the login.

The Go & Fill action is available for 1Password web forms. When run on a web form, the plugin takes you to your browser and logs you in using the login.
Go & Fill With…
: This action is an extension of the 'Go & Fill' action, and allows you to specify a browser to use when filling the login/web form.

**Go & Fill With...**

This action is an extension of the 'Go & Fill' action, and allows you to specify a browser to use when filling the login/web form.

**Reveal in 1Password**

The Reveal in 1Password action is available for all data types (see above). It launches 1Password and selects the entry in the application, allowing you to manipulate of view its details.
Reveal in 1Password
: The Reveal in 1Password action launches 1Password and selects the entry in the application, allowing you to manipulate or view its details.

-----

This plugin has taken a lot of development time. If you enjoy using it, please consider [donating](http://patjack.co.uk/donating-for-my-quicksilver-1password-plugin/).
190 changes: 54 additions & 136 deletions Info.plist
Expand Up @@ -17,9 +17,9 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>2.7.1</string>
<string>3.0.0</string>
<key>CFBundleVersion</key>
<string>3AF</string>
<string>3B0</string>
<key>QSActions</key>
<dict>
<key>goAndFill</key>
Expand Down Expand Up @@ -50,36 +50,17 @@
<string>QS1PasswordForm</string>
</array>
<key>name</key>
<string>Go &amp; Fill With...</string>
<string>Go &amp; Fill With</string>
<key>precedence</key>
<string>3</string>
<key>validatesObjects</key>
<false/>
</dict>
</dict>
<key>QSActions-Obsolete</key>
<key>QSDefaults</key>
<dict>
<key>viewInOnePwd</key>
<dict>
<key>actionClass</key>
<string>OnePasswordAction</string>
<key>actionSelector</key>
<string>viewInOnePwd:</string>
<key>directTypes</key>
<array>
<string>QS1PasswordForm</string>
<string>QS1PasswordSecureNote</string>
<string>QS1PasswordIdentity</string>
<string>QS1PasswordSoftwareLicense</string>
<string>QS1PasswordWalletItem</string>
</array>
<key>name</key>
<string>Reveal in 1Password</string>
<key>precedence</key>
<string>2</string>
<key>validatesObjects</key>
<true/>
</dict>
<key>QS1PasswordKeychainPath</key>
<string>~/Library/Application Support/1Password 4/3rd Party Integration/bookmarks-default.json</string>
</dict>
<key>QSPlugIn</key>
<dict>
Expand All @@ -92,27 +73,23 @@
<key>description</key>
<string>Adds support for 1Password Data to Reveal in 1Password and to Go &amp; Fill web forms</string>
<key>extendedDescription</key>
<string>&lt;h2&gt;1Password 3 Plugin&lt;/h2&gt;
<string>&lt;h2&gt;1Password Plugin&lt;/h2&gt;
&lt;p&gt;The 1Password plugin for Quicksilver gives you the ability to manipulate 1Password data from Quicksilver, and to Go &amp;amp; Fill web logins.&lt;/p&gt;
&lt;h3&gt;Requirements&lt;/h3&gt;
&lt;p&gt;For Quicksilver to index your logins, you will need to enable integration with 3rd party apps in the "Advanced" section of 1Password's preferences.&lt;/p&gt;
&lt;h3&gt;Catalog&lt;/h3&gt;
&lt;p&gt;This plugin enables Quicksilver to index your 1Password data. This includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web forms&lt;/li&gt;
&lt;li&gt;Accounts&lt;/li&gt;
&lt;li&gt;Software&lt;/li&gt;
&lt;li&gt;Identities&lt;/li&gt;
&lt;li&gt;Wallet items&lt;/li&gt;
&lt;li&gt;Notes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can access all these items by right arrowing (→) into the 1Password.app in Quicksilver's first pane.
You may also add these items to your catalog by going to the &lt;a href="qs://preferences#QSCatalogPrefPane"&gt;Catalog preferences&lt;/a&gt; and enabling the '1Password' entry.&lt;/p&gt;
&lt;p&gt;This plugin allows Quicksilver to index your 1Password Logins.&lt;/p&gt;
&lt;p&gt;You can access all these items by right arrowing (→) into the 1Password.app in Quicksilver's first pane.&lt;/p&gt;
&lt;p&gt;You may also add these items to your catalog by going to the &lt;a href="qs://preferences#QSCatalogPrefPane"&gt;Catalog preferences&lt;/a&gt; and enabling the '1Password' entry.&lt;/p&gt;
&lt;h3&gt;Actions&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Go &amp;amp; Fill&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Go &amp;amp; Fill action is available for 1Password web forms. When run on a web form, the plugin takes you to your browser and logs you in using the login.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Go &amp;amp; Fill With...&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This action is an extension of the 'Go &amp;amp; Fill' action, and allows you to specify a browser to use when filling the login/web form.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reveal in 1Password&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Reveal in 1Password action is available for all data types (see above). It launches 1Password and selects the entry in the application, allowing you to manipulate of view its details.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Go &amp;amp; Fill&lt;/dt&gt;
&lt;dd&gt;The Go &amp;amp; Fill action is available for 1Password web forms. When run on a web form, the plugin takes you to your browser and logs you in using the login.&lt;/dd&gt;
&lt;dt&gt;Go &amp;amp; Fill With…&lt;/dt&gt;
&lt;dd&gt;This action is an extension of the 'Go &amp;amp; Fill' action, and allows you to specify a browser to use when filling the login/web form.&lt;/dd&gt;
&lt;dt&gt;Reveal in 1Password&lt;/dt&gt;
&lt;dd&gt;The Reveal in 1Password action launches 1Password and selects the entry in the application, allowing you to manipulate or view its details.&lt;/dd&gt;
&lt;/dl&gt;
&lt;hr&gt;
&lt;p&gt;This plugin has taken a lot of development time. If you enjoy using it, please consider &lt;a href="http://patjack.co.uk/donating-for-my-quicksilver-1password-plugin/"&gt;donating&lt;/a&gt;.&lt;/p&gt;</string>
<key>icon</key>
Expand All @@ -128,86 +105,17 @@ You may also add these items to your catalog by going to the &lt;a href="qs://pr
<array>
<dict>
<key>ID</key>
<string>QSPresetOnePassword</string>
<key>children</key>
<array>
<dict>
<key>ID</key>
<string>QSPreset1PasswordForm</string>
<key>enabled</key>
<true/>
<key>icon</key>
<string>com.agilebits.onepassword-osx</string>
<key>name</key>
<string>Logins</string>
<key>source</key>
<string>OnePasswordSource</string>
<key>type</key>
<string>WebForm</string>
</dict>
<dict>
<key>ID</key>
<string>QSPreset1PasswordIdentity</string>
<key>enabled</key>
<false/>
<key>icon</key>
<string>UserIcon</string>
<key>name</key>
<string>Identities</string>
<key>source</key>
<string>OnePasswordSource</string>
<key>type</key>
<string>Identity</string>
</dict>
<dict>
<key>ID</key>
<string>QSPreset1PasswordSecureNote</string>
<key>enabled</key>
<false/>
<key>icon</key>
<string>OnePasswordSecureNoteIcon</string>
<key>name</key>
<string>Secure Notes</string>
<key>source</key>
<string>OnePasswordSource</string>
<key>type</key>
<string>SecureNote</string>
</dict>
<dict>
<key>ID</key>
<string>QSPreset1PasswordSoftwareLicense</string>
<key>enabled</key>
<false/>
<key>icon</key>
<string>ToolbarAppsFolderIcon</string>
<key>name</key>
<string>Software Licenses</string>
<key>source</key>
<string>OnePasswordSource</string>
<key>type</key>
<string>SoftwareLicense</string>
</dict>
<dict>
<key>ID</key>
<string>QSPreset1PasswordWalletItem</string>
<key>enabled</key>
<false/>
<key>icon</key>
<string>OnePasswordBankIcon</string>
<key>name</key>
<string>Bank Accounts</string>
<key>source</key>
<string>OnePasswordSource</string>
<key>type</key>
<string>WalletItem</string>
</dict>
</array>
<string>QSPreset1PasswordForm</string>
<key>enabled</key>
<true/>
<key>icon</key>
<string>com.agilebits.onepassword-osx</string>
<string>QS1PasswordIcon</string>
<key>name</key>
<string>1Password</string>
<string>1Password Logins</string>
<key>source</key>
<string>QSGroupObjectSource</string>
<string>OnePasswordSource</string>
<key>type</key>
<string>WebForm</string>
</dict>
</array>
<key>QSRegistration</key>
Expand All @@ -230,14 +138,6 @@ You may also add these items to your catalog by going to the &lt;a href="qs://pr
<dict>
<key>QS1PasswordForm</key>
<string>OnePasswordSource</string>
<key>QS1PasswordIdentity</key>
<string>OnePasswordSource</string>
<key>QS1PasswordSecureNote</key>
<string>OnePasswordSource</string>
<key>QS1PasswordSoftwareLicense</key>
<string>OnePasswordSource</string>
<key>QS1PasswordWalletItem</key>
<string>OnePasswordSource</string>
</dict>
<key>QSObjectSources</key>
<dict>
Expand All @@ -253,7 +153,7 @@ You may also add these items to your catalog by going to the &lt;a href="qs://pr
<key>description</key>
<string>Preferences</string>
<key>icon</key>
<string>com.agilebits.onepassword-osx</string>
<string>QS1PasswordIcon</string>
<key>name</key>
<string>1Password</string>
<key>nibBundle</key>
Expand All @@ -262,11 +162,21 @@ You may also add these items to your catalog by going to the &lt;a href="qs://pr
<string>OnePasswordPrefPane</string>
</dict>
</dict>
<key>QSTypeDefinitions</key>
<dict>
<key>QS1PasswordForm</key>
<dict>
<key>icon</key>
<string>QS1PasswordIcon</string>
<key>name</key>
<string>1Password Login</string>
</dict>
</dict>
</dict>
<key>QSRequirements</key>
<dict>
<key>version</key>
<string>4001</string>
<string>4012</string>
</dict>
<key>QSResourceAdditions</key>
<dict>
Expand All @@ -286,12 +196,20 @@ You may also add these items to your catalog by going to the &lt;a href="qs://pr
<string>/Applications/1Password.app/Contents/Resources/secure-notes-icon-128.png</string>
</array>
<key>QS1PasswordIcon</key>
<dict>
<key>bundle</key>
<string>com.robertson.Quicksilver.OnePassword</string>
<key>resource</key>
<string>app-icons.icns</string>
</dict>
<array>
<dict>
<key>bundle</key>
<string>com.agilebits.onepassword-osx</string>
<key>resource</key>
<string>app-icon-round.icns</string>
</dict>
<dict>
<key>bundle</key>
<string>com.agilebits.onepassword4</string>
<key>resource</key>
<string>app-icon-round.icns</string>
</dict>
</array>
</dict>
</dict>
</plist>
4 changes: 0 additions & 4 deletions OnePassword.xcodeproj/project.pbxproj
Expand Up @@ -14,7 +14,6 @@
BBF581840B1D9DC3003CFF55 /* OnePasswordSource.m in Sources */ = {isa = PBXBuildFile; fileRef = BBF581830B1D9DC3003CFF55 /* OnePasswordSource.m */; };
CD0117CC13CCBDDF00409D70 /* YAJL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD0117CB13CCBDDF00409D70 /* YAJL.framework */; };
CD0117DA13CCBDEA00409D70 /* YAJL.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = CD0117CB13CCBDDF00409D70 /* YAJL.framework */; };
CD17F50B19E1A53E002E9755 /* app-icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = CD17F50A19E1A53E002E9755 /* app-icon.icns */; };
CD53B37A19DB18C100795282 /* QS1PasswordPreferencePane.m in Sources */ = {isa = PBXBuildFile; fileRef = CD53B37919DB18C100795282 /* QS1PasswordPreferencePane.m */; };
CD53B37B19DB19F200795282 /* QSInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FFA8E9D0816CCCA00A858CD /* QSInterface.framework */; };
CD9EB80319DB1BB50008B37B /* RevealIn1Pwd.scpt in Resources */ = {isa = PBXBuildFile; fileRef = CDDDB3341158B11100D1674E /* RevealIn1Pwd.scpt */; };
Expand Down Expand Up @@ -48,7 +47,6 @@
BBF581820B1D9DC3003CFF55 /* OnePasswordSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OnePasswordSource.h; sourceTree = "<group>"; };
BBF581830B1D9DC3003CFF55 /* OnePasswordSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OnePasswordSource.m; sourceTree = "<group>"; };
CD0117CB13CCBDDF00409D70 /* YAJL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = YAJL.framework; sourceTree = "<group>"; };
CD17F50A19E1A53E002E9755 /* app-icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "app-icon.icns"; sourceTree = "<group>"; };
CD5013EF14938D1B0022F5E1 /* Common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Common.xcconfig; sourceTree = "<group>"; };
CD5013F014938D1B0022F5E1 /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
CD5013F114938D1B0022F5E1 /* Developer.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Developer.xcconfig; sourceTree = "<group>"; };
Expand Down Expand Up @@ -95,7 +93,6 @@
0259C582FE90428111CA0C5A /* Resources */ = {
isa = PBXGroup;
children = (
CD17F50A19E1A53E002E9755 /* app-icon.icns */,
CD53B37719DB17D900795282 /* OnePasswordPrefPane.xib */,
CDDDB3341158B11100D1674E /* RevealIn1Pwd.scpt */,
8D1AC9730486D14A00FE50C9 /* Info.plist */,
Expand Down Expand Up @@ -216,7 +213,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CD17F50B19E1A53E002E9755 /* app-icon.icns in Resources */,
CD9EB80319DB1BB50008B37B /* RevealIn1Pwd.scpt in Resources */,
CD9EB80419DB1BB60008B37B /* OnePasswordPrefPane.xib in Resources */,
);
Expand Down
14 changes: 0 additions & 14 deletions OnePasswordAction.h
Expand Up @@ -23,25 +23,11 @@

#import "OnePasswordAction.h"

#define kOnePasswordAction @"OnePasswordAction"
#define QS1PasswordForm @"QS1PasswordForm"
#define QS1PasswordSecureNote @"QS1PasswordSecureNote"
#define QS1PasswordIdentity @"QS1PasswordIdentity"
#define QS1PasswordSoftwareLicense @"QS1PasswordSoftwareLicense"
#define QS1PasswordWalletItem @"QS1PasswordWalletItem"

// Some things from Carbon
#define kASAppleScriptSuite 'ascr'
#define kASSubroutineEvent 'psbr'
#define keyASSubroutineName 'snam'


@interface OnePasswordAction : QSActionProvider
{
NSString *bundleID;
}

- (QSObject *)viewInOnePwd:(QSObject *)dObject;
- (QSObject *)goAndFill:(QSObject *)dObject;
- (QSObject *)goAndFill:(QSObject *)dObject with:(QSObject *)iObject;

Expand Down

0 comments on commit 43fc43d

Please sign in to comment.