mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 390734 - groupboxes need native theming on Windows. ui-r=faaborg, r+sr=vlad
This commit is contained in:
parent
7437e2754c
commit
6cfb2b338a
@ -44,19 +44,11 @@
|
|||||||
/* ::::: groupbox ::::: */
|
/* ::::: groupbox ::::: */
|
||||||
|
|
||||||
groupbox {
|
groupbox {
|
||||||
margin: 5px;
|
-moz-appearance: groupbox;
|
||||||
border: 1px solid ThreeDShadow;
|
border: 2px groove ThreeDFace;
|
||||||
-moz-border-radius: 5px;
|
-moz-border-radius: 3px;
|
||||||
padding: 5px;
|
margin: 3px;
|
||||||
}
|
padding: 3px 3px 6px 3px;
|
||||||
|
|
||||||
groupbox:-moz-system-metric(windows-classic) {
|
|
||||||
border-width: 2px;
|
|
||||||
-moz-border-top-colors: ThreeDShadow ThreeDHighlight;
|
|
||||||
-moz-border-right-colors: ThreeDHighlight ThreeDShadow;
|
|
||||||
-moz-border-bottom-colors: ThreeDHighlight ThreeDShadow;
|
|
||||||
-moz-border-left-colors: ThreeDShadow ThreeDHighlight;
|
|
||||||
-moz-border-radius: 0px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.groupbox-body {
|
.groupbox-body {
|
||||||
@ -64,8 +56,7 @@ groupbox:-moz-system-metric(windows-classic) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
caption {
|
caption {
|
||||||
margin: 0px 6px 2px 6px;
|
margin: 0px 6px 0px 6px;
|
||||||
padding: 0px 3px;
|
|
||||||
background-color: -moz-Dialog;
|
background-color: -moz-Dialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,9 +64,9 @@ tabpanels caption {
|
|||||||
-moz-appearance: tabpanel;
|
-moz-appearance: tabpanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* !important is needed to override label in global.css */
|
||||||
.caption-text {
|
.caption-text {
|
||||||
margin-top: 0;
|
margin-bottom: 0px !important;
|
||||||
margin-bottom: 0;
|
-moz-margin-start: 2px !important;
|
||||||
-moz-margin-start: 1px;
|
-moz-margin-end: 2px !important;
|
||||||
-moz-margin-end: 2px;
|
|
||||||
}
|
}
|
||||||
|
@ -288,6 +288,7 @@ nsNativeThemeWin::GetTheme(PRUint8 aWidgetType)
|
|||||||
case NS_THEME_BUTTON:
|
case NS_THEME_BUTTON:
|
||||||
case NS_THEME_RADIO:
|
case NS_THEME_RADIO:
|
||||||
case NS_THEME_CHECKBOX:
|
case NS_THEME_CHECKBOX:
|
||||||
|
case NS_THEME_GROUPBOX:
|
||||||
return nsUXThemeData::GetTheme(eUXButton);
|
return nsUXThemeData::GetTheme(eUXButton);
|
||||||
case NS_THEME_TEXTFIELD:
|
case NS_THEME_TEXTFIELD:
|
||||||
case NS_THEME_TEXTFIELD_MULTILINE:
|
case NS_THEME_TEXTFIELD_MULTILINE:
|
||||||
@ -455,6 +456,13 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, PRUint8 aWidgetType,
|
|||||||
aState += inputState * 4;
|
aState += inputState * 4;
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
case NS_THEME_GROUPBOX: {
|
||||||
|
aPart = BP_GROUPBOX;
|
||||||
|
aState = TS_NORMAL;
|
||||||
|
// Since we don't support groupbox disabled and GBS_DISABLED looks the
|
||||||
|
// same as GBS_NORMAL don't bother supporting GBS_DISABLED.
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
case NS_THEME_TEXTFIELD:
|
case NS_THEME_TEXTFIELD:
|
||||||
case NS_THEME_TEXTFIELD_MULTILINE: {
|
case NS_THEME_TEXTFIELD_MULTILINE: {
|
||||||
if (nsUXThemeData::sIsVistaOrLater) {
|
if (nsUXThemeData::sIsVistaOrLater) {
|
||||||
@ -1738,6 +1746,7 @@ nsNativeThemeWin::ClassicThemeSupportsWidget(nsPresContext* aPresContext,
|
|||||||
case NS_THEME_TEXTFIELD_MULTILINE:
|
case NS_THEME_TEXTFIELD_MULTILINE:
|
||||||
case NS_THEME_CHECKBOX:
|
case NS_THEME_CHECKBOX:
|
||||||
case NS_THEME_RADIO:
|
case NS_THEME_RADIO:
|
||||||
|
case NS_THEME_GROUPBOX:
|
||||||
case NS_THEME_SCROLLBAR_BUTTON_UP:
|
case NS_THEME_SCROLLBAR_BUTTON_UP:
|
||||||
case NS_THEME_SCROLLBAR_BUTTON_DOWN:
|
case NS_THEME_SCROLLBAR_BUTTON_DOWN:
|
||||||
case NS_THEME_SCROLLBAR_BUTTON_LEFT:
|
case NS_THEME_SCROLLBAR_BUTTON_LEFT:
|
||||||
@ -1789,6 +1798,7 @@ nsNativeThemeWin::ClassicGetWidgetBorder(nsIDeviceContext* aContext,
|
|||||||
nsIntMargin* aResult)
|
nsIntMargin* aResult)
|
||||||
{
|
{
|
||||||
switch (aWidgetType) {
|
switch (aWidgetType) {
|
||||||
|
case NS_THEME_GROUPBOX:
|
||||||
case NS_THEME_BUTTON:
|
case NS_THEME_BUTTON:
|
||||||
(*aResult).top = (*aResult).left = (*aResult).bottom = (*aResult).right = 2;
|
(*aResult).top = (*aResult).left = (*aResult).bottom = (*aResult).right = 2;
|
||||||
break;
|
break;
|
||||||
@ -1917,6 +1927,7 @@ nsNativeThemeWin::ClassicGetMinimumWidgetSize(nsIRenderingContext* aContext, nsI
|
|||||||
break;
|
break;
|
||||||
case NS_THEME_DROPDOWN:
|
case NS_THEME_DROPDOWN:
|
||||||
case NS_THEME_BUTTON:
|
case NS_THEME_BUTTON:
|
||||||
|
case NS_THEME_GROUPBOX:
|
||||||
case NS_THEME_LISTBOX:
|
case NS_THEME_LISTBOX:
|
||||||
case NS_THEME_TREEVIEW:
|
case NS_THEME_TREEVIEW:
|
||||||
case NS_THEME_TEXTFIELD:
|
case NS_THEME_TEXTFIELD:
|
||||||
@ -2146,6 +2157,7 @@ nsresult nsNativeThemeWin::ClassicGetThemePartAndState(nsIFrame* aFrame, PRUint8
|
|||||||
case NS_THEME_TAB_PANELS:
|
case NS_THEME_TAB_PANELS:
|
||||||
case NS_THEME_MENUBAR:
|
case NS_THEME_MENUBAR:
|
||||||
case NS_THEME_MENUPOPUP:
|
case NS_THEME_MENUPOPUP:
|
||||||
|
case NS_THEME_GROUPBOX:
|
||||||
// these don't use DrawFrameControl
|
// these don't use DrawFrameControl
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
case NS_THEME_DROPDOWN_BUTTON: {
|
case NS_THEME_DROPDOWN_BUTTON: {
|
||||||
@ -2537,6 +2549,10 @@ RENDER_AGAIN:
|
|||||||
InflateRect(&widgetRect, -1, -1);
|
InflateRect(&widgetRect, -1, -1);
|
||||||
::FillRect(hdc, &widgetRect, ::GetSysColorBrush(COLOR_INFOBK));
|
::FillRect(hdc, &widgetRect, ::GetSysColorBrush(COLOR_INFOBK));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case NS_THEME_GROUPBOX:
|
||||||
|
::DrawEdge(hdc, &widgetRect, EDGE_ETCHED, BF_RECT | BF_ADJUST);
|
||||||
|
::FillRect(hdc, &widgetRect, (HBRUSH) (COLOR_BTNFACE+1));
|
||||||
break;
|
break;
|
||||||
// Draw 3D face background controls
|
// Draw 3D face background controls
|
||||||
case NS_THEME_PROGRESSBAR:
|
case NS_THEME_PROGRESSBAR:
|
||||||
@ -2786,6 +2802,7 @@ nsNativeThemeWin::GetWidgetNativeDrawingFlags(PRUint8 aWidgetType)
|
|||||||
// these are definitely no; they're all graphics that don't get scaled up
|
// these are definitely no; they're all graphics that don't get scaled up
|
||||||
case NS_THEME_CHECKBOX:
|
case NS_THEME_CHECKBOX:
|
||||||
case NS_THEME_RADIO:
|
case NS_THEME_RADIO:
|
||||||
|
case NS_THEME_GROUPBOX:
|
||||||
case NS_THEME_CHECKMENUITEM:
|
case NS_THEME_CHECKMENUITEM:
|
||||||
case NS_THEME_RADIOMENUITEM:
|
case NS_THEME_RADIOMENUITEM:
|
||||||
case NS_THEME_MENUCHECKBOX:
|
case NS_THEME_MENUCHECKBOX:
|
||||||
|
@ -69,6 +69,7 @@
|
|||||||
#define BP_BUTTON 1
|
#define BP_BUTTON 1
|
||||||
#define BP_RADIO 2
|
#define BP_RADIO 2
|
||||||
#define BP_CHECKBOX 3
|
#define BP_CHECKBOX 3
|
||||||
|
#define BP_GROUPBOX 4
|
||||||
|
|
||||||
// Textfield constants
|
// Textfield constants
|
||||||
/* This is the EP_EDITTEXT part */
|
/* This is the EP_EDITTEXT part */
|
||||||
|
Loading…
Reference in New Issue
Block a user