Hrvoje Senjan 2015-12-12 20:10:21 +00:00 committed by Git OBS Bridge
parent 3e668167e4
commit bb10ac1f5e
7 changed files with 240 additions and 0 deletions

View File

@ -0,0 +1,54 @@
From 76cb47f1279ea012a9eda11c4ead7f28db4c1399 Mon Sep 17 00:00:00 2001
From: Anthony Fieroni <bvbfan@abv.bg>
Date: Tue, 1 Dec 2015 09:27:15 +0000
Subject: [PATCH 1/9] Forward mouse enter and leave events on feathered edges
REVIEW: 126175
BUG: 354651
---
shell/panelview.cpp | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/shell/panelview.cpp b/shell/panelview.cpp
index 34075013b22995d81c98d933db596dff520bd812..28faac44350ccc0ab6a4246045795ba99c7a6ea8 100644
--- a/shell/panelview.cpp
+++ b/shell/panelview.cpp
@@ -748,6 +748,7 @@ bool PanelView::event(QEvent *e)
* on the mouse edge, forward the click in the containment boundaries
*/
switch (e->type()) {
+ case QEvent::Enter:
case QEvent::MouseMove:
case QEvent::MouseButtonPress:
case QEvent::MouseButtonRelease: {
@@ -755,8 +756,25 @@ bool PanelView::event(QEvent *e)
//first, don't mess with position if the cursor is actually outside the view:
//somebody is doing a click and drag that must not break when the cursor i outside
- if (geometry().contains(me->screenPos().toPoint()) && !containmentContainsPosition(me->windowPos())) {
- auto me2 = new QMouseEvent(me->type(),
+ if (geometry().contains(me->screenPos().toPoint())) {
+ if (!containmentContainsPosition(me->windowPos())) {
+ auto me2 = new QMouseEvent(me->type(),
+ positionAdjustedForContainment(me->windowPos()),
+ positionAdjustedForContainment(me->windowPos()),
+ positionAdjustedForContainment(me->windowPos()) + position(),
+ me->button(), me->buttons(), me->modifiers());
+
+ QCoreApplication::postEvent(this, me2);
+ return true;
+ }
+ }
+ break;
+ }
+ case QEvent::Leave: {
+ QMouseEvent *me = static_cast<QMouseEvent *>(e);
+ // don't forget to trigger QEvent::Leave if current mouse position is outside the panel
+ if (!geometry().contains(me->screenPos().toPoint())) {
+ auto me2 = new QMouseEvent(QEvent::Leave,
positionAdjustedForContainment(me->windowPos()),
positionAdjustedForContainment(me->windowPos()),
positionAdjustedForContainment(me->windowPos()) + position(),
--
2.6.2

View File

@ -0,0 +1,34 @@
From 2b59ccd531dcdb7d86577cee1d987f95a9db9bf0 Mon Sep 17 00:00:00 2001
From: Martin Klapetek <mklapetek@kde.org>
Date: Wed, 9 Dec 2015 13:29:24 -0500
Subject: [PATCH 1/4] [notifications] Check if the popup is visible before
updating its geometry
This slot gets triggered also on popup hiding, which is unwanted.
Should also prevent a crash when unloading notifications applet while
there is an active popup on screen.
BUG: 356402
FIXED-IN: 5.5.1
---
applets/notifications/plugin/notificationshelper.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/applets/notifications/plugin/notificationshelper.cpp b/applets/notifications/plugin/notificationshelper.cpp
index ab002d952a358c616bb2ffefc7207da2057062a0..208dcc5de9027fea4dd02c70e597789015084bb9 100644
--- a/applets/notifications/plugin/notificationshelper.cpp
+++ b/applets/notifications/plugin/notificationshelper.cpp
@@ -130,8 +130,8 @@ void NotificationsHelper::addNotificationPopup(QObject *win)
void NotificationsHelper::onPopupShown()
{
- QObject *popup = sender();
- if (!popup) {
+ QWindow *popup = qobject_cast<QWindow*>(sender());
+ if (!popup || !popup->isVisible()) {
return;
}
--
2.6.2

View File

@ -0,0 +1,62 @@
From 5c5bbc3f8c4297cfd6862072aa33a45d947fa41b Mon Sep 17 00:00:00 2001
From: Martin Klapetek <mklapetek@kde.org>
Date: Wed, 9 Dec 2015 14:07:07 -0500
Subject: [PATCH 2/4] [notifications] Move reading globalConfig() from ctor to
init()
The globalConfig() in ctor returns a non-(yet-)existing KConfigGroup
which makes it always return the default value. So the config access
must be delayed for init().
Custom notification position is now correctly remembered.
BUG: 356419
FIXED-IN: 5.5.1
---
applets/notifications/lib/notificationsapplet.cpp | 10 +++++++---
applets/notifications/lib/notificationsapplet.h | 1 +
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/applets/notifications/lib/notificationsapplet.cpp b/applets/notifications/lib/notificationsapplet.cpp
index fdfb6578f9abeca6067db45fea9f4ec6f5857eec..33184c4fdd9d091f2ba39f354c7c9d2a66b2b48b 100644
--- a/applets/notifications/lib/notificationsapplet.cpp
+++ b/applets/notifications/lib/notificationsapplet.cpp
@@ -28,16 +28,20 @@
NotificationsApplet::NotificationsApplet(QObject *parent, const QVariantList &data)
: Plasma::Applet(parent, data)
{
- KConfigGroup globalGroup = globalConfig();
- m_popupPosition = (NotificationsHelper::PositionOnScreen)globalGroup.readEntry("popupPosition", 0); //0 is default
-
connect(this, &Plasma::Applet::locationChanged,
this, &NotificationsApplet::onAppletLocationChanged);
}
NotificationsApplet::~NotificationsApplet()
{
+}
+
+void NotificationsApplet::init()
+{
+ KConfigGroup globalGroup = globalConfig();
+ m_popupPosition = (NotificationsHelper::PositionOnScreen)globalGroup.readEntry("popupPosition", 0); //0 is default
+ Plasma::Applet::init();
}
void NotificationsApplet::onAppletLocationChanged(Plasma::Types::Location location)
diff --git a/applets/notifications/lib/notificationsapplet.h b/applets/notifications/lib/notificationsapplet.h
index bad3071a29d3a341f4b16609398443e7a9925bf9..5b262f1b4d33119b1f8032fbd26cc5dfb2ebeb36 100644
--- a/applets/notifications/lib/notificationsapplet.h
+++ b/applets/notifications/lib/notificationsapplet.h
@@ -38,6 +38,7 @@ public:
Q_INVOKABLE uint screenPosition() const;
public Q_SLOTS:
+ void init() Q_DECL_OVERRIDE;
void onScreenPositionChanged(uint position);
void onAppletLocationChanged(Plasma::Types::Location location);
--
2.6.2

View File

@ -0,0 +1,32 @@
From 6381dbd9b7a0f33dd024a98ef18a5143ba929b0e Mon Sep 17 00:00:00 2001
From: Imran Tatriev <itatriev@gmail.com>
Date: Thu, 10 Dec 2015 15:35:35 +0000
Subject: [PATCH 3/4] Make "comment" section of the timezones configuration
searchable
BUG: 354238
REVIEW: 126302
FIXED-IN: 5.5.1
---
applets/digital-clock/plugin/timezonemodel.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/applets/digital-clock/plugin/timezonemodel.cpp b/applets/digital-clock/plugin/timezonemodel.cpp
index 5d2350505e286280dd59dd7964ea1819026150e4..2fe7b16275f623908cfcfb3bffbb9185dd55011e 100644
--- a/applets/digital-clock/plugin/timezonemodel.cpp
+++ b/applets/digital-clock/plugin/timezonemodel.cpp
@@ -40,8 +40,10 @@ bool TimeZoneFilterProxy::filterAcceptsRow(int source_row, const QModelIndex &so
const QString city = sourceModel()->index(source_row, 0, source_parent).data(TimeZoneModel::CityRole).toString();
const QString region = sourceModel()->index(source_row, 0, source_parent).data(TimeZoneModel::RegionRole).toString();
+ const QString comment = sourceModel()->index(source_row, 0, source_parent).data(TimeZoneModel::CommentRole).toString();
- if (m_stringMatcher.indexIn(city) != -1 || m_stringMatcher.indexIn(region) != -1) {
+ if (m_stringMatcher.indexIn(city) != -1 || m_stringMatcher.indexIn(region) != -1 ||
+ m_stringMatcher.indexIn(comment) != -1) {
return true;
}
--
2.6.2

View File

@ -0,0 +1,42 @@
From 5d56df0d53851a8cd61344d356bcb552220dd3ed Mon Sep 17 00:00:00 2001
From: Martin Klapetek <mklapetek@kde.org>
Date: Thu, 10 Dec 2015 16:29:43 -0500
Subject: [PATCH 4/4] [notifications] Fix default notification position setting
It can happen that the onAppletLocationChanged() slot gets called before
init(), making init() reset the calculated position from the slot.
CCBUG: 356461
---
applets/notifications/lib/notificationsapplet.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/applets/notifications/lib/notificationsapplet.cpp b/applets/notifications/lib/notificationsapplet.cpp
index 33184c4fdd9d091f2ba39f354c7c9d2a66b2b48b..891cdb0a21d87cb6bf6a5ab3bcd0fddf71047d75 100644
--- a/applets/notifications/lib/notificationsapplet.cpp
+++ b/applets/notifications/lib/notificationsapplet.cpp
@@ -28,8 +28,6 @@
NotificationsApplet::NotificationsApplet(QObject *parent, const QVariantList &data)
: Plasma::Applet(parent, data)
{
- connect(this, &Plasma::Applet::locationChanged,
- this, &NotificationsApplet::onAppletLocationChanged);
}
NotificationsApplet::~NotificationsApplet()
@@ -41,7 +39,12 @@ void NotificationsApplet::init()
KConfigGroup globalGroup = globalConfig();
m_popupPosition = (NotificationsHelper::PositionOnScreen)globalGroup.readEntry("popupPosition", 0); //0 is default
+ connect(this, &Plasma::Applet::locationChanged,
+ this, &NotificationsApplet::onAppletLocationChanged);
+
Plasma::Applet::init();
+
+ onAppletLocationChanged(location());
}
void NotificationsApplet::onAppletLocationChanged(Plasma::Types::Location location)
--
2.6.2

View File

@ -6,6 +6,12 @@ Sat Dec 12 17:32:52 UTC 2015 - hrvoje.senjan@gmail.com
https://dot.kde.org/2015/12/08/plasma-55-beautiful-new-artwork https://dot.kde.org/2015/12/08/plasma-55-beautiful-new-artwork
- Move to cmake(...) BuildRequires where possible - Move to cmake(...) BuildRequires where possible
- Drop no longer needed fix-wayland-requirement.patch and rb125743.patch - Drop no longer needed fix-wayland-requirement.patch and rb125743.patch
- Added patches from upstream:
0001-notifications-Check-if-the-popup-is-visible-before-u.patch
0002-notifications-Move-reading-globalConfig-from-ctor-to.patch
0003-Make-comment-section-of-the-timezones-configuration-.patch
0004-notifications-Fix-default-notification-position-sett.patch
0001-Forward-mouse-enter-and-leave-events-on-feathered-ed.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Dec 4 12:02:33 UTC 2015 - alarrosa@suse.com Fri Dec 4 12:02:33 UTC 2015 - alarrosa@suse.com

View File

@ -34,6 +34,11 @@ Patch1: create_kdehome.patch
# PATCH-FIX_OPENSUSE fix-breeze-sddm-theme-with-many-users.patch alarrosa@suse.com -- Asks for user/password and hide the user list when there's a large number of users # PATCH-FIX_OPENSUSE fix-breeze-sddm-theme-with-many-users.patch alarrosa@suse.com -- Asks for user/password and hide the user list when there's a large number of users
Patch2: fix-breeze-sddm-theme-with-many-users.patch Patch2: fix-breeze-sddm-theme-with-many-users.patch
# PATCHES 100-200 and above are from upstream 5.5 branch # PATCHES 100-200 and above are from upstream 5.5 branch
Patch100: 0001-Forward-mouse-enter-and-leave-events-on-feathered-ed.patch
Patch101: 0001-notifications-Check-if-the-popup-is-visible-before-u.patch
Patch102: 0002-notifications-Move-reading-globalConfig-from-ctor-to.patch
Patch103: 0003-Make-comment-section-of-the-timezones-configuration-.patch
Patch104: 0004-notifications-Fix-default-notification-position-sett.patch
# PATCHES 201-300 and above are from upstream master/5.6 branch # PATCHES 201-300 and above are from upstream master/5.6 branch
BuildRequires: kf5-filesystem BuildRequires: kf5-filesystem
BuildRequires: update-desktop-files BuildRequires: update-desktop-files
@ -202,6 +207,11 @@ workspace. Development files.
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch100 -Rp1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch104 -p1
%build %build
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5 %cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5