Merge branch 'master' into linux

This commit is contained in:
Jeena Paradies 2012-11-14 00:43:41 +01:00
commit 7e358e4950
10 changed files with 138 additions and 65 deletions

View file

@ -22,6 +22,9 @@
- (void)awakeFromNib - (void)awakeFromNib
{ {
[timelineViewWindow setExcludedFromWindowsMenu:YES];
[mentionsViewWindow setExcludedFromWindowsMenu:YES];
[self initHotKeys]; [self initHotKeys];
[GrowlApplicationBridge setGrowlDelegate:self]; [GrowlApplicationBridge setGrowlDelegate:self];

View file

@ -236,24 +236,6 @@
<reference key="NSOnImage" ref="1033313550"/> <reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/> <reference key="NSMixedImage" ref="310636482"/>
</object> </object>
<object class="NSMenuItem" id="281587867">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Timeline</string>
<string key="NSKeyEquiv">1</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/>
</object>
<object class="NSMenuItem" id="295904906">
<reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Mentions</string>
<string key="NSKeyEquiv">2</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/>
</object>
<object class="NSMenuItem" id="776162233"> <object class="NSMenuItem" id="776162233">
<reference key="NSMenu" ref="720053764"/> <reference key="NSMenu" ref="720053764"/>
<string key="NSTitle">Close</string> <string key="NSTitle">Close</string>
@ -745,6 +727,34 @@
<reference key="NSOnImage" ref="1033313550"/> <reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/> <reference key="NSMixedImage" ref="310636482"/>
</object> </object>
<object class="NSMenuItem" id="687127612">
<reference key="NSMenu" ref="730994513"/>
<bool key="NSIsDisabled">YES</bool>
<bool key="NSIsSeparator">YES</bool>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/>
</object>
<object class="NSMenuItem" id="722386865">
<reference key="NSMenu" ref="730994513"/>
<string key="NSTitle">Timeline</string>
<string key="NSKeyEquiv">1</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/>
</object>
<object class="NSMenuItem" id="33537070">
<reference key="NSMenu" ref="730994513"/>
<string key="NSTitle">Mentions</string>
<string key="NSKeyEquiv">2</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/>
</object>
<object class="NSMenuItem" id="1002006506"> <object class="NSMenuItem" id="1002006506">
<reference key="NSMenu" ref="730994513"/> <reference key="NSMenu" ref="730994513"/>
<bool key="NSIsDisabled">YES</bool> <bool key="NSIsDisabled">YES</bool>
@ -1130,7 +1140,6 @@
<string key="NSFrame">{{391, 46}, {75, 32}}</string> <string key="NSFrame">{{391, 46}, {75, 32}}</string>
<reference key="NSSuperview" ref="503676418"/> <reference key="NSSuperview" ref="503676418"/>
<reference key="NSWindow"/> <reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string> <string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool> <bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="54847478"> <object class="NSButtonCell" key="NSCell" id="54847478">
@ -1639,9 +1648,9 @@
<object class="IBActionConnection" key="connection"> <object class="IBActionConnection" key="connection">
<string key="label">makeKeyAndOrderFront:</string> <string key="label">makeKeyAndOrderFront:</string>
<reference key="source" ref="1010634651"/> <reference key="source" ref="1010634651"/>
<reference key="destination" ref="281587867"/> <reference key="destination" ref="722386865"/>
</object> </object>
<int key="connectionID">547</int> <int key="connectionID">656</int>
</object> </object>
<object class="IBConnectionRecord"> <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection"> <object class="IBActionConnection" key="connection">
@ -1651,14 +1660,6 @@
</object> </object>
<int key="connectionID">543</int> <int key="connectionID">543</int>
</object> </object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">makeKeyAndOrderFront:</string>
<reference key="source" ref="134415325"/>
<reference key="destination" ref="295904906"/>
</object>
<int key="connectionID">563</int>
</object>
<object class="IBConnectionRecord"> <object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection"> <object class="IBOutletConnection" key="connection">
<string key="label">delegate</string> <string key="label">delegate</string>
@ -1667,6 +1668,14 @@
</object> </object>
<int key="connectionID">569</int> <int key="connectionID">569</int>
</object> </object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">makeKeyAndOrderFront:</string>
<reference key="source" ref="134415325"/>
<reference key="destination" ref="33537070"/>
</object>
<int key="connectionID">655</int>
</object>
<object class="IBConnectionRecord"> <object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection"> <object class="IBActionConnection" key="connection">
<string key="label">makeKeyAndOrderFront:</string> <string key="label">makeKeyAndOrderFront:</string>
@ -1777,8 +1786,6 @@
<reference ref="705341025"/> <reference ref="705341025"/>
<reference ref="776162233"/> <reference ref="776162233"/>
<reference ref="425164168"/> <reference ref="425164168"/>
<reference ref="295904906"/>
<reference ref="281587867"/>
<reference ref="157409543"/> <reference ref="157409543"/>
<reference ref="1007514384"/> <reference ref="1007514384"/>
</object> </object>
@ -2421,16 +2428,6 @@
<reference key="object" ref="352293288"/> <reference key="object" ref="352293288"/>
<reference key="parent" ref="469460548"/> <reference key="parent" ref="469460548"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">551</int>
<reference key="object" ref="295904906"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">544</int>
<reference key="object" ref="281587867"/>
<reference key="parent" ref="720053764"/>
</object>
<object class="IBObjectRecord"> <object class="IBObjectRecord">
<int key="objectID">644</int> <int key="objectID">644</int>
<reference key="object" ref="1024940091"/> <reference key="object" ref="1024940091"/>
@ -2449,6 +2446,9 @@
<reference ref="92032512"/> <reference ref="92032512"/>
<reference ref="1002006506"/> <reference ref="1002006506"/>
<reference ref="121031950"/> <reference ref="121031950"/>
<reference ref="33537070"/>
<reference ref="722386865"/>
<reference ref="687127612"/>
</object> </object>
<reference key="parent" ref="1024940091"/> <reference key="parent" ref="1024940091"/>
</object> </object>
@ -2472,6 +2472,21 @@
<reference key="object" ref="121031950"/> <reference key="object" ref="121031950"/>
<reference key="parent" ref="730994513"/> <reference key="parent" ref="730994513"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">653</int>
<reference key="object" ref="722386865"/>
<reference key="parent" ref="730994513"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">654</int>
<reference key="object" ref="33537070"/>
<reference key="parent" ref="730994513"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">657</int>
<reference key="object" ref="687127612"/>
<reference key="parent" ref="730994513"/>
</object>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="flattenedProperties"> <object class="NSMutableDictionary" key="flattenedProperties">
@ -2552,8 +2567,6 @@
<string>537.IBPluginDependency</string> <string>537.IBPluginDependency</string>
<string>541.IBPluginDependency</string> <string>541.IBPluginDependency</string>
<string>542.IBPluginDependency</string> <string>542.IBPluginDependency</string>
<string>544.IBPluginDependency</string>
<string>551.IBPluginDependency</string>
<string>559.IBPluginDependency</string> <string>559.IBPluginDependency</string>
<string>559.IBWindowTemplateEditedContentRect</string> <string>559.IBWindowTemplateEditedContentRect</string>
<string>559.NSWindowTemplate.visibleAtLaunch</string> <string>559.NSWindowTemplate.visibleAtLaunch</string>
@ -2589,6 +2602,9 @@
<string>647.IBPluginDependency</string> <string>647.IBPluginDependency</string>
<string>648.IBPluginDependency</string> <string>648.IBPluginDependency</string>
<string>649.IBPluginDependency</string> <string>649.IBPluginDependency</string>
<string>653.IBPluginDependency</string>
<string>654.IBPluginDependency</string>
<string>657.IBPluginDependency</string>
<string>72.IBPluginDependency</string> <string>72.IBPluginDependency</string>
<string>73.IBPluginDependency</string> <string>73.IBPluginDependency</string>
<string>79.IBPluginDependency</string> <string>79.IBPluginDependency</string>
@ -2673,8 +2689,6 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{344, 175}, {376, 581}}</string> <string>{{344, 175}, {376, 581}}</string>
<boolean value="NO"/> <boolean value="NO"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -2715,6 +2729,9 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="unlocalizedProperties"> <object class="NSMutableDictionary" key="unlocalizedProperties">
@ -2729,7 +2746,7 @@
<reference key="dict.values" ref="0"/> <reference key="dict.values" ref="0"/>
</object> </object>
<nil key="sourceID"/> <nil key="sourceID"/>
<int key="maxID">652</int> <int key="maxID">657</int>
</object> </object>
<object class="IBClassDescriber" key="IBDocument.Classes"> <object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="NSMutableArray" key="referencedPartialClassDescriptions">

View file

@ -47,7 +47,11 @@
{ {
[super windowControllerDidLoadNib:aController]; [super windowControllerDidLoadNib:aController];
// Add any code here that needs to be executed once the windowController has loaded the document's window. // Add any code here that needs to be executed once the windowController has loaded the document's window.
[textField becomeFirstResponder];
// Enable Continous Spelling
NSTextView *textView = (NSTextView *)[[[self.windowControllers objectAtIndex:0] window] firstResponder];;
[textView setContinuousSpellCheckingEnabled:YES];
} }
- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError - (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError

View file

@ -42,7 +42,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.2.2</string> <string>0.2.3</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
@ -57,7 +57,7 @@
</dict> </dict>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>0.2.2</string> <string>0.2.3</string>
<key>LSApplicationCategoryType</key> <key>LSApplicationCategoryType</key>
<string>public.app-category.lifestyle</string> <string>public.app-category.lifestyle</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>

View file

@ -6,15 +6,15 @@
<description>Most recent changes with links to updates.</description> <description>Most recent changes with links to updates.</description>
<language>en</language> <language>en</language>
<item> <item>
<title>Version 0.2.2</title> <title>Version 0.2.3</title>
<sparkle:minimumSystemVersion>10.5.0</sparkle:minimumSystemVersion> <sparkle:minimumSystemVersion>10.5.0</sparkle:minimumSystemVersion>
<sparkle:releaseNotesLink>http://jabs.nu/Tentia/download/ReleaseNotes.html</sparkle:releaseNotesLink> <sparkle:releaseNotesLink>http://jabs.nu/Tentia/download/ReleaseNotes.html</sparkle:releaseNotesLink>
<pubDate>Mon, 12 Nov 2012 20:02:43 +0100</pubDate> <pubDate>Tue, 13 Nov 2012 14:47:21 +0100</pubDate>
<enclosure url="http://jabs.nu/Tentia/download/Tentia.app.zip" <enclosure url="http://jabs.nu/Tentia/download/Tentia.app.zip"
sparkle:version="0.2.2" sparkle:version="0.2.3"
length="1068553" length="1068831"
type="application/octet-stream" type="application/octet-stream"
sparkle:dsaSignature="MCwCFCSaEpEErlfAG1qWxaWT73oLsRsfAhRAhfgNE+Z7YbZmFVEaxG+Rw8Irtg==" /> sparkle:dsaSignature="MCwCFHqhR4rOIHHK8+DAPWjw/QpIBHnkAhQNygd4tYexOp+0NXvy2759Rv/rbw==" />
</item> </item>
</channel> </channel>
</rss> </rss>

View file

@ -14,6 +14,13 @@
</head> </head>
<body> <body>
<h1>Tentia 0.2.3</h1>
<p>Fixed problem where you couldn't login with a https entity</p>
<p>Moved Mentions and Timeline from File to Window menu item</p>
<hr />
<h1>Tentia 0.2.2</h1> <h1>Tentia 0.2.2</h1>
<p>Resizable "New Post" window</p> <p>Resizable "New Post" window</p>

View file

@ -188,6 +188,15 @@ li:hover .name {
background: #b8c1d0; background: #b8c1d0;
} }
.is_private {
color: white;
padding: 0 4px 0 2px;
background: #09F;
border-radius: 3px;
font-style: italic;
font-weight: bold;
}
li .date { li .date {
position: absolute; position: absolute;

View file

@ -52,7 +52,7 @@ function(HostApp, Paths, Hmac) {
var those = this; var those = this;
Paths.findProfileURL(entity, Paths.findProfileURL(entity,
function(profile_url) { function(profile_url) {
if (profile_url && (profile_url.startsWith("http://") || profile_url.startsWith("https:(("))) { if (profile_url && (profile_url.startsWith("http://") || profile_url.startsWith("https://"))) {
those.register(profile_url); those.register(profile_url);
} else { } else {
HostApp.authentificationDidNotSucceed("Could not find profile for: " + entity); HostApp.authentificationDidNotSucceed("Could not find profile for: " + entity);

View file

@ -74,16 +74,17 @@ function(Core, Paths, HostApp, URI) {
var http_method = "GET"; var http_method = "GET";
var callback = function(resp) { var callback = function(resp) {
those.reload_blocked = false;
try { try {
var json = JSON.parse(resp.responseText) var json = JSON.parse(resp.responseText)
those.newStatus(json);
} catch (e) { } catch (e) {
//alert(resp.responseText); //alert(resp.responseText);
alert(url + " JSON parse error"); alert(url + " JSON parse error");
throw e; throw e;
} }
those.newStatus(json);
those.reload_blocked = false;
} }
var data = null; var data = null;

View file

@ -67,6 +67,17 @@ function(jQuery, Paths, URI, HostApp, Followings) {
var geo = document.createElement("a"); var geo = document.createElement("a");
geo.style.display = "none"; geo.style.display = "none";
head.appendChild(geo); head.appendChild(geo);
head.appendChild(space.cloneNode());
var is_private = document.createElement("span")
is_private.className = "is_private";
is_private.style.display = "none";
is_private.innerHTML = "P";
is_private.title = "Private";
head.appendChild(is_private);
head.appendChild(space.cloneNode());
var pin = document.createElement("img"); var pin = document.createElement("img");
pin.src = "img/pin.png"; pin.src = "img/pin.png";
@ -104,6 +115,7 @@ function(jQuery, Paths, URI, HostApp, Followings) {
this.template = { this.template = {
item: item, item: item,
reply_to: reply_to, reply_to: reply_to,
is_private: is_private,
retweet: retweet, retweet: retweet,
image: image, image: image,
username: username, username: username,
@ -175,13 +187,20 @@ function(jQuery, Paths, URI, HostApp, Followings) {
}); });
} }
if (status && status.permissions && !status.permissions.public) {
template.is_private.style.display = '';
}
template.in_reply.parentNode.className = "hidden"; template.in_reply.parentNode.className = "hidden";
var text = status.content.text.replace(/\n/g, "<br>"); var text = status.content.text.replace(/\n/g, "<br>");
var entities = [status.entity];
status.mentions.map(function (mention) {
entities.push(mention.entity)
});
template.message.innerHTML = this.replaceUsernamesWithLinks( template.message.innerHTML = this.replaceUsernamesWithLinks(
this.replaceURLWithHTMLLinks(text, status.entities, template.message) this.replaceURLWithHTMLLinks(text, entities, template.message)
); );
this.findMentions(template.message, status.mentions); this.findMentions(template.message, status.mentions);
@ -380,17 +399,30 @@ function(jQuery, Paths, URI, HostApp, Followings) {
Core.prototype.replaceURLWithHTMLLinks = function(text, entities, message_node) { Core.prototype.replaceURLWithHTMLLinks = function(text, entities, message_node) {
var exp = /(([^\^]https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_()|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; var callback = function(url) {
return text.replace(exp, "<a href='$1'>$1</a>");
var result;
if (entities && entities.some(function(x) { return x == url })) {
result = url;
} else {
var protocol = "";
if (!url.startsWith("http://") && !url.startsWith("https://")) {
protocol = "http://";
}
result = '<a title="' + protocol + url + '"" href="' + protocol + url + '">' + url + '</a>';
}
return result;
}
return URI.withinString(text, callback);
} }
Core.prototype.replaceUsernamesWithLinks = function(text, mentions) { Core.prototype.replaceUsernamesWithLinks = function(text, mentions) {
return text; // FIXME!
var username = /(^|\s)(\^)(\w+)/ig;
var hash = /(^|\s)(#)(\w+)/ig; var hash = /(^|\s)(#)(\w+)/ig;
text = text.replace(username, "$1$2<a href='tentia://profile/$3'>$3</a>"); return text.replace(hash, "$1$2<a href='https://skate.io/search?q=%23$3'>$3</a>");
return text.replace(hash, "$1$2<a href='http://search.twitter.com/search?q=%23$3'>$3</a>");
} }
Core.prototype.replyTo = function(entity, status_id, mentions) { Core.prototype.replyTo = function(entity, status_id, mentions) {