adium/adium

merge
adium-1.6
2013-12-22, Frank Dowsett
a68fb145619e
merge
--- a/Adium.xcodeproj/project.pbxproj Tue Dec 17 10:29:30 2013 +0100
+++ b/Adium.xcodeproj/project.pbxproj Sun Dec 22 14:41:34 2013 -0500
@@ -925,9 +925,6 @@
34F17FCE0F8EAC34009C5A39 /* AIListOutlineView+Drawing.h in Headers */ = {isa = PBXBuildFile; fileRef = 34F17FCC0F8EAC34009C5A39 /* AIListOutlineView+Drawing.h */; settings = {ATTRIBUTES = (Private, ); }; };
34F17FCF0F8EAC34009C5A39 /* AIListOutlineView+Drawing.m in Sources */ = {isa = PBXBuildFile; fileRef = 34F17FCD0F8EAC34009C5A39 /* AIListOutlineView+Drawing.m */; };
34F312BD0ADC43CA00A4310E /* xtras_duck.png in Resources */ = {isa = PBXBuildFile; fileRef = 34F312BC0ADC43CA00A4310E /* xtras_duck.png */; };
- 34F4677A080F49C5007800AB /* Safari.scpt in Resources */ = {isa = PBXBuildFile; fileRef = 34F46778080F49C5007800AB /* Safari.scpt */; };
- 34F4677B080F49C5007800AB /* Safari.png in Resources */ = {isa = PBXBuildFile; fileRef = 34F46779080F49C5007800AB /* Safari.png */; };
- 34F46785080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 34F46783080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.m */; };
34F849530A4AEFA00002A017 /* LogFileUpgrade.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34F849520A4AEFA00002A017 /* LogFileUpgrade.xib */; };
34F849590A4AF04D0002A017 /* AILogFileUpgradeWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34F849570A4AF04D0002A017 /* AILogFileUpgradeWindowController.m */; };
34F8D2AE0CF68FEB00F62536 /* AIUserListOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 34F8D2AD0CF68FEB00F62536 /* AIUserListOutlineView.m */; };
@@ -1022,12 +1019,15 @@
5A1E3A1214DCE60400724574 /* Preferences-Xtras.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5A1E3A1114DCE60400724574 /* Preferences-Xtras.xib */; };
5A22D6E214834F44004E15F7 /* AIFacebookXMPPAccountView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5A22D6E014834F44004E15F7 /* AIFacebookXMPPAccountView.xib */; };
5A27FA7E14A272330063489D /* pref-messagestyle.png in Resources */ = {isa = PBXBuildFile; fileRef = 5A27FA7A14A272330063489D /* pref-messagestyle.png */; };
+ 5A2854D7178E376A0047A4C7 /* ScriptingBridge.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A2854D6178E376A0047A4C7 /* ScriptingBridge.framework */; };
5A2FF9B81797336100C2EF12 /* crashDuck.icns in Resources */ = {isa = PBXBuildFile; fileRef = 5A72C1A117013D9400075BBA /* crashDuck.icns */; };
5A2FF9BD1797351500C2EF12 /* AICrashReporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A72C1AD17013D9400075BBA /* AICrashReporter.m */; };
5A3B4D7916D878AC00903E40 /* NSString+STTwitter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3B4D6C16D878AB00903E40 /* NSString+STTwitter.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
5A3B4D7A16D878AC00903E40 /* STTwitterAPIWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3B4D6E16D878AB00903E40 /* STTwitterAPIWrapper.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
5A3B4D7C16D878AC00903E40 /* STTwitterOAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3B4D7216D878AB00903E40 /* STTwitterOAuth.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
5A3B4D7E16D878AC00903E40 /* STHTTPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A3B4D7816D878AC00903E40 /* STHTTPRequest.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
+ 5A41FF501852D1ED009BE13F /* AIPopUpToolbarItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A2854CF178E301E0047A4C7 /* AIPopUpToolbarItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5A41FF511853B721009BE13F /* AIPopUpToolbarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A2854D0178E301E0047A4C7 /* AIPopUpToolbarItem.m */; };
5A44595E169143130078AB0A /* AIPreferenceCVPrototypeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A445957169118C60078AB0A /* AIPreferenceCVPrototypeView.m */; };
5A4B77E916FBDDC700DF398C /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A4B77E716FBDDC600DF398C /* NSData+Base64.m */; };
5A4BD41D13F855B000A4D3F7 /* SearchTerms.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5A4BD41B13F855B000A4D3F7 /* SearchTerms.plist */; };
@@ -3597,10 +3597,6 @@
34F4675B080F46AC007800AB /* ESBonjourAccountView.xib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; path = ESBonjourAccountView.xib; sourceTree = "<group>"; };
34F4675C080F46AC007800AB /* AWBonjourService.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AWBonjourService.m; sourceTree = "<group>"; };
34F4675D080F46AC007800AB /* AWBonjourService.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AWBonjourService.h; sourceTree = "<group>"; };
- 34F46778080F49C5007800AB /* Safari.scpt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.scpt; name = Safari.scpt; path = Resources/Safari.scpt; sourceTree = "<group>"; };
- 34F46779080F49C5007800AB /* Safari.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Safari.png; path = Resources/Safari.png; sourceTree = "<group>"; };
- 34F46783080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = ESSafariLinkToolbarItemPlugin.m; path = Source/ESSafariLinkToolbarItemPlugin.m; sourceTree = "<group>"; };
- 34F46784080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ESSafariLinkToolbarItemPlugin.h; path = Source/ESSafariLinkToolbarItemPlugin.h; sourceTree = "<group>"; };
34F468E0080FA987007800AB /* de */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; name = de; path = "Plugins/Purple Service/Resources/de.lproj/DCPurpleOscarJoinChatView.xib"; sourceTree = "<group>"; };
34F468E1080FA987007800AB /* de */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; name = de; path = "Plugins/Purple Service/Resources/de.lproj/ESPurpleAIMAccountView.xib"; sourceTree = "<group>"; };
34F468E2080FA987007800AB /* de */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; name = de; path = "Plugins/Purple Service/Resources/de.lproj/ESPurpleICQAccountView.xib"; sourceTree = "<group>"; };
@@ -3879,6 +3875,7 @@
4F1CB63C0D640DA40073A1E6 /* get-info-advanced.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = "get-info-advanced.tiff"; path = "Resources/get-info-advanced.tiff"; sourceTree = "<group>"; };
4F1CB63D0D640DA40073A1E6 /* get-info-events.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = "get-info-events.tiff"; path = "Resources/get-info-events.tiff"; sourceTree = "<group>"; };
4F1CB64B0D640F4F0073A1E6 /* ContactInfoInspector.xib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; name = ContactInfoInspector.xib; path = Resources/ContactInfoInspector.xib; sourceTree = "<group>"; };
+ 50FB3725730DE103F54E3C0B /* OmniWeb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OmniWeb.h; path = Browsers/OmniWeb.h; sourceTree = "<group>"; };
5A0BBC4217400544002A7BE0 /* emoticons_menu@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "emoticons_menu@2x.png"; path = "Resources/emoticons_menu@2x.png"; sourceTree = "<group>"; };
5A0D236816F4C7BC005DF211 /* STTwitterAppOnly.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = STTwitterAppOnly.m; path = "Plugins/Twitter Plugin/STTwitter/STTwitterAppOnly.m"; sourceTree = "<group>"; };
5A0D236916F4C7BC005DF211 /* STTwitterAppOnly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STTwitterAppOnly.h; path = "Plugins/Twitter Plugin/STTwitter/STTwitterAppOnly.h"; sourceTree = "<group>"; };
@@ -3892,6 +3889,12 @@
5A1FEA601334549300C14951 /* MessageView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MessageView.xib; path = "Plugins/Dual Window Interface/MessageView.xib"; sourceTree = "<group>"; };
5A22D6E114834F44004E15F7 /* en */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; name = en; path = "Plugins/Purple Service/Resources/en.lproj/AIFacebookXMPPAccountView.xib"; sourceTree = "<group>"; };
5A27FA7A14A272330063489D /* pref-messagestyle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "pref-messagestyle.png"; path = "Resources/pref-messagestyle.png"; sourceTree = "<group>"; };
+ 5A2854CF178E301E0047A4C7 /* AIPopUpToolbarItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIPopUpToolbarItem.h; path = "Frameworks/AIUtilities Framework/Source/AIPopUpToolbarItem.h"; sourceTree = "<group>"; };
+ 5A2854D0178E301E0047A4C7 /* AIPopUpToolbarItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIPopUpToolbarItem.m; path = "Frameworks/AIUtilities Framework/Source/AIPopUpToolbarItem.m"; sourceTree = "<group>"; };
+ 5A2854D3178E345E0047A4C7 /* Safari.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Safari.h; path = Browsers/Safari.h; sourceTree = "<group>"; };
+ 5A2854D4178E345E0047A4C7 /* NetNewsWire.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetNewsWire.h; path = Browsers/NetNewsWire.h; sourceTree = "<group>"; };
+ 5A2854D5178E345E0047A4C7 /* GoogleChrome.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GoogleChrome.h; path = Browsers/GoogleChrome.h; sourceTree = "<group>"; };
+ 5A2854D6178E376A0047A4C7 /* ScriptingBridge.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ScriptingBridge.framework; path = System/Library/Frameworks/ScriptingBridge.framework; sourceTree = SDKROOT; };
5A3B4D6B16D878AB00903E40 /* NSString+STTwitter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+STTwitter.h"; path = "Plugins/Twitter Plugin/STTwitter/NSString+STTwitter.h"; sourceTree = "<group>"; };
5A3B4D6C16D878AB00903E40 /* NSString+STTwitter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+STTwitter.m"; path = "Plugins/Twitter Plugin/STTwitter/NSString+STTwitter.m"; sourceTree = "<group>"; };
5A3B4D6D16D878AB00903E40 /* STTwitterAPIWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = STTwitterAPIWrapper.h; path = "Plugins/Twitter Plugin/STTwitter/STTwitterAPIWrapper.h"; sourceTree = "<group>"; };
@@ -4452,7 +4455,6 @@
76AA110B1635585E00A6EC4B /* AIAccountSelectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAccountSelectionViewController.m; path = "Plugins/Dual Window Interface/AIAccountSelectionViewController.m"; sourceTree = "<group>"; };
76AA110E163558B200A6EC4B /* AIRejoinGroupChatViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIRejoinGroupChatViewController.h; path = "Plugins/Dual Window Interface/AIRejoinGroupChatViewController.h"; sourceTree = "<group>"; };
76AA110F163558B200A6EC4B /* AIRejoinGroupChatViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIRejoinGroupChatViewController.m; path = "Plugins/Dual Window Interface/AIRejoinGroupChatViewController.m"; sourceTree = "<group>"; };
- 76B8B8E916AF3A46009126FE /* AIOTRTopBarLoggingWarningController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIOTRTopBarLoggingWarningController.h; path = Source/AIOTRTopBarLoggingWarningController.h; sourceTree = "<group>"; };
76B8B8EA16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIOTRTopBarLoggingWarningController.m; path = Source/AIOTRTopBarLoggingWarningController.m; sourceTree = "<group>"; };
76B8B8EB16AF3A46009126FE /* AIOTRTopBarLoggingWarningController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = AIOTRTopBarLoggingWarningController.xib; path = Source/AIOTRTopBarLoggingWarningController.xib; sourceTree = "<group>"; };
76C1AF9A125A906A00D269A9 /* AIAdiumURLProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAdiumURLProtocol.h; path = "Plugins/WebKit Message View/AIAdiumURLProtocol.h"; sourceTree = "<group>"; };
@@ -4838,6 +4840,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 5A2854D7178E376A0047A4C7 /* ScriptingBridge.framework in Frameworks */,
116E373310B729E9002EDB0F /* Growl.framework in Frameworks */,
7E6F8A94105611B700C6D80D /* libotr.framework in Frameworks */,
633405A90F9C2C7D003C77A9 /* AIUtilities.framework in Frameworks */,
@@ -5900,7 +5903,6 @@
F569E38102CA876501A8010A /* Message Window Interface */,
11000CFE109886010096A1E2 /* Removal of Helvetica@12 */,
343022240AB4763D0082CF7C /* Removal of NULs in Messages */,
- 34A65AF606A5A0C400898470 /* Safari Link Toolbar Item */,
34DFF46607A5EAC800B92233 /* Secure Messaging */,
4B0473B7043E43F200A8010A /* Status Changed Messages */,
);
@@ -6030,17 +6032,6 @@
name = "Contact List";
sourceTree = "<group>";
};
- 34A65AF606A5A0C400898470 /* Safari Link Toolbar Item */ = {
- isa = PBXGroup;
- children = (
- 34F46784080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.h */,
- 34F46783080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.m */,
- 34F46778080F49C5007800AB /* Safari.scpt */,
- 34F46779080F49C5007800AB /* Safari.png */,
- );
- name = "Safari Link Toolbar Item";
- sourceTree = "<group>";
- };
34B3241D09B9FF6900029361 /* IRC */ = {
isa = PBXGroup;
children = (
@@ -7376,6 +7367,17 @@
name = Growl;
sourceTree = "<group>";
};
+ 5A2854D2178E34450047A4C7 /* Browsers */ = {
+ isa = PBXGroup;
+ children = (
+ 5A2854D3178E345E0047A4C7 /* Safari.h */,
+ 5A2854D4178E345E0047A4C7 /* NetNewsWire.h */,
+ 5A2854D5178E345E0047A4C7 /* GoogleChrome.h */,
+ 50FB3725730DE103F54E3C0B /* OmniWeb.h */,
+ );
+ name = Browsers;
+ sourceTree = "<group>";
+ };
5A3B4D6A16D878AB00903E40 /* STTwitter */ = {
isa = PBXGroup;
children = (
@@ -7740,6 +7742,8 @@
isa = PBXGroup;
children = (
6334FF3A0F9C14BF003C77A9 /* Version of this with an image floater */,
+ 5A2854CF178E301E0047A4C7 /* AIPopUpToolbarItem.h */,
+ 5A2854D0178E301E0047A4C7 /* AIPopUpToolbarItem.m */,
6334FF380F9C14BF003C77A9 /* MVMenuButton.h */,
6334FF390F9C14BF003C77A9 /* MVMenuButton.m */,
);
@@ -8238,6 +8242,7 @@
761CE33716F9087C000EE361 /* Frameworks */ = {
isa = PBXGroup;
children = (
+ 5A2854D6178E376A0047A4C7 /* ScriptingBridge.framework */,
761CE33816F9087C000EE361 /* Cocoa.framework */,
761CE33A16F9087C000EE361 /* Other Frameworks */,
);
@@ -8295,6 +8300,7 @@
7E824CCD06387FAF00813072 /* Link Management */ = {
isa = PBXGroup;
children = (
+ 5A2854D2178E34450047A4C7 /* Browsers */,
4B97DB6606AC123A0003EE49 /* msg-insert-link.tiff */,
1163F0EA0F6C7A8300F12F5D /* AIURLShortenerPlugin.h */,
1163F0EB0F6C7A8300F12F5D /* AIURLShortenerPlugin.m */,
@@ -9288,6 +9294,7 @@
6334004F0F9C14C2003C77A9 /* AISplitView.h in Headers */,
633400510F9C14C2003C77A9 /* AIAlternatingRowTableView.h in Headers */,
633400530F9C14C2003C77A9 /* AITextFieldWithDraggingDelegate.h in Headers */,
+ 5A41FF501852D1ED009BE13F /* AIPopUpToolbarItem.h in Headers */,
633400550F9C14C2003C77A9 /* AITextViewWithPlaceholder.h in Headers */,
633400570F9C14C2003C77A9 /* AIFlexibleToolbarItem.h in Headers */,
6334005B0F9C14C2003C77A9 /* AIDockingWindow.h in Headers */,
@@ -9817,8 +9824,6 @@
34BFDF2107E8978900AD984D /* TabDefaults.plist in Resources */,
343EC6920809DD3400E27095 /* ListLayoutSheet.xib in Resources */,
3402D5A5080DBC91004E50B4 /* SortConfiguration.xib in Resources */,
- 34F4677A080F49C5007800AB /* Safari.scpt in Resources */,
- 34F4677B080F49C5007800AB /* Safari.png in Resources */,
345ACC970811C20F008E4D22 /* AwayStatusWindow.xib in Resources */,
345F566B08178356001F733C /* AdiumServiceIcons.icns in Resources */,
345F57400817FF80001F733C /* pref-contact-list.tiff in Resources */,
@@ -9939,7 +9944,6 @@
972AB3A21493D1BA00381105 /* MessageViewEmoticonsMenu.xib in Resources */,
5A27FA7E14A272330063489D /* pref-messagestyle.png in Resources */,
5A1E3A1214DCE60400724574 /* Preferences-Xtras.xib in Resources */,
- 5A8F637614DD1B21008412C8 /* Preferences-Privacy.xib in Resources */,
97F7B38014E29BC500A0F6F8 /* facebook-small.png in Resources */,
97F7B38114E29BC500A0F6F8 /* facebook.png in Resources */,
C6EE433E15C0A9BC00A4B96C /* default-icon@2x.png in Resources */,
@@ -10115,7 +10119,7 @@
files = (
);
inputPaths = (
- $TARGET_BUILD_DIR/include/PlistMacros.h,
+ "$(CONFIGURATION_TEMP_DIR)/include/PlistMacros.h",
"$(SRCROOT)/Plists/buildnum",
);
name = "Run Generate Buildnum File Script";
@@ -10172,8 +10176,8 @@
inputPaths = (
);
outputPaths = (
- "$(TARGET_BUILD_DIR)/include/PlistMacros.h",
- "$(TARGET_BUILD_DIR)/include/DummyFileToForceScriptToRunEveryTimeWithoutBeingCreated",
+ "$(CONFIGURATION_TEMP_DIR)/include/PlistMacros.h",
+ "$(CONFIGURATION_TEMP_DIR)/include/DummyFileToForceScriptToRunEveryTimeWithoutBeingCreated",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -10477,7 +10481,6 @@
34BFE2D807E8E74400AD984D /* AIChatConsolidationPlugin.m in Sources */,
347C6943080C8F2B00E69674 /* ESAwayStatusWindowPlugin.m in Sources */,
347C6949080C8F3B00E69674 /* ESAwayStatusWindowController.m in Sources */,
- 34F46785080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.m in Sources */,
4BB9972B083D1A5F006ACD6F /* SMContactListShowBehaviorPlugin.m in Sources */,
4BB9972D083D1A5F006ACD6F /* SMContactListShowDetailsPane.m in Sources */,
34CF9DF5085B8B7900D87E37 /* ESiTunesPlugin.m in Sources */,
@@ -10789,6 +10792,7 @@
633400000F9C14C2003C77A9 /* AIFunctions.m in Sources */,
633400020F9C14C2003C77A9 /* JVMarkedScroller.m in Sources */,
633400040F9C14C2003C77A9 /* AIMutableOwnerArray.m in Sources */,
+ 5A41FF511853B721009BE13F /* AIPopUpToolbarItem.m in Sources */,
633400060F9C14C2003C77A9 /* AIToolbarUtilities.m in Sources */,
633400080F9C14C2003C77A9 /* AIGradientAdditions.m in Sources */,
633400090F9C14C2003C77A9 /* AIFloater.m in Sources */,
--- a/ChangeLogs/Changes.txt Tue Dec 17 10:29:30 2013 +0100
+++ b/ChangeLogs/Changes.txt Sun Dec 22 14:41:34 2013 -0500
@@ -44,10 +44,11 @@
* Made Privacy Settings a preference pane. (#8307)
* Made the Xtras Manager a preference pane.
* Renamed the "Personal" preference pane to "Profile". (Paul Wilde) (#16105)
- * Contact list: Added a preference for maximum contact list height. (#4815)
+ * Renamed the "Encryption" preference pane to "OTR Encryption".
* General: Removed "Send Messages with:" option. (#15369)
* General: Simplified "Confirmations" settings. (#16436)
* Accounts: Added a signup or about button to each account setup pane. (Ariel Chinn) (#3792)
+ * Contact list: Added a preference for maximum contact list height. (#4815)
Security
* Added a "Tor (SOCKS5)" proxy option, which uses the Tor proxy option of libpurple. (#15161)
--- a/Frameworks/AIUtilities Framework/Source/AIArrayAdditions.m Tue Dec 17 10:29:30 2013 +0100
+++ b/Frameworks/AIUtilities Framework/Source/AIArrayAdditions.m Sun Dec 22 14:41:34 2013 -0500
@@ -23,6 +23,19 @@
return ([self indexOfObjectIdenticalTo:obj] != NSNotFound);
}
+//Custom collection operator: @first
+- (id)_firstForKeyPath:(NSString*)keyPath
+{
+ NSArray *array = [self valueForKeyPath:keyPath];
+ if ([array respondsToSelector:@selector(objectAtIndex:)] &&
+ [array respondsToSelector:@selector(count)]) {
+ if ([array count])
+ return [array objectAtIndex:0];
+ }
+
+ return nil;
+}
+
// Returns an array from the owners bundle with the specified name
+ (NSArray *)arrayNamed:(NSString *)name forClass:(Class)inClass
{
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIPopUpToolbarItem.h Sun Dec 22 14:41:34 2013 -0500
@@ -0,0 +1,24 @@
+/*
+ * Adium is the legal property of its developers, whose names are listed in the copyright file included
+ * with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License as published by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+@class AIDelayedPopUpButton;
+
+@interface AIPopUpToolbarItem : NSToolbarItem {
+ AIDelayedPopUpButton *button;
+}
+@property (assign) NSMenu *menu;
+
+@end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIPopUpToolbarItem.m Sun Dec 22 14:41:34 2013 -0500
@@ -0,0 +1,131 @@
+/*
+ * Adium is the legal property of its developers, whose names are listed in the copyright file included
+ * with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License as published by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#import "AIPopUpToolbarItem.h"
+#import "MVMenuButton.h"
+
+@interface AIDelayedPopUpButton : MVMenuButton
+@property BOOL mouseIsDown;
+@property BOOL menuWasShownForLastMouseDown;
+@property uint mouseDownUniquenessCounter;
+@end
+
+@implementation AIDelayedPopUpButton
+
+// show the menu if the mouse is held down
+- (void)mouseDown:(NSEvent *)theEvent
+{
+ self.mouseIsDown = YES;
+ self.menuWasShownForLastMouseDown = NO;
+ uint mouseDownUniquenessCounterCopy = ++(self.mouseDownUniquenessCounter);
+
+ [self highlight:YES];
+
+ float delayInSeconds = 0.2;
+ dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
+ dispatch_after(popTime, dispatch_get_main_queue(), ^(void) {
+ if (self.mouseIsDown && mouseDownUniquenessCounterCopy == self.mouseDownUniquenessCounter) {
+ self.menuWasShownForLastMouseDown = YES;
+ [NSMenu popUpContextMenu:[self menu] withEvent:theEvent forView:self];
+ [self highlight:NO];
+ }
+ });
+}
+
+// perform the button's action if the menu isn't showing
+- (void)mouseUp:(NSEvent *)theEvent
+{
+ self.mouseIsDown = NO;
+
+ if (!self.menuWasShownForLastMouseDown)
+ [self sendAction:self.action to:self.target];
+
+ [self highlight:NO];
+}
+
+@end
+
+
+@implementation AIPopUpToolbarItem
+
+- (id)initWithItemIdentifier:(NSString *)ident
+{
+ if (self = [super initWithItemIdentifier:ident])
+ {
+ button = [[AIDelayedPopUpButton alloc] initWithFrame:NSMakeRect(0,0,32,32)];
+ [button setButtonType:NSMomentaryChangeButton];
+ [button setBordered:NO];
+ [self setView:button];
+ [self setMinSize:NSMakeSize(32,32)];
+ [self setMaxSize:NSMakeSize(32,32)];
+ }
+ return self;
+}
+
+- (void)dealloc
+{
+ [button release];
+ [super dealloc];
+}
+
+- (NSMenu *)menu
+{
+ return [button menu];
+}
+
+- (void)setMenu:(NSMenu *)menu
+{
+ [button setMenu:menu];
+
+ // Also set menu form representation - this is used in the toolbar overflow menu but also, more importantly, to display
+ // a menu in text-only mode.
+ NSMenuItem *menuFormRep = [[NSMenuItem alloc] initWithTitle:[self label] action:nil keyEquivalent:@""];
+ [menuFormRep setSubmenu:menu];
+ [self setMenuFormRepresentation:menuFormRep];
+ [menuFormRep release];
+}
+
+- (id)target
+{
+ return [button target];
+}
+
+- (void)setTarget:(id)anObject
+{
+ [button setTarget:anObject];
+}
+
+- (SEL)action
+{
+ return [button action];
+}
+
+- (void)setAction:(SEL)aSelector
+{
+ [button setAction:aSelector];
+}
+
+- (NSImage *)image
+{
+ return [button image];
+}
+
+- (void)setImage:(NSImage *)anImage
+{
+ [button setImage:anImage];
+}
+
+@end
--- a/Frameworks/AIUtilities Framework/Source/MVMenuButton.m Tue Dec 17 10:29:30 2013 +0100
+++ b/Frameworks/AIUtilities Framework/Source/MVMenuButton.m Sun Dec 22 14:41:34 2013 -0500
@@ -43,11 +43,13 @@
- (id)copyWithZone:(NSZone *)zone
{
MVMenuButton *newButton = [[[self class] allocWithZone:zone] initWithFrame:[self frame]];
-
+
//Copy our config
[newButton setControlSize:controlSize];
[newButton setImage:bigImage];
[newButton setDrawsArrow:drawsArrow];
+ [newButton setTarget:self.target];
+ [newButton setAction:self.action];
//Copy super's config
[newButton setMenu:[[[self menu] copy] autorelease]];
--- a/Plugins/Dual Window Interface/AIMessageWindowController.m Tue Dec 17 10:29:30 2013 +0100
+++ b/Plugins/Dual Window Interface/AIMessageWindowController.m Sun Dec 22 14:41:34 2013 -0500
@@ -1271,7 +1271,7 @@
- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar
{
return [NSArray arrayWithObjects:@"UserIcon",@"Encryption", NSToolbarSeparatorItemIdentifier,
- @"SourceDestination", @"InsertEmoticon", @"BlockParticipants", @"LinkEditor", @"SafariLink", @"AddBookmark", NSToolbarShowColorsItemIdentifier,
+ @"SourceDestination", @"InsertEmoticon", @"BlockParticipants", @"LinkEditor", @"AddBookmark", NSToolbarShowColorsItemIdentifier,
NSToolbarShowFontsItemIdentifier, NSToolbarFlexibleSpaceItemIdentifier, @"SendFile",
@"ShowInfo", @"LogViewer", nil];
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Link Management/Browsers/GoogleChrome.h Sun Dec 22 14:41:34 2013 -0500
@@ -0,0 +1,191 @@
+/*
+ * GoogleChrome.h
+ */
+
+#import <AppKit/AppKit.h>
+#import <ScriptingBridge/ScriptingBridge.h>
+
+
+@class GoogleChromeApplication, GoogleChromeWindow, GoogleChromeTab, GoogleChromeBookmarkFolder, GoogleChromeBookmarkItem;
+
+
+
+/*
+ * Standard Suite
+ */
+
+// The application's top-level scripting object.
+@interface GoogleChromeApplication : SBApplication
+
+- (SBElementArray *) windows;
+
+@property (copy, readonly) NSString *name; // The name of the application.
+@property (readonly) BOOL frontmost; // Is this the frontmost (active) application?
+@property (copy, readonly) NSString *version; // The version of the application.
+
+- (void) open:(NSArray *)x; // Open a document.
+- (void) quit; // Quit the application.
+- (BOOL) exists:(id)x; // Verify if an object exists.
+
+@end
+
+// A window.
+@interface GoogleChromeWindow : SBObject
+
+- (SBElementArray *) tabs;
+
+@property (copy, readonly) NSString *name; // The full title of the window.
+- (NSInteger) id; // The unique identifier of the window.
+@property NSInteger index; // The index of the window, ordered front to back.
+@property NSRect bounds; // The bounding rectangle of the window.
+@property (readonly) BOOL closeable; // Whether the window has a close box.
+@property (readonly) BOOL minimizable; // Whether the window can be minimized.
+@property BOOL minimized; // Whether the window is currently minimized.
+@property (readonly) BOOL resizable; // Whether the window can be resized.
+@property BOOL visible; // Whether the window is currently visible.
+@property (readonly) BOOL zoomable; // Whether the window can be zoomed.
+@property BOOL zoomed; // Whether the window is currently zoomed.
+@property (copy, readonly) GoogleChromeTab *activeTab; // Returns the currently selected tab
+@property (copy) NSString *mode; // Represents the mode of the window which can be 'normal' or 'incognito', can be set only once during creation of the window.
+@property NSInteger activeTabIndex; // The index of the active tab.
+
+- (void) saveIn:(NSURL *)in_ as:(NSString *)as; // Save an object.
+- (void) close; // Close a window.
+- (void) delete; // Delete an object.
+- (SBObject *) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (SBObject *) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) print; // Print an object.
+- (void) reload; // Reload a tab.
+- (void) goBack; // Go Back (If Possible).
+- (void) goForward; // Go Forward (If Possible).
+- (void) selectAll; // Select all.
+- (void) cutSelection; // Cut selected text (If Possible).
+- (void) copySelection; // Copy text.
+- (void) pasteSelection; // Paste text (If Possible).
+- (void) undo; // Undo the last change.
+- (void) redo; // Redo the last change.
+- (void) stop; // Stop the current tab from loading.
+- (void) viewSource; // View the HTML source of the tab.
+- (id) executeJavascript:(NSString *)javascript; // Execute a piece of javascript.
+- (void) enterPresentationMode; // Enter presentation mode in window.
+- (void) exitPresentationMode; // Exit presentation mode in window.
+
+@end
+
+
+
+/*
+ * Chromium Suite
+ */
+
+// The application's top-level scripting object.
+@interface GoogleChromeApplication (ChromiumSuite)
+
+- (SBElementArray *) bookmarkFolders;
+
+@property (copy, readonly) GoogleChromeBookmarkFolder *bookmarksBar; // The bookmarks bar bookmark folder.
+@property (copy, readonly) GoogleChromeBookmarkFolder *otherBookmarks; // The other bookmarks bookmark folder.
+
+@end
+
+// A tab.
+@interface GoogleChromeTab : SBObject
+
+- (NSInteger) id; // Unique ID of the tab.
+@property (copy, readonly) NSString *title; // The title of the tab.
+@property (copy) NSString *URL; // The url visible to the user.
+@property (readonly) BOOL loading; // Is loading?
+
+- (void) saveIn:(NSURL *)in_ as:(NSString *)as; // Save an object.
+- (void) close; // Close a window.
+- (void) delete; // Delete an object.
+- (SBObject *) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (SBObject *) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) print; // Print an object.
+- (void) reload; // Reload a tab.
+- (void) goBack; // Go Back (If Possible).
+- (void) goForward; // Go Forward (If Possible).
+- (void) selectAll; // Select all.
+- (void) cutSelection; // Cut selected text (If Possible).
+- (void) copySelection; // Copy text.
+- (void) pasteSelection; // Paste text (If Possible).
+- (void) undo; // Undo the last change.
+- (void) redo; // Redo the last change.
+- (void) stop; // Stop the current tab from loading.
+- (void) viewSource; // View the HTML source of the tab.
+- (id) executeJavascript:(NSString *)javascript; // Execute a piece of javascript.
+- (void) enterPresentationMode; // Enter presentation mode in window.
+- (void) exitPresentationMode; // Exit presentation mode in window.
+
+@end
+
+// A bookmarks folder that contains other bookmarks folder and bookmark items.
+@interface GoogleChromeBookmarkFolder : SBObject
+
+- (SBElementArray *) bookmarkFolders;
+- (SBElementArray *) bookmarkItems;
+
+- (NSNumber *) id; // Unique ID of the bookmark folder.
+@property (copy) NSString *title; // The title of the folder.
+@property (copy, readonly) NSNumber *index; // Returns the index with respect to its parent bookmark folder
+
+- (void) saveIn:(NSURL *)in_ as:(NSString *)as; // Save an object.
+- (void) close; // Close a window.
+- (void) delete; // Delete an object.
+- (SBObject *) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (SBObject *) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) print; // Print an object.
+- (void) reload; // Reload a tab.
+- (void) goBack; // Go Back (If Possible).
+- (void) goForward; // Go Forward (If Possible).
+- (void) selectAll; // Select all.
+- (void) cutSelection; // Cut selected text (If Possible).
+- (void) copySelection; // Copy text.
+- (void) pasteSelection; // Paste text (If Possible).
+- (void) undo; // Undo the last change.
+- (void) redo; // Redo the last change.
+- (void) stop; // Stop the current tab from loading.
+- (void) viewSource; // View the HTML source of the tab.
+- (id) executeJavascript:(NSString *)javascript; // Execute a piece of javascript.
+- (void) enterPresentationMode; // Enter presentation mode in window.
+- (void) exitPresentationMode; // Exit presentation mode in window.
+
+@end
+
+// An item consists of an URL and the title of a bookmark
+@interface GoogleChromeBookmarkItem : SBObject
+
+- (NSInteger) id; // Unique ID of the bookmark item.
+@property (copy) NSString *title; // The title of the bookmark item.
+@property (copy) NSString *URL; // The URL of the bookmark.
+@property (copy, readonly) NSNumber *index; // Returns the index with respect to its parent bookmark folder
+
+- (void) saveIn:(NSURL *)in_ as:(NSString *)as; // Save an object.
+- (void) close; // Close a window.
+- (void) delete; // Delete an object.
+- (SBObject *) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (SBObject *) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) print; // Print an object.
+- (void) reload; // Reload a tab.
+- (void) goBack; // Go Back (If Possible).
+- (void) goForward; // Go Forward (If Possible).
+- (void) selectAll; // Select all.
+- (void) cutSelection; // Cut selected text (If Possible).
+- (void) copySelection; // Copy text.
+- (void) pasteSelection; // Paste text (If Possible).
+- (void) undo; // Undo the last change.
+- (void) redo; // Redo the last change.
+- (void) stop; // Stop the current tab from loading.
+- (void) viewSource; // View the HTML source of the tab.
+- (id) executeJavascript:(NSString *)javascript; // Execute a piece of javascript.
+- (void) enterPresentationMode; // Enter presentation mode in window.
+- (void) exitPresentationMode; // Exit presentation mode in window.
+
+@end
+
+@interface GoogleChromeWindow (ChromiumSuite)
+
+@property (readonly) BOOL presenting; // Whether the window is in presentation mode.
+
+@end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Link Management/Browsers/NetNewsWire.h Sun Dec 22 14:41:34 2013 -0500
@@ -0,0 +1,330 @@
+/*
+ * NetNewsWire.h
+ */
+
+#import <AppKit/AppKit.h>
+#import <ScriptingBridge/ScriptingBridge.h>
+
+
+@class NetNewsWireItem, NetNewsWireApplication, NetNewsWireColor, NetNewsWireDocument, NetNewsWireWindow, NetNewsWireAttributeRun, NetNewsWireCharacter, NetNewsWireParagraph, NetNewsWireText, NetNewsWireAttachment, NetNewsWireWord, NetNewsWireHeadline, NetNewsWireSubscription, NetNewsWirePrintSettings;
+
+enum NetNewsWireSavo {
+ NetNewsWireSavoAsk = 'ask ' /* Ask the user whether or not to save the file. */,
+ NetNewsWireSavoNo = 'no ' /* Do not save the file. */,
+ NetNewsWireSavoYes = 'yes ' /* Save the file. */
+};
+typedef enum NetNewsWireSavo NetNewsWireSavo;
+
+enum NetNewsWireExTF {
+ NetNewsWireExTFHTML = 'HTML',
+ NetNewsWireExTFOPML = 'OPML',
+ NetNewsWireExTFPlainText = 'TEXT'
+};
+typedef enum NetNewsWireExTF NetNewsWireExTF;
+
+enum NetNewsWireEnum {
+ NetNewsWireEnumStandard = 'lwst' /* Standard PostScript error handling */,
+ NetNewsWireEnumDetailed = 'lwdt' /* print a detailed report of PostScript errors */
+};
+typedef enum NetNewsWireEnum NetNewsWireEnum;
+
+
+
+/*
+ * Standard Suite
+ */
+
+// A scriptable object.
+@interface NetNewsWireItem : SBObject
+
+@property (copy) NSDictionary *properties; // All of the object's properties.
+
+- (void) closeSaving:(NetNewsWireSavo)saving savingIn:(NSURL *)savingIn; // Close an object.
+- (void) delete; // Delete an object.
+- (void) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (BOOL) exists; // Verify if an object exists.
+- (void) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) saveAs:(NSString *)as in:(NSURL *)in_; // Save an object.
+- (id) doJavaScript; // Applies a string of JavaScript code to a document.
+- (void) exportSubscriptionsToFile:(NSString *)toFile includingGroups:(BOOL)includingGroups; // Export subscriptions as an OPML file to disk, either flat or with groups intact.
+- (void) exportTabsAs:(NetNewsWireExTF)as toFile:(NSString *)toFile; // Export tabs to a file on disk.
+- (void) loadUnloadedTabs; // Load unloaded tabs -- that is, load the web pages for tabs that were remembered from the previous run.
+- (void) openInBrowser; // Open the object in the default Web browser.
+- (void) openURLInNewTabWith:(NSString *)with; // Opens a URL in a new tab. It may open the URL in your default browser instead, if it's of a type NetNewsWire can't or shouldn't handle.
+- (void) refresh; // Refresh a subscription. If a group, its children are refreshed. (It's the equivalent of clicking the Refresh button.)
+- (void) refreshAll; // Refresh all subscriptions -- the equivalent of clicking the Refresh All button. It is treated like a manual refresh-all.
+- (BOOL) subscribeTo:(NSString *)to; // Subscribe with the URL of an RSS feed.
+- (void) unsubscribe; // Unsubscribe from a subscription.
+
+@end
+
+// An application's top level scripting object.
+@interface NetNewsWireApplication : SBApplication
+
+- (SBElementArray *) documents;
+- (SBElementArray *) windows;
+
+@property (readonly) BOOL frontmost; // Is this the frontmost (active) application?
+@property (copy, readonly) NSString *name; // The name of the application.
+@property (copy, readonly) NSString *version; // The version of the application.
+
+- (NetNewsWireDocument *) open:(NSURL *)x; // Open an object.
+- (void) print:(NSURL *)x printDialog:(BOOL)printDialog withProperties:(NetNewsWirePrintSettings *)withProperties; // Print an object.
+- (void) quitSaving:(NetNewsWireSavo)saving; // Quit an application.
+
+@end
+
+// A color.
+@interface NetNewsWireColor : NetNewsWireItem
+
+
+@end
+
+// A document.
+@interface NetNewsWireDocument : NetNewsWireItem
+
+@property (readonly) BOOL modified; // Has the document been modified since the last save?
+@property (copy) NSString *name; // The document's name.
+@property (copy) NSString *path; // The document's path.
+
+
+@end
+
+// A window.
+@interface NetNewsWireWindow : NetNewsWireItem
+
+@property NSRect bounds; // The bounding rectangle of the window.
+@property (readonly) BOOL closeable; // Whether the window has a close box.
+@property (copy, readonly) NetNewsWireDocument *document; // The document whose contents are being displayed in the window.
+@property (readonly) BOOL floating; // Whether the window floats.
+- (NSInteger) id; // The unique identifier of the window.
+@property NSInteger index; // The index of the window, ordered front to back.
+@property (readonly) BOOL miniaturizable; // Whether the window can be miniaturized.
+@property BOOL miniaturized; // Whether the window is currently miniaturized.
+@property (readonly) BOOL modal; // Whether the window is the application's current modal window.
+@property (copy) NSString *name; // The full title of the window.
+@property (readonly) BOOL resizable; // Whether the window can be resized.
+@property (readonly) BOOL titled; // Whether the window has a title bar.
+@property BOOL visible; // Whether the window is currently visible.
+@property (readonly) BOOL zoomable; // Whether the window can be zoomed.
+@property BOOL zoomed; // Whether the window is currently zoomed.
+
+
+@end
+
+
+
+/*
+ * Text Suite
+ */
+
+// This subdivides the text into chunks that all have the same attributes.
+@interface NetNewsWireAttributeRun : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// This subdivides the text into characters.
+@interface NetNewsWireCharacter : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// This subdivides the text into paragraphs.
+@interface NetNewsWireParagraph : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// Rich (styled) text
+@interface NetNewsWireText : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// Represents an inline text attachment. This class is used mainly for make commands.
+@interface NetNewsWireAttachment : NetNewsWireText
+
+@property (copy) NSString *fileName; // The path to the file for the attachment
+
+
+@end
+
+// This subdivides the text into words.
+@interface NetNewsWireWord : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+
+
+/*
+ * NetNewsWire suite
+ */
+
+// NetNewsWire's top level scripting object.
+@interface NetNewsWireApplication (NetNewsWireSuite)
+
+- (SBElementArray *) subscriptions;
+
+@property NSInteger indexOfSelectedTab; // The news items tab is 0, and web page tabs start with 1.
+@property (readonly) NSInteger numberOfTabs; // The number of tabs, including the news items tab.
+@property (copy, readonly) NetNewsWireHeadline *selectedHeadline; // The current selected headline.
+@property (copy, readonly) NetNewsWireSubscription *selectedSubscription; // The current subscription.
+@property (copy, readonly) NSArray *titlesOfTabs; // A list of the titles of tabs, including the news items tab.
+@property (readonly) NSInteger totalUnreadCount; // The total number of unread items for all subscriptions.
+@property (copy, readonly) NSArray *URLsOfTabs; // A list of the URLs of tabs. The first one -- the news items tab -- is always an empty string.
+
+@end
+
+// A single item from a feed.
+@interface NetNewsWireHeadline : NetNewsWireItem
+
+@property (copy, readonly) NSString *commentsURL; // URL of the comments page for this headline.
+@property (copy, readonly) NSString *creator; // The creator of this headline.
+@property (copy, readonly) NSDate *dateArrived; // The date this headline first appeared in NetNewsWire.
+@property (copy, readonly) NSDate *datePublished; // The date this headline was published.
+@property (copy, readonly) NSString *objectDescription; // The description (body) of the headline.
+@property (readonly) NSInteger enclosureLength; // The length in bytes of this item’s enclosure.
+@property (copy, readonly) NSString *enclosureType; // The MIME type of this item‘s enclosure.
+@property (copy, readonly) NSString *enclosureURL; // The URL of the enclosure for this item.
+@property (copy, readonly) NSString *guid; // The guid for this headline (as guid is defined by the various syndication specs).
+@property (readonly) BOOL isFake; // Obsolete. It used to say whether or not this is a fake headline (such as a headline that says "No selection"). But now it always returns false (there are no fake headlines).
+@property BOOL isFlagged; // Has the item been flagged by the user?
+@property BOOL isFollowed; // Has the item been opened in the web browser?
+@property BOOL isRead; // Has the item been read in NetNewsWire?
+@property (copy, readonly) NSString *permalink; // The permalink for this item as it appears in the feed.
+@property (readonly) NSInteger sessionID; // The unique ID of this headline for the current session.
+@property (copy, readonly) NSString *subject; // The subject of a headline, as specified in the RSS source.
+@property (copy, readonly) NetNewsWireSubscription *subscription; // The subscription that contains this headline.
+@property (copy, readonly) NSString *summary; // The summary for this item as it appears in the feed.
+@property (copy, readonly) NSString *title; // The title of the headline.
+@property (copy, readonly) NSString *URL; // The URL included with the headline.
+
+
+@end
+
+// A feed, group, or other type of subscription.
+@interface NetNewsWireSubscription : NetNewsWireItem
+
+- (SBElementArray *) headlines;
+- (SBElementArray *) subscriptions;
+
+@property (readonly) NSInteger calculatedAttentionScore; // The calculated attention score for this subscription, based on clicks and actions (such as posting to weblog, posting to Delicious, etc.). For groups it is the average of the subscription inside the group. For smart lists it only counts current items, not
+@property (copy) NSString *displayName; // The name displayed for this subscription.
+@property (copy, readonly) NSString *errorString; // The string of the last download or parsing error.
+@property (copy, readonly) NSString *ETagHeader; // The ETag header last returned by the server.
+@property (copy, readonly) NSString *givenDescription; // The description of the subscription.
+@property (copy, readonly) NSString *givenName; // The given name of the subscription.
+@property (copy, readonly) NetNewsWireSubscription *group; // The group that contains this subscription.
+@property (readonly) NSInteger headlinesCount; // The number of headlines contained by this subscription.
+@property (copy) NSString *homeURL; // The URL of the home page of this subscription.
+@property (copy, readonly) NSString *iconURL; // The URL of the icon (if there is one).
+@property (readonly) BOOL inGroup; // Is this subscription contained by a group?
+@property (readonly) BOOL isGroup; // Is this subscription a group that contains other subscriptions?
+@property (copy, readonly) NSDate *lastCheckTime; // The last time the subscription was checked for new headlines.
+@property (copy, readonly) NSDate *lastUpdateTime; // The last time the source had new headlines
+@property (copy, readonly) NSString *lastModifiedHeader; // The last last-modified header returned by the server.
+@property (readonly) NSInteger numberOfChecks; // The number of times this subscription has been checked during the current session.
+@property (readonly) NSInteger numberOfChildren; // The number of subscriptions a group contains.
+@property (readonly) NSInteger numberOfContentBytes; // The number of content bytes downloaded during the current session.
+@property (readonly) NSInteger numberOfNotModifiedResponses; // The number of times a 304 Not Modified was returned during the current session.
+@property (readonly) NSInteger numberOfOKResponses; // The number of 200 OK responses returned during the current session.
+@property (copy) NSString *RSSURL; // The URL of the RSS feed for this subscription.
+@property NSInteger scriptedAttentionScore; // To affect the calculated attention score, you can change the scripted attention score. The scripted attention score is a component of the calculated attention score (it's added).
+@property (readonly) NSInteger sessionID; // The ID for this subscription for the current session.
+@property (readonly) BOOL synthetic; // Is this subscription a synthetic subscription? (In other words, a group or other artificial feed?)
+@property (readonly) NSInteger unreadCount; // The number of unread headlines.
+@property (copy, readonly) NSString *XMLText; // The raw XML text downloaded for this subscription.
+
+
+@end
+
+
+
+/*
+ * Type Definitions
+ */
+
+@interface NetNewsWirePrintSettings : SBObject
+
+@property NSInteger copies; // the number of copies of a document to be printed
+@property BOOL collating; // Should printed copies be collated?
+@property NSInteger startingPage; // the first page of the document to be printed
+@property NSInteger endingPage; // the last page of the document to be printed
+@property NSInteger pagesAcross; // number of logical pages laid across a physical page
+@property NSInteger pagesDown; // number of logical pages laid out down a physical page
+@property (copy) NSDate *requestedPrintTime; // the time at which the desktop printer should print the document
+@property NetNewsWireEnum errorHandling; // how errors are handled
+@property (copy) NSString *faxNumber; // for fax number
+@property (copy) NSString *targetPrinter; // for target printer
+
+- (void) closeSaving:(NetNewsWireSavo)saving savingIn:(NSURL *)savingIn; // Close an object.
+- (void) delete; // Delete an object.
+- (void) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (BOOL) exists; // Verify if an object exists.
+- (void) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) saveAs:(NSString *)as in:(NSURL *)in_; // Save an object.
+- (id) doJavaScript; // Applies a string of JavaScript code to a document.
+- (void) exportSubscriptionsToFile:(NSString *)toFile includingGroups:(BOOL)includingGroups; // Export subscriptions as an OPML file to disk, either flat or with groups intact.
+- (void) exportTabsAs:(NetNewsWireExTF)as toFile:(NSString *)toFile; // Export tabs to a file on disk.
+- (void) loadUnloadedTabs; // Load unloaded tabs -- that is, load the web pages for tabs that were remembered from the previous run.
+- (void) openInBrowser; // Open the object in the default Web browser.
+- (void) openURLInNewTabWith:(NSString *)with; // Opens a URL in a new tab. It may open the URL in your default browser instead, if it's of a type NetNewsWire can't or shouldn't handle.
+- (void) refresh; // Refresh a subscription. If a group, its children are refreshed. (It's the equivalent of clicking the Refresh button.)
+- (void) refreshAll; // Refresh all subscriptions -- the equivalent of clicking the Refresh All button. It is treated like a manual refresh-all.
+- (BOOL) subscribeTo:(NSString *)to; // Subscribe with the URL of an RSS feed.
+- (void) unsubscribe; // Unsubscribe from a subscription.
+
+@end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Link Management/Browsers/OmniWeb.h Sun Dec 22 14:41:34 2013 -0500
@@ -0,0 +1,324 @@
+/*
+ * OmniWeb.h
+ */
+
+#import <AppKit/AppKit.h>
+#import <ScriptingBridge/ScriptingBridge.h>
+
+
+@class OmniWebItem, OmniWebApplication, OmniWebColor, OmniWebDocument, OmniWebWindow, OmniWebAttributeRun, OmniWebCharacter, OmniWebParagraph, OmniWebText, OmniWebAttachment, OmniWebWord, OmniWebBookmark, OmniWebBookmarksDocument, OmniWebBrowser, OmniWebTab, OmniWebWorkspace, OmniWebPrintSettings;
+
+enum OmniWebSavo {
+ OmniWebSavoAsk = 'ask ' /* Ask the user whether or not to save the file. */,
+ OmniWebSavoNo = 'no ' /* Do not save the file. */,
+ OmniWebSavoYes = 'yes ' /* Save the file. */
+};
+typedef enum OmniWebSavo OmniWebSavo;
+
+enum OmniWebEnum {
+ OmniWebEnumStandard = 'lwst' /* Standard PostScript error handling */,
+ OmniWebEnumDetailed = 'lwdt' /* print a detailed report of PostScript errors */
+};
+typedef enum OmniWebEnum OmniWebEnum;
+
+
+
+/*
+ * Standard Suite
+ */
+
+// A scriptable object.
+@interface OmniWebItem : SBObject
+
+@property (copy) NSDictionary *properties; // All of the object's properties.
+
+- (void) closeSaving:(OmniWebSavo)saving savingIn:(NSURL *)savingIn; // Close an object.
+- (void) delete; // Delete an object.
+- (void) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (BOOL) exists; // Verify if an object exists.
+- (void) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) saveAs:(NSString *)as in:(NSURL *)in_; // Save an object.
+- (NSArray *) GetWindowInfo; // Given a window's numeric ID, returns a list containing its current URL and title string.
+- (NSArray *) ListWindows; // Returns a list of the numeric IDs of all open browser windows.
+- (NSInteger) OpenURLFormData:(NSString *)FormData MIMEType:(NSString *)MIMEType to:(NSString *)to toWindow:(NSInteger)toWindow; // Causes the web browser to display a specified URL.
+- (NSString *) ParseAnchorWithURL:(NSString *)withURL; // Parses a URL (possibly relative to a base URL) and returns the resulting URL as a string.
+- (void) checkIncludingChildren:(BOOL)includingChildren; // Tells a bookmark to check for updates of its resource.
+- (void) doScriptLanguage:(NSString *)language window:(OmniWebBrowser *)window; // Execute the text as a script.
+- (void) flushCache; // Flush all cached content.
+- (void) GetURLTo:(NSString *)to; // The Netscape way of displaying a URL in a window.
+- (void) reload; // Reload the contents of this browser from the server.
+- (void) stop; // Stop a browser.
+
+@end
+
+// An application's top level scripting object.
+@interface OmniWebApplication : SBApplication
+
+- (SBElementArray *) documents;
+- (SBElementArray *) windows;
+
+@property (readonly) BOOL frontmost; // Is this the frontmost (active) application?
+@property (copy, readonly) NSString *name; // The name of the application.
+@property (copy, readonly) NSString *version; // The version of the application.
+
+- (OmniWebDocument *) open:(NSURL *)x; // Open an object.
+- (void) print:(NSURL *)x printDialog:(BOOL)printDialog withProperties:(OmniWebPrintSettings *)withProperties; // Print an object.
+- (void) quitSaving:(OmniWebSavo)saving; // Quit an application.
+
+@end
+
+// A color.
+@interface OmniWebColor : OmniWebItem
+
+
+@end
+
+// A document.
+@interface OmniWebDocument : OmniWebItem
+
+@property (readonly) BOOL modified; // Has the document been modified since the last save?
+@property (copy) NSString *name; // The document's name.
+@property (copy) NSString *path; // The document's path.
+
+
+@end
+
+// A window.
+@interface OmniWebWindow : OmniWebItem
+
+@property NSRect bounds; // The bounding rectangle of the window.
+@property (readonly) BOOL closeable; // Whether the window has a close box.
+@property (copy, readonly) OmniWebDocument *document; // The document whose contents are being displayed in the window.
+@property (readonly) BOOL floating; // Whether the window floats.
+- (NSInteger) id; // The unique identifier of the window.
+@property NSInteger index; // The index of the window, ordered front to back.
+@property (readonly) BOOL miniaturizable; // Whether the window can be miniaturized.
+@property BOOL miniaturized; // Whether the window is currently miniaturized.
+@property (readonly) BOOL modal; // Whether the window is the application's current modal window.
+@property (copy) NSString *name; // The full title of the window.
+@property (readonly) BOOL resizable; // Whether the window can be resized.
+@property (readonly) BOOL titled; // Whether the window has a title bar.
+@property BOOL visible; // Whether the window is currently visible.
+@property (readonly) BOOL zoomable; // Whether the window can be zoomed.
+@property BOOL zoomed; // Whether the window is currently zoomed.
+
+
+@end
+
+
+
+/*
+ * Text Suite
+ */
+
+// This subdivides the text into chunks that all have the same attributes.
+@interface OmniWebAttributeRun : OmniWebItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// This subdivides the text into characters.
+@interface OmniWebCharacter : OmniWebItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// This subdivides the text into paragraphs.
+@interface OmniWebParagraph : OmniWebItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// Rich (styled) text
+@interface OmniWebText : OmniWebItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// Represents an inline text attachment. This class is used mainly for make commands.
+@interface OmniWebAttachment : OmniWebText
+
+@property (copy) NSString *fileName; // The path to the file for the attachment
+
+
+@end
+
+// This subdivides the text into words.
+@interface OmniWebWord : OmniWebItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+
+
+/*
+ * OmniWeb suite
+ */
+
+// OmniWeb's top-level object.
+@interface OmniWebApplication (OmniWebSuite)
+
+- (SBElementArray *) bookmarksDocuments;
+- (SBElementArray *) browsers;
+- (SBElementArray *) workspaces;
+
+@property (copy) OmniWebWorkspace *activeWorkspace; // the currently active workspace.
+@property (copy, readonly) OmniWebBookmark *favorites; // The bookmark item whose contents are displayed in the Favorites bar.
+@property (copy, readonly) NSString *fullVersion; // The complete version string for this instance of OmniWeb.
+@property (copy, readonly) OmniWebBookmarksDocument *personalBookmarks; // The default bookmarks document.
+
+@end
+
+// A bookmark or shortcut item.
+@interface OmniWebBookmark : OmniWebItem
+
+- (SBElementArray *) bookmarks;
+
+@property (copy) NSString *address; // the location to which this bookmark refers (a URL).
+@property NSInteger checkInterval; // how often this bookmark is automatically checked for changes, in seconds.
+@property BOOL isNew; // whether this page has been updated since it was last viewed.
+@property BOOL isReachable; // whether this page could be retrieved last time it was checked.
+@property (copy, readonly) NSDate *lastCheckedDate; // the date on which this bookmark was last retrieved.
+@property (copy) NSString *name; // the label text of this bookmark item.
+@property (copy) NSString *note; // the annotation text of this bookmark item.
+
+
+@end
+
+// A document containing a set of bookmarks.
+@interface OmniWebBookmarksDocument : OmniWebDocument
+
+- (SBElementArray *) bookmarks;
+
+@property (copy, readonly) NSString *address; // the URL at which these bookmarks are stored.
+@property (readonly) BOOL isReadOnly; // can the bookmarks in this document be modified?
+
+
+@end
+
+// A web browser window.
+@interface OmniWebBrowser : OmniWebWindow
+
+- (SBElementArray *) tabs;
+
+@property (copy) OmniWebTab *activeTab; // the tab currently being displayed in this browser.
+@property (copy) NSString *address; // the URL currently being displayed in this browser.
+@property BOOL hasFavorites; // whether the browser window displays the favorites shelf
+@property BOOL hasTabs; // whether the browser window displays the tabs drawer
+@property BOOL hasToolbar; // whether the browser window has a toolbar
+@property (readonly) BOOL isBusy; // whether the browser is currently working on its display.
+@property BOOL showsAddress; // whether the browser window always displays the address (URL) field
+
+
+@end
+
+// A tab within a browser window.
+@interface OmniWebTab : OmniWebItem
+
+@property (copy) NSString *address; // the URL currently being displayed in this tab.
+@property (readonly) BOOL isBusy; // whether the tab is currently working on its display.
+@property (copy, readonly) NSString *source; // the source code for the current web page.
+@property (copy, readonly) NSString *title; // the title for the page currently being displayed in this tab.
+
+
+@end
+
+// A workspace.
+@interface OmniWebWorkspace : OmniWebItem
+
+- (SBElementArray *) browsers;
+
+@property BOOL autosaves; // whether the workspace saves its browser windows automatically
+@property (copy) NSString *name; // the workspace's name
+
+
+@end
+
+
+
+/*
+ * Type Definitions
+ */
+
+@interface OmniWebPrintSettings : SBObject
+
+@property NSInteger copies; // the number of copies of a document to be printed
+@property BOOL collating; // Should printed copies be collated?
+@property NSInteger startingPage; // the first page of the document to be printed
+@property NSInteger endingPage; // the last page of the document to be printed
+@property NSInteger pagesAcross; // number of logical pages laid across a physical page
+@property NSInteger pagesDown; // number of logical pages laid out down a physical page
+@property (copy) NSDate *requestedPrintTime; // the time at which the desktop printer should print the document
+@property OmniWebEnum errorHandling; // how errors are handled
+@property (copy) NSString *faxNumber; // for fax number
+@property (copy) NSString *targetPrinter; // for target printer
+
+- (void) closeSaving:(OmniWebSavo)saving savingIn:(NSURL *)savingIn; // Close an object.
+- (void) delete; // Delete an object.
+- (void) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (BOOL) exists; // Verify if an object exists.
+- (void) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) saveAs:(NSString *)as in:(NSURL *)in_; // Save an object.
+- (NSArray *) GetWindowInfo; // Given a window's numeric ID, returns a list containing its current URL and title string.
+- (NSArray *) ListWindows; // Returns a list of the numeric IDs of all open browser windows.
+- (NSInteger) OpenURLFormData:(NSString *)FormData MIMEType:(NSString *)MIMEType to:(NSString *)to toWindow:(NSInteger)toWindow; // Causes the web browser to display a specified URL.
+- (NSString *) ParseAnchorWithURL:(NSString *)withURL; // Parses a URL (possibly relative to a base URL) and returns the resulting URL as a string.
+- (void) checkIncludingChildren:(BOOL)includingChildren; // Tells a bookmark to check for updates of its resource.
+- (void) doScriptLanguage:(NSString *)language window:(OmniWebBrowser *)window; // Execute the text as a script.
+- (void) flushCache; // Flush all cached content.
+- (void) GetURLTo:(NSString *)to; // The Netscape way of displaying a URL in a window.
+- (void) reload; // Reload the contents of this browser from the server.
+- (void) stop; // Stop a browser.
+
+@end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Link Management/Browsers/Safari.h Sun Dec 22 14:41:34 2013 -0500
@@ -0,0 +1,265 @@
+/*
+ * Safari.h
+ */
+
+#import <AppKit/AppKit.h>
+#import <ScriptingBridge/ScriptingBridge.h>
+
+
+@class SafariItem, SafariApplication, SafariColor, SafariDocument, SafariWindow, SafariAttributeRun, SafariCharacter, SafariParagraph, SafariText, SafariAttachment, SafariWord, SafariTab, SafariPrintSettings;
+
+enum SafariSavo {
+ SafariSavoAsk = 'ask ' /* Ask the user whether or not to save the file. */,
+ SafariSavoNo = 'no ' /* Do not save the file. */,
+ SafariSavoYes = 'yes ' /* Save the file. */
+};
+typedef enum SafariSavo SafariSavo;
+
+enum SafariEnum {
+ SafariEnumStandard = 'lwst' /* Standard PostScript error handling */,
+ SafariEnumDetailed = 'lwdt' /* print a detailed report of PostScript errors */
+};
+typedef enum SafariEnum SafariEnum;
+
+
+
+/*
+ * Standard Suite
+ */
+
+// A scriptable object.
+@interface SafariItem : SBObject
+
+@property (copy) NSDictionary *properties; // All of the object's properties.
+
+- (void) closeSaving:(SafariSavo)saving savingIn:(NSURL *)savingIn; // Close an object.
+- (void) delete; // Delete an object.
+- (void) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (BOOL) exists; // Verify if an object exists.
+- (void) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) saveAs:(NSString *)as in:(NSURL *)in_; // Save an object.
+- (void) emailContentsOf:(SafariTab *)of; // Emails the contents of a tab.
+- (void) searchTheWebFor:(NSString *)for_ in:(SafariTab *)in_; // Searches the web using Safari's current search provider.
+
+@end
+
+// An application's top level scripting object.
+@interface SafariApplication : SBApplication
+
+- (SBElementArray *) documents;
+- (SBElementArray *) windows;
+
+@property (readonly) BOOL frontmost; // Is this the frontmost (active) application?
+@property (copy, readonly) NSString *name; // The name of the application.
+@property (copy, readonly) NSString *version; // The version of the application.
+
+- (SafariDocument *) open:(NSURL *)x; // Open an object.
+- (void) print:(NSURL *)x printDialog:(BOOL)printDialog withProperties:(SafariPrintSettings *)withProperties; // Print an object.
+- (void) quitSaving:(SafariSavo)saving; // Quit an application.
+- (void) addReadingListItem:(NSString *)x andPreviewText:(NSString *)andPreviewText withTitle:(NSString *)withTitle; // Add a new Reading List item with the given URL. Allows a custom title and preview text to be specified.
+- (id) doJavaScript:(NSString *)x in:(SafariTab *)in_; // Applies a string of JavaScript code to a document.
+- (void) showBookmarks; // Shows Safari's bookmarks.
+
+@end
+
+// A color.
+@interface SafariColor : SafariItem
+
+
+@end
+
+// A document.
+@interface SafariDocument : SafariItem
+
+@property (readonly) BOOL modified; // Has the document been modified since the last save?
+@property (copy) NSString *name; // The document's name.
+@property (copy) NSString *path; // The document's path.
+
+
+@end
+
+// A window.
+@interface SafariWindow : SafariItem
+
+@property NSRect bounds; // The bounding rectangle of the window.
+@property (readonly) BOOL closeable; // Whether the window has a close box.
+@property (copy, readonly) SafariDocument *document; // The document whose contents are being displayed in the window.
+@property (readonly) BOOL floating; // Whether the window floats.
+- (NSInteger) id; // The unique identifier of the window.
+@property NSInteger index; // The index of the window, ordered front to back.
+@property (readonly) BOOL miniaturizable; // Whether the window can be miniaturized.
+@property BOOL miniaturized; // Whether the window is currently miniaturized.
+@property (readonly) BOOL modal; // Whether the window is the application's current modal window.
+@property (copy) NSString *name; // The full title of the window.
+@property (readonly) BOOL resizable; // Whether the window can be resized.
+@property (readonly) BOOL titled; // Whether the window has a title bar.
+@property BOOL visible; // Whether the window is currently visible.
+@property (readonly) BOOL zoomable; // Whether the window can be zoomed.
+@property BOOL zoomed; // Whether the window is currently zoomed.
+
+
+@end
+
+
+
+/*
+ * Text Suite
+ */
+
+// This subdivides the text into chunks that all have the same attributes.
+@interface SafariAttributeRun : SafariItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// This subdivides the text into characters.
+@interface SafariCharacter : SafariItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// This subdivides the text into paragraphs.
+@interface SafariParagraph : SafariItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+// Rich (styled) text
+@interface SafariText : SafariItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+- (void) addReadingListItemAndPreviewText:(NSString *)andPreviewText withTitle:(NSString *)withTitle; // Add a new Reading List item with the given URL. Allows a custom title and preview text to be specified.
+- (id) doJavaScriptIn:(SafariTab *)in_; // Applies a string of JavaScript code to a document.
+
+@end
+
+// Represents an inline text attachment. This class is used mainly for make commands.
+@interface SafariAttachment : SafariText
+
+@property (copy) NSString *fileName; // The path to the file for the attachment
+
+
+@end
+
+// This subdivides the text into words.
+@interface SafariWord : SafariItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+@property (copy) NSColor *color; // The color of the first character.
+@property (copy) NSString *font; // The name of the font of the first character.
+@property NSInteger size; // The size in points of the first character.
+
+
+@end
+
+
+
+/*
+ * Safari suite
+ */
+
+// A Safari document representing the active tab in a window.
+@interface SafariDocument (SafariSuite)
+
+@property (copy, readonly) NSString *source; // The HTML source of the web page currently loaded in the document.
+@property (copy, readonly) SafariText *text; // The text of the web page currently loaded in the document. Modifications to text aren't reflected on the web page.
+@property (copy) NSString *URL; // The current URL of the document.
+
+@end
+
+// A Safari window tab.
+@interface SafariTab : SafariItem
+
+@property (readonly) NSInteger index; // The index of the tab, ordered left to right.
+@property (copy, readonly) NSString *name; // The name of the tab.
+@property (copy, readonly) NSString *source; // The HTML source of the web page currently loaded in the tab.
+@property (copy, readonly) SafariText *text; // The text of the web page currently loaded in the tab. Modifications to text aren't reflected on the web page.
+@property (copy) NSString *URL; // The current URL of the tab.
+@property (readonly) BOOL visible; // Whether the tab is currently visible.
+
+
+@end
+
+// A Safari window.
+@interface SafariWindow (SafariSuite)
+
+- (SBElementArray *) tabs;
+
+@property (copy) SafariTab *currentTab; // The current tab.
+
+@end
+
+
+
+/*
+ * Type Definitions
+ */
+
+@interface SafariPrintSettings : SBObject
+
+@property NSInteger copies; // the number of copies of a document to be printed
+@property BOOL collating; // Should printed copies be collated?
+@property NSInteger startingPage; // the first page of the document to be printed
+@property NSInteger endingPage; // the last page of the document to be printed
+@property NSInteger pagesAcross; // number of logical pages laid across a physical page
+@property NSInteger pagesDown; // number of logical pages laid out down a physical page
+@property (copy) NSDate *requestedPrintTime; // the time at which the desktop printer should print the document
+@property SafariEnum errorHandling; // how errors are handled
+@property (copy) NSString *faxNumber; // for fax number
+@property (copy) NSString *targetPrinter; // for target printer
+
+- (void) closeSaving:(SafariSavo)saving savingIn:(NSURL *)savingIn; // Close an object.
+- (void) delete; // Delete an object.
+- (void) duplicateTo:(SBObject *)to withProperties:(NSDictionary *)withProperties; // Copy object(s) and put the copies at a new location.
+- (BOOL) exists; // Verify if an object exists.
+- (void) moveTo:(SBObject *)to; // Move object(s) to a new location.
+- (void) saveAs:(NSString *)as in:(NSURL *)in_; // Save an object.
+- (void) emailContentsOf:(SafariTab *)of; // Emails the contents of a tab.
+- (void) searchTheWebFor:(NSString *)for_ in:(SafariTab *)in_; // Searches the web using Safari's current search provider.
+
+@end
+
--- a/Plugins/Link Management/SHLinkEditorWindowController.h Tue Dec 17 10:29:30 2013 +0100
+++ b/Plugins/Link Management/SHLinkEditorWindowController.h Sun Dec 22 14:41:34 2013 -0500
@@ -42,6 +42,7 @@
id target;
}
++ (void)insertLinkTo:(NSURL *)linkURL withText:(NSString *)linkTitle inView:(NSTextView *)inView;
- (id)initWithTextView:(NSTextView *)inTextView notifyingTarget:(id)inTarget;
- (void)showOnWindow:(NSWindow *)parentWindow __attribute__((ns_consumes_self));
--- a/Plugins/Link Management/SHLinkEditorWindowController.m Tue Dec 17 10:29:30 2013 +0100
+++ b/Plugins/Link Management/SHLinkEditorWindowController.m Sun Dec 22 14:41:34 2013 -0500
@@ -25,7 +25,6 @@
@interface SHLinkEditorWindowController ()
-- (void)insertLinkTo:(NSURL *)urlString withText:(NSString *)linkString inView:(NSTextView *)inView;
- (void)informTargetOfLink;
- (void)sheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
@@ -205,9 +204,9 @@
// Insert it into the text view
if ((URL = [NSURL URLWithString:urlString])) {
- [self insertLinkTo:URL
- withText:linkString
- inView:textView];
+ [SHLinkEditorWindowController insertLinkTo:URL
+ withText:linkString
+ inView:textView];
// Inform our target of the new link and close up
[self informTargetOfLink];
[self closeWindow:nil];
@@ -252,8 +251,14 @@
}
// Insert a link into a text view
-- (void)insertLinkTo:(NSURL *)linkURL withText:(NSString *)linkTitle inView:(NSTextView *)inView
++ (void)insertLinkTo:(NSURL *)linkURL withText:(NSString *)linkTitle inView:(NSTextView *)inView
{
+ //Bail if we don't have a link; use the link as the title if no title was sent
+ if (!linkURL)
+ return;
+ if (linkTitle.length == 0)
+ linkTitle = linkURL.path;
+
NSDictionary *typingAttributes = [inView typingAttributes];
NSTextStorage *textStorage = [inView textStorage];
NSMutableAttributedString *linkString;
--- a/Plugins/Link Management/SHLinkManagementPlugin.h Tue Dec 17 10:29:30 2013 +0100
+++ b/Plugins/Link Management/SHLinkManagementPlugin.h Sun Dec 22 14:41:34 2013 -0500
@@ -16,10 +16,10 @@
#import <Adium/AIContentControllerProtocol.h>
-@class SHLinkEditorWindowController, SHLinkFavoritesPreferences;
+@class AIPopUpToolbarItem;
-@interface SHLinkManagementPlugin : AIPlugin {
- NSToolbarItem *toolbarItem;
+@interface SHLinkManagementPlugin : AIPlugin <NSMenuDelegate> {
+ AIPopUpToolbarItem *toolbarItem;
}
@end
--- a/Plugins/Link Management/SHLinkManagementPlugin.m Tue Dec 17 10:29:30 2013 +0100
+++ b/Plugins/Link Management/SHLinkManagementPlugin.m Sun Dec 22 14:41:34 2013 -0500
@@ -20,10 +20,31 @@
#import "SHLinkEditorWindowController.h"
#import "SHLinkManagementPlugin.h"
#import <AIUtilities/AIMenuAdditions.h>
+#import <AIUtilities/AIArrayAdditions.h>
#import <AIUtilities/AIStringAdditions.h>
#import <AIUtilities/AIToolbarUtilities.h>
#import <AIUtilities/AIImageAdditions.h>
#import <AIUtilities/AIWindowAdditions.h>
+#import <ScriptingBridge/ScriptingBridge.h>
+#import <AIUtilities/AIPopUpToolbarItem.h>
+
+//Browsers used with Scripting Bridge
+#import "Safari.h"
+#import "GoogleChrome.h"
+#import "NetNewsWire.h"
+#import "OmniWeb.h"
+
+#define SAFARI_BUNDLE_ID @"com.apple.Safari"
+#define WEBKIT_BUNDLE_ID @"org.webkit.nightly.WebKit"
+#define CHROME_BUNDLE_ID @"com.google.Chrome"
+#define OMNIWEB_BUNDLE_ID @"com.omnigroup.OmniWeb5"
+#define NETNEWSWIRE_BUNDLE_ID @"com.ranchero.NetNewsWire"
+
+#define BROWSER_ACTIVE_TAB_KEY_PATHS @{ \
+SAFARI_BUNDLE_ID : @{ @"URL" : @"windows.@first.currentTab.URL", @"title" : @"windows.@first.currentTab.name" }, \
+WEBKIT_BUNDLE_ID : @{ @"URL" : @"windows.@first.currentTab.URL", @"title" : @"windows.@first.currentTab.name" }, \
+CHROME_BUNDLE_ID : @{ @"URL" : @"windows.@first.activeTab.URL", @"title" : @"windows.@first.activeTab.title" }, \
+OMNIWEB_BUNDLE_ID : @{ @"URL" : @"activeWorkspace.browsers.@first.activeTab.address", @"title" : @"activeWorkspace.browsers.@first.activeTab.title" } }
#define ADD_LINK_TITLE [AILocalizedString(@"Add Link",nil) stringByAppendingEllipsis]
#define EDIT_LINK_TITLE [AILocalizedString(@"Edit Link",nil) stringByAppendingEllipsis]
@@ -66,6 +87,10 @@
//Update our add/edit link menu item
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
{
+ //Enable the insert link menu items
+ if (menuItem.action == @selector(addLink:))
+ return YES;
+
NSResponder *responder = [[[NSApplication sharedApplication] keyWindow] firstResponder];
if (responder && [responder isKindOfClass:[NSTextView class]]) {
if ([[menuItem title] isEqualToString:RM_LINK_TITLE]) {
@@ -112,28 +137,145 @@
[[earliestTextView textStorage] attribute:NSLinkAttributeName
atIndex:selectedRange.location
effectiveRange:&selectedRange];
- [[earliestTextView textStorage] removeAttribute:NSLinkAttributeName range:selectedRange];
+ [[earliestTextView textStorage] removeAttribute:NSLinkAttributeName range:selectedRange];
}
- }
+ }
}
//Returns YES if a link is under the selection of the passed text view
- (BOOL)textViewSelectionIsLink:(NSTextView *)textView
{
id selectedLink = nil;
-
+ NSRange selectionRange = [textView selectedRange];
if ([[textView textStorage] length] &&
- [textView selectedRange].location != NSNotFound &&
- [textView selectedRange].location != [[textView textStorage] length]) {
- NSRange selectionRange = [textView selectedRange];
+ selectionRange.location != NSNotFound &&
+ selectionRange.location != [[textView textStorage] length]) {
+
selectedLink = [[textView textStorage] attribute:NSLinkAttributeName
atIndex:selectionRange.location
effectiveRange:&selectionRange];
}
-
return selectedLink != nil;
}
+- (void)menuNeedsUpdate:(NSMenu *)menu
+{
+ if ([menu.title isEqualToString:@"LinkPopupMenu"]) {
+ //Remove existing tab entries
+ [menu removeAllItemsAfterIndex:1];
+
+ //Get each open browser's open tabs
+ NSArray *browsers = @[SAFARI_BUNDLE_ID, CHROME_BUNDLE_ID, WEBKIT_BUNDLE_ID, OMNIWEB_BUNDLE_ID, NETNEWSWIRE_BUNDLE_ID];
+ NSMutableDictionary *openTabs = [[[NSMutableDictionary alloc] init] autorelease];
+ for (NSString *browser in browsers) {
+ NSArray *apps = [NSRunningApplication runningApplicationsWithBundleIdentifier:browser];
+ if (apps.count) {
+ SBApplication *sbapp = [SBApplication applicationWithBundleIdentifier:browser];
+ if (sbapp) {
+ if ([browser isEqualToString:CHROME_BUNDLE_ID]) {
+ NSMutableArray *menuItems = [[[NSMutableArray alloc] init] autorelease];
+ [[(GoogleChromeApplication *)sbapp windows] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
+ if (idx > 0)
+ [menuItems addObject:[NSMenuItem separatorItem]];
+ [[obj tabs] enumerateObjectsUsingBlock:^(id tab, NSUInteger tabidx, BOOL *tabstop) {
+ id title = [[tab title] isEqualToString:@""] ? [tab URL] : [tab title];
+ [menuItems addObject:[[[NSMenuItem alloc] initWithTitle:title target:self action:@selector(addLink:) keyEquivalent:@"" representedObject:[tab URL]] autorelease]];
+ }];
+ }];
+ [openTabs setObject:menuItems forKey:@"Chrome"];
+
+ } else if ([browser isEqualToString:SAFARI_BUNDLE_ID] || [browser isEqualToString:WEBKIT_BUNDLE_ID]) {
+ NSMutableArray *menuItems = [[[NSMutableArray alloc] init] autorelease];
+ [[(SafariApplication *)sbapp windows] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
+ if (idx > 0)
+ [menuItems addObject:[NSMenuItem separatorItem]];
+ [[obj tabs] enumerateObjectsUsingBlock:^(id tab, NSUInteger tabidx, BOOL *tabstop) {
+ [menuItems addObject:[[[NSMenuItem alloc] initWithTitle:[tab name] target:self action:@selector(addLink:) keyEquivalent:@"" representedObject:[tab URL]] autorelease]];
+ }];
+ }];
+ [openTabs setObject:menuItems forKey:([browser isEqualToString:SAFARI_BUNDLE_ID] ? @"Safari" : @"WebKit")];
+
+ } else if ([browser isEqualToString:NETNEWSWIRE_BUNDLE_ID]) {
+ NSMutableArray *menuItems = [[[NSMutableArray alloc] init] autorelease];
+ NSArray *urls = [(NetNewsWireApplication *)sbapp URLsOfTabs];
+ [[(NetNewsWireApplication *)sbapp titlesOfTabs] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
+ //Skip the "News" item
+ if (idx == 0) return;
+ [menuItems addObject:[[[NSMenuItem alloc] initWithTitle:obj target:self action:@selector(addLink:) keyEquivalent:@"" representedObject:[urls objectAtIndex:idx]] autorelease]];
+ }];
+ [openTabs setObject:menuItems forKey:@"NetNewsWire"];
+
+ } else if ([browser isEqualToString:OMNIWEB_BUNDLE_ID]) {
+ NSMutableArray *menuItems = [[[NSMutableArray alloc] init] autorelease];
+ [[(OmniWebApplication *)sbapp browsers] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
+ [[obj tabs] enumerateObjectsUsingBlock:^(id tab, NSUInteger tabidx, BOOL *tabstop) {
+ [menuItems addObject:[[[NSMenuItem alloc] initWithTitle:[tab title] target:self action:@selector(addLink:) keyEquivalent:@"" representedObject:[tab address]] autorelease]];
+ }];
+ }];
+ [openTabs setObject:menuItems forKey:@"OmniWeb"];
+ }
+ }
+ }
+ }
+
+ /* Create the menus
+ * If there's only one browser open put the tabs in the root menu.
+ * More than one browser open, make a submenu for each.
+ */
+ if (openTabs.count == 1) {
+ [menu addItem:[NSMenuItem separatorItem]];
+ [openTabs enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
+ [obj enumerateObjectsUsingBlock:^(id subobj, NSUInteger idx, BOOL *substop) {
+ [menu addItem:subobj];
+ }];
+ }];
+ } else if (openTabs.count > 1) {
+ [menu addItem:[NSMenuItem separatorItem]];
+ [openTabs enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
+ NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:[NSString stringWithFormat:AILocalizedString(@"Insert %@ Link", @"Used in a menu that displays open browser tabs"), key] action:nil keyEquivalent:@""];
+ NSMenu *subMenu = [[NSMenu alloc] initWithTitle:@""];
+ [obj enumerateObjectsUsingBlock:^(id subobj, NSUInteger idx, BOOL *substop) {
+ [subMenu addItem:subobj];
+ }];
+ [menu addItem:menuItem];
+ [menu setSubmenu:subMenu forItem:menuItem];
+ [menuItem release];
+ }];
+ }
+ }
+}
+
+//Insert a link from the frontmost tab in the default browser
+- (IBAction)addDefaultLink:(id)sender
+{
+ NSURL *defaultBrowser = [[NSWorkspace sharedWorkspace] URLForApplicationToOpenURL:[NSURL URLWithString:@"http://adium.im"]];
+ SBApplication *sbapp = [SBApplication applicationWithURL:defaultBrowser];
+ if (sbapp && sbapp.isRunning) {
+ NSWindow *keyWin = [[NSApplication sharedApplication] keyWindow];
+ NSTextView *earliestTextView = (NSTextView *)[keyWin earliestResponderOfClass:[NSTextView class]];
+ NSString *bundleID = [[NSBundle bundleWithURL:defaultBrowser] bundleIdentifier];
+
+ //Make sure we support this browser
+ NSDictionary *browser = [BROWSER_ACTIVE_TAB_KEY_PATHS objectForKey:bundleID];
+ if (browser) {
+ [SHLinkEditorWindowController insertLinkTo:[NSURL URLWithString:[sbapp valueForKeyPath:[browser objectForKey:@"URL"]]]
+ withText:[sbapp valueForKeyPath:[browser objectForKey:@"title"]]
+ inView:earliestTextView];
+ }
+ }
+}
+
+- (IBAction)addLink:(id)sender
+{
+ if ([sender isKindOfClass:[NSMenuItem class]] && [sender representedObject]) {
+ NSWindow *keyWin = [[NSApplication sharedApplication] keyWindow];
+ NSTextView *earliestTextView = (NSTextView *)[keyWin earliestResponderOfClass:[NSTextView class]];
+ [SHLinkEditorWindowController insertLinkTo:[sender representedObject]
+ withText:[sender title]
+ inView:earliestTextView];
+ }
+}
+
#pragma mark Toolbar Item stuff
- (void)registerToolbarItem
@@ -143,17 +285,29 @@
[adium.toolbarController unregisterToolbarItem:toolbarItem forToolbarType:@"TextEntry"];
[toolbarItem release]; toolbarItem = nil;
}
-
- toolbarItem = [[AIToolbarUtilities toolbarItemWithIdentifier:@"LinkEditor"
- label:AILocalizedString(@"Link",nil)
- paletteLabel:AILocalizedString(@"Insert Link",nil)
- toolTip:AILocalizedString(@"Add/Edit Hyperlink",nil)
- target:self
- settingSelector:@selector(setImage:)
- itemContent:[NSImage imageNamed:@"msg-insert-link" forClass:[self class] loadLazily:YES]
- action:@selector(editFormattedLink:)
- menu:nil] retain];
-
- [adium.toolbarController registerToolbarItem:toolbarItem forToolbarType:@"TextEntry"];
+
+ NSMenu *toolbarMenu = [[[NSMenu alloc] initWithTitle:@"LinkPopupMenu"] autorelease];
+ toolbarMenu.delegate = self;
+ NSMenuItem *menuItem = [[[NSMenuItem alloc] initWithTitle:ADD_LINK_TITLE
+ target:self
+ action:@selector(editFormattedLink:)
+ keyEquivalent:@""] autorelease];
+ [toolbarMenu addItem:menuItem];
+ menuItem = [[[NSMenuItem alloc] initWithTitle:RM_LINK_TITLE
+ target:self
+ action:@selector(removeFormattedLink:)
+ keyEquivalent:@""] autorelease];
+ [toolbarMenu addItem:menuItem];
+
+ toolbarItem = [[[AIPopUpToolbarItem alloc] initWithItemIdentifier:@"LinkEditor"] autorelease];
+ toolbarItem.menu = toolbarMenu;
+ toolbarItem.label = AILocalizedString(@"Link",nil);
+ toolbarItem.paletteLabel = AILocalizedString(@"Insert Link",nil);
+ toolbarItem.toolTip = AILocalizedString(@"Add/Edit Hyperlink",nil);
+ toolbarItem.image = [NSImage imageNamed:@"msg-insert-link" forClass:[self class] loadLazily:NO];
+ toolbarItem.target = self;
+ toolbarItem.action = @selector(addDefaultLink:);
+
+ [adium.toolbarController registerToolbarItem:toolbarItem forToolbarType:@"TextEntry"];
}
@end
--- a/Resources/LinkEditor.xib Tue Dec 17 10:29:30 2013 +0100
+++ b/Resources/LinkEditor.xib Sun Dec 22 14:41:34 2013 -0500
@@ -2,13 +2,13 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">12C60</string>
- <string key="IBDocument.InterfaceBuilderVersion">3084</string>
- <string key="IBDocument.AppKitVersion">1187.34</string>
- <string key="IBDocument.HIToolboxVersion">625.00</string>
+ <string key="IBDocument.SystemVersion">13A603</string>
+ <string key="IBDocument.InterfaceBuilderVersion">4514</string>
+ <string key="IBDocument.AppKitVersion">1265</string>
+ <string key="IBDocument.HIToolboxVersion">695.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">3084</string>
+ <string key="NS.object.0">4514</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSButton</string>
@@ -31,110 +31,107 @@
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
- <array class="NSMutableArray" key="IBDocument.RootObjects" id="1035320313">
- <object class="NSCustomObject" id="709246800">
+ <array class="NSMutableArray" key="IBDocument.RootObjects" id="36557480">
+ <object class="NSCustomObject" id="848600341">
<string key="NSClassName">SHLinkEditorWindowController</string>
</object>
- <object class="NSCustomObject" id="77182997">
+ <object class="NSCustomObject" id="170915615">
<string key="NSClassName">FirstResponder</string>
</object>
- <object class="NSCustomObject" id="604440368">
+ <object class="NSCustomObject" id="952971899">
<string key="NSClassName">NSApplication</string>
</object>
- <object class="NSWindowTemplate" id="564400305">
+ <object class="NSWindowTemplate" id="713683747">
<int key="NSWindowStyleMask">1</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{120, 450}, {448, 166}}</string>
<int key="NSWTFlags">813170688</int>
<string key="NSWindowTitle">Link Editor</string>
<string key="NSWindowClass">NSPanel</string>
- <object class="NSMutableString" key="NSViewClass">
- <characters key="NS.bytes">View</characters>
- </object>
+ <nil key="NSViewClass"/>
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{213, 107}</string>
- <object class="NSView" key="NSWindowView" id="1020572715">
+ <object class="NSView" key="NSWindowView" id="241070291">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
- <object class="NSTextField" id="275025321">
- <reference key="NSNextResponder" ref="1020572715"/>
+ <object class="NSTextField" id="180937146">
+ <reference key="NSNextResponder" ref="241070291"/>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{13, 126}, {67, 17}}</string>
- <reference key="NSSuperview" ref="1020572715"/>
+ <reference key="NSSuperview" ref="241070291"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="741391648"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="902976334">
+ <object class="NSTextFieldCell" key="NSCell" id="713378197">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">71303168</int>
<string key="NSContents">Link Text:</string>
- <object class="NSFont" key="NSSupport" id="269900293">
- <string key="NSName">LucidaGrande</string>
+ <object class="NSFont" key="NSSupport" id="440962872">
+ <string key="NSName">.LucidaGrandeUI</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
- <reference key="NSControlView" ref="275025321"/>
- <object class="NSColor" key="NSBackgroundColor" id="799204711">
+ <reference key="NSControlView" ref="180937146"/>
+ <object class="NSColor" key="NSBackgroundColor" id="757834884">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
- <object class="NSColor" key="NSColor" id="370791346">
+ <object class="NSColor" key="NSColor" id="222963551">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
- <object class="NSColor" key="NSTextColor" id="90910145">
+ <object class="NSColor" key="NSTextColor" id="360055434">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
- <object class="NSColor" key="NSColor" id="284375813">
+ <object class="NSColor" key="NSColor" id="890912732">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ <int key="NSTextFieldAlignmentRectInsetsVersion">1</int>
</object>
- <object class="NSTextField" id="985332958">
- <reference key="NSNextResponder" ref="1020572715"/>
+ <object class="NSTextField" id="197802448">
+ <reference key="NSNextResponder" ref="241070291"/>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{13, 99}, {67, 17}}</string>
- <reference key="NSSuperview" ref="1020572715"/>
+ <reference key="NSSuperview" ref="241070291"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="286700648"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="144311258">
+ <object class="NSTextFieldCell" key="NSCell" id="737947676">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">71303168</int>
<string key="NSContents">URL:</string>
- <reference key="NSSupport" ref="269900293"/>
- <reference key="NSControlView" ref="985332958"/>
- <reference key="NSBackgroundColor" ref="799204711"/>
- <reference key="NSTextColor" ref="90910145"/>
+ <reference key="NSSupport" ref="440962872"/>
+ <reference key="NSControlView" ref="197802448"/>
+ <reference key="NSBackgroundColor" ref="757834884"/>
+ <reference key="NSTextColor" ref="360055434"/>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ <int key="NSTextFieldAlignmentRectInsetsVersion">1</int>
</object>
- <object class="NSTextField" id="741391648">
- <reference key="NSNextResponder" ref="1020572715"/>
+ <object class="NSTextField" id="1070637262">
+ <reference key="NSNextResponder" ref="241070291"/>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{85, 124}, {343, 22}}</string>
- <reference key="NSSuperview" ref="1020572715"/>
+ <reference key="NSSuperview" ref="241070291"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="985332958"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="90209989">
+ <object class="NSTextFieldCell" key="NSCell" id="675212235">
<int key="NSCellFlags">-1804599231</int>
<int key="NSCellFlags2">4195328</int>
<string key="NSContents"/>
- <reference key="NSSupport" ref="269900293"/>
- <reference key="NSControlView" ref="741391648"/>
+ <reference key="NSSupport" ref="440962872"/>
+ <reference key="NSControlView" ref="1070637262"/>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textBackgroundColor</string>
- <object class="NSColor" key="NSColor" id="469115896">
+ <object class="NSColor" key="NSColor" id="123475348">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
@@ -143,21 +140,22 @@
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textColor</string>
- <reference key="NSColor" ref="284375813"/>
+ <reference key="NSColor" ref="890912732"/>
</object>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+ <int key="NSTextFieldAlignmentRectInsetsVersion">1</int>
</object>
- <object class="NSScrollView" id="977442784">
- <reference key="NSNextResponder" ref="1020572715"/>
+ <object class="NSScrollView" id="656042910">
+ <reference key="NSNextResponder" ref="241070291"/>
<int key="NSvFlags">257</int>
<array class="NSMutableArray" key="NSSubviews">
- <object class="NSClipView" id="400398929">
- <reference key="NSNextResponder" ref="977442784"/>
- <int key="NSvFlags">2304</int>
+ <object class="NSClipView" id="585923653">
+ <reference key="NSNextResponder" ref="656042910"/>
+ <int key="NSvFlags">2322</int>
<array class="NSMutableArray" key="NSSubviews">
- <object class="NSTextView" id="847484606">
- <reference key="NSNextResponder" ref="400398929"/>
+ <object class="NSTextView" id="715595079">
+ <reference key="NSNextResponder" ref="585923653"/>
<int key="NSvFlags">2322</int>
<set class="NSMutableSet" key="NSDragTypes">
<string>Apple HTML pasteboard type</string>
@@ -179,10 +177,9 @@
<string>public.url</string>
</set>
<string key="NSFrameSize">{341, 54}</string>
- <reference key="NSSuperview" ref="400398929"/>
+ <reference key="NSSuperview" ref="585923653"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="464927471"/>
- <object class="NSTextContainer" key="NSTextContainer" id="657806778">
+ <object class="NSTextContainer" key="NSTextContainer" id="8829469">
<object class="NSLayoutManager" key="NSLayoutManager">
<object class="NSTextStorage" key="NSTextStorage">
<object class="NSMutableString" key="NSString">
@@ -191,12 +188,12 @@
<nil key="NSDelegate"/>
</object>
<array class="NSMutableArray" key="NSTextContainers">
- <reference ref="657806778"/>
+ <reference ref="8829469"/>
</array>
<int key="NSLMFlags">38</int>
<nil key="NSDelegate"/>
</object>
- <reference key="NSTextView" ref="847484606"/>
+ <reference key="NSTextView" ref="715595079"/>
<double key="NSWidth">341</double>
<int key="NSTCFlags">1</int>
</object>
@@ -204,22 +201,22 @@
<int key="NSFlags">67111779</int>
<int key="NSTextCheckingTypes">0</int>
<nil key="NSMarkedAttributes"/>
- <reference key="NSBackgroundColor" ref="469115896"/>
+ <reference key="NSBackgroundColor" ref="123475348"/>
<dictionary key="NSSelectedAttributes">
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">selectedTextBackgroundColor</string>
- <reference key="NSColor" ref="370791346"/>
+ <reference key="NSColor" ref="222963551"/>
</object>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">selectedTextColor</string>
- <reference key="NSColor" ref="284375813"/>
+ <reference key="NSColor" ref="890912732"/>
</object>
</dictionary>
- <reference key="NSInsertionColor" ref="284375813"/>
+ <reference key="NSInsertionColor" ref="890912732"/>
<dictionary key="NSLinkAttributes">
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">1</int>
@@ -236,132 +233,113 @@
<int key="NSPreferredTextFinderStyle">0</int>
</object>
<int key="NSTVFlags">6</int>
- <string key="NSMaxSize">{341, 10000000}</string>
+ <string key="NSMaxSize">{343, 10000000}</string>
<nil key="NSDelegate"/>
</object>
</array>
<string key="NSFrame">{{1, 1}, {341, 54}}</string>
- <reference key="NSSuperview" ref="977442784"/>
+ <reference key="NSSuperview" ref="656042910"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="847484606"/>
- <reference key="NSDocView" ref="847484606"/>
- <reference key="NSBGColor" ref="469115896"/>
+ <reference key="NSNextKeyView" ref="715595079"/>
+ <reference key="NSDocView" ref="715595079"/>
+ <reference key="NSBGColor" ref="123475348"/>
<object class="NSCursor" key="NSCursor">
- <string key="NSHotSpot">{4, 5}</string>
- <object class="NSImage" key="NSImage">
- <int key="NSImageFlags">12582912</int>
- <array class="NSMutableArray" key="NSReps">
- <array>
- <integer value="0"/>
- <object class="NSBitmapImageRep">
- <object class="NSData" key="NSTIFFRepresentation">
- <bytes key="NS.bytes">TU0AKgAAAHCAFUqgBVKsAAAAwdVQUqwaEQeIRGJRGFlYqwWLQ+JxuOQpVRmEx2RROKwOQyOUQSPyaUym
-SxqWyKXyeYxyZzWbSuJTScRCbz2Nz+gRKhUOfTqeUai0OSxiWTiBQSHSGFquGwekxyAgAAAOAQAAAwAA
-AAEAEAAAAQEAAwAAAAEAEAAAAQIAAwAAAAIACAAIAQMAAwAAAAEABQAAAQYAAwAAAAEAAQAAAREABAAA
-AAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEAAgAAARYAAwAAAAEAEAAAARcABAAAAAEAAABnARwAAwAA
-AAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
- </object>
- </object>
- </array>
- </array>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MCAwAA</bytes>
- </object>
- </object>
+ <string key="NSHotSpot">{1, -1}</string>
+ <int key="NSCursorType">0</int>
</object>
<int key="NScvFlags">4</int>
</object>
- <object class="NSScroller" id="847458639">
- <reference key="NSNextResponder" ref="977442784"/>
+ <object class="NSScroller" id="221496593">
+ <reference key="NSNextResponder" ref="656042910"/>
<int key="NSvFlags">-2147483392</int>
- <string key="NSFrame">{{-22, 1}, {11, 54}}</string>
- <reference key="NSSuperview" ref="977442784"/>
+ <string key="NSFrame">{{-100, -100}, {87, 18}}</string>
+ <reference key="NSSuperview" ref="656042910"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="400398929"/>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
- <int key="NSsFlags">256</int>
- <reference key="NSTarget" ref="977442784"/>
+ <int key="NSsFlags">257</int>
+ <reference key="NSTarget" ref="656042910"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1</double>
</object>
- <object class="NSScroller" id="768550780">
- <reference key="NSNextResponder" ref="977442784"/>
+ <object class="NSScroller" id="340472970">
+ <reference key="NSNextResponder" ref="656042910"/>
<int key="NSvFlags">-2147483392</int>
- <string key="NSFrame">{{-100, -100}, {87, 18}}</string>
- <reference key="NSSuperview" ref="977442784"/>
+ <string key="NSFrame">{{-22, 1}, {11, 54}}</string>
+ <reference key="NSSuperview" ref="656042910"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="847458639"/>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
- <int key="NSsFlags">257</int>
- <reference key="NSTarget" ref="977442784"/>
+ <int key="NSsFlags">256</int>
+ <reference key="NSTarget" ref="656042910"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">1</double>
- <double key="NSPercent">0.94565218687057495</double>
</object>
</array>
<string key="NSFrame">{{85, 60}, {343, 56}}</string>
- <reference key="NSSuperview" ref="1020572715"/>
+ <reference key="NSSuperview" ref="241070291"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="768550780"/>
+ <reference key="NSNextKeyView" ref="585923653"/>
<int key="NSsFlags">133650</int>
- <reference key="NSVScroller" ref="847458639"/>
- <reference key="NSHScroller" ref="768550780"/>
- <reference key="NSContentView" ref="400398929"/>
+ <reference key="NSVScroller" ref="340472970"/>
+ <reference key="NSHScroller" ref="221496593"/>
+ <reference key="NSContentView" ref="585923653"/>
<double key="NSMinMagnification">0.25</double>
<double key="NSMaxMagnification">4</double>
<double key="NSMagnification">1</double>
</object>
- <object class="NSButton" id="241117186">
- <reference key="NSNextResponder" ref="1020572715"/>
+ <object class="NSButton" id="364890204">
+ <reference key="NSNextResponder" ref="241070291"/>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{353, 12}, {83, 32}}</string>
- <reference key="NSSuperview" ref="1020572715"/>
+ <reference key="NSSuperview" ref="241070291"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView"/>
+ <string key="NSHuggingPriority">{250, 750}</string>
<bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="841529738">
+ <object class="NSButtonCell" key="NSCell" id="923937676">
<int key="NSCellFlags">-2080374784</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Insert</string>
- <reference key="NSSupport" ref="269900293"/>
- <reference key="NSControlView" ref="241117186"/>
+ <reference key="NSSupport" ref="440962872"/>
+ <reference key="NSControlView" ref="364890204"/>
<int key="NSButtonFlags">-2038284288</int>
<int key="NSButtonFlags2">1</int>
- <reference key="NSAlternateImage" ref="269900293"/>
+ <object class="NSFont" key="NSAlternateImage" id="1016895593">
+ <string key="NSName">.LucidaGrandeUI</string>
+ <double key="NSSize">13</double>
+ <int key="NSfFlags">16</int>
+ </object>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
- <object class="NSButton" id="101844356">
- <reference key="NSNextResponder" ref="1020572715"/>
+ <object class="NSButton" id="899759741">
+ <reference key="NSNextResponder" ref="241070291"/>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{271, 12}, {82, 32}}</string>
- <reference key="NSSuperview" ref="1020572715"/>
+ <reference key="NSSuperview" ref="241070291"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="241117186"/>
+ <string key="NSHuggingPriority">{250, 750}</string>
<bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="657611475">
+ <object class="NSButtonCell" key="NSCell" id="979016968">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Cancel</string>
- <reference key="NSSupport" ref="269900293"/>
- <reference key="NSControlView" ref="101844356"/>
+ <reference key="NSSupport" ref="440962872"/>
+ <reference key="NSControlView" ref="899759741"/>
<int key="NSButtonFlags">-2038284288</int>
<int key="NSButtonFlags2">1</int>
- <reference key="NSAlternateImage" ref="269900293"/>
+ <reference key="NSAlternateImage" ref="1016895593"/>
<string key="NSAlternateContents"/>
<string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
- <object class="NSImageView" id="286700648">
- <reference key="NSNextResponder" ref="1020572715"/>
+ <object class="NSImageView" id="571660413">
+ <reference key="NSNextResponder" ref="241070291"/>
<int key="NSvFlags">-2147483388</int>
<set class="NSMutableSet" key="NSDragTypes">
<string>Apple PDF pasteboard type</string>
@@ -372,16 +350,15 @@
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{46, 67}, {32, 32}}</string>
- <reference key="NSSuperview" ref="1020572715"/>
+ <reference key="NSSuperview" ref="241070291"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="977442784"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSImageCell" key="NSCell" id="777432932">
- <int key="NSCellFlags">134217728</int>
+ <object class="NSImageCell" key="NSCell" id="987656654">
+ <int key="NSCellFlags">0</int>
<int key="NSCellFlags2">33554432</int>
<object class="NSCustomResource" key="NSContents">
<string key="NSClassName">NSImage</string>
- <string key="NSResourceName">ErrorAlert</string>
+ <string key="NSResourceName">events-error-alert</string>
</object>
<int key="NSAlign">0</int>
<int key="NSScale">0</int>
@@ -391,29 +368,27 @@
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<bool key="NSEditable">YES</bool>
</object>
- <object class="NSButton" id="464927471">
- <reference key="NSNextResponder" ref="1020572715"/>
+ <object class="NSButton" id="767778597">
+ <reference key="NSNextResponder" ref="241070291"/>
<int key="NSvFlags">260</int>
<string key="NSFrame">{{14, 12}, {121, 32}}</string>
- <reference key="NSSuperview" ref="1020572715"/>
+ <reference key="NSSuperview" ref="241070291"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="101844356"/>
+ <string key="NSHuggingPriority">{250, 750}</string>
<bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="950174949">
+ <object class="NSButtonCell" key="NSCell" id="31130999">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Remove Link</string>
- <reference key="NSSupport" ref="269900293"/>
- <reference key="NSControlView" ref="464927471"/>
+ <reference key="NSSupport" ref="440962872"/>
+ <reference key="NSControlView" ref="767778597"/>
<int key="NSButtonFlags">-2038284288</int>
<int key="NSButtonFlags2">1</int>
- <reference key="NSAlternateImage" ref="269900293"/>
+ <reference key="NSAlternateImage" ref="1016895593"/>
<string key="NSAlternateContents"/>
- <object class="NSMutableString" key="NSKeyEquivalent">
- <characters key="NS.bytes"/>
- </object>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
@@ -421,7 +396,6 @@
<string key="NSFrameSize">{448, 166}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="275025321"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
<string key="NSMinSize">{213, 129}</string>
@@ -430,414 +404,653 @@
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
+ <bool key="usesAutoincrementingIDs">NO</bool>
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">textField_linkText</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="741391648"/>
- </object>
- <int key="connectionID">128</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">textView_URL</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="847484606"/>
- </object>
- <int key="connectionID">129</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">imageView_invalidURLAlert</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="286700648"/>
- </object>
- <int key="connectionID">132</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">window</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="564400305"/>
- </object>
- <int key="connectionID">133</int>
- </object>
- <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">acceptURL:</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="241117186"/>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="364890204"/>
</object>
- <int key="connectionID">140</int>
+ <string key="id">140</string>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">cancel:</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="101844356"/>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="899759741"/>
</object>
- <int key="connectionID">141</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">scrollView_URL</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="977442784"/>
- </object>
- <int key="connectionID">146</int>
+ <string key="id">141</string>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">removeURL:</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="464927471"/>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="767778597"/>
</object>
- <int key="connectionID">148</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">label_linkText</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="275025321"/>
- </object>
- <int key="connectionID">156</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">label_URL</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="985332958"/>
- </object>
- <int key="connectionID">157</int>
+ <string key="id">148</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">button_cancel</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="101844356"/>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="899759741"/>
</object>
- <int key="connectionID">158</int>
+ <string key="id">158</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">button_insert</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="241117186"/>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="364890204"/>
</object>
- <int key="connectionID">159</int>
+ <string key="id">159</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">button_removeLink</string>
- <reference key="source" ref="709246800"/>
- <reference key="destination" ref="464927471"/>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="767778597"/>
+ </object>
+ <string key="id">160</string>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">imageView_invalidURLAlert</string>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="571660413"/>
+ </object>
+ <string key="id">132</string>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">label_URL</string>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="197802448"/>
+ </object>
+ <string key="id">157</string>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">label_linkText</string>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="180937146"/>
</object>
- <int key="connectionID">160</int>
+ <string key="id">156</string>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">scrollView_URL</string>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="656042910"/>
+ </object>
+ <string key="id">146</string>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">textField_linkText</string>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="1070637262"/>
+ </object>
+ <string key="id">128</string>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="713683747"/>
+ </object>
+ <string key="id">133</string>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">textView_URL</string>
+ <reference key="source" ref="848600341"/>
+ <reference key="destination" ref="715595079"/>
+ </object>
+ <string key="id">129</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window_anchorOnLeftSide</string>
- <reference key="source" ref="275025321"/>
- <reference key="destination" ref="564400305"/>
+ <reference key="source" ref="180937146"/>
+ <reference key="destination" ref="713683747"/>
</object>
- <int key="connectionID">154</int>
+ <string key="id">154</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window_anchorOnLeftSide</string>
- <reference key="source" ref="985332958"/>
- <reference key="destination" ref="564400305"/>
+ <reference key="source" ref="197802448"/>
+ <reference key="destination" ref="713683747"/>
</object>
- <int key="connectionID">153</int>
+ <string key="id">153</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">nextKeyView</string>
- <reference key="source" ref="741391648"/>
- <reference key="destination" ref="847484606"/>
+ <reference key="source" ref="1070637262"/>
+ <reference key="destination" ref="715595079"/>
</object>
- <int key="connectionID">134</int>
+ <string key="id">134</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
- <reference key="source" ref="847484606"/>
- <reference key="destination" ref="709246800"/>
+ <reference key="source" ref="715595079"/>
+ <reference key="destination" ref="848600341"/>
</object>
- <int key="connectionID">137</int>
+ <string key="id">137</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">nextKeyView</string>
- <reference key="source" ref="977442784"/>
- <reference key="destination" ref="741391648"/>
+ <reference key="source" ref="656042910"/>
+ <reference key="destination" ref="1070637262"/>
</object>
- <int key="connectionID">135</int>
+ <string key="id">135</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">view_anchorToLeftSide</string>
- <reference key="source" ref="241117186"/>
- <reference key="destination" ref="101844356"/>
+ <reference key="source" ref="364890204"/>
+ <reference key="destination" ref="899759741"/>
</object>
- <int key="connectionID">149</int>
+ <string key="id">149</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window_anchorOnRightSide</string>
- <reference key="source" ref="241117186"/>
- <reference key="destination" ref="564400305"/>
+ <reference key="source" ref="364890204"/>
+ <reference key="destination" ref="713683747"/>
</object>
- <int key="connectionID">152</int>
+ <string key="id">152</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">view_anchorToRightSide</string>
- <reference key="source" ref="101844356"/>
- <reference key="destination" ref="241117186"/>
+ <reference key="source" ref="899759741"/>
+ <reference key="destination" ref="364890204"/>
</object>
- <int key="connectionID">150</int>
+ <string key="id">150</string>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">window_anchorOnLeftSide</string>
- <reference key="source" ref="464927471"/>
- <reference key="destination" ref="564400305"/>
+ <reference key="source" ref="767778597"/>
+ <reference key="destination" ref="713683747"/>
</object>
- <int key="connectionID">151</int>
+ <string key="id">151</string>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
- <int key="objectID">0</int>
+ <string key="id">0</string>
<array key="object" id="0"/>
- <reference key="children" ref="1035320313"/>
+ <reference key="children" ref="36557480"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">-2</int>
- <reference key="object" ref="709246800"/>
+ <string key="id">-2</string>
+ <reference key="object" ref="848600341"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">-1</int>
- <reference key="object" ref="77182997"/>
+ <string key="id">-1</string>
+ <reference key="object" ref="170915615"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">110</int>
- <reference key="object" ref="564400305"/>
+ <string key="id">-3</string>
+ <reference key="object" ref="952971899"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <string key="id">110</string>
+ <reference key="object" ref="713683747"/>
<array class="NSMutableArray" key="children">
- <reference ref="1020572715"/>
+ <reference ref="241070291"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Link Editor</string>
</object>
<object class="IBObjectRecord">
- <int key="objectID">109</int>
- <reference key="object" ref="1020572715"/>
+ <string key="id">109</string>
+ <reference key="object" ref="241070291"/>
<array class="NSMutableArray" key="children">
- <reference ref="275025321"/>
- <reference ref="985332958"/>
- <reference ref="741391648"/>
- <reference ref="977442784"/>
- <reference ref="241117186"/>
- <reference ref="101844356"/>
- <reference ref="286700648"/>
- <reference ref="464927471"/>
+ <reference ref="180937146"/>
+ <reference ref="197802448"/>
+ <reference ref="1070637262"/>
+ <reference ref="656042910"/>
+ <reference ref="364890204"/>
+ <reference ref="899759741"/>
+ <reference ref="571660413"/>
+ <reference ref="767778597"/>
</array>
- <reference key="parent" ref="564400305"/>
+ <reference key="parent" ref="713683747"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">112</int>
- <reference key="object" ref="275025321"/>
+ <string key="id">112</string>
+ <reference key="object" ref="180937146"/>
<array class="NSMutableArray" key="children">
- <reference ref="902976334"/>
+ <reference ref="713378197"/>
</array>
- <reference key="parent" ref="1020572715"/>
+ <reference key="parent" ref="241070291"/>
+ </object>
+ <object class="IBObjectRecord">
+ <string key="id">162</string>
+ <reference key="object" ref="713378197"/>
+ <reference key="parent" ref="180937146"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">113</int>
- <reference key="object" ref="985332958"/>
+ <string key="id">113</string>
+ <reference key="object" ref="197802448"/>
<array class="NSMutableArray" key="children">
- <reference ref="144311258"/>
+ <reference ref="737947676"/>
</array>
- <reference key="parent" ref="1020572715"/>
+ <reference key="parent" ref="241070291"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">120</int>
- <reference key="object" ref="741391648"/>
- <array class="NSMutableArray" key="children">
- <reference ref="90209989"/>
- </array>
- <reference key="parent" ref="1020572715"/>
+ <string key="id">163</string>
+ <reference key="object" ref="737947676"/>
+ <reference key="parent" ref="197802448"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">122</int>
- <reference key="object" ref="977442784"/>
+ <string key="id">120</string>
+ <reference key="object" ref="1070637262"/>
<array class="NSMutableArray" key="children">
- <reference ref="847484606"/>
- <reference ref="768550780"/>
- <reference ref="847458639"/>
+ <reference ref="675212235"/>
</array>
- <reference key="parent" ref="1020572715"/>
+ <reference key="parent" ref="241070291"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">121</int>
- <reference key="object" ref="847484606"/>
- <reference key="parent" ref="977442784"/>
+ <string key="id">164</string>
+ <reference key="object" ref="675212235"/>
+ <reference key="parent" ref="1070637262"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">123</int>
- <reference key="object" ref="241117186"/>
+ <string key="id">122</string>
+ <reference key="object" ref="656042910"/>
<array class="NSMutableArray" key="children">
- <reference ref="841529738"/>
+ <reference ref="221496593"/>
+ <reference ref="340472970"/>
+ <reference ref="715595079"/>
</array>
- <reference key="parent" ref="1020572715"/>
+ <reference key="parent" ref="241070291"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">124</int>
- <reference key="object" ref="101844356"/>
- <array class="NSMutableArray" key="children">
- <reference ref="657611475"/>
- </array>
- <reference key="parent" ref="1020572715"/>
+ <string key="id">169</string>
+ <reference key="object" ref="221496593"/>
+ <reference key="parent" ref="656042910"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">125</int>
- <reference key="object" ref="286700648"/>
- <array class="NSMutableArray" key="children">
- <reference ref="777432932"/>
- </array>
- <reference key="parent" ref="1020572715"/>
+ <string key="id">170</string>
+ <reference key="object" ref="340472970"/>
+ <reference key="parent" ref="656042910"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">147</int>
- <reference key="object" ref="464927471"/>
+ <string key="id">123</string>
+ <reference key="object" ref="364890204"/>
<array class="NSMutableArray" key="children">
- <reference ref="950174949"/>
+ <reference ref="923937676"/>
</array>
- <reference key="parent" ref="1020572715"/>
+ <reference key="parent" ref="241070291"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">162</int>
- <reference key="object" ref="902976334"/>
- <reference key="parent" ref="275025321"/>
+ <string key="id">165</string>
+ <reference key="object" ref="923937676"/>
+ <reference key="parent" ref="364890204"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">163</int>
- <reference key="object" ref="144311258"/>
- <reference key="parent" ref="985332958"/>
+ <string key="id">124</string>
+ <reference key="object" ref="899759741"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="979016968"/>
+ </array>
+ <reference key="parent" ref="241070291"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">164</int>
- <reference key="object" ref="90209989"/>
- <reference key="parent" ref="741391648"/>
+ <string key="id">166</string>
+ <reference key="object" ref="979016968"/>
+ <reference key="parent" ref="899759741"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">165</int>
- <reference key="object" ref="841529738"/>
- <reference key="parent" ref="241117186"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">166</int>
- <reference key="object" ref="657611475"/>
- <reference key="parent" ref="101844356"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">167</int>
- <reference key="object" ref="777432932"/>
- <reference key="parent" ref="286700648"/>
+ <string key="id">125</string>
+ <reference key="object" ref="571660413"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="987656654"/>
+ </array>
+ <reference key="parent" ref="241070291"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">168</int>
- <reference key="object" ref="950174949"/>
- <reference key="parent" ref="464927471"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">169</int>
- <reference key="object" ref="768550780"/>
- <reference key="parent" ref="977442784"/>
+ <string key="id">167</string>
+ <reference key="object" ref="987656654"/>
+ <reference key="parent" ref="571660413"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">170</int>
- <reference key="object" ref="847458639"/>
- <reference key="parent" ref="977442784"/>
+ <string key="id">147</string>
+ <reference key="object" ref="767778597"/>
+ <array class="NSMutableArray" key="children">
+ <reference ref="31130999"/>
+ </array>
+ <reference key="parent" ref="241070291"/>
</object>
<object class="IBObjectRecord">
- <int key="objectID">-3</int>
- <reference key="object" ref="604440368"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">Application</string>
+ <string key="id">168</string>
+ <reference key="object" ref="31130999"/>
+ <reference key="parent" ref="767778597"/>
+ </object>
+ <object class="IBObjectRecord">
+ <string key="id">121</string>
+ <reference key="object" ref="715595079"/>
+ <reference key="parent" ref="656042910"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="-1.showNotes"/>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="-2.showNotes"/>
<string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="-3.showNotes"/>
<string key="109.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="109.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="109.showNotes"/>
+ <boolean value="NO" key="110.IBNSWindowAutoPositionCentersHorizontal"/>
+ <boolean value="NO" key="110.IBNSWindowAutoPositionCentersVertical"/>
<string key="110.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="110.showNotes"/>
<string key="112.CustomClassName">AILocalizationTextField</string>
<string key="112.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="112.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="112.showNotes"/>
<string key="113.CustomClassName">AILocalizationTextField</string>
<string key="113.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="113.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="113.showNotes"/>
<string key="120.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="120.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="120.showNotes"/>
<string key="121.CustomClassName">SHAutoValidatingTextView</string>
<string key="121.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="121.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="121.showNotes"/>
+ <boolean value="NO" key="121.usesInspectorBar"/>
<string key="122.CustomClassName">AIAutoScrollView</string>
<string key="122.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="122.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="122.showNotes"/>
<string key="123.CustomClassName">AILocalizationButton</string>
<string key="123.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="123.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="123.showNotes"/>
<string key="124.CustomClassName">AILocalizationButton</string>
<string key="124.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="124.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="124.showNotes"/>
<object class="NSMutableDictionary" key="125.IBAttributePlaceholdersKey">
<string key="NS.key.0">ToolTip</string>
<object class="IBToolTipAttribute" key="NS.object.0">
<string key="name">ToolTip</string>
- <reference key="object" ref="286700648"/>
+ <reference key="object" ref="571660413"/>
<string key="toolTip">The URL you entered may not be valid. Please check before sending.</string>
</object>
</object>
<string key="125.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="125.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="125.showNotes"/>
<string key="147.CustomClassName">AILocalizationButton</string>
<string key="147.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="147.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="147.showNotes"/>
<string key="162.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="162.showNotes"/>
<string key="163.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="163.showNotes"/>
<string key="164.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="164.showNotes"/>
<string key="165.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="165.showNotes"/>
<string key="166.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="166.showNotes"/>
<string key="167.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="167.showNotes"/>
<string key="168.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <boolean value="NO" key="168.showNotes"/>
<string key="169.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="169.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="169.showNotes"/>
<string key="170.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <reference key="170.IBUserGuides" ref="0"/>
+ <boolean value="NO" key="170.showNotes"/>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
- <int key="maxID">170</int>
</object>
- <object class="IBClassDescriber" key="IBDocument.Classes"/>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <array class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <object class="IBPartialClassDescription">
+ <string key="className">AIAutoScrollView</string>
+ <string key="superclassName">NSScrollView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AIAutoScrollView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">AILocalizationButton</string>
+ <string key="superclassName">NSButton</string>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="view_anchorToLeftSide">NSView</string>
+ <string key="view_anchorToRightSide">NSView</string>
+ <string key="window_anchorOnLeftSide">NSWindow</string>
+ <string key="window_anchorOnRightSide">NSWindow</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="view_anchorToLeftSide">
+ <string key="name">view_anchorToLeftSide</string>
+ <string key="candidateClassName">NSView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="view_anchorToRightSide">
+ <string key="name">view_anchorToRightSide</string>
+ <string key="candidateClassName">NSView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="window_anchorOnLeftSide">
+ <string key="name">window_anchorOnLeftSide</string>
+ <string key="candidateClassName">NSWindow</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="window_anchorOnRightSide">
+ <string key="name">window_anchorOnRightSide</string>
+ <string key="candidateClassName">NSWindow</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AILocalizationButton.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">AILocalizationTextField</string>
+ <string key="superclassName">NSTextField</string>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="view_anchorToLeftSide">NSView</string>
+ <string key="view_anchorToRightSide">NSView</string>
+ <string key="window_anchorOnLeftSide">NSWindow</string>
+ <string key="window_anchorOnRightSide">NSWindow</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="view_anchorToLeftSide">
+ <string key="name">view_anchorToLeftSide</string>
+ <string key="candidateClassName">NSView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="view_anchorToRightSide">
+ <string key="name">view_anchorToRightSide</string>
+ <string key="candidateClassName">NSView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="window_anchorOnLeftSide">
+ <string key="name">window_anchorOnLeftSide</string>
+ <string key="candidateClassName">NSWindow</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="window_anchorOnRightSide">
+ <string key="name">window_anchorOnRightSide</string>
+ <string key="candidateClassName">NSWindow</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AILocalizationTextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">AIWindowController</string>
+ <string key="superclassName">NSWindowController</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">closeWindow:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">closeWindow:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">closeWindow:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/AIWindowController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="NSMutableDictionary" key="actions">
+ <string key="NS.key.0">selectServiceType:</string>
+ <string key="NS.object.0">id</string>
+ </object>
+ <object class="NSMutableDictionary" key="actionInfosByName">
+ <string key="NS.key.0">selectServiceType:</string>
+ <object class="IBActionInfo" key="NS.object.0">
+ <string key="name">selectServiceType:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">SHAutoValidatingTextView</string>
+ <string key="superclassName">NSTextView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/SHAutoValidatingTextView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">SHLinkEditorWindowController</string>
+ <string key="superclassName">AIWindowController</string>
+ <dictionary class="NSMutableDictionary" key="actions">
+ <string key="acceptURL:">id</string>
+ <string key="cancel:">id</string>
+ <string key="removeURL:">id</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="actionInfosByName">
+ <object class="IBActionInfo" key="acceptURL:">
+ <string key="name">acceptURL:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo" key="cancel:">
+ <string key="name">cancel:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo" key="removeURL:">
+ <string key="name">removeURL:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="outlets">
+ <string key="button_cancel">NSButton</string>
+ <string key="button_insert">NSButton</string>
+ <string key="button_removeLink">NSButton</string>
+ <string key="imageView_invalidURLAlert">NSImageView</string>
+ <string key="label_URL">NSTextField</string>
+ <string key="label_linkText">NSTextField</string>
+ <string key="scrollView_URL">AIAutoScrollView</string>
+ <string key="textField_linkText">NSTextField</string>
+ <string key="textView_URL">SHAutoValidatingTextView</string>
+ </dictionary>
+ <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <object class="IBToOneOutletInfo" key="button_cancel">
+ <string key="name">button_cancel</string>
+ <string key="candidateClassName">NSButton</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="button_insert">
+ <string key="name">button_insert</string>
+ <string key="candidateClassName">NSButton</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="button_removeLink">
+ <string key="name">button_removeLink</string>
+ <string key="candidateClassName">NSButton</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="imageView_invalidURLAlert">
+ <string key="name">imageView_invalidURLAlert</string>
+ <string key="candidateClassName">NSImageView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="label_URL">
+ <string key="name">label_URL</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="label_linkText">
+ <string key="name">label_linkText</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="scrollView_URL">
+ <string key="name">scrollView_URL</string>
+ <string key="candidateClassName">AIAutoScrollView</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="textField_linkText">
+ <string key="name">textField_linkText</string>
+ <string key="candidateClassName">NSTextField</string>
+ </object>
+ <object class="IBToOneOutletInfo" key="textView_URL">
+ <string key="name">textView_URL</string>
+ <string key="candidateClassName">SHAutoValidatingTextView</string>
+ </object>
+ </dictionary>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">./Classes/SHLinkEditorWindowController.h</string>
+ </object>
+ </object>
+ </array>
+ </object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
+ <bool key="IBDocument.previouslyAttemptedUpgradeToXcode5">YES</bool>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
<real value="1060" key="NS.object.0"/>
</object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
+ <real value="1060" key="NS.object.0"/>
+ </object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
- <real value="3200" key="NS.object.0"/>
+ <integer value="4600" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
- <string key="NS.key.0">ErrorAlert</string>
- <string key="NS.object.0">{32, 32}</string>
+ <string key="NS.key.0">events-error-alert</string>
+ <string key="NS.object.0">{24, 24}</string>
</object>
</data>
</archive>
--- a/Resources/Preferences-OTREncryption.xib Tue Dec 17 10:29:30 2013 +0100
+++ b/Resources/Preferences-OTREncryption.xib Sun Dec 22 14:41:34 2013 -0500
@@ -177,8 +177,8 @@
</object>
<object class="NSPopUpButton" id="365143233">
<reference key="NSNextResponder" ref="261192207"/>
- <int key="NSvFlags">266</int>
- <string key="NSFrame">{{173, 265}, {303, 26}}</string>
+ <int key="NSvFlags">271</int>
+ <string key="NSFrame">{{173, 265}, {269, 26}}</string>
<reference key="NSSuperview" ref="261192207"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="346757463"/>
@@ -201,33 +201,33 @@
</object>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
- <object class="NSMenuItem" key="NSMenuItem" id="355447198">
- <reference key="NSMenu" ref="433605837"/>
- <string type="base64-UTF8" key="NSTitle">IA</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <int key="NSState">1</int>
- <object class="NSCustomResource" key="NSOnImage">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">NSMenuCheckmark</string>
- </object>
- <object class="NSCustomResource" key="NSMixedImage">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">NSMenuMixedState</string>
- </object>
- <string key="NSAction">_popUpItemAction:</string>
- <reference key="NSTarget" ref="495829525"/>
- </object>
+ <nil key="NSMenuItem"/>
<bool key="NSMenuItemRespectAlignment">YES</bool>
<object class="NSMenu" key="NSMenu" id="433605837">
<object class="NSMutableString" key="NSTitle">
<characters key="NS.bytes">OtherViews</characters>
</object>
<array class="NSMutableArray" key="NSMenuItems">
- <reference ref="355447198"/>
+ <object class="NSMenuItem" id="355447198">
+ <reference key="NSMenu" ref="433605837"/>
+ <string type="base64-UTF8" key="NSTitle">IA</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <object class="NSCustomResource" key="NSOnImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuCheckmark</string>
+ </object>
+ <object class="NSCustomResource" key="NSMixedImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuMixedState</string>
+ </object>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="495829525"/>
+ </object>
</array>
</object>
+ <int key="NSSelectedIndex">-1</int>
<int key="NSPreferredEdge">3</int>
<bool key="NSUsesItemFromMenu">YES</bool>
<bool key="NSAltersState">YES</bool>
@@ -261,8 +261,8 @@
</object>
<object class="NSButton" id="346757463">
<reference key="NSNextResponder" ref="261192207"/>
- <int key="NSvFlags">270</int>
- <string key="NSFrame">{{475, 261}, {111, 32}}</string>
+ <int key="NSvFlags">267</int>
+ <string key="NSFrame">{{441, 261}, {145, 32}}</string>
<reference key="NSSuperview" ref="261192207"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="152864849"/>
@@ -312,13 +312,10 @@
<reference key="NSNextKeyView" ref="445790025"/>
<reference key="NSTableView" ref="712016614"/>
</object>
- <object class="_NSCornerView" key="NSCornerView" id="705249390">
- <reference key="NSNextResponder" ref="476167500"/>
+ <object class="_NSCornerView" key="NSCornerView">
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-22, 0}, {12, 17}}</string>
- <reference key="NSSuperview" ref="476167500"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="146545853"/>
</object>
<array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn" id="493648427">
@@ -457,18 +454,16 @@
<reference key="NSBGColor" ref="1055559834"/>
<int key="NScvFlags">4</int>
</object>
- <reference ref="705249390"/>
</array>
<string key="NSFrame">{{172, 55}, {405, 151}}</string>
<reference key="NSSuperview" ref="261192207"/>
<reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="705249390"/>
+ <reference key="NSNextKeyView" ref="146545853"/>
<int key="NSsFlags">133682</int>
<reference key="NSVScroller" ref="849894620"/>
<reference key="NSHScroller" ref="293354221"/>
<reference key="NSContentView" ref="445790025"/>
<reference key="NSHeaderClipView" ref="146545853"/>
- <reference key="NSCornerView" ref="705249390"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
<double key="NSMinMagnification">0.25</double>
<double key="NSMaxMagnification">4</double>
Binary file Resources/Safari.png has changed
Binary file Resources/Safari.scpt has changed
--- a/Source/AICoreComponentLoader.m Tue Dec 17 10:29:30 2013 +0100
+++ b/Source/AICoreComponentLoader.m Sun Dec 22 14:41:34 2013 -0500
@@ -118,7 +118,6 @@
@"ESFileTransferMessagesPlugin",
@"AIListObjectContentsPlugin",
@"ESOpenMessageWindowContactAlertPlugin",
- @"ESSafariLinkToolbarItemPlugin",
@"ESSendMessageContactAlertPlugin",
@"ESUserIconHandlingPlugin",
@"ErrorMessageHandlerPlugin",
--- a/Source/ESSafariLinkToolbarItemPlugin.h Tue Dec 17 10:29:30 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
- * Adium is the legal property of its developers, whose names are listed in the copyright file included
- * with this source distribution.
- *
- * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
- * General Public License as published by the Free Software Foundation; either version 2 of the License,
- * or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
- * Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with this program; if not,
- * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-
-@interface ESSafariLinkToolbarItemPlugin : AIPlugin {
-
-}
-
-@end
--- a/Source/ESSafariLinkToolbarItemPlugin.m Tue Dec 17 10:29:30 2013 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
- * Adium is the legal property of its developers, whose names are listed in the copyright file included
- * with this source distribution.
- *
- * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
- * General Public License as published by the Free Software Foundation; either version 2 of the License,
- * or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
- * Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with this program; if not,
- * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#import "ESApplescriptabilityController.h"
-#import <Adium/AIContentControllerProtocol.h>
-#import <Adium/AIToolbarControllerProtocol.h>
-#import "ESSafariLinkToolbarItemPlugin.h"
-#import <AIUtilities/AIToolbarUtilities.h>
-#import <AIUtilities/AIImageAdditions.h>
-#import <AIUtilities/AIWindowAdditions.h>
-#import <Adium/AIHTMLDecoder.h>
-
-#define SAFARI_LINK_IDENTIFER @"SafariLink"
-#define SAFARI_LINK_SCRIPT_PATH [[NSBundle bundleForClass:[self class]] pathForResource:@"Safari.scpt" ofType:nil]
-
-@interface ESSafariLinkToolbarItemPlugin ()
-- (IBAction)insertSafariLink:(id)sender;
-- (void)applescriptDidRun:(id)userInfo resultString:(NSString *)resultString;
-@end
-
-/*!
- * @class ESSafariLinkToolbarItemPlugin
- * @brief Component to add a toolbar item which inserts a link to the active Safari web page
- */
-@implementation ESSafariLinkToolbarItemPlugin
-
-/*!
- * @brief Install
- */
-- (void)installPlugin
-{
- CFURLRef urlToDefaultBrowser = NULL;
- NSString *browserName = nil;
- NSImage *browserImage = nil;
-
- if (LSGetApplicationForURL((CFURLRef)[NSURL URLWithString:@"http://google.com"],
- kLSRolesViewer,
- NULL /*outAppRef*/,
- &urlToDefaultBrowser) != kLSApplicationNotFoundErr) {
- NSString *defaultBrowserName;
- NSString *defaultBrowserPath;
-
- defaultBrowserPath = [(NSURL *)urlToDefaultBrowser path];
- defaultBrowserName = [[NSFileManager defaultManager] displayNameAtPath:defaultBrowserPath];
-
- //Is the default browser supported?
- for (NSString *aSupportedBrowser in [NSArray arrayWithObjects:@"Safari", @"Firefox", @"OmniWeb", @"Camino", @"Shiira", @"NetNewsWire", @"Google Chrome", nil]) {
- if ([defaultBrowserName rangeOfString:aSupportedBrowser
- options:(NSCaseInsensitiveSearch | NSLiteralSearch)].location != NSNotFound) {
- //Use the name and image provided by the system if possible
- browserName = defaultBrowserName;
- browserImage = [[NSWorkspace sharedWorkspace] iconForFile:defaultBrowserPath];
- break;
- }
- }
- }
-
- if (urlToDefaultBrowser) {
- CFRelease(urlToDefaultBrowser);
- }
-
- if (!browserName || !browserImage) {
- //Fall back on Safari and the image stored within our bundle if necessary
- browserName = @"Safari";
- browserImage = [NSImage imageNamed:@"Safari" forClass:[self class] loadLazily:YES];
- }
-
- //Remote the path extension if there is one (.app if the Finder is set to show extensions; no change otherwise)
- browserName = [browserName stringByDeletingPathExtension];
-
- NSToolbarItem *toolbarItem;
- toolbarItem = [AIToolbarUtilities toolbarItemWithIdentifier:SAFARI_LINK_IDENTIFER
- label:[NSString stringWithFormat:AILocalizedString(@"%@ Link",nil), browserName]
- paletteLabel:[NSString stringWithFormat:AILocalizedString(@"Insert %@ Link",nil), browserName]
- toolTip:[NSString stringWithFormat:AILocalizedString(@"Insert link to active page in %@",nil), browserName]
- target:self
- settingSelector:@selector(setImage:)
- itemContent:browserImage
- action:@selector(insertSafariLink:)
- menu:nil];
- [adium.toolbarController registerToolbarItem:toolbarItem forToolbarType:@"TextEntry"];
-}
-
-/*!
- * @brief Insert a link to the active Safari page into the first responder if it is an NSTextView
- */
-- (IBAction)insertSafariLink:(id)sender
-{
- NSWindow *keyWin = [[NSApplication sharedApplication] keyWindow];
- NSTextView *earliestTextView = (NSTextView *)[keyWin earliestResponderOfClass:[NSTextView class]];
-
- if (earliestTextView) {
- NSArray *arguments = [NSArray arrayWithObject:AILocalizedString(@"Multiple browsers are open. Please select one link:", "Prompt when more than one web browser is available when inserting a link from the active browser.")];
- [adium.applescriptabilityController runApplescriptAtPath:SAFARI_LINK_SCRIPT_PATH
- function:@"substitute"
- arguments:arguments
- notifyingTarget:self
- selector:@selector(applescriptDidRun:resultString:)
- userInfo:earliestTextView];
- } else {
- NSBeep();
- }
-}
-
-/*!
- * @brief A script finished running
- */
-- (void)applescriptDidRun:(id)userInfo resultString:(NSString *)resultString
-{
- NSTextView *earliestTextView = (NSTextView *)userInfo;
-
- //If the script returns nil or fails, do nothing
- if (resultString && [resultString length]) {
- //Insert the script result - it should have returned an HTML link, so process it first
- NSAttributedString *attributedScriptResult;
- NSDictionary *attributes;
-
- attributedScriptResult = [AIHTMLDecoder decodeHTML:resultString];
-
- attributes = [[earliestTextView typingAttributes] copy];
- [earliestTextView insertText:attributedScriptResult];
- if (attributes) [earliestTextView setTypingAttributes:attributes];
- [attributes release];
-
- } else {
- NSBeep();
- }
-}
-
-@end
--- a/xcconfigs/Adium.xcconfig Tue Dec 17 10:29:30 2013 +0100
+++ b/xcconfigs/Adium.xcconfig Sun Dec 22 14:41:34 2013 -0500
@@ -7,7 +7,7 @@
INFOPLIST_OTHER_PREPROCESSOR_FLAGS = -C
INFOPLIST_PREPROCESS = YES
INFOPLIST_FILE = Plists/Info.plist
-INFOPLIST_PREFIX_HEADER = $(TARGET_BUILD_DIR)/include/PlistMacros.h
+INFOPLIST_PREFIX_HEADER = $(CONFIGURATION_TEMP_DIR)/include/PlistMacros.h
LD_RUNPATH_SEARCH_PATHS = @executable_path/../Frameworks
HEADER_SEARCH_PATHS = $(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_2) $(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_3) $(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_4) $(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_6) $(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_7)
OTHER_LDFLAGS[arch=i386] = -framework QuickTime