1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-24 18:03:53 +03:00

use current transparency to update effects

--the background contrast effect should be applied
only when the dock/panel is visually solid otherwise
it may block the transparency settings

BUG: 397431
FIXED-IN: v0.8.1
This commit is contained in:
Michail Vourlakos 2018-08-21 00:46:46 +03:00
parent b50a4807aa
commit 78b41eff91
4 changed files with 14 additions and 3 deletions

View File

@ -1605,7 +1605,10 @@ void DockView::updateEffects()
}
} else if (m_behaveAsPlasmaPanel && m_drawEffects) {
KWindowEffects::enableBlurBehind(winId(), true);
KWindowEffects::enableBackgroundContrast(winId(), m_theme.backgroundContrastEnabled(),
bool drawBackgroundEffect = m_theme.backgroundContrastEnabled() && (m_dockTransparency == 100);
KWindowEffects::enableBackgroundContrast(winId(), drawBackgroundEffect,
m_theme.backgroundContrast(),
m_theme.backgroundIntensity(),
m_theme.backgroundSaturation());

View File

@ -309,6 +309,12 @@ Item{
Component.onCompleted: root.updateEffectsArea.connect(updateEffectsArea);
Component.onDestruction: root.updateEffectsArea.disconnect(updateEffectsArea);
Binding{
target: root
property: "currentPanelTransparency"
value: solidBackground.opacity * 100
}
Connections{
target: root

View File

@ -106,7 +106,7 @@ Item{
target: dock
property: "dockTransparency"
when: dock
value: root.panelTransparency
value: root.currentPanelTransparency
}
Binding{

View File

@ -187,7 +187,9 @@ DragDrop.DropArea {
property int modifierClick: plasmoid.configuration.modifierClick
property int panelEdgeSpacing: Math.max(panelBoxBackground.lengthMargins, 1.5*appShadowSize)
property int panelTransparency: plasmoid.configuration.panelTransparency
property int panelTransparency: plasmoid.configuration.panelTransparency //user set
property int currentPanelTransparency: 0 //application override
property bool panelShadowsActive: (( (plasmoid.configuration.panelShadows && !root.backgroundOnlyOnMaximized)
|| (plasmoid.configuration.panelShadows && root.backgroundOnlyOnMaximized && !root.forceTransparentPanel))
&& !(disablePanelShadowMaximized && dock.visibility.existsWindowMaximized))