changing the name from Tentia to bungloo
This commit is contained in:
parent
95804089db
commit
5d8e114b7c
39 changed files with 371 additions and 176 deletions
233
Linux/Bungloo.py
Executable file
233
Linux/Bungloo.py
Executable file
|
@ -0,0 +1,233 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import os, sys, pickle, subprocess
|
||||
from PyQt4 import QtCore, QtGui, QtWebKit
|
||||
import Windows, Helper
|
||||
|
||||
class Bungloo:
|
||||
|
||||
def __init__(self):
|
||||
self.app = QtGui.QApplication(sys.argv)
|
||||
self.new_message_windows = []
|
||||
self.controller = Controller(self)
|
||||
self.console = Console()
|
||||
|
||||
self.preferences = Windows.Preferences(self)
|
||||
self.preferences.show()
|
||||
|
||||
self.oauth_implementation = Windows.Oauth(self)
|
||||
|
||||
if self.controller.stringForKey("user_access_token") != "":
|
||||
self.authentification_succeded()
|
||||
|
||||
self.app.exec_()
|
||||
|
||||
def resources_path(self):
|
||||
return os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||||
|
||||
def resources_uri(self):
|
||||
return "file://localhost" + os.path.abspath(os.path.join(self.resources_path(), "WebKit"))
|
||||
|
||||
def login_with_entity(self, entity):
|
||||
self.controller.setStringForKey(entity, "entity")
|
||||
self.oauth_implementation.login()
|
||||
|
||||
def authentification_succeded(self):
|
||||
self.preferences.hide()
|
||||
if hasattr(self, "oauth_implementation"):
|
||||
self.oauth_implementation.hide()
|
||||
self.preferences.active(False)
|
||||
self.init_web_views()
|
||||
|
||||
def init_web_views(self):
|
||||
self.timeline = Windows.Timeline(self)
|
||||
self.mentions = Windows.Timeline(self, "mentions", "Mentions")
|
||||
self.timeline.show()
|
||||
self.conversation = Windows.Timeline(self, "conversation", "Conversation")
|
||||
self.profile = Windows.Timeline(self, "profile", "Profile")
|
||||
|
||||
def timeline_show(self):
|
||||
self.timeline.show()
|
||||
|
||||
def mentions_show(self):
|
||||
self.controller.unreadMentions(0)
|
||||
self.mentions.show()
|
||||
|
||||
|
||||
class Controller(QtCore.QObject):
|
||||
|
||||
def __init__(self, app):
|
||||
QtCore.QObject.__init__(self)
|
||||
self.app = app
|
||||
|
||||
self.config_path = os.path.expanduser('~/.bungloo.cfg')
|
||||
if os.access(self.config_path, os.R_OK):
|
||||
with open(self.config_path, 'r') as f:
|
||||
self.config = pickle.load(f)
|
||||
else:
|
||||
print self.config_path + " is not readable"
|
||||
self.config = {}
|
||||
|
||||
@QtCore.pyqtSlot(str, str)
|
||||
def setStringForKey(self, string, key):
|
||||
string, key = str(string), str(key)
|
||||
self.config[key] = string
|
||||
try:
|
||||
with open(self.config_path, 'w+') as f:
|
||||
pickle.dump(self.config, f)
|
||||
except IOError:
|
||||
print self.config_path + " is not writable"
|
||||
print "I/O error({0}): {1}".format(e.errno, e.strerror)
|
||||
|
||||
@QtCore.pyqtSlot(str, result=str)
|
||||
def stringForKey(self, key):
|
||||
key = str(key)
|
||||
if key in self.config:
|
||||
return self.config[key]
|
||||
else:
|
||||
return ""
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def openAuthorizationURL(self, url):
|
||||
self.app.oauth_implementation.handle_authentication(str(url))
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def openURL(self, url):
|
||||
QtGui.QDesktopServices.openUrl(QtCore.QUrl(url, QtCore.QUrl.TolerantMode))
|
||||
|
||||
def openQURL(self, url):
|
||||
QtGui.QDesktopServices.openUrl(url)
|
||||
|
||||
@QtCore.pyqtSlot()
|
||||
def loggedIn(self):
|
||||
self.app.authentification_succeded()
|
||||
|
||||
@QtCore.pyqtSlot(int)
|
||||
def unreadMentions(self, count):
|
||||
i = int(count)
|
||||
if i > 0:
|
||||
self.app.timeline.set_window_title("Tentia (^" + str(i) + ")")
|
||||
else:
|
||||
self.app.timeline.set_window_title("Tentia")
|
||||
self.app.mentions.evaluateJavaScript("bungloo_instance.unread_mentions = 0;")
|
||||
|
||||
@QtCore.pyqtSlot(str, str, str, str)
|
||||
def notificateUserAboutMentionFromNameWithPostIdAndEntity(self, text, name, post_id, entity):
|
||||
try:
|
||||
subprocess.check_output(['kdialog', '--passivepopup', name + ' mentioned you: ' + text])
|
||||
except OSError:
|
||||
try:
|
||||
subprocess.check_output(['notify-send', '-i', 'dialog-information', name + ' mentioned you on Tent', text])
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def openNewMessageWidow(self, string):
|
||||
new_message_window = Windows.NewPost(self.app)
|
||||
new_message_window.show()
|
||||
new_message_window.setAttribute(QtCore.Qt.WA_DeleteOnClose)
|
||||
self.app.new_message_windows.append(new_message_window)
|
||||
|
||||
@QtCore.pyqtSlot(str, str, str, bool)
|
||||
def openNewMessageWindowInReplyTostatusIdwithStringIsPrivate(self, entity, status_id, string, is_private):
|
||||
new_message_window = Windows.NewPost(self.app)
|
||||
new_message_window.inReplyToStatusIdWithString(entity, status_id, string)
|
||||
new_message_window.setIsPrivate(is_private)
|
||||
new_message_window.show()
|
||||
new_message_window.setAttribute(QtCore.Qt.WA_DeleteOnClose)
|
||||
self.app.new_message_windows.append(new_message_window)
|
||||
|
||||
def sendMessage(self, message):
|
||||
text = message.text
|
||||
text = unicode.replace(text, "\\", "\\\\")
|
||||
text = unicode.replace(text, "\"", "\\\"")
|
||||
text = unicode.replace(text, "\n", "\\n")
|
||||
|
||||
in_reply_to_status_id = ""
|
||||
if message.inReplyTostatusId is not None:
|
||||
in_reply_to_status_id = message.inReplyTostatusId
|
||||
|
||||
in_reply_to_entity = ""
|
||||
if message.inReplyToEntity is not None:
|
||||
in_reply_to_entity = message.inReplyToEntity
|
||||
|
||||
locationObject = "null"
|
||||
#if (post.location) {
|
||||
# locationObject = [NSString stringWithFormat:@"[%f, %f]", post.location.coordinate.latitude, post.location.coordinate.longitude];
|
||||
#}
|
||||
|
||||
imageFilePath = "null"
|
||||
if message.imageFilePath is not None:
|
||||
mimeType = subprocess.check_output(['file', '-b', '--mime', message.imageFilePath]).split(";")[0]
|
||||
base64 = open(message.imageFilePath, "rb").read().encode("base64").replace("\n", "")
|
||||
imageFilePath = "\"data:{};base64,{}\"".format(mimeType, base64)
|
||||
|
||||
isPrivate = "false";
|
||||
if message.isPrivate:
|
||||
isPrivate = "true"
|
||||
|
||||
func = u"bungloo_instance.sendNewMessage(\"{}\", \"{}\", \"{}\", {}, {}, {});".format(text, in_reply_to_status_id, in_reply_to_entity, locationObject, imageFilePath, isPrivate)
|
||||
self.app.timeline.evaluateJavaScript(func)
|
||||
|
||||
@QtCore.pyqtSlot(str, str)
|
||||
def showConversationForPostIdandEntity(self, postId, entity):
|
||||
func = "bungloo_instance.showStatus('{}', '{}');".format(postId, entity)
|
||||
self.app.conversation.evaluateJavaScript(func)
|
||||
self.app.conversation.show()
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def showProfileForEntity(self, entity):
|
||||
func = "bungloo_instance.showProfileForEntity('{}');".format(entity)
|
||||
self.app.profile.evaluateJavaScript(func)
|
||||
self.app.profile.show()
|
||||
|
||||
@QtCore.pyqtSlot(str, str)
|
||||
def notificateViewsAboutDeletedPostWithIdbyEntity(self, post_id, entity):
|
||||
func = "bungloo_instance.postDeleted('{}', '{}')".format(post_id, entity);
|
||||
self.app.timeline.evaluateJavaScript(func)
|
||||
self.app.mentions.evaluateJavaScript(func)
|
||||
self.app.conversation.evaluateJavaScript(func)
|
||||
self.app.profile.evaluateJavaScript(func)
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def authentificationDidNotSucceed(self, errorMessage):
|
||||
msgBox = QtGui.QMessageBox()
|
||||
msgBox.setText(errorMessage)
|
||||
msgBox.exec_()
|
||||
|
||||
@QtCore.pyqtSlot(str, str)
|
||||
def alertTitleWithMessage(self, title, message):
|
||||
msgBox = QtGui.QMessageBox()
|
||||
msgBox.setText(title)
|
||||
msgBox.setInformativeText(message)
|
||||
msgBox.exec_()
|
||||
|
||||
def logout(self, sender):
|
||||
print "logout is not implemented yet"
|
||||
|
||||
|
||||
class Console(QtCore.QObject):
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def log(self, string):
|
||||
print "<js>: " + string
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def error(self, string):
|
||||
print "<js ERROR>: " + string
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def warn(self, string):
|
||||
print "<js WARN>: " + string
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def notice(self, string):
|
||||
print "<js NOTICE>: " + string
|
||||
|
||||
@QtCore.pyqtSlot(str)
|
||||
def debug(self, string):
|
||||
print "<js DEBUG>: " + string
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Tentia()
|
|
@ -55,12 +55,12 @@ class WebViewCreator(QtWebKit.QWebView):
|
|||
if self.is_local:
|
||||
frame.evaluateJavaScript("var OS_TYPE = 'linux';")
|
||||
|
||||
js_plugin_path = os.path.expanduser('~/.tentia/Plugin.js')
|
||||
js_plugin_path = os.path.expanduser('~/.bungloo/Plugin.js')
|
||||
if os.access(js_plugin_path, os.R_OK):
|
||||
func = "setTimeout(function() { loadJsPlugin('file://localhost" + js_plugin_path + "') }, 1000);"
|
||||
frame.evaluateJavaScript(func)
|
||||
|
||||
css_plugin_path = os.path.expanduser('~/.tentia/Plugin.css')
|
||||
css_plugin_path = os.path.expanduser('~/.bungloo/Plugin.css')
|
||||
if os.access(css_plugin_path, os.R_OK):
|
||||
func = "setTimeout(function() { loadCssPlugin('file://localhost" + css_plugin_path + "') }, 1000);"
|
||||
frame.evaluateJavaScript(func)
|
||||
|
@ -71,10 +71,10 @@ class WebViewCreator(QtWebKit.QWebView):
|
|||
|
||||
class NetworkAccessManager(QNetworkAccessManager):
|
||||
|
||||
def __init__(self, old_manager, tentia_callback):
|
||||
def __init__(self, old_manager, bungloo_callback):
|
||||
QNetworkAccessManager.__init__(self)
|
||||
|
||||
self.tentia_callback = tentia_callback
|
||||
self.bungloo_callback = bungloo_callback
|
||||
|
||||
self.old_manager = old_manager
|
||||
self.setCache(old_manager.cache())
|
||||
|
@ -83,10 +83,10 @@ class NetworkAccessManager(QNetworkAccessManager):
|
|||
self.setProxyFactory(old_manager.proxyFactory())
|
||||
|
||||
def createRequest(self, operation, request, data):
|
||||
if request.url().scheme() != "tentia":
|
||||
if request.url().scheme() != "bungloo":
|
||||
return QNetworkAccessManager.createRequest(self, operation, request, data)
|
||||
else:
|
||||
self.tentia_callback(request.url())
|
||||
self.bungloo_callback(request.url())
|
||||
return QNetworkAccessManager.createRequest(self, QNetworkAccessManager.GetOperation, QNetworkRequest(QtCore.QUrl()))
|
||||
|
||||
class PostModel:
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Comment[en_US]=Client for the new cool Tent social protocol
|
||||
Comment=Client for the new cool Tent social protocol
|
||||
Exec=./Tentia.py
|
||||
GenericName[en_US]=Tent client
|
||||
GenericName=Tent client
|
||||
Icon=/home/jeena/Projects/Tentia/images/Icon.png
|
||||
MimeType=
|
||||
Name[en_US]=Tentia
|
||||
Name=Tentia
|
||||
NoDisplay=false
|
||||
Path=
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
TerminalOptions=
|
||||
Type=Application
|
||||
X-DBUS-ServiceName=
|
||||
X-DBUS-StartupType=
|
||||
X-KDE-SubstituteUID=false
|
||||
X-KDE-Username=
|
|
@ -166,7 +166,7 @@ class Oauth:
|
|||
self.core.page().mainFrame().evaluateJavaScript(script)
|
||||
|
||||
def login(self):
|
||||
script = "tentia_instance.authenticate();"
|
||||
script = "bugloo_instance.authenticate();"
|
||||
self.core.page().mainFrame().evaluateJavaScript(script)
|
||||
|
||||
def handle_authentication(self, url):
|
||||
|
@ -174,7 +174,7 @@ class Oauth:
|
|||
self.auth_view.setWindowTitle("Authentication")
|
||||
|
||||
old_manager = self.auth_view.page().networkAccessManager()
|
||||
new_manager = Helper.NetworkAccessManager(old_manager, self.tentia_callback)
|
||||
new_manager = Helper.NetworkAccessManager(old_manager, self.bungloo_callback)
|
||||
new_manager.authenticationRequired.connect(self.authentication_required)
|
||||
self.auth_view.page().setNetworkAccessManager(new_manager)
|
||||
self.auth_view.show()
|
||||
|
@ -194,8 +194,8 @@ class Oauth:
|
|||
|
||||
dialog.exec_()
|
||||
|
||||
def tentia_callback(self, url):
|
||||
script = "tentia_instance.requestAccessToken('" + url.toString() + "');"
|
||||
def bungloo_callback(self, url):
|
||||
script = "bungloo_instance.requestAccessToken('" + url.toString() + "');"
|
||||
self.core.page().mainFrame().evaluateJavaScript(script)
|
||||
|
||||
def hide(self):
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// AccessToken.h
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena Paradies on 19/09/2011.
|
||||
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// AccessToken.m
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena Paradies on 19/09/2011.
|
||||
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||
|
@ -49,7 +49,7 @@
|
|||
UInt32 _passwordLength = 0;
|
||||
char *_password = nil;
|
||||
SecKeychainItemRef item = nil;
|
||||
SecKeychainFindGenericPassword(NULL, 6, "Tentia", 17, "TentiaUserAccount", &_passwordLength, (void **)&_password, &item);
|
||||
SecKeychainFindGenericPassword(NULL, 6, "bungloo", 17, "bunglooUserAccount", &_passwordLength, (void **)&_password, &item);
|
||||
|
||||
OSStatus status;
|
||||
void * passwordData = (void*)[_secret cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
|
@ -59,9 +59,9 @@
|
|||
status = SecKeychainAddGenericPassword(
|
||||
NULL, // default keychain
|
||||
6, // length of service name
|
||||
"Tentia", // service name
|
||||
"bungloo", // service name
|
||||
17, // length of account name
|
||||
"TentiaUserAccount", // account name
|
||||
"bunglooUserAccount", // account name
|
||||
passwordLength, // length of password
|
||||
passwordData, // pointer to password data
|
||||
NULL // the item reference
|
||||
|
@ -84,7 +84,7 @@
|
|||
UInt32 passwordLength = 0;
|
||||
char *password = nil;
|
||||
SecKeychainItemRef item = nil;
|
||||
SecKeychainFindGenericPassword(NULL, 6, "Tentia", 17, "TentiaUserAccount", &passwordLength, (void **)&password, &item);
|
||||
SecKeychainFindGenericPassword(NULL, 6, "bungloo", 17, "bunglooUserAccount", &passwordLength, (void **)&password, &item);
|
||||
|
||||
if (!item) {
|
||||
return nil;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// Constants.h
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 01.05.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
@ -14,7 +14,7 @@
|
|||
|
||||
}
|
||||
|
||||
#define APP_NAME @"Tentia"
|
||||
#define APP_NAME @"bungloo"
|
||||
#define MESSAGE_MAX_LENGTH 256
|
||||
|
||||
+ (NSString *)stringFromVirtualKeyCode:(NSInteger)code;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// Constants.m
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 01.05.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// Controller.h
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 15.04.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// Controller.m
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 15.04.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
@ -90,19 +90,13 @@
|
|||
NSString *index_string = [NSString stringWithContentsOfFile:[NSString stringWithFormat:@"%@index.html", path] encoding:NSUTF8StringEncoding error:nil];
|
||||
|
||||
oauthView = [[WebView alloc] init];
|
||||
//WebPreferences* prefs = [oauthView preferences];
|
||||
//[prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/Tentia"];
|
||||
//[prefs setLocalStorageEnabled:YES];
|
||||
viewDelegate.oauthView = oauthView;
|
||||
[[oauthView mainFrame] loadHTMLString:index_string baseURL:url];
|
||||
[oauthView setFrameLoadDelegate:viewDelegate];
|
||||
[oauthView setPolicyDelegate:viewDelegate];
|
||||
[oauthView setUIDelegate:viewDelegate];
|
||||
[[oauthView windowScriptObject] setValue:self forKey:@"controller"];
|
||||
//[oauthView stringByEvaluatingJavaScriptFromString:@"function HostAppGo() { start('oauth'); };"];
|
||||
|
||||
} else {
|
||||
//[oauthView stringByEvaluatingJavaScriptFromString:@"start('oauth');"];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -113,8 +107,6 @@
|
|||
{
|
||||
[self initOauth];
|
||||
|
||||
//NSString *localStoragePath = @"~/Library/Application Support/Tentia";
|
||||
|
||||
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Webkit/"];
|
||||
NSURL *url = [NSURL fileURLWithPath:path];
|
||||
NSString *index_string = [NSString stringWithContentsOfFile:[NSString stringWithFormat:@"%@index.html", path] encoding:NSUTF8StringEncoding error:nil];
|
||||
|
@ -312,7 +304,7 @@
|
|||
|
||||
if (range.length > 0)
|
||||
{
|
||||
[oauthView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"tentia_instance.requestAccessToken('%@')", aString]];
|
||||
[oauthView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"bungloo_instance.requestAccessToken('%@')", aString]];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -353,7 +345,7 @@
|
|||
isPrivate = @"true";
|
||||
}
|
||||
|
||||
NSString *func = [NSString stringWithFormat:@"tentia_instance.sendNewMessage(\"%@\", \"%@\", \"%@\", %@, %@, %@)",
|
||||
NSString *func = [NSString stringWithFormat:@"bungloo_instance.sendNewMessage(\"%@\", \"%@\", \"%@\", %@, %@, %@)",
|
||||
text,
|
||||
post.inReplyTostatusId,
|
||||
post.inReplyToEntity,
|
||||
|
@ -367,7 +359,7 @@
|
|||
- (NSString *)pluginURL
|
||||
{
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
NSString *pathToPlugin = [@"~/Library/Application Support/Tentia/Plugin.js" stringByExpandingTildeInPath];
|
||||
NSString *pathToPlugin = [@"~/Library/Application Support/bungloo/Plugin.js" stringByExpandingTildeInPath];
|
||||
|
||||
if([fileManager fileExistsAtPath:pathToPlugin])
|
||||
{
|
||||
|
@ -380,14 +372,14 @@
|
|||
{
|
||||
if (![mentionsViewWindow isVisible] && count > 0)
|
||||
{
|
||||
[timelineViewWindow setTitle:[NSString stringWithFormat:@"Tentia (^%i)", count]];
|
||||
[timelineViewWindow setTitle:[NSString stringWithFormat:@"bungloo (^%i)", count]];
|
||||
[[[NSApplication sharedApplication] dockTile] setBadgeLabel:[NSString stringWithFormat:@"%i", count]];
|
||||
}
|
||||
else
|
||||
{
|
||||
[timelineViewWindow setTitle:[NSString stringWithFormat:@"Tentia"]];
|
||||
[timelineViewWindow setTitle:[NSString stringWithFormat:@"bungloo"]];
|
||||
[[[NSApplication sharedApplication] dockTile] setBadgeLabel:nil];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"tentia_instance.unread_mentions = 0;"];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.unread_mentions = 0;"];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -414,7 +406,7 @@
|
|||
{
|
||||
NSString *entity = [self.showProfileTextField stringValue];
|
||||
if ([entity rangeOfString:@"."].location != NSNotFound && ([entity hasPrefix:@"http://"] || [entity hasPrefix:@"https://"])) {
|
||||
NSString *func = [NSString stringWithFormat:@"tentia_instance.showProfileForEntity('%@')", entity];
|
||||
NSString *func = [NSString stringWithFormat:@"bungloo_instance.showProfileForEntity('%@')", entity];
|
||||
[profileView stringByEvaluatingJavaScriptFromString:func];
|
||||
[profileViewWindow makeKeyAndOrderFront:self];
|
||||
[openProfileWindow performClose:self];
|
||||
|
@ -423,7 +415,7 @@
|
|||
|
||||
- (void)notificateViewsAboutDeletedPostWithId:(NSString *)postId byEntity:(NSString*)entity
|
||||
{
|
||||
NSString *fun = [NSString stringWithFormat:@"tentia_instance.postDeleted('%@', '%@')", postId, entity];
|
||||
NSString *fun = [NSString stringWithFormat:@"bungloo_instance.postDeleted('%@', '%@')", postId, entity];
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:fun];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:fun];
|
||||
[conversationView stringByEvaluatingJavaScriptFromString:fun];
|
||||
|
@ -456,13 +448,13 @@
|
|||
if ([[loginEntityTextField stringValue] length] > 0) {
|
||||
[[loginEntityTextField window] makeFirstResponder:nil];
|
||||
[loginActivityIndicator startAnimation:self];
|
||||
[oauthView stringByEvaluatingJavaScriptFromString:@"tentia_instance.authenticate();"];
|
||||
[oauthView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.authenticate();"];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)logout:(id)sender
|
||||
{
|
||||
[oauthView stringByEvaluatingJavaScriptFromString:@"tentia_instance.logout();"];
|
||||
[oauthView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.logout();"];
|
||||
|
||||
[timelineViewWindow performClose:self];
|
||||
[mentionsViewWindow performClose:self];
|
||||
|
@ -470,8 +462,8 @@
|
|||
[profileViewWindow performClose:self];
|
||||
[self.loginViewWindow makeKeyAndOrderFront:self];
|
||||
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:@"tentia_instance.logout();"];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"tentia_instance.logout();"];
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.logout();"];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.logout();"];
|
||||
}
|
||||
|
||||
// Mentions window has been visible
|
||||
|
@ -480,19 +472,19 @@
|
|||
if ([notification object] == mentionsViewWindow)
|
||||
{
|
||||
//[self unreadMentions:0];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"tentia_instance.setAllMentionsRead();"];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.setAllMentionsRead();"];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)getTweetUpdates:(id)sender
|
||||
{
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:@"tentia_instance.getNewData(true)"];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"tentia_instance.getNewData(true)"];
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.getNewData(true)"];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.getNewData(true)"];
|
||||
}
|
||||
|
||||
- (IBAction)showConversationForPostId:(NSString *)postId andEntity:(NSString *)entity
|
||||
{
|
||||
NSString *js = [NSString stringWithFormat:@"tentia_instance.showStatus('%@', '%@');", postId, entity];
|
||||
NSString *js = [NSString stringWithFormat:@"bungloo_instance.showStatus('%@', '%@');", postId, entity];
|
||||
[conversationView stringByEvaluatingJavaScriptFromString:js];
|
||||
[conversationViewWindow makeKeyAndOrderFront:self];
|
||||
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
|
||||
|
@ -500,12 +492,12 @@
|
|||
|
||||
- (IBAction)clearCache:(id)sender
|
||||
{
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:@"tentia_instance.cache.clear()"];
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.cache.clear()"];
|
||||
}
|
||||
|
||||
- (IBAction)showProfileForEntity:(NSString *)entity
|
||||
{
|
||||
NSString *js = [NSString stringWithFormat:@"tentia_instance.showProfileForEntity('%@');", entity];
|
||||
NSString *js = [NSString stringWithFormat:@"bungloo_instance.showProfileForEntity('%@');", entity];
|
||||
[profileView stringByEvaluatingJavaScriptFromString:js];
|
||||
[profileViewWindow makeKeyAndOrderFront:self];
|
||||
}
|
||||
|
@ -518,13 +510,13 @@
|
|||
|
||||
[self showConversationForPostId:postId andEntity:entity];
|
||||
|
||||
NSString *js = [NSString stringWithFormat:@"tentia_instance.mentionRead('%@', '%@');", postId, entity];
|
||||
NSString *js = [NSString stringWithFormat:@"bungloo_instance.mentionRead('%@', '%@');", postId, entity];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:js];
|
||||
}
|
||||
|
||||
- (NSString *) applicationNameForGrowl
|
||||
{
|
||||
return @"Tentia";
|
||||
return @"bungloo";
|
||||
}
|
||||
|
||||
/* CARBON */
|
||||
|
|
|
@ -16,10 +16,15 @@
|
|||
|
||||
\b Documentation:
|
||||
\b0 \
|
||||
http://github.com/jeena/Tentia/wiki\
|
||||
http://github.com/jeena/bungloo/wiki\
|
||||
\
|
||||
|
||||
\b With special thanks to:
|
||||
\b0 \
|
||||
Mom\
|
||||
\
|
||||
|
||||
\b Icon by:
|
||||
\b0 \
|
||||
http://www.fasticon.com\
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
<data>
|
||||
<int key="IBDocument.SystemTarget">1080</int>
|
||||
<string key="IBDocument.SystemVersion">12C60</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2844</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">3084</string>
|
||||
<string key="IBDocument.AppKitVersion">1187.34</string>
|
||||
<string key="IBDocument.HIToolboxVersion">625.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
|
@ -15,8 +15,8 @@
|
|||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>2844</string>
|
||||
<string>1810</string>
|
||||
<string>3084</string>
|
||||
<string>2053</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
|
||||
|
@ -62,7 +62,7 @@
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="694149608">
|
||||
<reference key="NSMenu" ref="649796088"/>
|
||||
<string key="NSTitle">Tentia</string>
|
||||
<string key="NSTitle">bungloo</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -76,12 +76,12 @@
|
|||
</object>
|
||||
<string key="NSAction">submenuAction:</string>
|
||||
<object class="NSMenu" key="NSSubmenu" id="110575045">
|
||||
<string key="NSTitle">Tentia</string>
|
||||
<string key="NSTitle">bungloo</string>
|
||||
<object class="NSMutableArray" key="NSMenuItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="238522557">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<string key="NSTitle">About Tentia</string>
|
||||
<string key="NSTitle">About bungloo</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<reference key="NSOnImage" ref="1033313550"/>
|
||||
|
@ -153,7 +153,7 @@
|
|||
</object>
|
||||
<object class="NSMenuItem" id="755159360">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<string key="NSTitle">Hide Tentia</string>
|
||||
<string key="NSTitle">Hide bungloo</string>
|
||||
<string key="NSKeyEquiv">h</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -191,7 +191,7 @@
|
|||
</object>
|
||||
<object class="NSMenuItem" id="632727374">
|
||||
<reference key="NSMenu" ref="110575045"/>
|
||||
<string key="NSTitle">Quit Tentia</string>
|
||||
<string key="NSTitle">Quit bungloo</string>
|
||||
<string key="NSKeyEquiv">q</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -808,7 +808,7 @@
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="253952766">
|
||||
<reference key="NSMenu" ref="388842427"/>
|
||||
<string key="NSTitle">Tentia Help</string>
|
||||
<string key="NSTitle">bungloo Help</string>
|
||||
<string key="NSKeyEquiv">?</string>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -833,7 +833,7 @@
|
|||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{712, 280}, {397, 581}}</string>
|
||||
<int key="NSWTFlags">1685586944</int>
|
||||
<string key="NSWindowTitle">Tentia</string>
|
||||
<string key="NSWindowTitle">bungloo</string>
|
||||
<string key="NSWindowClass">NSWindow</string>
|
||||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
|
@ -890,7 +890,7 @@
|
|||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<string key="NSFrameAutosaveName">tentia</string>
|
||||
<string key="NSFrameAutosaveName">bungloo</string>
|
||||
<bool key="NSWindowIsRestorable">YES</bool>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="751227585">
|
||||
|
@ -906,7 +906,7 @@
|
|||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<object class="NSView" key="NSWindowView" id="438898709">
|
||||
<reference key="NSNextResponder"/>
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -936,7 +936,6 @@
|
|||
</object>
|
||||
<string key="NSFrameSize">{376, 581}</string>
|
||||
<reference key="NSSuperview" ref="438898709"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="FrameName"/>
|
||||
<string key="GroupName"/>
|
||||
|
@ -953,8 +952,6 @@
|
|||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{376, 581}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="126069112"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
|
||||
|
@ -1084,7 +1081,7 @@
|
|||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<object class="NSView" key="NSWindowView" id="503676418">
|
||||
<reference key="NSNextResponder"/>
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -1105,7 +1102,6 @@
|
|||
</object>
|
||||
<string key="NSFrame">{{20, 20}, {146, 146}}</string>
|
||||
<reference key="NSSuperview" ref="503676418"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="215157023"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSImageCell" key="NSCell" id="266676500">
|
||||
|
@ -1128,7 +1124,6 @@
|
|||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{194, 82}, {266, 22}}</string>
|
||||
<reference key="NSSuperview" ref="503676418"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1063247419"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
|
@ -1175,7 +1170,6 @@
|
|||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{191, 112}, {163, 17}}</string>
|
||||
<reference key="NSSuperview" ref="503676418"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="643973685"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1535</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
|
@ -1209,7 +1203,6 @@
|
|||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{391, 46}, {75, 32}}</string>
|
||||
<reference key="NSSuperview" ref="503676418"/>
|
||||
<reference key="NSWindow"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="54847478">
|
||||
|
@ -1233,7 +1226,6 @@
|
|||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{373, 55}, {16, 16}}</string>
|
||||
<reference key="NSSuperview" ref="503676418"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="251531186"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:945</string>
|
||||
<int key="NSpiFlags">28938</int>
|
||||
|
@ -1241,8 +1233,6 @@
|
|||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{480, 186}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="433812480"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:20</string>
|
||||
</object>
|
||||
|
@ -1264,7 +1254,7 @@
|
|||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<object class="NSView" key="NSWindowView" id="997375509">
|
||||
<reference key="NSNextResponder"/>
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -1273,7 +1263,6 @@
|
|||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{17, 79}, {192, 17}}</string>
|
||||
<reference key="NSSuperview" ref="997375509"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="45817732"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1535</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
|
@ -1294,7 +1283,6 @@
|
|||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{20, 49}, {333, 22}}</string>
|
||||
<reference key="NSSuperview" ref="997375509"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1027399246"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
|
@ -1317,7 +1305,6 @@
|
|||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{285, 13}, {74, 32}}</string>
|
||||
<reference key="NSSuperview" ref="997375509"/>
|
||||
<reference key="NSWindow"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="302504138">
|
||||
|
@ -1338,8 +1325,6 @@
|
|||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{373, 116}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="98105857"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:21</string>
|
||||
</object>
|
||||
|
|
BIN
Mac/Icon.icns
BIN
Mac/Icon.icns
Binary file not shown.
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// MimeType.h
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 23/11/2012.
|
||||
//
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// MimeType.m
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 23/11/2012.
|
||||
//
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// NewTweetWindow.h
|
||||
// Tentia
|
||||
// NewMessageWindow.h
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 16.04.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// NewTweetWindow.m
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 16.04.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// TweetModel.h
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 10.01.11.
|
||||
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// TweetModel.m
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 10.01.11.
|
||||
// Copyright 2011 __MyCompanyName__. All rights reserved.
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
//
|
||||
// Prefix header for all source files of the 'Tentia' target in the 'Tentia' project
|
||||
//
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// ViewDelegate.h
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 15.04.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// ViewDelegate.m
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 15.04.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
@ -41,7 +41,7 @@
|
|||
}
|
||||
|
||||
- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
|
||||
NSInteger result = NSRunCriticalAlertPanel(NSLocalizedString(@"Tentia", @""), // title
|
||||
NSInteger result = NSRunCriticalAlertPanel(NSLocalizedString(@"bungloo", @""), // title
|
||||
message, // message
|
||||
NSLocalizedString(@"OK", @""), // default button
|
||||
NSLocalizedString(@"Cancel", @""), // alt button
|
||||
|
@ -58,8 +58,8 @@
|
|||
- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
|
||||
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
NSString *pathToJsPlugin = [@"~/Library/Application Support/Tentia/Plugin.js" stringByExpandingTildeInPath];
|
||||
NSString *pathToCssPlugin = [@"~/Library/Application Support/Tentia/Plugin.css" stringByExpandingTildeInPath];
|
||||
NSString *pathToJsPlugin = [@"~/Library/Application Support/bungloo/Plugin.js" stringByExpandingTildeInPath];
|
||||
NSString *pathToCssPlugin = [@"~/Library/Application Support/bungloo/Plugin.css" stringByExpandingTildeInPath];
|
||||
|
||||
if([fileManager fileExistsAtPath:pathToCssPlugin])
|
||||
{
|
||||
|
@ -118,14 +118,14 @@
|
|||
}
|
||||
|
||||
- (void)reload:(id)sender {
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:@"tentia_instance.getNewData();"];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"tentia_instance.getNewData();"];
|
||||
[timelineView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.getNewData();"];
|
||||
[mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.getNewData();"];
|
||||
}
|
||||
|
||||
- (NSString *)pluginURL
|
||||
{
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
NSString *pathToPlugin = [@"~/Library/Application Support/Tentia/Plugin.js" stringByExpandingTildeInPath];
|
||||
NSString *pathToPlugin = [@"~/Library/Application Support/bungloo/Plugin.js" stringByExpandingTildeInPath];
|
||||
|
||||
if([fileManager fileExistsAtPath:pathToPlugin])
|
||||
{
|
||||
|
|
|
@ -26,19 +26,19 @@
|
|||
</dict>
|
||||
</array>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Tentia</string>
|
||||
<string>bungloo</string>
|
||||
<key>CFBundleHelpBookFolder</key>
|
||||
<string>Tentia.help</string>
|
||||
<string>bungloo.help</string>
|
||||
<key>CFBundleHelpBookName</key>
|
||||
<string>nu.jabs.apps.tentia.help</string>
|
||||
<string>nu.jabs.apps.bungloo.help</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Icon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>nu.jabs.apps.tentia</string>
|
||||
<string>nu.jabs.apps.bungloo</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Tentia</string>
|
||||
<string>bungloo</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
@ -49,10 +49,10 @@
|
|||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>nu.jabs.apps.tentia.handler</string>
|
||||
<string>nu.jabs.apps.bungloo.handler</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>tentia</string>
|
||||
<string>bungloo</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
|
@ -69,7 +69,7 @@
|
|||
<key>NSServices</key>
|
||||
<array/>
|
||||
<key>SUFeedURL</key>
|
||||
<string>http://jabs.nu/Tentia/download/Appcast.xml</string>
|
||||
<string>http://jabs.nu/bungloo/download/Appcast.xml</string>
|
||||
<key>SUPublicDSAKeyFile</key>
|
||||
<string>dsa_pub.pem</string>
|
||||
<key>UTExportedTypeDeclarations</key>
|
|
@ -86,7 +86,7 @@
|
|||
1FFA36D41177D879006C8562 /* ViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewDelegate.h; sourceTree = "<group>"; };
|
||||
1FFA36D51177D879006C8562 /* ViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewDelegate.m; sourceTree = "<group>"; };
|
||||
1FFA37061177DAF4006C8562 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
|
||||
2564AD2C0F5327BB00F57823 /* Tentia_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = Tentia_Prefix.pch; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
2564AD2C0F5327BB00F57823 /* bungloo_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = bungloo_Prefix.pch; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
2A37F4ACFDCFA73011CA2CEA /* NewMessageWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = NewMessageWindow.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
2A37F4AEFDCFA73011CA2CEA /* NewMessageWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = NewMessageWindow.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
|
||||
2A37F4B0FDCFA73011CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = main.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
|
||||
|
@ -94,8 +94,8 @@
|
|||
2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
6B68359A166015C4004F4732 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
|
||||
8D15AC360486D014006FF6A4 /* Tentia-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Tentia-Info.plist"; sourceTree = "<group>"; };
|
||||
8D15AC370486D014006FF6A4 /* Tentia.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Tentia.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8D15AC360486D014006FF6A4 /* bungloo-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "bungloo-Info.plist"; sourceTree = "<group>"; };
|
||||
8D15AC370486D014006FF6A4 /* bungloo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = bungloo.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
@ -148,7 +148,7 @@
|
|||
19C28FB0FE9D524F11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D15AC370486D014006FF6A4 /* Tentia.app */,
|
||||
8D15AC370486D014006FF6A4 /* bungloo.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
|
@ -192,7 +192,7 @@
|
|||
2A37F4AFFDCFA73011CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2564AD2C0F5327BB00F57823 /* Tentia_Prefix.pch */,
|
||||
2564AD2C0F5327BB00F57823 /* bungloo_Prefix.pch */,
|
||||
2A37F4B0FDCFA73011CA2CEA /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
|
@ -206,7 +206,7 @@
|
|||
1F3F129D164F202000C7C983 /* dsa_pub.pem */,
|
||||
1F132C781666CD9700E4E661 /* TB_SendTemplate.png */,
|
||||
2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */,
|
||||
8D15AC360486D014006FF6A4 /* Tentia-Info.plist */,
|
||||
8D15AC360486D014006FF6A4 /* bungloo-Info.plist */,
|
||||
089C165FFE840EACC02AAC07 /* InfoPlist.strings */,
|
||||
1DDD58280DA1D0D100B32029 /* NewMessageWindow.xib */,
|
||||
1DDD582A0DA1D0D100B32029 /* MainMenu.xib */,
|
||||
|
@ -227,9 +227,9 @@
|
|||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D15AC270486D014006FF6A4 /* Tentia */ = {
|
||||
8D15AC270486D014006FF6A4 /* bungloo */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "Tentia" */;
|
||||
buildConfigurationList = C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "bungloo" */;
|
||||
buildPhases = (
|
||||
8D15AC2B0486D014006FF6A4 /* Resources */,
|
||||
8D15AC300486D014006FF6A4 /* Sources */,
|
||||
|
@ -240,10 +240,10 @@
|
|||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = Tentia;
|
||||
name = bungloo;
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = "Twittia 2";
|
||||
productReference = 8D15AC370486D014006FF6A4 /* Tentia.app */;
|
||||
productReference = 8D15AC370486D014006FF6A4 /* bungloo.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
@ -254,7 +254,7 @@
|
|||
attributes = {
|
||||
LastUpgradeCheck = 0450;
|
||||
};
|
||||
buildConfigurationList = C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "Tentia" */;
|
||||
buildConfigurationList = C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "bungloo" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
|
@ -268,7 +268,7 @@
|
|||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D15AC270486D014006FF6A4 /* Tentia */,
|
||||
8D15AC270486D014006FF6A4 /* bungloo */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
@ -361,11 +361,11 @@
|
|||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = Tentia_Prefix.pch;
|
||||
INFOPLIST_FILE = "Tentia-Info.plist";
|
||||
GCC_PREFIX_HEADER = bungloo_Prefix.pch;
|
||||
INFOPLIST_FILE = "bungloo-Info.plist";
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
PRODUCT_NAME = Tentia;
|
||||
PRODUCT_NAME = bungloo;
|
||||
SDKROOT = "";
|
||||
};
|
||||
name = Debug;
|
||||
|
@ -383,11 +383,11 @@
|
|||
);
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = Tentia_Prefix.pch;
|
||||
INFOPLIST_FILE = "Tentia-Info.plist";
|
||||
GCC_PREFIX_HEADER = bungloo_Prefix.pch;
|
||||
INFOPLIST_FILE = "bungloo-Info.plist";
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
PRODUCT_NAME = Tentia;
|
||||
PRODUCT_NAME = bungloo;
|
||||
SDKROOT = "";
|
||||
};
|
||||
name = Release;
|
||||
|
@ -422,7 +422,7 @@
|
|||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "Tentia" */ = {
|
||||
C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "bungloo" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C05733C808A9546B00998B17 /* Debug */,
|
||||
|
@ -431,7 +431,7 @@
|
|||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Debug;
|
||||
};
|
||||
C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "Tentia" */ = {
|
||||
C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "bungloo" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C05733CC08A9546B00998B17 /* Debug */,
|
|
@ -2,6 +2,6 @@
|
|||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:Tentia.xcodeproj">
|
||||
location = "self:bungloo.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
BIN
Mac/bungloo.xcodeproj/project.xcworkspace/xcuserdata/jeena.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
BIN
Mac/bungloo.xcodeproj/project.xcworkspace/xcuserdata/jeena.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
Binary file not shown.
|
@ -15,9 +15,9 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D15AC270486D014006FF6A4"
|
||||
BuildableName = "Tentia.app"
|
||||
BlueprintName = "Tentia"
|
||||
ReferencedContainer = "container:Tentia.xcodeproj">
|
||||
BuildableName = "bungloo.app"
|
||||
BlueprintName = "bungloo"
|
||||
ReferencedContainer = "container:bungloo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
|
@ -33,9 +33,9 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D15AC270486D014006FF6A4"
|
||||
BuildableName = "Tentia.app"
|
||||
BlueprintName = "Tentia"
|
||||
ReferencedContainer = "container:Tentia.xcodeproj">
|
||||
BuildableName = "bungloo.app"
|
||||
BlueprintName = "bungloo"
|
||||
ReferencedContainer = "container:bungloo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
|
@ -52,9 +52,9 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D15AC270486D014006FF6A4"
|
||||
BuildableName = "Tentia.app"
|
||||
BlueprintName = "Tentia"
|
||||
ReferencedContainer = "container:Tentia.xcodeproj">
|
||||
BuildableName = "bungloo.app"
|
||||
BlueprintName = "bungloo"
|
||||
ReferencedContainer = "container:bungloo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
|
@ -70,9 +70,9 @@
|
|||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D15AC270486D014006FF6A4"
|
||||
BuildableName = "Tentia.app"
|
||||
BlueprintName = "Tentia"
|
||||
ReferencedContainer = "container:Tentia.xcodeproj">
|
||||
BuildableName = "bungloo.app"
|
||||
BlueprintName = "bungloo"
|
||||
ReferencedContainer = "container:bungloo.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
7
Mac/bungloo_Prefix.pch
Normal file
7
Mac/bungloo_Prefix.pch
Normal file
|
@ -0,0 +1,7 @@
|
|||
//
|
||||
// Prefix header for all source files of the 'bungloo' target in the 'bungloo' project
|
||||
//
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// main.m
|
||||
// Tentia
|
||||
// bungloo
|
||||
//
|
||||
// Created by Jeena on 16.04.10.
|
||||
// Licence: BSD (see attached LICENCE.txt file).
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Tentia</title>
|
||||
<title>bungloo</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<link rel="stylesheet" href="css/default.css" type="text/css" />
|
||||
<script data-main="scripts/main" src="scripts/lib/vendor/require-jquery.js"></script>
|
||||
|
|
|
@ -9,12 +9,12 @@ function(HostApp, Paths, Hmac) {
|
|||
function Oauth() {
|
||||
this.app_info = {
|
||||
"id": null,
|
||||
"name": "Tentia on " + HostApp.osType(),
|
||||
"name": "bungloo on " + HostApp.osType(),
|
||||
"description": "A small TentStatus client.",
|
||||
"url": "http://jabs.nu/Tentia/",
|
||||
"icon": "http://jabs.nu/Tentia/icon.png",
|
||||
"url": "http://jabs.nu/bungloo/",
|
||||
"icon": "http://jabs.nu/bungloo/icon.png",
|
||||
"redirect_uris": [
|
||||
"tentia://oauthtoken"
|
||||
"bungloo://oauthtoken"
|
||||
],
|
||||
"scopes": {
|
||||
"read_posts": "Uses posts to show them in a list",
|
||||
|
|
|
@ -12,7 +12,7 @@ function() {
|
|||
}
|
||||
|
||||
CacheStorage.prototype.mkInternalPath = function(key) {
|
||||
return "tentia-cache-" + this.name + key;
|
||||
return "bungloo-cache-" + this.name + key;
|
||||
};
|
||||
|
||||
CacheStorage.prototype.getItem = function(key) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var tentia_instance;
|
||||
var tentia_cache = {};
|
||||
var bungloo_instance;
|
||||
var bungloo_cache = {};
|
||||
|
||||
requirejs.config({
|
||||
baseUrl: 'scripts'
|
||||
|
@ -10,7 +10,7 @@ function start(view) {
|
|||
if (view == "oauth") {
|
||||
require(["controller/Oauth"], function(Oauth) {
|
||||
|
||||
tentia_instance = new Oauth();
|
||||
bungloo_instance = new Oauth();
|
||||
|
||||
});
|
||||
|
||||
|
@ -18,7 +18,7 @@ function start(view) {
|
|||
|
||||
require(["controller/Timeline"], function(Timeline) {
|
||||
|
||||
tentia_instance = new Timeline();
|
||||
bungloo_instance = new Timeline();
|
||||
|
||||
});
|
||||
|
||||
|
@ -26,7 +26,7 @@ function start(view) {
|
|||
|
||||
require(["controller/Mentions"], function(Mentions) {
|
||||
|
||||
tentia_instance = new Mentions();
|
||||
bungloo_instance = new Mentions();
|
||||
|
||||
});
|
||||
|
||||
|
@ -34,7 +34,7 @@ function start(view) {
|
|||
|
||||
require(["controller/Profile"], function(Profile) {
|
||||
|
||||
tentia_instance = new Profile();
|
||||
bungloo_instance = new Profile();
|
||||
|
||||
});
|
||||
|
||||
|
@ -44,7 +44,7 @@ function start(view) {
|
|||
|
||||
require(["controller/Conversation"], function(Conversation) {
|
||||
|
||||
tentia_instance = new Conversation();
|
||||
bungloo_instance = new Conversation();
|
||||
|
||||
});
|
||||
|
||||
|
|
BIN
images/Icon.png
BIN
images/Icon.png
Binary file not shown.
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 61 KiB |
Reference in a new issue