summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Weidauer <sven.weidauer@gmail.com>2011-01-25 09:53:39 +0000
committerSven Weidauer <sven.weidauer@gmail.com>2011-01-25 09:53:39 +0000
commit15e7b87caca8759c1d5b629955d688c05f4b7004 (patch)
tree717bed173d6edc7c96ed938ab6e731e843c285dd
parent7ff51a93d5f622bd24ff359128a83c49e09f8bb8 (diff)
downloadnetsurf-15e7b87caca8759c1d5b629955d688c05f4b7004.tar.gz
netsurf-15e7b87caca8759c1d5b629955d688c05f4b7004.tar.bz2
Nicer button for local history, fading history view, more readable blue for active item
svn path=/trunk/netsurf/; revision=11481
-rw-r--r--cocoa/BrowserView.h2
-rw-r--r--cocoa/BrowserView.m47
-rw-r--r--cocoa/BrowserViewController.m5
-rw-r--r--cocoa/HistoryView.h12
-rw-r--r--cocoa/HistoryView.m45
-rw-r--r--cocoa/Prefix.pch3
-rw-r--r--cocoa/gui.m1
-rw-r--r--cocoa/res/BrowserWindow.xib57
8 files changed, 85 insertions, 87 deletions
diff --git a/cocoa/BrowserView.h b/cocoa/BrowserView.h
index 947825b24..6d6466af0 100644
--- a/cocoa/BrowserView.h
+++ b/cocoa/BrowserView.h
@@ -42,10 +42,10 @@
@property (readwrite, assign, nonatomic) struct browser_window *browser;
@property (readwrite, retain, nonatomic) NSTimer *caretTimer;
@property (readwrite, assign, nonatomic, getter=isResizing) BOOL resizing;
+@property (readwrite, assign, nonatomic, getter=isHistoryVisible) BOOL historyVisible;
- (void) removeCaret;
- (void) addCaretAt: (NSPoint) point height: (CGFloat) height;
-- (void) toggleHistory;
@end
diff --git a/cocoa/BrowserView.m b/cocoa/BrowserView.m
index ba0874c3a..ea5147558 100644
--- a/cocoa/BrowserView.m
+++ b/cocoa/BrowserView.m
@@ -28,10 +28,6 @@
#import "cocoa/font.h"
-@interface BrowserView () <HistoryViewDelegate>
-
-@end
-
@implementation BrowserView
@@ -182,7 +178,7 @@ static browser_mouse_state cocoa_mouse_flags_for_event( NSEvent *evt )
- (void) mouseUp: (NSEvent *)theEvent;
{
if (historyVisible) {
- [self toggleHistory];
+ [self setHistoryVisible: NO];
return;
}
@@ -339,29 +335,6 @@ static browser_mouse_state cocoa_mouse_flags_for_event( NSEvent *evt )
browser_window_key_press( browser, KEY_PASTE );
}
-- (void) toggleHistory;
-{
- if (!historyVisible) {
- if (nil == history) {
- history = [[HistoryView alloc] initWithBrowser: browser];
- [history setDelegate: self];
- }
- [self addSubview: history];
-
- historyVisible = YES;
- } else {
- [history removeFromSuperview];
- historyVisible = NO;
- }
-}
-
-
-- (void) historyViewDidSelectItem: (HistoryView *) history;
-{
- [history removeFromSuperview];
- historyVisible = NO;
-}
-
- (BOOL) acceptsFirstResponder;
{
return YES;
@@ -377,4 +350,22 @@ static browser_mouse_state cocoa_mouse_flags_for_event( NSEvent *evt )
[super adjustFrame];
}
+- (BOOL) isHistoryVisible;
+{
+ return historyVisible;
+}
+
+- (void) setHistoryVisible: (BOOL) newVisible;
+{
+ if (newVisible == historyVisible) return;
+ historyVisible = newVisible;
+
+ if (historyVisible) {
+ if (nil == history) history = [[HistoryView alloc] initWithBrowser: browser];
+ [history fadeIntoView: self];
+ } else {
+ [history fadeOut];
+ }
+}
+
@end
diff --git a/cocoa/BrowserViewController.m b/cocoa/BrowserViewController.m
index f4bc5abce..0d08676be 100644
--- a/cocoa/BrowserViewController.m
+++ b/cocoa/BrowserViewController.m
@@ -151,9 +151,4 @@ static inline bool compare_float( float a, float b )
}
-- (IBAction) showHistory: (id) sender;
-{
- [browserView toggleHistory];
-}
-
@end
diff --git a/cocoa/HistoryView.h b/cocoa/HistoryView.h
index 974b649d5..7b5ef80b9 100644
--- a/cocoa/HistoryView.h
+++ b/cocoa/HistoryView.h
@@ -20,22 +20,16 @@
@class HistoryView;
-@protocol HistoryViewDelegate
-
-- (void) historyViewDidSelectItem: (HistoryView *) history;
-
-@end
-
-
@interface HistoryView : NSView {
struct browser_window *browser;
- id <HistoryViewDelegate> delegate;
}
@property (readwrite, assign, nonatomic) struct browser_window *browser;
-@property (readwrite, assign, nonatomic) id <HistoryViewDelegate> delegate;
- (id) initWithBrowser: (struct browser_window *)bw;
- (void) updateHistory;
+- (void) fadeIntoView: (NSView *) superView;
+- (void) fadeOut;
+
@end
diff --git a/cocoa/HistoryView.m b/cocoa/HistoryView.m
index 390256efe..bbaec6c6e 100644
--- a/cocoa/HistoryView.m
+++ b/cocoa/HistoryView.m
@@ -33,7 +33,6 @@ static NSRect cocoa_history_rect( struct browser_window *bw )
@implementation HistoryView
@synthesize browser;
-@synthesize delegate;
- (id)initWithBrowser: (struct browser_window *)bw;
{
@@ -48,30 +47,42 @@ static NSRect cocoa_history_rect( struct browser_window *bw )
- (void) updateHistory;
{
[self setFrameSize: cocoa_history_rect( browser ).size];
+
+ NSView *superView = [self superview];
+ if (nil != superView) {
+ NSRect visibleRect = [superView visibleRect];
+ NSRect rect = [self frame];
+ NSRect frame = [superView frame];
+
+ rect.origin.x = visibleRect.origin.x + (NSWidth( visibleRect ) - NSWidth( rect )) / 2.0;
+ rect.origin.x = MAX( rect.origin.x, frame.origin.x );
+
+ rect.origin.y = visibleRect.origin.y + (NSHeight( visibleRect ) - NSHeight( rect )) / 2.0;
+ rect.origin.y = MAX( rect.origin.y, frame.origin.y );
+
+ [self setFrameOrigin: rect.origin];
+ }
[self setNeedsDisplay: YES];
}
-- (void) recenter;
+- (void) fadeIntoView: (NSView *) superView;
{
- NSView *superView = [self superview];
- NSRect visibleRect = [superView visibleRect];
- NSRect rect = [self frame];
- NSRect frame = [superView frame];
-
- rect.origin.x = visibleRect.origin.x + (NSWidth( visibleRect ) - NSWidth( rect )) / 2.0;
- rect.origin.x = MAX( rect.origin.x, frame.origin.x );
-
- rect.origin.y = visibleRect.origin.y + (NSHeight( visibleRect ) - NSHeight( rect )) / 2.0;
- rect.origin.y = MAX( rect.origin.y, frame.origin.y );
-
- [self setFrameOrigin: rect.origin];
+ [self setAlphaValue: 0];
+ [superView addSubview: self];
+ [[self animator] setAlphaValue: 1.0];
+}
+
+- (void) fadeOut;
+{
+ [[self animator] setAlphaValue: 0.0];
+ [self performSelector: @selector(removeFromSuperview) withObject: nil
+ afterDelay: [[NSAnimationContext currentContext] duration]];
}
- (void) viewDidMoveToSuperview;
{
[self updateHistory];
- [self recenter];
}
- (void) drawRect: (NSRect)rect;
@@ -95,9 +106,7 @@ static NSRect cocoa_history_rect( struct browser_window *bw )
{
const NSPoint location = [self convertPoint: [theEvent locationInWindow] fromView: nil];
const bool newWindow = [theEvent modifierFlags] & NSCommandKeyMask;
- if (history_click( browser, browser->history, location.x, location.y, newWindow )) {
- [delegate historyViewDidSelectItem: self];
- }
+ history_click( browser, browser->history, location.x, location.y, newWindow );
}
- (BOOL) isFlipped;
diff --git a/cocoa/Prefix.pch b/cocoa/Prefix.pch
index 0b11cf1e3..7fa2c0547 100644
--- a/cocoa/Prefix.pch
+++ b/cocoa/Prefix.pch
@@ -7,4 +7,5 @@
#undef offsetof
#define HISTORY_COLOUR_BACKGROUND 0x000000
-#define HISTORY_COLOUR_FOREGROUND 0xFFFFFF \ No newline at end of file
+#define HISTORY_COLOUR_FOREGROUND 0xFFFFFF
+#define HISTORY_COLOUR_SELECTED 0xFF6D27 \ No newline at end of file
diff --git a/cocoa/gui.m b/cocoa/gui.m
index d8d70b0af..bac2590cd 100644
--- a/cocoa/gui.m
+++ b/cocoa/gui.m
@@ -254,6 +254,7 @@ void gui_window_remove_caret(struct gui_window *g)
void gui_window_new_content(struct gui_window *g)
{
+ [[(BrowserViewController *)g browserView] setHistoryVisible: NO];
}
bool gui_window_scroll_start(struct gui_window *g)
diff --git a/cocoa/res/BrowserWindow.xib b/cocoa/res/BrowserWindow.xib
index 50d94f165..f474162ee 100644
--- a/cocoa/res/BrowserWindow.xib
+++ b/cocoa/res/BrowserWindow.xib
@@ -78,14 +78,12 @@
<string key="NSToolbarItemPaletteLabel">History</string>
<nil key="NSToolbarItemToolTip"/>
<object class="NSButton" key="NSToolbarItemView" id="229385913">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{8, 14}, {30, 25}}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="296571644">
- <int key="NSCellFlags">-2080244224</int>
+ <int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents"/>
<object class="NSFont" key="NSSupport" id="770988704">
@@ -94,7 +92,7 @@
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="229385913"/>
- <int key="NSButtonFlags">-2033958657</int>
+ <int key="NSButtonFlags">918831359</int>
<int key="NSButtonFlags2">163</int>
<object class="NSCustomResource" key="NSNormalImage" id="235904051">
<string key="NSClassName">NSImage</string>
@@ -125,11 +123,9 @@
<string key="NSToolbarItemPaletteLabel">Back/Forward</string>
<nil key="NSToolbarItemToolTip"/>
<object class="NSSegmentedControl" key="NSToolbarItemView" id="692457026">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{5, 14}, {71, 25}}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSSegmentedCell" key="NSCell" id="845979064">
<int key="NSCellFlags">67239424</int>
@@ -188,11 +184,9 @@
<string key="NSToolbarItemPaletteLabel">URL</string>
<nil key="NSToolbarItemToolTip"/>
<object class="NSTextField" key="NSToolbarItemView" id="77748234">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{0, 14}, {96, 22}}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1053649244">
<int key="NSCellFlags">-1804468671</int>
@@ -450,6 +444,7 @@
<string>processing</string>
<string>title</string>
<string>isProcessing</string>
+ <string>browserView.historyVisible</string>
</object>
<string key="NSObjectClassName">BrowserViewController</string>
<bool key="NSEditable">YES</bool>
@@ -627,6 +622,22 @@
</object>
<int key="connectionID">78</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">value: selection.browserView.historyVisible</string>
+ <reference key="source" ref="296571644"/>
+ <reference key="destination" ref="177599630"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="296571644"/>
+ <reference key="NSDestination" ref="177599630"/>
+ <string key="NSLabel">value: selection.browserView.historyVisible</string>
+ <string key="NSBinding">value</string>
+ <string key="NSKeyPath">selection.browserView.historyVisible</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">79</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -861,9 +872,9 @@
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>{{343, 318}, {774, 554}}</string>
+ <string>{{276, 318}, {774, 554}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{343, 318}, {774, 554}}</string>
+ <string>{{276, 318}, {774, 554}}</string>
<integer value="1"/>
<string>{196, 240}</string>
<string>{{202, 428}, {480, 270}}</string>
@@ -920,7 +931,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">78</int>
+ <int key="maxID">79</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -928,17 +939,6 @@
<object class="IBPartialClassDescription">
<string key="className">BrowserView</string>
<string key="superclassName">ScrollableView</string>
- <object class="NSMutableDictionary" key="actions">
- <string key="NS.key.0">showHistory:</string>
- <string key="NS.object.0">id</string>
- </object>
- <object class="NSMutableDictionary" key="actionInfosByName">
- <string key="NS.key.0">showHistory:</string>
- <object class="IBActionInfo" key="NS.object.0">
- <string key="name">showHistory:</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">BrowserView.h</string>
@@ -956,6 +956,7 @@
<string>goForward:</string>
<string>navigate:</string>
<string>reloadPage:</string>
+ <string>showHistory:</string>
<string>stopLoading:</string>
<string>zoomIn:</string>
<string>zoomOriginal:</string>
@@ -972,6 +973,7 @@
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
@@ -983,6 +985,7 @@
<string>goForward:</string>
<string>navigate:</string>
<string>reloadPage:</string>
+ <string>showHistory:</string>
<string>stopLoading:</string>
<string>zoomIn:</string>
<string>zoomOriginal:</string>
@@ -1011,6 +1014,10 @@
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo">
+ <string key="name">showHistory:</string>
+ <string key="candidateClassName">id</string>
+ </object>
+ <object class="IBActionInfo">
<string key="name">stopLoading:</string>
<string key="candidateClassName">id</string>
</object>