\ No newline at end of file
diff --git a/OAuthConsumer.framework/Versions/A/OAuthConsumer b/OAuthConsumer.framework/Versions/A/OAuthConsumer
new file mode 100755
index 0000000..3275e1a
Binary files /dev/null and b/OAuthConsumer.framework/Versions/A/OAuthConsumer differ
diff --git a/OAuthConsumer.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/OAuthConsumer.framework/Versions/A/Resources/English.lproj/InfoPlist.strings
new file mode 100644
index 0000000..514729a
Binary files /dev/null and b/OAuthConsumer.framework/Versions/A/Resources/English.lproj/InfoPlist.strings differ
diff --git a/OAuthConsumer.framework/Versions/A/Resources/Info.plist b/OAuthConsumer.framework/Versions/A/Resources/Info.plist
new file mode 100644
index 0000000..23f6877
--- /dev/null
+++ b/OAuthConsumer.framework/Versions/A/Resources/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+ CFBundleExecutable
+ OAuthConsumer
+ CFBundleIdentifier
+ net.oauth.OAuthConsumer
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ OAuthConsumer
+ CFBundlePackageType
+ FMWK
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 0.1.1
+
+
diff --git a/OAuthConsumer.framework/Versions/Current b/OAuthConsumer.framework/Versions/Current
new file mode 120000
index 0000000..8c7e5a6
--- /dev/null
+++ b/OAuthConsumer.framework/Versions/Current
@@ -0,0 +1 @@
+A
\ No newline at end of file
diff --git a/ReleaseNotes.html b/ReleaseNotes.html
index 2477f8a..8004562 100644
--- a/ReleaseNotes.html
+++ b/ReleaseNotes.html
@@ -11,16 +11,6 @@
-
-
-Twittia 2.4.0
-
-Rewritten the OAuth parts in pure JavaScript.
-Small bugfixes.
-Added thumbnails for Twitter, Twitpic, Yfrog and YouTube links.
-Raplacing to.co, bit.ly and j.mp links with full URLs.
-
-
Twittia 2.3.1
Fixed problem with replay to id where you weren't able to replay to anyone.
diff --git a/Twittia 2.xcodeproj/project.pbxproj b/Twittia 2.xcodeproj/project.pbxproj
index 4108261..f0e2937 100644
--- a/Twittia 2.xcodeproj/project.pbxproj
+++ b/Twittia 2.xcodeproj/project.pbxproj
@@ -3,17 +3,20 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 46;
+ objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
- 1DDD582C0DA1D0D100B32029 /* NewTweetWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58280DA1D0D100B32029 /* NewTweetWindow.xib */; };
+ 1DDD582C0DA1D0D100B32029 /* MyDocument.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58280DA1D0D100B32029 /* MyDocument.xib */; };
1DDD582D0DA1D0D100B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD582A0DA1D0D100B32029 /* MainMenu.xib */; };
1F122D49118E1DE100E83B77 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1F122D48118E1DE100E83B77 /* Icon.icns */; };
1F1990C6117BCA960049BEA7 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F1990C5117BCA960049BEA7 /* ApplicationServices.framework */; };
1F2746FC12D9057600339B4F /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 1FE2FCA6117A8952000504B0 /* dsa_pub.pem */; };
1F3642EF118C8C35008198EF /* oauth.js in Resources */ = {isa = PBXBuildFile; fileRef = 1F3642ED118C8C35008198EF /* oauth.js */; };
1F3642F0118C8C35008198EF /* sha1.js in Resources */ = {isa = PBXBuildFile; fileRef = 1F3642EE118C8C35008198EF /* sha1.js */; };
+ 1F364398118CBC77008198EF /* OAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F364397118CBC77008198EF /* OAuth.m */; };
+ 1F36440F118CC173008198EF /* OAuthConsumer.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1F36440E118CC173008198EF /* OAuthConsumer.framework */; };
+ 1F36465E118DA5A7008198EF /* OAToken+WebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F36465D118DA5A7008198EF /* OAToken+WebView.m */; };
1F4673FE1180F7EA006CC37C /* TwittiaCore.js in Resources */ = {isa = PBXBuildFile; fileRef = 1F4673E61180F654006CC37C /* TwittiaCore.js */; };
1F4674081180F7EE006CC37C /* jQuery.js in Resources */ = {isa = PBXBuildFile; fileRef = 1F4673E21180F519006CC37C /* jQuery.js */; };
1F4674091180F7F3006CC37C /* jQuery-Plugins.js in Resources */ = {isa = PBXBuildFile; fileRef = 1F4673E41180F590006CC37C /* jQuery-Plugins.js */; };
@@ -22,11 +25,7 @@
1F70619F1178FBB300C85707 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F70619E1178FBB300C85707 /* Carbon.framework */; };
1F77DB47118C5F1C007C7F1E /* Constants.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F77DB46118C5F1C007C7F1E /* Constants.m */; };
1F98DC9E124BFFD7004289ED /* pin.png in Resources */ = {isa = PBXBuildFile; fileRef = 1F98DC9D124BFFD7004289ED /* pin.png */; };
- 1FA09847144602530079E258 /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FA09846144602530079E258 /* libicucore.dylib */; };
- 1FC254941427BC050035D84B /* index_oauth.html in Resources */ = {isa = PBXBuildFile; fileRef = 1FC254931427BC050035D84B /* index_oauth.html */; };
- 1FC254951427BF150035D84B /* TwittiaOauth.js in Resources */ = {isa = PBXBuildFile; fileRef = 1FC254911427ADF90035D84B /* TwittiaOauth.js */; };
- 1FC2549F1427DC7F0035D84B /* Constants.js in Resources */ = {isa = PBXBuildFile; fileRef = 1FC2549D1427DC2B0035D84B /* Constants.js */; };
- 1FC254A01427DFAD0035D84B /* AccessToken.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FC2549B1427D9930035D84B /* AccessToken.m */; };
+ 1FB074DD118DDAB60013A93C /* OAuthConsumer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F36440E118CC173008198EF /* OAuthConsumer.framework */; };
1FE2FC93117A818D000504B0 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FE2FC92117A818D000504B0 /* Sparkle.framework */; };
1FE2FCA4117A83B1000504B0 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1FE2FC92117A818D000504B0 /* Sparkle.framework */; };
1FFA36CD1177D861006C8562 /* even-bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 1FFA36C81177D861006C8562 /* even-bg.png */; };
@@ -38,7 +37,7 @@
1FFA37071177DAF4006C8562 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FFA37061177DAF4006C8562 /* WebKit.framework */; };
8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */; };
8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165FFE840EACC02AAC07 /* InfoPlist.strings */; };
- 8D15AC310486D014006FF6A4 /* NewTweetWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4ACFDCFA73011CA2CEA /* NewTweetWindow.m */; settings = {ATTRIBUTES = (); }; };
+ 8D15AC310486D014006FF6A4 /* MyDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; settings = {ATTRIBUTES = (); }; };
8D15AC320486D014006FF6A4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4B0FDCFA73011CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */; };
/* End PBXBuildFile section */
@@ -50,6 +49,7 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
+ 1F36440F118CC173008198EF /* OAuthConsumer.framework in CopyFiles */,
1FE2FCA4117A83B1000504B0 /* Sparkle.framework in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -60,7 +60,7 @@
089C1660FE840EACC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; };
1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; };
13E42FBA07B3F13500E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; };
- 1DDD58290DA1D0D100B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/NewTweetWindow.xib; sourceTree = ""; };
+ 1DDD58290DA1D0D100B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MyDocument.xib; sourceTree = ""; };
1DDD582B0DA1D0D100B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; };
1F122D48118E1DE100E83B77 /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = ""; };
1F198FC7117BC4AB0049BEA7 /* README.markdown */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.markdown; sourceTree = ""; };
@@ -69,7 +69,11 @@
1F1990E1117BD2650049BEA7 /* ReleaseNotes.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = ReleaseNotes.html; sourceTree = ""; };
1F3642ED118C8C35008198EF /* oauth.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = oauth.js; sourceTree = ""; };
1F3642EE118C8C35008198EF /* sha1.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = sha1.js; sourceTree = ""; };
+ 1F364396118CBC77008198EF /* OAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OAuth.h; sourceTree = ""; };
+ 1F364397118CBC77008198EF /* OAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OAuth.m; sourceTree = ""; };
1F36440E118CC173008198EF /* OAuthConsumer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = OAuthConsumer.framework; sourceTree = ""; };
+ 1F36465C118DA5A7008198EF /* OAToken+WebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OAToken+WebView.h"; sourceTree = ""; };
+ 1F36465D118DA5A7008198EF /* OAToken+WebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "OAToken+WebView.m"; sourceTree = ""; };
1F4673E21180F519006CC37C /* jQuery.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jQuery.js; sourceTree = ""; };
1F4673E41180F590006CC37C /* jQuery-Plugins.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "jQuery-Plugins.js"; sourceTree = ""; };
1F4673E61180F654006CC37C /* TwittiaCore.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = TwittiaCore.js; sourceTree = ""; };
@@ -80,12 +84,6 @@
1F77DB45118C5F1C007C7F1E /* Constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Constants.h; sourceTree = ""; };
1F77DB46118C5F1C007C7F1E /* Constants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Constants.m; sourceTree = ""; };
1F98DC9D124BFFD7004289ED /* pin.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pin.png; sourceTree = ""; };
- 1FA09846144602530079E258 /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = usr/lib/libicucore.dylib; sourceTree = SDKROOT; };
- 1FC254911427ADF90035D84B /* TwittiaOauth.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = TwittiaOauth.js; sourceTree = ""; };
- 1FC254931427BC050035D84B /* index_oauth.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index_oauth.html; sourceTree = ""; };
- 1FC2549A1427D9930035D84B /* AccessToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessToken.h; sourceTree = ""; };
- 1FC2549B1427D9930035D84B /* AccessToken.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AccessToken.m; sourceTree = ""; };
- 1FC2549D1427DC2B0035D84B /* Constants.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = Constants.js; sourceTree = ""; };
1FE2FC92117A818D000504B0 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = ""; };
1FE2FCA6117A8952000504B0 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_pub.pem; sourceTree = ""; };
1FFA36C81177D861006C8562 /* even-bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "even-bg.png"; sourceTree = ""; };
@@ -98,8 +96,8 @@
1FFA36D51177D879006C8562 /* ViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewDelegate.m; sourceTree = ""; };
1FFA37061177DAF4006C8562 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
2564AD2C0F5327BB00F57823 /* Twittia_2_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Twittia_2_Prefix.pch; sourceTree = ""; };
- 2A37F4ACFDCFA73011CA2CEA /* NewTweetWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NewTweetWindow.m; sourceTree = ""; };
- 2A37F4AEFDCFA73011CA2CEA /* NewTweetWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NewTweetWindow.h; sourceTree = ""; };
+ 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyDocument.m; sourceTree = ""; };
+ 2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyDocument.h; sourceTree = ""; };
2A37F4B0FDCFA73011CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
2A37F4BAFDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = ""; };
2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; };
@@ -113,7 +111,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 1FA09847144602530079E258 /* libicucore.dylib in Frameworks */,
+ 1FB074DD118DDAB60013A93C /* OAuthConsumer.framework in Frameworks */,
8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */,
1FFA37071177DAF4006C8562 /* WebKit.framework in Frameworks */,
1F70619F1178FBB300C85707 /* Carbon.framework in Frameworks */,
@@ -162,13 +160,10 @@
1F3642ED118C8C35008198EF /* oauth.js */,
1F3642EE118C8C35008198EF /* sha1.js */,
1F4673E61180F654006CC37C /* TwittiaCore.js */,
- 1FC254911427ADF90035D84B /* TwittiaOauth.js */,
- 1FC2549D1427DC2B0035D84B /* Constants.js */,
1FFA36C81177D861006C8562 /* even-bg.png */,
1F98DC9D124BFFD7004289ED /* pin.png */,
1F705EA5117889FA00C85707 /* sprite-icons.png */,
1FFA36C91177D861006C8562 /* index.html */,
- 1FC254931427BC050035D84B /* index_oauth.html */,
1FFA36CA1177D861006C8562 /* odd-bg.png */,
1FFA36CB1177D861006C8562 /* default.css */,
1F4673E21180F519006CC37C /* jQuery.js */,
@@ -180,7 +175,6 @@
2A37F4AAFDCFA73011CA2CEA /* Twittia 2 */ = {
isa = PBXGroup;
children = (
- 1FA09846144602530079E258 /* libicucore.dylib */,
2A37F4ABFDCFA73011CA2CEA /* Classes */,
2A37F4AFFDCFA73011CA2CEA /* Other Sources */,
2A37F4B8FDCFA73011CA2CEA /* Resources */,
@@ -197,14 +191,16 @@
1FFA36D31177D879006C8562 /* Controller.m */,
1FFA36D41177D879006C8562 /* ViewDelegate.h */,
1FFA36D51177D879006C8562 /* ViewDelegate.m */,
- 2A37F4AEFDCFA73011CA2CEA /* NewTweetWindow.h */,
- 2A37F4ACFDCFA73011CA2CEA /* NewTweetWindow.m */,
+ 2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */,
+ 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */,
+ 1F364396118CBC77008198EF /* OAuth.h */,
+ 1F364397118CBC77008198EF /* OAuth.m */,
1F77DB45118C5F1C007C7F1E /* Constants.h */,
1F77DB46118C5F1C007C7F1E /* Constants.m */,
+ 1F36465C118DA5A7008198EF /* OAToken+WebView.h */,
+ 1F36465D118DA5A7008198EF /* OAToken+WebView.m */,
1F618EC812DB5E6100E500D9 /* TweetModel.h */,
1F618EC912DB5E6100E500D9 /* TweetModel.m */,
- 1FC2549A1427D9930035D84B /* AccessToken.h */,
- 1FC2549B1427D9930035D84B /* AccessToken.m */,
);
name = Classes;
sourceTree = "";
@@ -228,7 +224,7 @@
2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */,
8D15AC360486D014006FF6A4 /* Twittia_2-Info.plist */,
089C165FFE840EACC02AAC07 /* InfoPlist.strings */,
- 1DDD58280DA1D0D100B32029 /* NewTweetWindow.xib */,
+ 1DDD58280DA1D0D100B32029 /* MyDocument.xib */,
1DDD582A0DA1D0D100B32029 /* MainMenu.xib */,
1F1990E1117BD2650049BEA7 /* ReleaseNotes.html */,
1F1990DF117BD2250049BEA7 /* Appcast.xml */,
@@ -272,11 +268,8 @@
/* Begin PBXProject section */
2A37F4A9FDCFA73011CA2CEA /* Project object */ = {
isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0450;
- };
buildConfigurationList = C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "Twittia 2" */;
- compatibilityVersion = "Xcode 3.2";
+ compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
@@ -299,15 +292,13 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 1FC2549F1427DC7F0035D84B /* Constants.js in Resources */,
- 1FC254951427BF150035D84B /* TwittiaOauth.js in Resources */,
1F2746FC12D9057600339B4F /* dsa_pub.pem in Resources */,
1F3642EF118C8C35008198EF /* oauth.js in Resources */,
1F3642F0118C8C35008198EF /* sha1.js in Resources */,
1F4673FE1180F7EA006CC37C /* TwittiaCore.js in Resources */,
8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */,
8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */,
- 1DDD582C0DA1D0D100B32029 /* NewTweetWindow.xib in Resources */,
+ 1DDD582C0DA1D0D100B32029 /* MyDocument.xib in Resources */,
1DDD582D0DA1D0D100B32029 /* MainMenu.xib in Resources */,
1FFA36CD1177D861006C8562 /* even-bg.png in Resources */,
1F4674091180F7F3006CC37C /* jQuery-Plugins.js in Resources */,
@@ -318,7 +309,6 @@
1F705EA6117889FA00C85707 /* sprite-icons.png in Resources */,
1F122D49118E1DE100E83B77 /* Icon.icns in Resources */,
1F98DC9E124BFFD7004289ED /* pin.png in Resources */,
- 1FC254941427BC050035D84B /* index_oauth.html in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -329,12 +319,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 1FC254A01427DFAD0035D84B /* AccessToken.m in Sources */,
- 8D15AC310486D014006FF6A4 /* NewTweetWindow.m in Sources */,
+ 8D15AC310486D014006FF6A4 /* MyDocument.m in Sources */,
8D15AC320486D014006FF6A4 /* main.m in Sources */,
1FFA36D71177D879006C8562 /* Controller.m in Sources */,
1FFA36D81177D879006C8562 /* ViewDelegate.m in Sources */,
1F77DB47118C5F1C007C7F1E /* Constants.m in Sources */,
+ 1F364398118CBC77008198EF /* OAuth.m in Sources */,
+ 1F36465E118DA5A7008198EF /* OAToken+WebView.m in Sources */,
1F618ECA12DB5E6100E500D9 /* TweetModel.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -350,12 +341,12 @@
name = InfoPlist.strings;
sourceTree = "";
};
- 1DDD58280DA1D0D100B32029 /* NewTweetWindow.xib */ = {
+ 1DDD58280DA1D0D100B32029 /* MyDocument.xib */ = {
isa = PBXVariantGroup;
children = (
1DDD58290DA1D0D100B32029 /* English */,
);
- name = NewTweetWindow.xib;
+ name = MyDocument.xib;
sourceTree = "";
};
1DDD582A0DA1D0D100B32029 /* MainMenu.xib */ = {
@@ -381,13 +372,15 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
+ "\"$(SRCROOT)/../../Desktop/mpoauthconnection-read-only/build/Release\"",
+ "\"$(SRCROOT)/../oauth-obj-c/OAuthConsumer/build/Release\"",
);
GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -403,12 +396,13 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
+ "\"$(SRCROOT)/../../Desktop/mpoauthconnection-read-only/build/Release\"",
+ "\"$(SRCROOT)/../oauth-obj-c/OAuthConsumer/build/Release\"",
);
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -430,6 +424,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.5;
ONLY_ACTIVE_ARCH = YES;
+ PREBINDING = NO;
SDKROOT = macosx;
};
name = Debug;
@@ -442,7 +437,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.5;
- ONLY_ACTIVE_ARCH = NO;
+ PREBINDING = NO;
SDKROOT = macosx;
};
name = Release;
diff --git a/TwittiaCore.js b/TwittiaCore.js
index 7e8bd40..791c9ac 100644
--- a/TwittiaCore.js
+++ b/TwittiaCore.js
@@ -6,24 +6,19 @@
// Licence: BSD (see attached LICENCE.txt file).
//
+//API_PATH = "http://api.twitter.com/1/";
+API_PATH = "http://identi.ca/api/";
+
function Twittia(action) {
- this.max_length = 100;
- this.since_id;
- this.timeout = 2 * 60 * 1000;
- this.action = action;
- this.getNewData();
- this.unread_mentions = 0;
-
- this.body = document.createElement("ol");
- this.body.className = this.action;
-
-/*
- if (action == "home_timeline") {
- this.usernames = [];
- this.getUsernames("friends");
- this.getUsernames("followers");
- }
-*/
+ this.max_length = 100;
+ this.since_id;
+ this.timeout = 2 * 60 * 1000;
+ this.action = action;
+ this.getNewData();
+ this.unread_mentions = 0;
+
+ this.body = document.createElement("ol");
+ this.body.className = this.action;
}
Twittia.prototype.newStatus = function(status, supress_new_with_timeout) {
@@ -62,13 +57,22 @@ Twittia.prototype.getItem = function(status) {
}
var template = this.getTemplate();
-
+ /*
+ template.item.id = "id-" + status.id_str;
+ template.item.onmousedown = function(e) { if(e.button == 2) {
+ var target = e.target;
+ while(target.nodeName != "LI" && target != null) {
+ target = target.parentNode;
+ }
+
+ alert(target.id);
+ }}*/
template.reply_to.onclick = function() { replyTo(status.user.screen_name, status.id_str); return false; }
template.retweet.onclick = function() { template.retweet.className = "hidden"; _this.retweet(status.id_str, template.item); return false; }
template.image.src = status.user.profile_image_url;
template.username.innerText = status.user.screen_name;
- template.username.href = WEBSITE_PATH + status.user.screen_name
+ template.username.href = API_PATH + status.user.screen_name
if(original_status != null) {
var retweeted = document.createElement("span")
@@ -78,17 +82,17 @@ Twittia.prototype.getItem = function(status) {
retweeted.appendChild(retweeted_icon);
var retweeted_by = document.createElement("a");
retweeted_by.innerText = original_status.user.screen_name + " ";
- retweeted_by.href = WEBSITE_PATH + original_status.user.screen_name;
+ retweeted_by.href = API_PATH + original_status.user.screen_name;
retweeted.appendChild(document.createTextNode("@"));
retweeted.appendChild(retweeted_by);
template.in_reply.parentNode.parentNode.insertBefore(retweeted, template.in_reply.parent);
}
- if(status.in_reply_to_status_id_str != null) template.in_reply.innerText = status.in_reply_to_screen_name;
+ if(status.in_reply_to_status_id != null) template.in_reply.innerText = status.in_reply_to_screen_name;
else template.in_reply.parentNode.className = "hidden";
- template.in_reply.href = WEBSITE_PATH + status.in_reply_to_screen_name + "/status/" + status.in_reply_to_status_id_str;
+ template.in_reply.href = API_PATH + status.in_reply_to_screen_name + "/status/" + status.in_reply_to_status_id;
- template.message.innerHTML = replaceTwitterLinks(replaceURLWithHTMLLinks(status.text, status.entities, template.message));
+ template.message.innerHTML = replaceTwitterLinks(replaceURLWithHTMLLinks(status.text));
var time = document.createElement("abbr");
time.innerText = status.created_at;
@@ -96,7 +100,7 @@ Twittia.prototype.getItem = function(status) {
time.className = "timeago";
$(time).timeago();
template.ago.appendChild(time);
- template.ago.href = WEBSITE_PATH + status.user.screen_name + "/status/" + status.id_str;
+ template.ago.href = API_PATH + status.user.screen_name + "/status/" + status.id_str;
// {"type":"Point","coordinates":[57.10803113,12.25854746]}
if (status.geo && status.geo.type == "Point") {
@@ -105,48 +109,6 @@ Twittia.prototype.getItem = function(status) {
}
template.source.innerHTML = status.source;
-
- if(status.entities.media) {
-
- for(var i=0; i 0) {
- _this.getUsernames(type, data.next_cursor);
- }
- },
- error:function (xhr, ajaxOptions, thrownError) {
- alert(xhr.status);
- alert(thrownError);
- }
- });
-}
-
-Twittia.prototype.getUsernamesFromIds = function(ids) {
-
- var url = API_PATH + "users/lookup.json";
- var _this = this;
- var parameters = { user_id:ids.join(",") };
- var message = { method:"GET" , action:url, parameters:parameters };
-
- OAuth.completeRequest(message,
- { consumerKey : OAUTH_CONSUMER_KEY
- , consumerSecret: OAUTH_CONSUMER_SECRET
- , token : controller.accessToken.accessToken()
- , tokenSecret : controller.accessToken.secret()
- });
-
- $.ajax({
- beforeSend: function(xhr) {
- xhr.setRequestHeader("Authorization", OAuth.getAuthorizationHeader("", message.parameters));
- },
- url: url + "?user_id=" + ids.join(","),
- type: 'GET',
- dataType: 'json',
- success: function(data) {
- for (var i=0; i < data.length; i++) {
- _this.usernames.push(data[i].screen_name);
- }
- },
- error:function (xhr, ajaxOptions, thrownError) {
- alert(xhr.status);
- alert(thrownError);
- }
- });
-}
-
-Twittia.prototype.findUsernamesFor = function(query) {
- var ret = [];
- for (var i=0; i < this.usernames.length; i++) {
- if(this.usernames[i].startsWith(query)) {
- ret.push(this.usernames[i]);
- }
- }
- return ret;
-}
-
-/* Helper functions */
-
-function replaceURLWithHTMLLinks(text, entities, message_node) {
- var urls = entities.urls;
+ var message = {method: method, action: url, parameters: OAuth.decodeForm(params)};
+ message.parameters.push(['oauth_consumer_key',controller.oauth.consumerToken.key]);
+ message.parameters.push(['oauth_nonce',nonce]);
+ message.parameters.push(['oauth_signature_method','HMAC-SHA1']);
+ message.parameters.push(['oauth_timestamp',timestamp]);
+ message.parameters.push(['oauth_token', controller.oauth.accessToken.key]);
+ message.parameters.push(['oauth_version','1.0']);
+ message.parameters.sort()
- for(var i = 0; i" + replace + "");
-
- var media = null;
-
- // add thumbnail
- if(replace.startsWith("http://youtube.com/") || replace.startsWith("http://www.youtube.com/")) {
- var v = getUrlVars(replace)["v"];
- if (v) {
- media = {
- type: "twittia_youtube",
- url: original,
- media_url: "http://img.youtube.com/vi/" + v + "/1.jpg"
- }
- }
-
- } else if (replace.startsWith("http://twitpic.com/")) {
- media = {
- type: "twittia_photo",
- url: original,
- media_url: "http://twitpic.com/show/mini/" + replace.substring("http://twitpic.com/".length)
- }
-
- } else if (replace.startsWith("http://yfrog")) {
- media = {
- type: "twittia_photo",
- url: original,
- media_url: replace + ":small"
- }
-
- } else if (replace.startsWith("http://instagr.am/p/") || replace.startsWith("http://instagram.com/p/")) {
- media = {
- type: "twittia_photo",
- url: original,
- media_url: replace + "media?size=t"
- }
- }
-
- if(media) {
- if(entities.media) {
- entities.media.push(media);
- } else {
- entities.media = [media];
- }
- }
-
- }
-
- return text;
+function replaceURLWithHTMLLinks(text) {
+ var exp = /(\b(https?|ftp|file):\/\/\S+)/ig;
+ return text.replace(exp,"$1");
}
function replaceTwitterLinks(text) {
@@ -524,50 +365,5 @@ function loadPlugin(url) {
document.getElementsByTagName("head")[0].appendChild(plugin);
}
-String.prototype.startsWith = function(prefix) {
- return this.indexOf(prefix) === 0;
-}
-
-String.prototype.endsWith = function(suffix) {
- return this.match(suffix+"$") == suffix;
-};
-
-function getUrlVars(url)
-{
- var vars = [], hash;
- if(url.indexOf("#") > -1) url = url.slice(0, url.indexOf("#"));
- var hashes = url.slice(url.indexOf('?') + 1).split('&');
- for(var i = 0; i < hashes.length; i++)
- {
- hash = hashes[i].split('=');
- vars.push(hash[0]);
- vars[hash[0]] = hash[1];
- }
- return vars;
-}
-
-function replaceShortened(url, message_node) {
- var api = "http://api.bitly.com";
- if(url.startsWith("http://j.mp/")) {
- api = "http://api.j.mp";
- }
-
- var api_url = api + "/v3/expand?format=json&apiKey=R_4fc2a1aa461d076556016390fa6400f6&login=twittia&shortUrl=" + url;
-
- $.ajax({
- url: api_url,
- success: function(data) {
- var new_url = data.data.expand[0].long_url;
- if (new_url) {
- var regex = new RegExp(url, "g");
- message_node.innerHTML = message_node.innerHTML.replace(regex, new_url);
- }
- },
- error:function (xhr, ajaxOptions, thrownError) {
- alert(xhr.status);
- alert(thrownError);
- }
- });
-}
var twittia_instance;
diff --git a/TwittiaOauth.js b/TwittiaOauth.js
deleted file mode 100644
index b1400b9..0000000
--- a/TwittiaOauth.js
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// TwittiaOauth.js
-// Twittia 2
-//
-// Created by Jeena on 19.09.11.
-// Licence: BSD (see attached LICENCE.txt file).
-//
-
-function TwittiaOauth() {
- this.requestAToken();
-}
-
-TwittiaOauth.prototype.requestAToken = function() {
- var url = OAUTH_REQUEST_TOKEN_URL;
- var _this = this;
-
- var message = { method:"POST" , action:url };
-
- OAuth.completeRequest(message,
- { consumerKey : OAUTH_CONSUMER_KEY
- , consumerSecret: OAUTH_CONSUMER_SECRET
- //, token : controller.oauth.accessToken.key
- //, tokenSecret : controller.oauth.accessToken.secret
- });
-
- $.ajax({
- beforeSend: function(xhr) {
- xhr.setRequestHeader("Authorization", OAuth.getAuthorizationHeader("", message.parameters));
- },
- url: url,
- type: 'POST',
- dataType: 'text',
- success: function(data) {
- _this.requestTokenTicketFinished(data);
- },
- error:function (xhr, ajaxOptions, thrownError) {
- alert(xhr.statusText);
- alert(ajaxOptions);
- alert(thrownError);
- }
- });
-
-}
-
-TwittiaOauth.prototype.requestTokenTicketFinished = function(data) {
- controller.openURL_(OAUTH_USER_AUTHORIZATION_URL + "?" + data);
-}
-
-TwittiaOauth.prototype.requestAccessToken = function(responseBody) {
- // "twittia://oauth_token?oauth_token=jCcf7ClzJMbE4coZdONi467OAQxRGOBZJsuopG8C8&oauth_verifier=BK2ZkAIz51lqI4qta8MnKc280GyDLy0OQBpdsEmjT40"
-
- var urlVars = getUrlVars(responseBody);
-
- var url = OAUTH_ACCESS_TOKEN_URL;
- var _this = this;
- var accessTokenKey = getUrlVars(responseBody)
-
- var message = { method:"POST" , action:url };
-
- OAuth.completeRequest(message,
- { consumerKey : OAUTH_CONSUMER_KEY
- , consumerSecret: OAUTH_CONSUMER_SECRET
- , token : urlVars["oauth_token"]
- , tokenSecret : urlVars["oauth_verifier"]
- });
-
- $.ajax({
- beforeSend: function(xhr) {
- xhr.setRequestHeader("Authorization", OAuth.getAuthorizationHeader("", message.parameters));
- },
- url: url,
- type: 'POST',
- dataType: 'text',
- success: function(data) {
- _this.requestAccessTokenTicketFinished(data);
- },
- error:function (xhr, ajaxOptions, thrownError) {
- alert(xhr.statusText);
- alert(ajaxOptions);
- alert(thrownError);
- }
- });
-}
-
-TwittiaOauth.prototype.requestAccessTokenTicketFinished = function(responseBody) {
- var urlVars = getUrlVars(responseBody);
- controller.storeAccessToken_secret_userId_andScreenName_(
- urlVars["oauth_token"],
- urlVars["oauth_token_secret"],
- urlVars["user_id"],
- urlVars["screen_name"]
- );
-}
-
-function getUrlVars(url)
-{
- var vars = [], hash;
- if(url.indexOf("#") > -1) url = url.slice(0, url.indexOf("#"));
- var hashes = url.slice(url.indexOf('?') + 1).split('&');
- for(var i = 0; i < hashes.length; i++)
- {
- hash = hashes[i].split('=');
- vars.push(hash[0]);
- vars[hash[0]] = hash[1];
- }
- return vars;
-}
-
-var twittia_oauth;
\ No newline at end of file
diff --git a/Twittia_2-Info.plist b/Twittia_2-Info.plist
index 71adde9..55a5109 100644
--- a/Twittia_2-Info.plist
+++ b/Twittia_2-Info.plist
@@ -22,7 +22,7 @@
CFBundleTypeRole
Editor
NSDocumentClass
- NewTweetWindow
+ MyDocument
CFBundleExecutable
@@ -42,7 +42,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.4.0
+ 2.3.1
CFBundleSignature
????
CFBundleURLTypes
@@ -58,7 +58,7 @@
CFBundleVersion
- 2.4.0
+ 2.3.2
LSApplicationCategoryType
public.app-category.lifestyle
LSMinimumSystemVersion
diff --git a/ViewDelegate.h b/ViewDelegate.h
index 539cc89..0692c6c 100644
--- a/ViewDelegate.h
+++ b/ViewDelegate.h
@@ -13,11 +13,9 @@
@interface ViewDelegate : NSObject {
WebView *timelineView;
WebView *mentionsView;
- WebView *twittiaOauthView;
}
@property (nonatomic, assign) WebView *timelineView;
@property (nonatomic, assign) WebView *mentionsView;
-@property (nonatomic, assign) WebView *twittiaOauthView;
@end
diff --git a/ViewDelegate.m b/ViewDelegate.m
index e9c2996..67aa6ab 100644
--- a/ViewDelegate.m
+++ b/ViewDelegate.m
@@ -11,18 +11,13 @@
@implementation ViewDelegate
-@synthesize timelineView, mentionsView, twittiaOauthView;
+@synthesize timelineView, mentionsView;
- (void)webView:(WebView *)sender addMessageToConsole:(NSDictionary *)message;{
if (![message isKindOfClass:[NSDictionary class]]) return;
- NSString *viewName = @"TimelineView";
- if (sender == mentionsView) viewName = @"MentionsView";
- if (sender == twittiaOauthView) viewName = @"TwittiaOauthView";
-
- NSLog(@"js<%@>: %@:%@: %@",
- viewName,
+ NSLog(@"js: %@:%@: %@",
[[message objectForKey:@"sourceURL"] lastPathComponent],
[message objectForKey:@"lineNumber"],
[message objectForKey:@"message"]
@@ -30,11 +25,7 @@
}
- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
- NSString *viewName = @"TimelineView";
- if (sender == mentionsView) viewName = @"MentionsView";
- if (sender == twittiaOauthView) viewName = @"TwittiaOauthView";
-
- NSLog(@"jsa<%@>: %@", viewName, message);
+ NSLog(@"jsa: %@", message);
}
- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id )listener {
@@ -43,26 +34,18 @@
}
- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
+ NSString *action = @"home_timeline";
+ NSString *delay = @"1";
- if (sender == twittiaOauthView) {
-
- [twittiaOauthView stringByEvaluatingJavaScriptFromString:@"setTimeout( function() { twittia_oauth = new TwittiaOauth(); }, 2);"];
-
- } else {
-
- NSString *action = @"home_timeline";
- NSString *delay = @"1";
-
- if (sender == mentionsView) {
- action = @"mentions";
- delay = @"1000";
- }
-
- [sender stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:
- @"setTimeout(function(){ twittia_instance = new Twittia('%@'); \
- document.getElementsByTagName('body')[0].appendChild(twittia_instance.body); \
- setTimeout(function() { loadPlugin(controller.pluginURL()) }, 1); }, %@);", action, delay]];
- }
+ if (sender == mentionsView) {
+ action = @"mentions";
+ delay = @"1000";
+ }
+
+ [sender stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:
+ @"setTimeout(function(){ twittia_instance = new Twittia('%@'); \
+ document.getElementsByTagName('body')[0].appendChild(twittia_instance.body); \
+ setTimeout(function() { loadPlugin(controller.pluginURL()) }, 1); }, %@);", action, delay]];
}
@end
diff --git a/default.css b/default.css
index c404f7e..10cf89e 100644
--- a/default.css
+++ b/default.css
@@ -112,20 +112,6 @@ p {
height: 75px;
}
-.images:empty {
- display: none;
-}
-
-.images {
- padding-top: 5px;
-}
-
-.images img {
- border-radius: 5px;
- max-height: 75px;
- margin-right: 5px;
-}
-
.delete {
font-weight: normal;
color: #555;
diff --git a/index.html b/index.html
index 050db32..3ae01b4 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,6 @@
-
diff --git a/index_oauth.html b/index_oauth.html
deleted file mode 100644
index b1f2ccd..0000000
--- a/index_oauth.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- Twittia
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file