forked from pool/breeze
This commit is contained in:
parent
2f95b9f018
commit
1d26ceaa5c
42
0001-Cleanup-code-to-align-with-master.patch
Normal file
42
0001-Cleanup-code-to-align-with-master.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From 6b0d93d316f14cf00e7b7a5f6f13c4d16ee0ce68 Mon Sep 17 00:00:00 2001
|
||||
From: Hugo Pereira Da Costa <hugo.pereira@free.fr>
|
||||
Date: Sun, 22 Mar 2015 19:52:14 +0100
|
||||
Subject: [PATCH 1/5] Cleanup code to align with master Check for
|
||||
drawBordersOnMaximizedWindows when testing edges flags. BUG: 345424
|
||||
|
||||
---
|
||||
kdecoration/breezedecoration.cpp | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp
|
||||
index 1c042861e1207c812032eb772849c88b503a3792..dc4219c161f7a2467906083cf62039d5a0645303 100644
|
||||
--- a/kdecoration/breezedecoration.cpp
|
||||
+++ b/kdecoration/breezedecoration.cpp
|
||||
@@ -278,9 +278,14 @@ namespace Breeze
|
||||
auto s = settings();
|
||||
const auto c = client().data();
|
||||
const Qt::Edges edges = c->adjacentScreenEdges();
|
||||
- int left = isMaximizedHorizontally() || edges.testFlag(Qt::LeftEdge) ? 0 : borderSize();
|
||||
- int right = isMaximizedHorizontally() || edges.testFlag(Qt::RightEdge) ? 0 : borderSize();
|
||||
|
||||
+ // left, right and bottom borders
|
||||
+ auto testFlag = [&]( Qt::Edge edge ) { return edges.testFlag(edge) && !m_internalSettings->drawBorderOnMaximizedWindows(); };
|
||||
+ const int left = isMaximizedHorizontally() || testFlag(Qt::LeftEdge) ? 0 : borderSize();
|
||||
+ const int right = isMaximizedHorizontally() || testFlag(Qt::RightEdge) ? 0 : borderSize();
|
||||
+ const int bottom = isMaximizedVertically() || c->isShaded() || testFlag(Qt::BottomEdge) ? 0 : borderSize(true);
|
||||
+
|
||||
+ // top border
|
||||
QFontMetrics fm(s->font());
|
||||
int top = qMax(fm.boundingRect(c->caption()).height(), buttonHeight() );
|
||||
|
||||
@@ -292,7 +297,6 @@ namespace Breeze
|
||||
// padding above
|
||||
top += baseSize*TitleBar_TopMargin;
|
||||
|
||||
- int bottom = isMaximizedVertically() || c->isShaded() || edges.testFlag(Qt::BottomEdge) ? 0 : borderSize(true);
|
||||
setBorders(QMargins(left, top, right, bottom));
|
||||
|
||||
// extended sizes
|
||||
--
|
||||
2.3.3
|
||||
|
@ -0,0 +1,66 @@
|
||||
From 46b78432e25a124e9b85b007723435700aec047a Mon Sep 17 00:00:00 2001
|
||||
From: Hugo Pereira Da Costa <hugo.pereira@free.fr>
|
||||
Date: Sun, 22 Mar 2015 20:22:18 +0100
|
||||
Subject: [PATCH 2/5] set button's visibility depending on the availability of
|
||||
the corresponding feature CCBUG: 343641
|
||||
|
||||
---
|
||||
kdecoration/breezebutton.cpp | 36 +++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 35 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/kdecoration/breezebutton.cpp b/kdecoration/breezebutton.cpp
|
||||
index 5ac0cfe420c6de50db30491e90dc0244666add33..1a3c0c2b0f66a2c8582798b82dee97dcc7785b12 100644
|
||||
--- a/kdecoration/breezebutton.cpp
|
||||
+++ b/kdecoration/breezebutton.cpp
|
||||
@@ -63,13 +63,47 @@ namespace Breeze
|
||||
if (auto d = qobject_cast<Decoration*>(decoration))
|
||||
{
|
||||
Button *b = new Button(type, d, parent);
|
||||
- if (type == KDecoration2::DecorationButtonType::Menu)
|
||||
+ switch( type )
|
||||
{
|
||||
+
|
||||
+ case KDecoration2::DecorationButtonType::Close:
|
||||
+ b->setVisible( d->client().data()->isCloseable() );
|
||||
+ QObject::connect(d->client().data(), &KDecoration2::DecoratedClient::closeableChanged, b, &Breeze::Button::setVisible );
|
||||
+ break;
|
||||
+
|
||||
+ case KDecoration2::DecorationButtonType::Maximize:
|
||||
+ b->setVisible( d->client().data()->isMaximizeable() );
|
||||
+ QObject::connect(d->client().data(), &KDecoration2::DecoratedClient::maximizeableChanged, b, &Breeze::Button::setVisible );
|
||||
+ break;
|
||||
+
|
||||
+ case KDecoration2::DecorationButtonType::Minimize:
|
||||
+ b->setVisible( d->client().data()->isMinimizeable() );
|
||||
+ QObject::connect(d->client().data(), &KDecoration2::DecoratedClient::minimizeableChanged, b, &Breeze::Button::setVisible );
|
||||
+ break;
|
||||
+
|
||||
+ case KDecoration2::DecorationButtonType::ContextHelp:
|
||||
+ b->setVisible( d->client().data()->providesContextHelp() );
|
||||
+ QObject::connect(d->client().data(), &KDecoration2::DecoratedClient::providesContextHelpChanged, b, &Breeze::Button::setVisible );
|
||||
+ break;
|
||||
+
|
||||
+ case KDecoration2::DecorationButtonType::Shade:
|
||||
+ b->setVisible( d->client().data()->isShadeable() );
|
||||
+ QObject::connect(d->client().data(), &KDecoration2::DecoratedClient::shadeableChanged, b, &Breeze::Button::setVisible );
|
||||
+ break;
|
||||
+
|
||||
+ case KDecoration2::DecorationButtonType::Menu:
|
||||
QObject::connect(d->client().data(), &KDecoration2::DecoratedClient::iconChanged, b, [b]() { b->update(); });
|
||||
+ break;
|
||||
+
|
||||
+ default: break;
|
||||
+
|
||||
}
|
||||
+
|
||||
return b;
|
||||
}
|
||||
+
|
||||
return nullptr;
|
||||
+
|
||||
}
|
||||
|
||||
//__________________________________________________________________
|
||||
--
|
||||
2.3.3
|
||||
|
@ -0,0 +1,87 @@
|
||||
From 695e4aa231fccbe77a6b0a4e21ff6a84f87a5c44 Mon Sep 17 00:00:00 2001
|
||||
From: Hugo Pereira Da Costa <hugo.pereira@free.fr>
|
||||
Date: Sun, 22 Mar 2015 20:39:47 +0100
|
||||
Subject: [PATCH 3/5] Properly update size grip visibility on maximizedChanged,
|
||||
shadedChanged and resizeableChanged
|
||||
|
||||
---
|
||||
kdecoration/breezedecoration.cpp | 24 +++++++++++++++++-------
|
||||
kdecoration/breezedecoration.h | 1 +
|
||||
2 files changed, 18 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp
|
||||
index dc4219c161f7a2467906083cf62039d5a0645303..08f6f7b17c4b0b7790d82630b168cedd832b6328 100644
|
||||
--- a/kdecoration/breezedecoration.cpp
|
||||
+++ b/kdecoration/breezedecoration.cpp
|
||||
@@ -165,21 +165,21 @@ namespace Breeze
|
||||
);
|
||||
|
||||
connect(client().data(), &KDecoration2::DecoratedClient::activeChanged, this, &Decoration::updateAnimationState);
|
||||
- connect(client().data(), &KDecoration2::DecoratedClient::paletteChanged, this,
|
||||
+ connect(client().data(), &KDecoration2::DecoratedClient::paletteChanged, this,
|
||||
[this]() {
|
||||
m_colorSettings.update(client().data()->palette());
|
||||
m_useSeparator = (m_colorSettings.palette().color( QPalette::Window ) != m_colorSettings.activeTitleBar() );
|
||||
update();
|
||||
}
|
||||
);
|
||||
- connect(client().data(), &KDecoration2::DecoratedClient::widthChanged, this, &Decoration::updateTitleBar);
|
||||
+ connect(client().data(), &KDecoration2::DecoratedClient::widthChanged, this, &Decoration::updateTitleBar);
|
||||
connect(client().data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::updateTitleBar);
|
||||
connect(client().data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::setOpaque);
|
||||
|
||||
- connect(client().data(), &KDecoration2::DecoratedClient::widthChanged, this, &Decoration::updateButtonsGeometry);
|
||||
+ connect(client().data(), &KDecoration2::DecoratedClient::widthChanged, this, &Decoration::updateButtonsGeometry);
|
||||
connect(client().data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::updateButtonsGeometry);
|
||||
- connect(client().data(), &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::recalculateBorders);
|
||||
- connect(client().data(), &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::updateButtonsGeometry);
|
||||
+ connect(client().data(), &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::recalculateBorders);
|
||||
+ connect(client().data(), &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::updateButtonsGeometry);
|
||||
|
||||
createButtons();
|
||||
createShadow();
|
||||
@@ -208,6 +208,14 @@ namespace Breeze
|
||||
}
|
||||
|
||||
//________________________________________________________________
|
||||
+ void Decoration::updateSizeGripVisibility()
|
||||
+ {
|
||||
+ auto c = client().data();
|
||||
+ if( m_sizeGrip )
|
||||
+ { m_sizeGrip->setVisible( c->isResizeable() && !isMaximized() && !c->isShaded() ); }
|
||||
+ }
|
||||
+
|
||||
+ //________________________________________________________________
|
||||
int Decoration::borderSize(bool bottom) const
|
||||
{
|
||||
const int baseSize = settings()->smallSpacing();
|
||||
@@ -582,10 +590,12 @@ namespace Breeze
|
||||
KDecoration2::DecoratedClient *c( client().data() );
|
||||
if( !c ) return;
|
||||
|
||||
- if( ( c->isResizeable() && c->windowId() != 0 ) )
|
||||
+ if( c->windowId() != 0 )
|
||||
{
|
||||
m_sizeGrip = new SizeGrip( this );
|
||||
- m_sizeGrip->setVisible( !( isMaximized() || c->isShaded() ) );
|
||||
+ connect( client().data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Breeze::Decoration::updateSizeGripVisibility );
|
||||
+ connect( client().data(), &KDecoration2::DecoratedClient::shadedChanged, this, &Breeze::Decoration::updateSizeGripVisibility );
|
||||
+ connect( client().data(), &KDecoration2::DecoratedClient::resizeableChanged, this, &Breeze::Decoration::updateSizeGripVisibility );
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/kdecoration/breezedecoration.h b/kdecoration/breezedecoration.h
|
||||
index ac1ab3bdc136fd3e4a1e970e86abd0fb92cb6c56..16ff8ff84636f435c7c59d0a0f4835fb509b9b57 100644
|
||||
--- a/kdecoration/breezedecoration.h
|
||||
+++ b/kdecoration/breezedecoration.h
|
||||
@@ -107,6 +107,7 @@ namespace Breeze
|
||||
void updateButtonsGeometry();
|
||||
void updateTitleBar();
|
||||
void updateAnimationState();
|
||||
+ void updateSizeGripVisibility();
|
||||
|
||||
private:
|
||||
|
||||
--
|
||||
2.3.3
|
||||
|
29
0004-Fixed-foreground-color-for-pressed-buttons.patch
Normal file
29
0004-Fixed-foreground-color-for-pressed-buttons.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 8c2940fb798150af56ee36af694a92ceb710ebf1 Mon Sep 17 00:00:00 2001
|
||||
From: Hugo Pereira Da Costa <hugo.pereira@free.fr>
|
||||
Date: Mon, 23 Mar 2015 09:12:58 +0100
|
||||
Subject: [PATCH 4/5] Fixed foreground color for pressed buttons
|
||||
|
||||
---
|
||||
kdecoration/breezebutton.cpp | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/kdecoration/breezebutton.cpp b/kdecoration/breezebutton.cpp
|
||||
index 1a3c0c2b0f66a2c8582798b82dee97dcc7785b12..591824838152532c5868c137d9268163161ac83c 100644
|
||||
--- a/kdecoration/breezebutton.cpp
|
||||
+++ b/kdecoration/breezebutton.cpp
|
||||
@@ -348,7 +348,11 @@ namespace Breeze
|
||||
|
||||
auto d = qobject_cast<Decoration*>( decoration() );
|
||||
if( !d ) return QColor();
|
||||
- if( type() == KDecoration2::DecorationButtonType::Close ) {
|
||||
+ if( isPressed() ) {
|
||||
+
|
||||
+ return d->titleBarColor();
|
||||
+
|
||||
+ } else if( type() == KDecoration2::DecorationButtonType::Close ) {
|
||||
|
||||
return d->titleBarColor();
|
||||
|
||||
--
|
||||
2.3.3
|
||||
|
@ -10,6 +10,12 @@ Thu Mar 19 17:42:27 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
0002-Check-scrollbar-policy-before-forwarding-events.patch,
|
||||
0004-check-widget-validity-before-calling-deleteLater.patch and
|
||||
0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch
|
||||
- Added patches from upstream:
|
||||
0001-Cleanup-code-to-align-with-master.patch (kde#345424),
|
||||
0002-set-button-s-visibility-depending-on-the-availabilit.patch
|
||||
(kde#343641),
|
||||
0003-Properly-update-size-grip-visibility-on-maximizedCha.patch
|
||||
and 0004-Fixed-foreground-color-for-pressed-buttons.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 16 11:53:48 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
|
12
breeze.spec
12
breeze.spec
@ -48,6 +48,14 @@ Url: http://www.kde.org
|
||||
#Source: http://download.kde.org/stable/plasma/%{version}/%{name}-%{version}.tar.xz
|
||||
Source: %{name}-%{version}.tar.xz
|
||||
Source99: %{name}-rpmlintrc
|
||||
# PATCH-FIX-UPSTREAM 0001-Cleanup-code-to-align-with-master.patch
|
||||
Patch0: 0001-Cleanup-code-to-align-with-master.patch
|
||||
# PATCH-FIX-UPSTREAM 0002-set-button-s-visibility-depending-on-the-availabilit.patch
|
||||
Patch1: 0002-set-button-s-visibility-depending-on-the-availabilit.patch
|
||||
# PATCH-FIX-UPSTREAM 0003-Properly-update-size-grip-visibility-on-maximizedCha.patch
|
||||
Patch2: 0003-Properly-update-size-grip-visibility-on-maximizedCha.patch
|
||||
# PATCH-FIX-UPSTREAM 0004-Fixed-foreground-color-for-pressed-buttons.patch
|
||||
Patch3: 0004-Fixed-foreground-color-for-pressed-buttons.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -104,6 +112,10 @@ This package provides Breeze KWin decoration.
|
||||
%lang_package -n breeze5-style
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
%build
|
||||
%cmake_kf5 -d build -- -DBUILD_po=OFF -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
|
||||
|
@ -10,6 +10,12 @@ Thu Mar 19 17:42:27 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
0002-Check-scrollbar-policy-before-forwarding-events.patch,
|
||||
0004-check-widget-validity-before-calling-deleteLater.patch and
|
||||
0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch
|
||||
- Added patches from upstream:
|
||||
0001-Cleanup-code-to-align-with-master.patch (kde#345424),
|
||||
0002-set-button-s-visibility-depending-on-the-availabilit.patch
|
||||
(kde#343641),
|
||||
0003-Properly-update-size-grip-visibility-on-maximizedCha.patch
|
||||
and 0004-Fixed-foreground-color-for-pressed-buttons.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 10 18:49:07 UTC 2015 - hrvoje.senjan@gmail.com
|
||||
|
@ -31,6 +31,14 @@ Group: System/GUI/KDE
|
||||
Url: http://www.kde.org
|
||||
#Source: http://download.kde.org/stable/plasma/%{version}/breeze-%{version}.tar.xz
|
||||
Source: breeze-%{version}.tar.xz
|
||||
# PATCH-FIX-UPSTREAM 0001-Cleanup-code-to-align-with-master.patch
|
||||
Patch0: 0001-Cleanup-code-to-align-with-master.patch
|
||||
# PATCH-FIX-UPSTREAM 0002-set-button-s-visibility-depending-on-the-availabilit.patch
|
||||
Patch1: 0002-set-button-s-visibility-depending-on-the-availabilit.patch
|
||||
# PATCH-FIX-UPSTREAM 0003-Properly-update-size-grip-visibility-on-maximizedCha.patch
|
||||
Patch2: 0003-Properly-update-size-grip-visibility-on-maximizedCha.patch
|
||||
# PATCH-FIX-UPSTREAM 0004-Fixed-foreground-color-for-pressed-buttons.patch
|
||||
Patch3: 0004-Fixed-foreground-color-for-pressed-buttons.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -39,6 +47,10 @@ This package contains kde4 backport of new default Plasma 5 style.
|
||||
|
||||
%prep
|
||||
%setup -q -n breeze-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
%build
|
||||
%cmake_kde4 -d build -- -DBUILD_po=OFF -DUSE_KDE4=ON
|
||||
|
Loading…
Reference in New Issue
Block a user