Splitted stylesheets into default and focus_highlighting to properly support both use cases

This commit is contained in:
Uwe Kindler 2020-06-11 07:43:06 +02:00
parent 6a25de327c
commit d04c386948
6 changed files with 325 additions and 134 deletions

View File

@ -181,11 +181,14 @@ void DockManagerPrivate::loadStylesheet()
{ {
initResource(); initResource();
QString Result; QString Result;
QString FileName = ":ads/stylesheets/";
FileName += CDockManager::testConfigFlag(CDockManager::FocusHighlighting)
? "focus_highlighting" : "default";
#ifdef Q_OS_LINUX #ifdef Q_OS_LINUX
QFile StyleSheetFile(":ads/stylesheets/default_linux.css"); FileName += "_linux";
#else
QFile StyleSheetFile(":ads/stylesheets/default.css");
#endif #endif
FileName += ".css";
QFile StyleSheetFile(FileName);
StyleSheetFile.open(QIODevice::ReadOnly); StyleSheetFile.open(QIODevice::ReadOnly);
QTextStream StyleSheetStream(&StyleSheetFile); QTextStream StyleSheetStream(&StyleSheetFile);
Result = StyleSheetStream.readAll(); Result = StyleSheetStream.readAll();

View File

@ -5,5 +5,7 @@
<file>images/close-button-disabled.svg</file> <file>images/close-button-disabled.svg</file>
<file>stylesheets/default_linux.css</file> <file>stylesheets/default_linux.css</file>
<file>images/close-button-focused.svg</file> <file>images/close-button-focused.svg</file>
<file>stylesheets/focus_highlighting.css</file>
<file>stylesheets/focus_highlighting_linux.css</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@ -1,7 +1,6 @@
/* /*
* Default style sheet on Windows Platforms * Default style sheet on Windows Platforms
* Note: Always use CSS-classes with and without "ads--" namespace to support Qt4 & Qt5
*/ */
ads--CDockContainerWidget ads--CDockContainerWidget
@ -9,6 +8,10 @@ ads--CDockContainerWidget
background: palette(dark); background: palette(dark);
} }
ads--CDockContainerWidget QSplitter::handle
{
background: palette(dark);
}
ads--CDockAreaWidget ads--CDockAreaWidget
{ {
@ -78,74 +81,13 @@ QScrollArea#dockWidgetScrollArea
#tabCloseButton:hover #tabCloseButton:hover
{ {
/*border: 1px solid rgba(0, 0, 0, 32);*/ border: 1px solid rgba(0, 0, 0, 32);
background: rgba(0, 0, 0, 24); background: rgba(0, 0, 0, 16);
} }
#tabCloseButton:pressed #tabCloseButton:pressed
{ {
background: rgba(0, 0, 0, 48); background: rgba(0, 0, 0, 32);
}
#tabCloseButton
{
qproperty-icon: url(:/ads/images/close-button.svg);
qproperty-iconSize: 16px;
} }
ads--CDockSplitter::handle
{
background-color: palette(dark);
/* uncomment the following line if you would like to change the size of
the splitter handles */
/* height: 1px; */
}
/* Focus related styling */
ads--CDockWidgetTab[focused="true"]
{
background: palette(highlight);
border-color: palette(highlight);
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton
{
qproperty-icon: url(:/ads/images/close-button-focused.svg)
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton:hover
{
background: rgba(255, 255, 255, 48);
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton:pressed
{
background: rgba(255, 255, 255, 92);
}
ads--CDockWidgetTab[focused="true"] QLabel
{
color: palette(light);
}
ads--CDockAreaTitleBar
{
background: transparent;
border-bottom: 2px solid palette(light);
padding-bottom: 0px;
}
ads--CDockAreaWidget[focused="true"] ads--CDockAreaTitleBar
{
background: transparent;
border-bottom: 2px solid palette(highlight);
padding-bottom: 0px;
}

View File

@ -1,7 +1,6 @@
/* /*
* Default style sheet on Windows Platforms * Default style sheet on Linux Platforms
* Note: Always use CSS-classes with and without "ads--" namespace to support Qt4 & Qt5
*/ */
ads--CDockContainerWidget ads--CDockContainerWidget
@ -84,74 +83,13 @@ QScrollArea#dockWidgetScrollArea
#tabCloseButton:hover #tabCloseButton:hover
{ {
/*border: 1px solid rgba(0, 0, 0, 32);*/ border: 1px solid rgba(0, 0, 0, 32);
background: rgba(0, 0, 0, 24); background: rgba(0, 0, 0, 16);
} }
#tabCloseButton:pressed #tabCloseButton:pressed
{ {
background: rgba(0, 0, 0, 48); background: rgba(0, 0, 0, 32);
}
#tabCloseButton
{
qproperty-icon: url(:/ads/images/close-button.svg);
qproperty-iconSize: 16px;
}
/* Focus related styling */
ads--CDockWidgetTab[focused="true"]
{
background: palette(highlight);
border-color: palette(highlight);
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton
{
qproperty-icon: url(:/ads/images/close-button-focused.svg)
} }
ads--CDockWidgetTab[focused="true"] > #tabCloseButton:hover
{
background: rgba(255, 255, 255, 48);
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton:pressed
{
background: rgba(255, 255, 255, 92);
}
ads--CDockWidgetTab[focused="true"] QLabel
{
color: palette(light);
}
ads--CDockAreaTitleBar
{
background: transparent;
border-bottom: 2px solid palette(light);
padding-bottom: 0px;
}
ads--CDockAreaWidget[focused="true"] ads--CDockAreaTitleBar
{
background: transparent;
border-bottom: 2px solid palette(highlight);
padding-bottom: 0px;
}
ads--CFloatingDockContainer[isActiveWindow="true"] ads--CFloatingWidgetTitleBar
{
background: palette(highlight);
}
ads--CFloatingDockContainer[isActiveWindow="true"] ads--CFloatingWidgetTitleBar > QLabel
{
color: palette(light);
}

View File

@ -0,0 +1,150 @@
/*
* Default style sheet on Windows Platforms with focus highlighting flag enabled
*/
ads--CDockContainerWidget
{
background: palette(dark);
}
ads--CDockAreaWidget
{
background: palette(window);
border: 1px solid white;
}
ads--CDockAreaWidget #tabsMenuButton::menu-indicator
{
image: none;
}
ads--CDockWidgetTab
{
background: palette(window);
border-color: palette(light);
border-style: solid;
border-width: 0 1px 0 0;
padding: 0 0px;
}
ads--CDockWidgetTab[activeTab="true"]
{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:0.5, stop:0 palette(window), stop:1 palette(light));
/*background: palette(highlight);*/
}
ads--CDockWidgetTab QLabel
{
color: palette(dark);
}
ads--CDockWidgetTab[activeTab="true"] QLabel
{
color: palette(foreground);
}
ads--CDockWidget
{
background: palette(light);
border-color: palette(light);
border-style: solid;
border-width: 1px 0 0 0;
}
ads--CTitleBarButton
{
padding: 0px 0px;
}
QScrollArea#dockWidgetScrollArea
{
padding: 0px;
border: none;
}
#tabCloseButton
{
margin-top: 2px;
background: none;
border: none;
padding: 0px -2px;
}
#tabCloseButton:hover
{
/*border: 1px solid rgba(0, 0, 0, 32);*/
background: rgba(0, 0, 0, 24);
}
#tabCloseButton:pressed
{
background: rgba(0, 0, 0, 48);
}
#tabCloseButton
{
qproperty-icon: url(:/ads/images/close-button.svg);
qproperty-iconSize: 16px;
}
ads--CDockSplitter::handle
{
background-color: palette(dark);
/* uncomment the following line if you would like to change the size of
the splitter handles */
/* height: 1px; */
}
/* Focus related styling */
ads--CDockWidgetTab[focused="true"]
{
background: palette(highlight);
border-color: palette(highlight);
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton
{
qproperty-icon: url(:/ads/images/close-button-focused.svg)
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton:hover
{
background: rgba(255, 255, 255, 48);
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton:pressed
{
background: rgba(255, 255, 255, 92);
}
ads--CDockWidgetTab[focused="true"] QLabel
{
color: palette(light);
}
ads--CDockAreaTitleBar
{
background: transparent;
border-bottom: 2px solid palette(light);
padding-bottom: 0px;
}
ads--CDockAreaWidget[focused="true"] ads--CDockAreaTitleBar
{
background: transparent;
border-bottom: 2px solid palette(highlight);
padding-bottom: 0px;
}

View File

@ -0,0 +1,156 @@
/*
* Default style sheet on Linux Platforms with focus highlighting flag enabled
*/
ads--CDockContainerWidget
{
background: palette(dark);
}
ads--CDockContainerWidget QSplitter::handle
{
background: palette(dark);
}
ads--CDockAreaWidget
{
background: palette(window);
border: 1px solid white;
}
ads--CDockAreaWidget #tabsMenuButton::menu-indicator
{
image: none;
}
ads--CDockWidgetTab
{
background: palette(window);
border-color: palette(light);
border-style: solid;
border-width: 0 1px 0 0;
padding: 0 0px;
}
ads--CDockWidgetTab[activeTab="true"]
{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:0.5, stop:0 palette(window), stop:1 palette(light));
/*background: palette(highlight);*/
}
ads--CDockWidgetTab QLabel
{
color: palette(dark);
}
ads--CDockWidgetTab[activeTab="true"] QLabel
{
color: palette(foreground);
}
ads--CDockWidget
{
background: palette(light);
border-color: palette(light);
border-style: solid;
border-width: 1px 0 0 0;
}
ads--CTitleBarButton
{
padding: 0px 0px;
}
QScrollArea#dockWidgetScrollArea
{
padding: 0px;
border: none;
}
#tabCloseButton
{
margin-top: 2px;
background: none;
border: none;
padding: 0px -2px;
}
#tabCloseButton:hover
{
/*border: 1px solid rgba(0, 0, 0, 32);*/
background: rgba(0, 0, 0, 24);
}
#tabCloseButton:pressed
{
background: rgba(0, 0, 0, 48);
}
#tabCloseButton
{
qproperty-icon: url(:/ads/images/close-button.svg);
qproperty-iconSize: 16px;
}
/* Focus related styling */
ads--CDockWidgetTab[focused="true"]
{
background: palette(highlight);
border-color: palette(highlight);
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton
{
qproperty-icon: url(:/ads/images/close-button-focused.svg)
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton:hover
{
background: rgba(255, 255, 255, 48);
}
ads--CDockWidgetTab[focused="true"] > #tabCloseButton:pressed
{
background: rgba(255, 255, 255, 92);
}
ads--CDockWidgetTab[focused="true"] QLabel
{
color: palette(light);
}
ads--CDockAreaTitleBar
{
background: transparent;
border-bottom: 2px solid palette(light);
padding-bottom: 0px;
}
ads--CDockAreaWidget[focused="true"] ads--CDockAreaTitleBar
{
background: transparent;
border-bottom: 2px solid palette(highlight);
padding-bottom: 0px;
}
ads--CFloatingDockContainer[isActiveWindow="true"] ads--CFloatingWidgetTitleBar
{
background: palette(highlight);
}
ads--CFloatingDockContainer[isActiveWindow="true"] ads--CFloatingWidgetTitleBar > QLabel
{
color: palette(light);
}