adium 5802:9a8643d5b679: Combine the insert link and browser too...
commits at adium.im
commits at adium.im
Sun Dec 8 14:40:58 UTC 2013
details: http://hg.adium.im/adium/rev/9a8643d5b679
revision: 5802:9a8643d5b679
branch: adium-1.6
author: Frank Dowsett <wixardy at adium.im>
date: Sat Dec 07 15:37:41 2013 -0500
Combine the insert link and browser toolbar items. Fixes #15404
The new toolbar item will show a menu after a short delay like Xcode's run button.
P.S. Switching to ScriptingBridge significantly speeds up adding a link. And I am so happy to be rid of that .scpt file. Refs #13940
diffs (truncated from 3414 to 1000 lines):
diff -r 7685bbd3b322 -r 9a8643d5b679 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj Fri Dec 06 14:44:05 2013 +0100
+++ b/Adium.xcodeproj/project.pbxproj Sat Dec 07 15:37:41 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 at 2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "emoticons_menu at 2x.png"; path = "Resources/emoticons_menu at 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 at 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 at 2x.png in Resources */,
@@ -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 */,
diff -r 7685bbd3b322 -r 9a8643d5b679 Frameworks/AIUtilities Framework/Source/AIArrayAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIArrayAdditions.m Fri Dec 06 14:44:05 2013 +0100
+++ b/Frameworks/AIUtilities Framework/Source/AIArrayAdditions.m Sat Dec 07 15:37:41 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
{
diff -r 7685bbd3b322 -r 9a8643d5b679 Frameworks/AIUtilities Framework/Source/AIPopUpToolbarItem.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIPopUpToolbarItem.h Sat Dec 07 15:37:41 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.
+ */
+
+ at class AIDelayedPopUpButton;
+
+ at interface AIPopUpToolbarItem : NSToolbarItem {
+ AIDelayedPopUpButton *button;
+}
+ at property (assign) NSMenu *menu;
+
+ at end
diff -r 7685bbd3b322 -r 9a8643d5b679 Frameworks/AIUtilities Framework/Source/AIPopUpToolbarItem.m
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/AIUtilities Framework/Source/AIPopUpToolbarItem.m Sat Dec 07 15:37:41 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"
+
+ at interface AIDelayedPopUpButton : MVMenuButton
+ at property BOOL mouseIsDown;
+ at property BOOL menuWasShownForLastMouseDown;
+ at property uint mouseDownUniquenessCounter;
+ at end
+
+ at 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];
+}
+
+ at end
+
+
+ at 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];
+}
+
+ at end
diff -r 7685bbd3b322 -r 9a8643d5b679 Frameworks/AIUtilities Framework/Source/MVMenuButton.m
--- a/Frameworks/AIUtilities Framework/Source/MVMenuButton.m Fri Dec 06 14:44:05 2013 +0100
+++ b/Frameworks/AIUtilities Framework/Source/MVMenuButton.m Sat Dec 07 15:37:41 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]];
diff -r 7685bbd3b322 -r 9a8643d5b679 Plugins/Dual Window Interface/AIMessageWindowController.m
--- a/Plugins/Dual Window Interface/AIMessageWindowController.m Fri Dec 06 14:44:05 2013 +0100
+++ b/Plugins/Dual Window Interface/AIMessageWindowController.m Sat Dec 07 15:37:41 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];
}
diff -r 7685bbd3b322 -r 9a8643d5b679 Plugins/Link Management/Browsers/GoogleChrome.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Link Management/Browsers/GoogleChrome.h Sat Dec 07 15:37:41 2013 -0500
@@ -0,0 +1,191 @@
+/*
+ * GoogleChrome.h
+ */
+
+#import <AppKit/AppKit.h>
+#import <ScriptingBridge/ScriptingBridge.h>
+
+
+ at class GoogleChromeApplication, GoogleChromeWindow, GoogleChromeTab, GoogleChromeBookmarkFolder, GoogleChromeBookmarkItem;
+
+
+
+/*
+ * Standard Suite
+ */
+
+// The application's top-level scripting object.
+ at interface GoogleChromeApplication : SBApplication
+
+- (SBElementArray *) windows;
+
+ at property (copy, readonly) NSString *name; // The name of the application.
+ at property (readonly) BOOL frontmost; // Is this the frontmost (active) application?
+ at 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.
+
+ at end
+
+// A window.
+ at interface GoogleChromeWindow : SBObject
+
+- (SBElementArray *) tabs;
+
+ at property (copy, readonly) NSString *name; // The full title of the window.
+- (NSInteger) id; // The unique identifier of the window.
+ at property NSInteger index; // The index of the window, ordered front to back.
+ at property NSRect bounds; // The bounding rectangle of the window.
+ at property (readonly) BOOL closeable; // Whether the window has a close box.
+ at property (readonly) BOOL minimizable; // Whether the window can be minimized.
+ at property BOOL minimized; // Whether the window is currently minimized.
+ at property (readonly) BOOL resizable; // Whether the window can be resized.
+ at property BOOL visible; // Whether the window is currently visible.
+ at property (readonly) BOOL zoomable; // Whether the window can be zoomed.
+ at property BOOL zoomed; // Whether the window is currently zoomed.
+ at property (copy, readonly) GoogleChromeTab *activeTab; // Returns the currently selected tab
+ at 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.
+ at 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.
+
+ at end
+
+
+
+/*
+ * Chromium Suite
+ */
+
+// The application's top-level scripting object.
+ at interface GoogleChromeApplication (ChromiumSuite)
+
+- (SBElementArray *) bookmarkFolders;
+
+ at property (copy, readonly) GoogleChromeBookmarkFolder *bookmarksBar; // The bookmarks bar bookmark folder.
+ at property (copy, readonly) GoogleChromeBookmarkFolder *otherBookmarks; // The other bookmarks bookmark folder.
+
+ at end
+
+// A tab.
+ at interface GoogleChromeTab : SBObject
+
+- (NSInteger) id; // Unique ID of the tab.
+ at property (copy, readonly) NSString *title; // The title of the tab.
+ at property (copy) NSString *URL; // The url visible to the user.
+ at 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.
+
+ at end
+
+// A bookmarks folder that contains other bookmarks folder and bookmark items.
+ at interface GoogleChromeBookmarkFolder : SBObject
+
+- (SBElementArray *) bookmarkFolders;
+- (SBElementArray *) bookmarkItems;
+
+- (NSNumber *) id; // Unique ID of the bookmark folder.
+ at property (copy) NSString *title; // The title of the folder.
+ at 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.
+
+ at end
+
+// An item consists of an URL and the title of a bookmark
+ at interface GoogleChromeBookmarkItem : SBObject
+
+- (NSInteger) id; // Unique ID of the bookmark item.
+ at property (copy) NSString *title; // The title of the bookmark item.
+ at property (copy) NSString *URL; // The URL of the bookmark.
+ at 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.
+
+ at end
+
+ at interface GoogleChromeWindow (ChromiumSuite)
+
+ at property (readonly) BOOL presenting; // Whether the window is in presentation mode.
+
+ at end
+
diff -r 7685bbd3b322 -r 9a8643d5b679 Plugins/Link Management/Browsers/NetNewsWire.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Link Management/Browsers/NetNewsWire.h Sat Dec 07 15:37:41 2013 -0500
@@ -0,0 +1,330 @@
+/*
+ * NetNewsWire.h
+ */
+
+#import <AppKit/AppKit.h>
+#import <ScriptingBridge/ScriptingBridge.h>
+
+
+ at 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.
+ at interface NetNewsWireItem : SBObject
+
+ at 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.
+
+ at end
+
+// An application's top level scripting object.
+ at interface NetNewsWireApplication : SBApplication
+
+- (SBElementArray *) documents;
+- (SBElementArray *) windows;
+
+ at property (readonly) BOOL frontmost; // Is this the frontmost (active) application?
+ at property (copy, readonly) NSString *name; // The name of the application.
+ at 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.
+
+ at end
+
+// A color.
+ at interface NetNewsWireColor : NetNewsWireItem
+
+
+ at end
+
+// A document.
+ at interface NetNewsWireDocument : NetNewsWireItem
+
+ at property (readonly) BOOL modified; // Has the document been modified since the last save?
+ at property (copy) NSString *name; // The document's name.
+ at property (copy) NSString *path; // The document's path.
+
+
+ at end
+
+// A window.
+ at interface NetNewsWireWindow : NetNewsWireItem
+
+ at property NSRect bounds; // The bounding rectangle of the window.
+ at property (readonly) BOOL closeable; // Whether the window has a close box.
+ at property (copy, readonly) NetNewsWireDocument *document; // The document whose contents are being displayed in the window.
+ at property (readonly) BOOL floating; // Whether the window floats.
+- (NSInteger) id; // The unique identifier of the window.
+ at property NSInteger index; // The index of the window, ordered front to back.
+ at property (readonly) BOOL miniaturizable; // Whether the window can be miniaturized.
+ at property BOOL miniaturized; // Whether the window is currently miniaturized.
+ at property (readonly) BOOL modal; // Whether the window is the application's current modal window.
+ at property (copy) NSString *name; // The full title of the window.
+ at property (readonly) BOOL resizable; // Whether the window can be resized.
+ at property (readonly) BOOL titled; // Whether the window has a title bar.
+ at property BOOL visible; // Whether the window is currently visible.
+ at property (readonly) BOOL zoomable; // Whether the window can be zoomed.
+ at property BOOL zoomed; // Whether the window is currently zoomed.
+
+
+ at end
+
+
+
+/*
+ * Text Suite
+ */
+
+// This subdivides the text into chunks that all have the same attributes.
+ at interface NetNewsWireAttributeRun : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+ at property (copy) NSColor *color; // The color of the first character.
+ at property (copy) NSString *font; // The name of the font of the first character.
+ at property NSInteger size; // The size in points of the first character.
+
+
+ at end
+
+// This subdivides the text into characters.
+ at interface NetNewsWireCharacter : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+ at property (copy) NSColor *color; // The color of the first character.
+ at property (copy) NSString *font; // The name of the font of the first character.
+ at property NSInteger size; // The size in points of the first character.
+
+
+ at end
+
+// This subdivides the text into paragraphs.
+ at interface NetNewsWireParagraph : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+ at property (copy) NSColor *color; // The color of the first character.
+ at property (copy) NSString *font; // The name of the font of the first character.
+ at property NSInteger size; // The size in points of the first character.
+
+
+ at end
+
+// Rich (styled) text
+ at interface NetNewsWireText : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+ at property (copy) NSColor *color; // The color of the first character.
+ at property (copy) NSString *font; // The name of the font of the first character.
+ at property NSInteger size; // The size in points of the first character.
+
+
+ at end
+
+// Represents an inline text attachment. This class is used mainly for make commands.
+ at interface NetNewsWireAttachment : NetNewsWireText
+
+ at property (copy) NSString *fileName; // The path to the file for the attachment
+
+
+ at end
+
+// This subdivides the text into words.
+ at interface NetNewsWireWord : NetNewsWireItem
+
+- (SBElementArray *) attachments;
+- (SBElementArray *) attributeRuns;
+- (SBElementArray *) characters;
+- (SBElementArray *) paragraphs;
+- (SBElementArray *) words;
+
+ at property (copy) NSColor *color; // The color of the first character.
+ at property (copy) NSString *font; // The name of the font of the first character.
+ at property NSInteger size; // The size in points of the first character.
+
+
+ at end
+
+
+
+/*
+ * NetNewsWire suite
+ */
+
+// NetNewsWire's top level scripting object.
+ at interface NetNewsWireApplication (NetNewsWireSuite)
+
+- (SBElementArray *) subscriptions;
+
+ at property NSInteger indexOfSelectedTab; // The news items tab is 0, and web page tabs start with 1.
+ at property (readonly) NSInteger numberOfTabs; // The number of tabs, including the news items tab.
+ at property (copy, readonly) NetNewsWireHeadline *selectedHeadline; // The current selected headline.
+ at property (copy, readonly) NetNewsWireSubscription *selectedSubscription; // The current subscription.
+ at property (copy, readonly) NSArray *titlesOfTabs; // A list of the titles of tabs, including the news items tab.
+ at property (readonly) NSInteger totalUnreadCount; // The total number of unread items for all subscriptions.
+ at property (copy, readonly) NSArray *URLsOfTabs; // A list of the URLs of tabs. The first one -- the news items tab -- is always an empty string.
+
+ at end
+
+// A single item from a feed.
+ at interface NetNewsWireHeadline : NetNewsWireItem
+
+ at property (copy, readonly) NSString *commentsURL; // URL of the comments page for this headline.
+ at property (copy, readonly) NSString *creator; // The creator of this headline.
+ at property (copy, readonly) NSDate *dateArrived; // The date this headline first appeared in NetNewsWire.
+ at property (copy, readonly) NSDate *datePublished; // The date this headline was published.
+ at property (copy, readonly) NSString *objectDescription; // The description (body) of the headline.
+ at property (readonly) NSInteger enclosureLength; // The length in bytes of this item’s enclosure.
+ at property (copy, readonly) NSString *enclosureType; // The MIME type of this item‘s enclosure.
+ at property (copy, readonly) NSString *enclosureURL; // The URL of the enclosure for this item.
+ at property (copy, readonly) NSString *guid; // The guid for this headline (as guid is defined by the various syndication specs).
+ at 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).
+ at property BOOL isFlagged; // Has the item been flagged by the user?
+ at property BOOL isFollowed; // Has the item been opened in the web browser?
+ at property BOOL isRead; // Has the item been read in NetNewsWire?
+ at property (copy, readonly) NSString *permalink; // The permalink for this item as it appears in the feed.
+ at property (readonly) NSInteger sessionID; // The unique ID of this headline for the current session.
+ at property (copy, readonly) NSString *subject; // The subject of a headline, as specified in the RSS source.
+ at property (copy, readonly) NetNewsWireSubscription *subscription; // The subscription that contains this headline.
+ at property (copy, readonly) NSString *summary; // The summary for this item as it appears in the feed.
+ at property (copy, readonly) NSString *title; // The title of the headline.
+ at property (copy, readonly) NSString *URL; // The URL included with the headline.
+
+
+ at end
+
+// A feed, group, or other type of subscription.
+ at interface NetNewsWireSubscription : NetNewsWireItem
+
+- (SBElementArray *) headlines;
+- (SBElementArray *) subscriptions;
+
+ at 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
+ at property (copy) NSString *displayName; // The name displayed for this subscription.
+ at property (copy, readonly) NSString *errorString; // The string of the last download or parsing error.
+ at property (copy, readonly) NSString *ETagHeader; // The ETag header last returned by the server.
+ at property (copy, readonly) NSString *givenDescription; // The description of the subscription.
+ at property (copy, readonly) NSString *givenName; // The given name of the subscription.
+ at property (copy, readonly) NetNewsWireSubscription *group; // The group that contains this subscription.
+ at property (readonly) NSInteger headlinesCount; // The number of headlines contained by this subscription.
+ at property (copy) NSString *homeURL; // The URL of the home page of this subscription.
+ at property (copy, readonly) NSString *iconURL; // The URL of the icon (if there is one).
+ at property (readonly) BOOL inGroup; // Is this subscription contained by a group?
+ at property (readonly) BOOL isGroup; // Is this subscription a group that contains other subscriptions?
+ at property (copy, readonly) NSDate *lastCheckTime; // The last time the subscription was checked for new headlines.
+ at property (copy, readonly) NSDate *lastUpdateTime; // The last time the source had new headlines
+ at property (copy, readonly) NSString *lastModifiedHeader; // The last last-modified header returned by the server.
+ at property (readonly) NSInteger numberOfChecks; // The number of times this subscription has been checked during the current session.
+ at property (readonly) NSInteger numberOfChildren; // The number of subscriptions a group contains.
+ at property (readonly) NSInteger numberOfContentBytes; // The number of content bytes downloaded during the current session.
+ at property (readonly) NSInteger numberOfNotModifiedResponses; // The number of times a 304 Not Modified was returned during the current session.
+ at property (readonly) NSInteger numberOfOKResponses; // The number of 200 OK responses returned during the current session.
+ at property (copy) NSString *RSSURL; // The URL of the RSS feed for this subscription.
+ at 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).
+ at property (readonly) NSInteger sessionID; // The ID for this subscription for the current session.
+ at property (readonly) BOOL synthetic; // Is this subscription a synthetic subscription? (In other words, a group or other artificial feed?)
+ at property (readonly) NSInteger unreadCount; // The number of unread headlines.
+ at property (copy, readonly) NSString *XMLText; // The raw XML text downloaded for this subscription.
+
+
+ at end
+
+
+
+/*
+ * Type Definitions
+ */
+
+ at interface NetNewsWirePrintSettings : SBObject
+
+ at property NSInteger copies; // the number of copies of a document to be printed
+ at property BOOL collating; // Should printed copies be collated?
+ at property NSInteger startingPage; // the first page of the document to be printed
+ at property NSInteger endingPage; // the last page of the document to be printed
+ at property NSInteger pagesAcross; // number of logical pages laid across a physical page
+ at property NSInteger pagesDown; // number of logical pages laid out down a physical page
+ at property (copy) NSDate *requestedPrintTime; // the time at which the desktop printer should print the document
+ at property NetNewsWireEnum errorHandling; // how errors are handled
+ at property (copy) NSString *faxNumber; // for fax number
+ at 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.
+
+ at end
+
diff -r 7685bbd3b322 -r 9a8643d5b679 Plugins/Link Management/Browsers/OmniWeb.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Plugins/Link Management/Browsers/OmniWeb.h Sat Dec 07 15:37:41 2013 -0500
@@ -0,0 +1,324 @@
+/*
+ * OmniWeb.h
+ */
+
+#import <AppKit/AppKit.h>
+#import <ScriptingBridge/ScriptingBridge.h>
+
+
+ at 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.
+ at interface OmniWebItem : SBObject
+
+ at 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.
+
+ at end
+
+// An application's top level scripting object.
+ at interface OmniWebApplication : SBApplication
+
+- (SBElementArray *) documents;
+- (SBElementArray *) windows;
+
+ at property (readonly) BOOL frontmost; // Is this the frontmost (active) application?
+ at property (copy, readonly) NSString *name; // The name of the application.
+ at property (copy, readonly) NSString *version; // The version of the application.
+
+- (OmniWebDocument *) open:(NSURL *)x; // Open an object.
More information about the commits
mailing list