diff --git a/Mac/Bungloo-Info.plist b/Mac/Bungloo-Info.plist
index c72ed76..87a0d8c 100644
--- a/Mac/Bungloo-Info.plist
+++ b/Mac/Bungloo-Info.plist
@@ -42,7 +42,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 1.2.0
+ 2.0.0
CFBundleSignature
????
CFBundleURLTypes
@@ -57,7 +57,7 @@
CFBundleVersion
- 1.2.0
+ 2.0.0
LSApplicationCategoryType
public.app-category.social-networking
LSMinimumSystemVersion
diff --git a/Mac/Controller.h b/Mac/Controller.h
index 08fc2e2..b06e762 100644
--- a/Mac/Controller.h
+++ b/Mac/Controller.h
@@ -19,12 +19,6 @@
@interface Controller : NSObject {
IBOutlet WebView *timelineView;
IBOutlet NSWindow *timelineViewWindow;
- IBOutlet WebView *mentionsView;
- IBOutlet NSWindow *mentionsViewWindow;
- IBOutlet WebView *conversationView;
- IBOutlet NSWindow *conversationViewWindow;
- WebView *profileView;
- NSWindow *profileViewWindow;
NSPanel *openProfileWindow;
NSWindow *loginViewWindow;
NSTextField *loginEntityTextField;
@@ -40,12 +34,6 @@
@property (assign) IBOutlet WebView *timelineView;
@property (assign) IBOutlet NSWindow *timelineViewWindow;
-@property (assign) IBOutlet WebView *mentionsView;
-@property (assign) IBOutlet NSWindow *mentionsViewWindow;
-@property (assign) IBOutlet WebView *conversationView;
-@property (assign) IBOutlet NSWindow *conversationViewWindow;
-@property (assign) IBOutlet WebView *profileView;
-@property (assign) IBOutlet NSWindow *profileViewWindow;
@property (assign) IBOutlet NSPanel *openProfileWindow;
@property (assign) IBOutlet NSWindow *loginViewWindow;
diff --git a/Mac/Controller.m b/Mac/Controller.m
index ed36384..0cf5147 100644
--- a/Mac/Controller.m
+++ b/Mac/Controller.m
@@ -17,7 +17,7 @@
@synthesize loginViewWindow;
@synthesize loginEntityTextField;
@synthesize loginActivityIndicator;
-@synthesize timelineView, timelineViewWindow, mentionsView, mentionsViewWindow, conversationView, conversationViewWindow, profileView, profileViewWindow;
+@synthesize timelineView, timelineViewWindow;
@synthesize globalHotkeyMenuItem, viewDelegate;
@synthesize logoLayer;
@synthesize oauthView, accessToken;
@@ -25,7 +25,6 @@
- (void)awakeFromNib
{
[timelineViewWindow setExcludedFromWindowsMenu:YES];
- [mentionsViewWindow setExcludedFromWindowsMenu:YES];
[self initHotKeys];
@@ -70,7 +69,6 @@
if (forceLogin || ![accessToken stringForKey:@"user_access_token"] || ![accessToken secret]) {
[timelineViewWindow performClose:self];
- [mentionsViewWindow performClose:self];
[self.loginViewWindow makeKeyAndOrderFront:self];
[self initOauth];
} else {
@@ -125,47 +123,11 @@
[timelineView setPolicyDelegate:viewDelegate];
[timelineView setUIDelegate:viewDelegate];
[[timelineView windowScriptObject] setValue:self forKey:@"controller"];
- //WebPreferences* prefs = [timelineView preferences];
- //[prefs _setLocalStorageDatabasePath:localStoragePath];
- //[prefs setLocalStorageEnabled:YES];
-
- viewDelegate.mentionsView = mentionsView;
- [[mentionsView mainFrame] loadHTMLString:index_string baseURL:url];
- [mentionsView setFrameLoadDelegate:viewDelegate];
- [mentionsView setPolicyDelegate:viewDelegate];
- [mentionsView setUIDelegate:viewDelegate];
- [[mentionsView windowScriptObject] setValue:self forKey:@"controller"];
- //prefs = [mentionsView preferences];
- //[prefs _setLocalStorageDatabasePath:localStoragePath];
- //[prefs setLocalStorageEnabled:YES];
-
- viewDelegate.conversationView = conversationView;
- [[conversationView mainFrame] loadHTMLString:index_string baseURL:url];
- [conversationView setFrameLoadDelegate:viewDelegate];
- [conversationView setPolicyDelegate:viewDelegate];
- [conversationView setUIDelegate:viewDelegate];
- [[conversationView windowScriptObject] setValue:self forKey:@"controller"];
- //prefs = [conversationView preferences];
- //[prefs _setLocalStorageDatabasePath:localStoragePath];
- //[prefs setLocalStorageEnabled:YES];
-
- viewDelegate.profileView = profileView;
- [[profileView mainFrame] loadHTMLString:index_string baseURL:url];
- [profileView setFrameLoadDelegate:viewDelegate];
- [profileView setPolicyDelegate:viewDelegate];
- [profileView setUIDelegate:viewDelegate];
- [[profileView windowScriptObject] setValue:self forKey:@"controller"];
- //prefs = [profileView preferences];
- //[prefs _setLocalStorageDatabasePath:localStoragePath];
- //[prefs setLocalStorageEnabled:YES];
}
else
{
[timelineView stringByEvaluatingJavaScriptFromString:@"start('timeline')"];
- [mentionsView stringByEvaluatingJavaScriptFromString:@"start('mentions')"];
- [conversationView stringByEvaluatingJavaScriptFromString:@"start('conversation')"];
- [profileView stringByEvaluatingJavaScriptFromString:@"start('profile')"];
}
}
@@ -312,7 +274,7 @@
if (range.length > 0)
{
- [oauthView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"bungloo_instance.requestAccessToken('%@')", aString]];
+ [oauthView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"bungloo.oauth.requestAccessToken('%@')", aString]];
}
else
{
@@ -353,7 +315,7 @@
isPrivate = @"true";
}
- NSString *func = [NSString stringWithFormat:@"bungloo_instance.sendNewMessage(\"%@\", \"%@\", \"%@\", %@, %@, %@)",
+ NSString *func = [NSString stringWithFormat:@"bungloo.timeline.sendNewMessage(\"%@\", \"%@\", \"%@\", %@, %@, %@)",
text,
post.inReplyTostatusId,
post.inReplyToEntity,
@@ -378,17 +340,17 @@
- (void)unreadMentions:(int)count
{
- if (![mentionsViewWindow isVisible] && count > 0)
+ if (count > 0)
{
- [timelineViewWindow setTitle:[NSString stringWithFormat:@"Bungloo (^%i)", count]];
[[[NSApplication sharedApplication] dockTile] setBadgeLabel:[NSString stringWithFormat:@"%i", count]];
}
else
{
- [timelineViewWindow setTitle:[NSString stringWithFormat:@"Bungloo"]];
[[[NSApplication sharedApplication] dockTile] setBadgeLabel:nil];
- [mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.unread_mentions = 0;"];
}
+
+ NSString *script = [NSString stringWithFormat:@"bungloo.sidebar.setUnreadMentions(%i);", count];
+ [timelineView stringByEvaluatingJavaScriptFromString:script];
}
- (void)notificateUserAboutMention:(NSString *)text fromName:(NSString *)name withPostId:(NSString *)postId andEntity:(NSString *)entity
@@ -414,35 +376,21 @@
{
NSString *entity = [self.showProfileTextField stringValue];
if ([entity rangeOfString:@"."].location != NSNotFound && ([entity hasPrefix:@"http://"] || [entity hasPrefix:@"https://"])) {
- NSString *func = [NSString stringWithFormat:@"bungloo_instance.showProfileForEntity('%@')", entity];
- [profileView stringByEvaluatingJavaScriptFromString:func];
- [profileViewWindow makeKeyAndOrderFront:self];
- [openProfileWindow performClose:self];
+ NSString *func = [NSString stringWithFormat:@"bungloo.sidebar.onEntityProfile(); bungloo.entityProfile.showProfileForEntity('%@')", entity];
+ [timelineView stringByEvaluatingJavaScriptFromString:func];
}
}
- (void)notificateViewsAboutDeletedPostWithId:(NSString *)postId byEntity:(NSString*)entity
{
- NSString *fun = [NSString stringWithFormat:@"bungloo_instance.postDeleted('%@', '%@')", postId, entity];
+ NSString *f = [NSString stringWithFormat:@".postDeleted('%@', '%@');", postId, entity];
+ NSMutableString *fun = [NSMutableString stringWithFormat:@"bungloo.timeline%@", f];
+ [fun appendFormat:@"bungloo.mentions%@", f];
+ [fun appendFormat:@"bungloo.conversation%@", f];
+ [fun appendFormat:@"bungloo.entityProfile%@", f];
[timelineView stringByEvaluatingJavaScriptFromString:fun];
- [mentionsView stringByEvaluatingJavaScriptFromString:fun];
- [conversationView stringByEvaluatingJavaScriptFromString:fun];
- [profileView stringByEvaluatingJavaScriptFromString:fun];
}
-
-/*
-- (void)storeAccessToken:(NSString *)_accessToken secret:(NSString *)secret userId:(NSString *)userId andScreenName:(NSString *)screenName
-{
- self.accessToken.accessToken = _accessToken;
- self.accessToken.secret = secret;
- self.accessToken.userId = userId;
- self.accessToken.screenName = screenName;
- [timelineViewWindow makeKeyAndOrderFront:self];
-
- [[NSNotificationCenter defaultCenter] postNotificationName:@"authentificationSucceded" object:nil];
-}*/
-
- (void)loggedIn
{
[loginActivityIndicator stopAnimation:self];
@@ -456,58 +404,47 @@
if ([[loginEntityTextField stringValue] length] > 0) {
[[loginEntityTextField window] makeFirstResponder:nil];
[loginActivityIndicator startAnimation:self];
- [oauthView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.authenticate();"];
+ [oauthView stringByEvaluatingJavaScriptFromString:@"bungloo.oauth.authenticate();"];
}
}
- (IBAction)logout:(id)sender
{
- [oauthView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.logout();"];
+ [oauthView stringByEvaluatingJavaScriptFromString:@"bungloo.oauth.logout();"];
[timelineViewWindow performClose:self];
- [mentionsViewWindow performClose:self];
- [conversationViewWindow performClose:self];
- [profileViewWindow performClose:self];
[self.loginViewWindow makeKeyAndOrderFront:self];
- [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.logout();"];
- [mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.logout();"];
+ [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo.sidebar.logout();"];
}
// Mentions window has been visible
- (void)windowDidBecomeKey:(NSNotification *)notification
{
- if ([notification object] == mentionsViewWindow)
- {
- //[self unreadMentions:0];
- [mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.setAllMentionsRead();"];
- }
+
}
- (void)getPostUpdates:(id)sender
{
- [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.getNewData(true)"];
- [mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.getNewData(true)"];
+ [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo.timeline.getNewData(true)"];
+ [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo.mentions.getNewData(true)"];
}
- (IBAction)showConversationForPostId:(NSString *)postId andEntity:(NSString *)entity
{
- NSString *js = [NSString stringWithFormat:@"bungloo_instance.showStatus('%@', '%@');", postId, entity];
- [conversationView stringByEvaluatingJavaScriptFromString:js];
- [conversationViewWindow makeKeyAndOrderFront:self];
- [[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
+ NSString *js = [NSString stringWithFormat:@"bungloo.sidebar.onConversation(); bungloo.conversation.showStatus('%@', '%@');", postId, entity];
+ [timelineView stringByEvaluatingJavaScriptFromString:js];
}
- (IBAction)clearCache:(id)sender
{
- [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.cache.clear()"];
+ [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo.timeline.cache.clear()"];
}
- (IBAction)showProfileForEntity:(NSString *)entity
{
- NSString *js = [NSString stringWithFormat:@"bungloo_instance.showProfileForEntity('%@');", entity];
- [profileView stringByEvaluatingJavaScriptFromString:js];
- [profileViewWindow makeKeyAndOrderFront:self];
+ NSString *js = [NSString stringWithFormat:@"bungloo.sidebar.onEntityProfile(); bungloo.entityProfile.showProfileForEntity('%@');", entity];
+ [timelineView stringByEvaluatingJavaScriptFromString:js];
}
- (void)growlNotificationWasClicked:(id)clickContext
@@ -518,8 +455,8 @@
[self showConversationForPostId:postId andEntity:entity];
- NSString *js = [NSString stringWithFormat:@"bungloo_instance.mentionRead('%@', '%@');", postId, entity];
- [mentionsView stringByEvaluatingJavaScriptFromString:js];
+ NSString *js = [NSString stringWithFormat:@"bungloo.sidebar.onMentions(); bungloo.mentions.mentionRead('%@', '%@');", postId, entity];
+ [timelineView stringByEvaluatingJavaScriptFromString:js];
}
- (NSString *) applicationNameForGrowl
diff --git a/Mac/English.lproj/Credits.rtf b/Mac/English.lproj/Credits.rtf
index 2ee605e..e023b0c 100644
--- a/Mac/English.lproj/Credits.rtf
+++ b/Mac/English.lproj/Credits.rtf
@@ -1,4 +1,4 @@
-{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
+{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\viewkind0
@@ -16,7 +16,7 @@
\b Documentation:
\b0 \
- http://github.com/jeena/bungloo/wiki\
+ http://jabs.nu/bungloo\
\
\b With special thanks to:
diff --git a/Mac/ViewDelegate.h b/Mac/ViewDelegate.h
index 7e3cb80..689b094 100644
--- a/Mac/ViewDelegate.h
+++ b/Mac/ViewDelegate.h
@@ -11,17 +11,9 @@
#import "Constants.h"
@interface ViewDelegate : NSObject {
- WebView *timelineView;
- WebView *mentionsView;
- WebView *conversationView;
- WebView *profileView;
- WebView *oauthView;
+ WebView *timelineView; WebView *oauthView;
}
-@property (nonatomic, assign) WebView *timelineView;
-@property (nonatomic, assign) WebView *mentionsView;
-@property (nonatomic, assign) WebView *conversationView;
-@property (nonatomic, assign) WebView *profileView;
-@property (nonatomic, assign) WebView *oauthView;
+@property (nonatomic, assign) WebView *timelineView;@property (nonatomic, assign) WebView *oauthView;
@end
diff --git a/Mac/ViewDelegate.m b/Mac/ViewDelegate.m
index c49b7b2..c10a6ad 100644
--- a/Mac/ViewDelegate.m
+++ b/Mac/ViewDelegate.m
@@ -11,18 +11,15 @@
@implementation ViewDelegate
-@synthesize timelineView, mentionsView, conversationView, profileView, oauthView;
+@synthesize timelineView, oauthView;
- (void)webView:(WebView *)sender addMessageToConsole:(NSDictionary *)message {
if (![message isKindOfClass:[NSDictionary class]]) return;
NSString *viewName = @"TimelineView";
- if (sender == mentionsView) viewName = @"MentionsView";
- if (sender == conversationView) viewName = @"ConversationView";
if (sender == oauthView) viewName = @"OauthView";
- if (sender == profileView) viewName = @"ProfileView";
-
+
NSLog(@"js<%@>: %@:%@: %@",
viewName,
[[message objectForKey:@"sourceURL"] lastPathComponent],
@@ -33,8 +30,6 @@
- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
NSString *viewName = @"TimelineView";
- if (sender == mentionsView) viewName = @"MentionsView";
- if (sender == conversationView) viewName = @"ConversationView";
if (sender == oauthView) viewName = @"OauthView";
NSLog(@"jsa<%@>: %@", viewName, message);
@@ -52,7 +47,7 @@
- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id )listener {
- NSArray *frames = [NSArray arrayWithObjects:timelineView.mainFrame, mentionsView.mainFrame, conversationView.mainFrame, oauthView.mainFrame, profileView.mainFrame, nil];
+ NSArray *frames = [NSArray arrayWithObjects:timelineView.mainFrame, oauthView.mainFrame, nil];
// If it is clicked from one of the views the open default browser
if ([frames indexOfObject:frame] != NSNotFound) {
@@ -85,25 +80,9 @@
[oauthView stringByEvaluatingJavaScriptFromString:@"function HostAppGo() { start('oauth') }"];
- } else if(sender == conversationView) {
-
- [conversationView stringByEvaluatingJavaScriptFromString:@"function HostAppGo() { start('conversation') }"];
-
- } else if(sender == profileView) {
-
- [profileView stringByEvaluatingJavaScriptFromString:@"function HostAppGo() { start('profile') }"];
-
} else {
- NSString *action = @"timeline";
- NSString *delay = @"1";
-
- if (sender == mentionsView) {
- action = @"mentions";
- delay = @"1000";
- }
-
- [sender stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"function HostAppGo() { start('%@') }", action]];
+ [sender stringByEvaluatingJavaScriptFromString:@"function HostAppGo() { start('timeline') }"];
}
}
@@ -126,8 +105,7 @@
}
- (void)reload:(id)sender {
- [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.getNewData();"];
- [mentionsView stringByEvaluatingJavaScriptFromString:@"bungloo_instance.getNewData();"];
+ [timelineView stringByEvaluatingJavaScriptFromString:@"bungloo.timeline.getNewData();"];
}
- (NSString *)pluginURL
diff --git a/WebKit/css/default.css b/WebKit/css/default.css
index 4d94b0f..4dd168c 100644
--- a/WebKit/css/default.css
+++ b/WebKit/css/default.css
@@ -236,7 +236,7 @@ li:hover .from {
li:first-child:hover .from {
top: auto;
- bottom: -1.9em;
+ bottom: -1.8em;
z-index: 2;
-webkit-border-top-left-radius: 0;
-webkit-border-top-right-radius: 0;
diff --git a/WebKit/scripts/helper/Core.js b/WebKit/scripts/helper/Core.js
index 27a3f54..c3c3147 100644
--- a/WebKit/scripts/helper/Core.js
+++ b/WebKit/scripts/helper/Core.js
@@ -122,7 +122,6 @@ function(jQuery, Paths, URI, HostApp, Cache) {
head.appendChild(reposted_by)
-
var message = document.createElement("p");
message.className = "message";
data.appendChild(message);