mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-02 20:31:03 +00:00
Minor theme fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27560 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
a3b990072b
commit
eedfcb0e8e
2 changed files with 32 additions and 6 deletions
|
@ -1,6 +1,8 @@
|
|||
2009-01-08 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/GSTheme.m: Fix nil pointer exception.
|
||||
* Source/NSScrollView.m: Fix to notice theme activation and support
|
||||
themed color for separators.
|
||||
|
||||
2009-01-07 Fred Kiefer <FredKiefer@gmx.de>
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#include <Foundation/NSNotification.h>
|
||||
|
||||
#include "AppKit/NSColor.h"
|
||||
#include "AppKit/NSColorList.h"
|
||||
#include "AppKit/NSCell.h"
|
||||
#include "AppKit/NSClipView.h"
|
||||
#include "AppKit/NSEvent.h"
|
||||
|
@ -737,7 +738,8 @@ static float scrollerWidth;
|
|||
}
|
||||
|
||||
// FIXME: Should we just hide the scroll bar or remove it?
|
||||
if ((_autohidesScrollers) && (documentFrame.size.height > clipViewBounds.size.height))
|
||||
if ((_autohidesScrollers)
|
||||
&& (documentFrame.size.height > clipViewBounds.size.height))
|
||||
{
|
||||
[self setHasVerticalScroller: YES];
|
||||
}
|
||||
|
@ -774,7 +776,8 @@ static float scrollerWidth;
|
|||
}
|
||||
}
|
||||
|
||||
if ((_autohidesScrollers) && (documentFrame.size.width > clipViewBounds.size.width))
|
||||
if ((_autohidesScrollers)
|
||||
&& (documentFrame.size.width > clipViewBounds.size.width))
|
||||
{
|
||||
[self setHasHorizontalScroller: YES];
|
||||
}
|
||||
|
@ -981,6 +984,7 @@ static float scrollerWidth;
|
|||
NSInterfaceStyle style;
|
||||
|
||||
style = NSInterfaceStyleForKey(@"NSScrollViewInterfaceStyle", nil);
|
||||
|
||||
if (style == NSMacintoshInterfaceStyle
|
||||
|| style == NSWindows95InterfaceStyle)
|
||||
{
|
||||
|
@ -1113,6 +1117,20 @@ static float scrollerWidth;
|
|||
- (void) drawRect: (NSRect)rect
|
||||
{
|
||||
NSGraphicsContext *ctxt = GSCurrentContext();
|
||||
GSTheme *theme = [GSTheme theme];
|
||||
NSColor *color;
|
||||
NSString *name;
|
||||
|
||||
name = [theme nameForElement: self];
|
||||
if (name == nil)
|
||||
{
|
||||
name = @"NSScrollView";
|
||||
}
|
||||
color = [[theme extraColors] colorWithKey: name];
|
||||
if (color == nil)
|
||||
{
|
||||
color = [NSColor controlDarkShadowColor];
|
||||
}
|
||||
|
||||
switch (_borderType)
|
||||
{
|
||||
|
@ -1120,20 +1138,20 @@ static float scrollerWidth;
|
|||
break;
|
||||
|
||||
case NSLineBorder:
|
||||
[[NSColor controlDarkShadowColor] set];
|
||||
[color set];
|
||||
NSFrameRect(_bounds);
|
||||
break;
|
||||
|
||||
case NSBezelBorder:
|
||||
[[GSTheme theme] drawGrayBezel: _bounds withClip: rect];
|
||||
[theme drawGrayBezel: _bounds withClip: rect];
|
||||
break;
|
||||
|
||||
case NSGrooveBorder:
|
||||
[[GSTheme theme] drawGroove: _bounds withClip: rect];
|
||||
[theme drawGroove: _bounds withClip: rect];
|
||||
break;
|
||||
}
|
||||
|
||||
[[NSColor controlDarkShadowColor] set];
|
||||
[color set];
|
||||
DPSsetlinewidth(ctxt, 1);
|
||||
|
||||
if (_hasVertScroller)
|
||||
|
@ -1595,6 +1613,12 @@ static float scrollerWidth;
|
|||
NSDebugLLog(@"NSScrollView", @"NSScrollView: finish decoding\n");
|
||||
}
|
||||
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver: self
|
||||
selector: @selector(_themeDidActivate:)
|
||||
name: GSThemeDidActivateNotification
|
||||
object: nil];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue