|
|
|
|
@ -178,7 +178,7 @@ namespace Breeze |
|
|
|
|
QColor Decoration::titleBarColor() const |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
auto c = client().data(); |
|
|
|
|
const auto c = client().toStrongRef(); |
|
|
|
|
if( hideTitleBar() ) return c->color( ColorGroup::Inactive, ColorRole::TitleBar ); |
|
|
|
|
else if( m_animation->state() == QAbstractAnimation::Running ) |
|
|
|
|
{ |
|
|
|
|
@ -194,7 +194,7 @@ namespace Breeze |
|
|
|
|
QColor Decoration::fontColor() const |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
auto c = client().data(); |
|
|
|
|
const auto c = client().toStrongRef(); |
|
|
|
|
if( m_animation->state() == QAbstractAnimation::Running ) |
|
|
|
|
{ |
|
|
|
|
return KColorUtils::mix( |
|
|
|
|
@ -208,7 +208,7 @@ namespace Breeze |
|
|
|
|
//________________________________________________________________
|
|
|
|
|
void Decoration::init() |
|
|
|
|
{ |
|
|
|
|
auto c = client().data(); |
|
|
|
|
const auto c = client().toStrongRef(); |
|
|
|
|
|
|
|
|
|
// active state change animation
|
|
|
|
|
// It is important start and end value are of the same type, hence 0.0 and not just 0
|
|
|
|
|
@ -254,11 +254,11 @@ namespace Breeze |
|
|
|
|
connect(s.data(), &KDecoration2::DecorationSettings::reconfigured, SettingsProvider::self(), &SettingsProvider::reconfigure, Qt::UniqueConnection ); |
|
|
|
|
connect(s.data(), &KDecoration2::DecorationSettings::reconfigured, this, &Decoration::updateButtonsGeometryDelayed); |
|
|
|
|
|
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::adjacentScreenEdgesChanged, this, &Decoration::recalculateBorders); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::maximizedHorizontallyChanged, this, &Decoration::recalculateBorders); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::maximizedVerticallyChanged, this, &Decoration::recalculateBorders); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::recalculateBorders); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::captionChanged, this, |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::adjacentScreenEdgesChanged, this, &Decoration::recalculateBorders); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::maximizedHorizontallyChanged, this, &Decoration::recalculateBorders); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::maximizedVerticallyChanged, this, &Decoration::recalculateBorders); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::recalculateBorders); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::captionChanged, this, |
|
|
|
|
[this]() |
|
|
|
|
{ |
|
|
|
|
// update the caption area
|
|
|
|
|
@ -266,15 +266,15 @@ namespace Breeze |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::activeChanged, this, &Decoration::updateAnimationState); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::widthChanged, this, &Decoration::updateTitleBar); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::updateTitleBar); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::setOpaque); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::activeChanged, this, &Decoration::updateAnimationState); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::widthChanged, this, &Decoration::updateTitleBar); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::updateTitleBar); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::setOpaque); |
|
|
|
|
|
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::widthChanged, this, &Decoration::updateButtonsGeometry); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::updateButtonsGeometry); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::adjacentScreenEdgesChanged, this, &Decoration::updateButtonsGeometry); |
|
|
|
|
connect(c, &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::updateButtonsGeometry); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::widthChanged, this, &Decoration::updateButtonsGeometry); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::updateButtonsGeometry); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::adjacentScreenEdgesChanged, this, &Decoration::updateButtonsGeometry); |
|
|
|
|
connect(c.data(), &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::updateButtonsGeometry); |
|
|
|
|
|
|
|
|
|
createButtons(); |
|
|
|
|
updateShadow(); |
|
|
|
|
@ -284,7 +284,7 @@ namespace Breeze |
|
|
|
|
void Decoration::updateTitleBar() |
|
|
|
|
{ |
|
|
|
|
auto s = settings(); |
|
|
|
|
auto c = client().data(); |
|
|
|
|
const auto c = client().toStrongRef(); |
|
|
|
|
const bool maximized = isMaximized(); |
|
|
|
|
const int width = maximized ? c->width() : c->width() - 2*s->largeSpacing()*Metrics::TitleBar_SideMargin; |
|
|
|
|
const int height = maximized ? borderTop() : borderTop() - s->smallSpacing()*Metrics::TitleBar_TopMargin; |
|
|
|
|
@ -299,7 +299,7 @@ namespace Breeze |
|
|
|
|
if( m_shadowAnimation->duration() > 0 ) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
auto c = client().data(); |
|
|
|
|
const auto c = client().toStrongRef(); |
|
|
|
|
m_shadowAnimation->setDirection( c->isActive() ? QAbstractAnimation::Forward : QAbstractAnimation::Backward ); |
|
|
|
|
if( m_shadowAnimation->state() != QAbstractAnimation::Running ) m_shadowAnimation->start(); |
|
|
|
|
|
|
|
|
|
@ -312,7 +312,7 @@ namespace Breeze |
|
|
|
|
if( m_animation->duration() > 0 ) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
auto c = client().data(); |
|
|
|
|
const auto c = client().toStrongRef(); |
|
|
|
|
m_animation->setDirection( c->isActive() ? QAbstractAnimation::Forward : QAbstractAnimation::Backward ); |
|
|
|
|
if( m_animation->state() != QAbstractAnimation::Running ) m_animation->start(); |
|
|
|
|
|
|
|
|
|
@ -326,7 +326,7 @@ namespace Breeze |
|
|
|
|
//________________________________________________________________
|
|
|
|
|
void Decoration::updateSizeGripVisibility() |
|
|
|
|
{ |
|
|
|
|
auto c = client().data(); |
|
|
|
|
const auto c = client().toStrongRef(); |
|
|
|
|
if( m_sizeGrip ) |
|
|
|
|
{ m_sizeGrip->setVisible( c->isResizeable() && !isMaximized() && !c->isShaded() ); } |
|
|
|
|
} |
|
|
|
|
@ -405,7 +405,7 @@ namespace Breeze |
|
|
|
|
//________________________________________________________________
|
|
|
|
|
void Decoration::recalculateBorders() |
|
|
|
|
{ |
|
|
|
|
auto c = client().data(); |
|
|
|
|
const auto c = client().toStrongRef(); |
|
|
|
|
auto s = settings(); |
|
|
|
|
|
|
|
|
|
// left, right and bottom borders
|
|
|
|
|
|