mirror of
https://github.com/KDE/latte-dock.git
synced 2025-03-20 06:50:28 +03:00
disable background effect when having transparency
This commit is contained in:
parent
d544549d2c
commit
ce7bf51145
@ -198,6 +198,7 @@ void DockView::init()
|
||||
updateFormFactor();
|
||||
syncGeometry();
|
||||
});
|
||||
connect(this, &DockView::dockTransparencyChanged, this, &DockView::updateEffects);
|
||||
connect(this, &DockView::drawEffectsChanged, this, &DockView::updateEffects);
|
||||
connect(this, &DockView::effectsAreaChanged, this, &DockView::updateEffects);
|
||||
|
||||
@ -1087,6 +1088,21 @@ void DockView::setOffset(int offset)
|
||||
emit offsetChanged();
|
||||
}
|
||||
|
||||
int DockView::dockTransparency() const
|
||||
{
|
||||
return m_dockTransparency;
|
||||
}
|
||||
|
||||
void DockView::setDockTransparency(int transparency)
|
||||
{
|
||||
if (m_dockTransparency == transparency) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_dockTransparency = transparency;
|
||||
emit dockTransparencyChanged();
|
||||
}
|
||||
|
||||
int DockView::shadow() const
|
||||
{
|
||||
return m_shadow;
|
||||
@ -1133,10 +1149,11 @@ void DockView::updateEffects()
|
||||
|
||||
KWindowEffects::enableBlurBehind(winId(), true, fixedMask);
|
||||
|
||||
bool drawBackgroundEffect = m_theme.backgroundContrastEnabled() && (m_dockTransparency == 100);
|
||||
//based on Breeze Dark theme behavior the enableBackgroundContrast even though it does accept
|
||||
//a QRegion it uses only the first rect. The bug was that for Breeze Dark there was a line
|
||||
//at the dock bottom that was distinguishing it from other themes
|
||||
KWindowEffects::enableBackgroundContrast(winId(), m_theme.backgroundContrastEnabled(),
|
||||
KWindowEffects::enableBackgroundContrast(winId(), drawBackgroundEffect,
|
||||
m_theme.backgroundContrast(),
|
||||
m_theme.backgroundIntensity(),
|
||||
m_theme.backgroundSaturation(),
|
||||
|
@ -60,6 +60,7 @@ class DockView : public PlasmaQuick::ContainmentView {
|
||||
|
||||
Q_PROPERTY(int alignment READ alignment WRITE setAlignment NOTIFY alignmentChanged)
|
||||
Q_PROPERTY(int docksCount READ docksCount NOTIFY docksCountChanged)
|
||||
Q_PROPERTY(int dockTransparency READ dockTransparency WRITE setDockTransparency NOTIFY dockTransparencyChanged)
|
||||
Q_PROPERTY(int totalDocksCount READ totalDocksCount NOTIFY totalDocksCountChanged)
|
||||
Q_PROPERTY(int x READ x NOTIFY xChanged)
|
||||
Q_PROPERTY(int y READ y NOTIFY yChanged)
|
||||
@ -120,6 +121,9 @@ public:
|
||||
float maxLength() const;
|
||||
void setMaxLength(float length);
|
||||
|
||||
int dockTransparency() const;
|
||||
void setDockTransparency(int transparency);
|
||||
|
||||
int maxThickness() const;
|
||||
void setMaxThickness(int thickness);
|
||||
|
||||
@ -202,6 +206,7 @@ signals:
|
||||
void currentScreenChanged();
|
||||
void dockLocationChanged();
|
||||
void docksCountChanged();
|
||||
void dockTransparencyChanged();
|
||||
void dockWinBehaviorChanged();
|
||||
void drawShadowsChanged();
|
||||
void drawEffectsChanged();
|
||||
@ -254,6 +259,7 @@ private:
|
||||
bool m_drawShadows{true};
|
||||
bool m_drawEffects{false};
|
||||
bool m_onPrimary{true};
|
||||
int m_dockTransparency{100};
|
||||
int m_maxThickness{24};
|
||||
int m_normalThickness{24};
|
||||
int m_offset{0};
|
||||
|
@ -85,6 +85,13 @@ Item{
|
||||
value: root.behaveAsPlasmaPanel
|
||||
}
|
||||
|
||||
Binding{
|
||||
target: dock
|
||||
property: "dockTransparency"
|
||||
when: dock
|
||||
value: root.panelTransparency
|
||||
}
|
||||
|
||||
Binding{
|
||||
target: dock
|
||||
property: "drawShadows"
|
||||
|
Loading…
x
Reference in New Issue
Block a user