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,
|
0002-Check-scrollbar-policy-before-forwarding-events.patch,
|
||||||
0004-check-widget-validity-before-calling-deleteLater.patch and
|
0004-check-widget-validity-before-calling-deleteLater.patch and
|
||||||
0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch
|
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
|
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: http://download.kde.org/stable/plasma/%{version}/%{name}-%{version}.tar.xz
|
||||||
Source: %{name}-%{version}.tar.xz
|
Source: %{name}-%{version}.tar.xz
|
||||||
Source99: %{name}-rpmlintrc
|
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
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -104,6 +112,10 @@ This package provides Breeze KWin decoration.
|
|||||||
%lang_package -n breeze5-style
|
%lang_package -n breeze5-style
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake_kf5 -d build -- -DBUILD_po=OFF -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
|
%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,
|
0002-Check-scrollbar-policy-before-forwarding-events.patch,
|
||||||
0004-check-widget-validity-before-calling-deleteLater.patch and
|
0004-check-widget-validity-before-calling-deleteLater.patch and
|
||||||
0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch
|
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
|
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
|
Url: http://www.kde.org
|
||||||
#Source: http://download.kde.org/stable/plasma/%{version}/breeze-%{version}.tar.xz
|
#Source: http://download.kde.org/stable/plasma/%{version}/breeze-%{version}.tar.xz
|
||||||
Source: 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
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -39,6 +47,10 @@ This package contains kde4 backport of new default Plasma 5 style.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n breeze-%{version}
|
%setup -q -n breeze-%{version}
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake_kde4 -d build -- -DBUILD_po=OFF -DUSE_KDE4=ON
|
%cmake_kde4 -d build -- -DBUILD_po=OFF -DUSE_KDE4=ON
|
||||||
|
Loading…
Reference in New Issue
Block a user