use small scrollbars in HTML select controls. b=365243 r=smorgan sr=roc
git-svn-id: svn://10.0.0.236/trunk@218663 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -85,7 +85,7 @@
|
||||
#define NS_THEME_TREEVIEW_HEADER_SORTARROW 47
|
||||
|
||||
// Open tree widget twisty
|
||||
#define NS_THEME_TREEVIEW_TWISTY_OPEN 48
|
||||
#define NS_THEME_TREEVIEW_TWISTY_OPEN 48
|
||||
|
||||
// A horizontal progress bar.
|
||||
#define NS_THEME_PROGRESSBAR 51
|
||||
@@ -127,7 +127,10 @@
|
||||
#define NS_THEME_SPINNER_DOWN_BUTTON 74
|
||||
|
||||
// A scrollbar.
|
||||
#define NS_THEME_SCROLLBAR 81
|
||||
#define NS_THEME_SCROLLBAR 80
|
||||
|
||||
// A small scrollbar.
|
||||
#define NS_THEME_SCROLLBAR_SMALL 81
|
||||
|
||||
// A scrollbar button (up/down/left/right)
|
||||
#define NS_THEME_SCROLLBAR_BUTTON_UP 82
|
||||
|
||||
@@ -380,6 +380,7 @@ CSS_KEY(s, s)
|
||||
CSS_KEY(s-resize, s_resize)
|
||||
CSS_KEY(scroll, scroll)
|
||||
CSS_KEY(scrollbar, scrollbar)
|
||||
CSS_KEY(scrollbar-small, scrollbar_small)
|
||||
CSS_KEY(se-resize, se_resize)
|
||||
CSS_KEY(select-after, select_after)
|
||||
CSS_KEY(select-all, select_all)
|
||||
|
||||
@@ -219,6 +219,7 @@ const PRInt32 nsCSSProps::kAppearanceKTable[] = {
|
||||
eCSSKeyword_spinner_upbutton, NS_THEME_SPINNER_UP_BUTTON,
|
||||
eCSSKeyword_spinner_downbutton, NS_THEME_SPINNER_DOWN_BUTTON,
|
||||
eCSSKeyword_scrollbar, NS_THEME_SCROLLBAR,
|
||||
eCSSKeyword_scrollbar_small, NS_THEME_SCROLLBAR_SMALL,
|
||||
eCSSKeyword_scrollbarbutton_up, NS_THEME_SCROLLBAR_BUTTON_UP,
|
||||
eCSSKeyword_scrollbarbutton_down, NS_THEME_SCROLLBAR_BUTTON_DOWN,
|
||||
eCSSKeyword_scrollbarbutton_left, NS_THEME_SCROLLBAR_BUTTON_LEFT,
|
||||
|
||||
@@ -52,6 +52,12 @@ scrollbar {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
html|select[size]:not([size="0"]):not([size="1"]) > scrollbar,
|
||||
html|select[multiple] > scrollbar {
|
||||
-moz-appearance: scrollbar-small;
|
||||
min-width: 11px;
|
||||
}
|
||||
|
||||
/* ::::: square at the corner of two scrollbars ::::: */
|
||||
|
||||
scrollcorner {
|
||||
|
||||
@@ -53,6 +53,12 @@ scrollbar {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
html|select[size]:not([size="0"]):not([size="1"]) > scrollbar,
|
||||
html|select[multiple] > scrollbar {
|
||||
-moz-appearance: scrollbar-small;
|
||||
min-width: 11px;
|
||||
}
|
||||
|
||||
/* ::::: square at the corner of two scrollbars ::::: */
|
||||
|
||||
scrollcorner {
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
* Contributor(s):
|
||||
* Mark Mentovai <mark@moxienet.com>
|
||||
* Stuart Morgan <stuart.morgan@alumni.case.edu>
|
||||
* Josh Aas <josh@mozilla.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
@@ -551,6 +552,23 @@ nsNativeScrollbar::UpdateScroller()
|
||||
}
|
||||
|
||||
|
||||
- (void)setFrame:(NSRect)frameRect
|
||||
{
|
||||
// maybe make this a small scrollbar
|
||||
SInt32 smallScrollbarWidth = 0;
|
||||
::GetThemeMetric(kThemeMetricSmallScrollBarWidth, &smallScrollbarWidth);
|
||||
if ((SInt32)frameRect.size.width == smallScrollbarWidth ||
|
||||
(SInt32)frameRect.size.height == smallScrollbarWidth) {
|
||||
[self setControlSize:NSSmallControlSize];
|
||||
}
|
||||
else {
|
||||
[self setControlSize:NSRegularControlSize];
|
||||
}
|
||||
|
||||
[super setFrame:frameRect];
|
||||
}
|
||||
|
||||
|
||||
- (NSWindow*)nativeWindow
|
||||
{
|
||||
NSWindow* currWin = [self window];
|
||||
|
||||
@@ -808,6 +808,15 @@ nsNativeThemeCocoa::GetMinimumWidgetSize(nsIRenderingContext* aContext,
|
||||
break;
|
||||
}
|
||||
|
||||
case NS_THEME_SCROLLBAR_SMALL:
|
||||
{
|
||||
SInt32 scrollbarWidth = 0;
|
||||
::GetThemeMetric(kThemeMetricSmallScrollBarWidth, &scrollbarWidth);
|
||||
aResult->SizeTo(scrollbarWidth, scrollbarWidth);
|
||||
*aIsOverridable = PR_FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
case NS_THEME_SCROLLBAR:
|
||||
case NS_THEME_SCROLLBAR_BUTTON_UP:
|
||||
case NS_THEME_SCROLLBAR_BUTTON_DOWN:
|
||||
@@ -959,6 +968,7 @@ nsNativeThemeCocoa::ThemeSupportsWidget(nsPresContext* aPresContext, nsIFrame* a
|
||||
case NS_THEME_SCALE_THUMB_VERTICAL:
|
||||
|
||||
case NS_THEME_SCROLLBAR:
|
||||
case NS_THEME_SCROLLBAR_SMALL:
|
||||
case NS_THEME_SCROLLBAR_BUTTON_UP:
|
||||
case NS_THEME_SCROLLBAR_BUTTON_DOWN:
|
||||
case NS_THEME_SCROLLBAR_BUTTON_LEFT:
|
||||
|
||||
Reference in New Issue
Block a user