From 150a0357b4a6a7f40672af0ca27de0d7a84b98fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= Date: Thu, 20 Jul 2017 19:07:25 +0200 Subject: [PATCH] Replace delegate slots for window shortcut by std::bind expressions Summary: Client had a slot to delay a call when setting up a global shortcut for the Client. This can be simplified by using a std::bind expression. Similar the action was connected to a one line lambda which can be expressed through a std::bind expression as well. Test Plan: New added auto test still passes Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D6801 --- client.h | 3 --- useractions.cpp | 13 ++----------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/client.h b/client.h index 063a2d2dd9..1c4f6a9737 100644 --- a/client.h +++ b/client.h @@ -392,9 +392,6 @@ protected: QSize resizeIncrements() const override; bool acceptsFocus() const override; -private Q_SLOTS: - void delayedSetShortcut(); - //Signals for the scripting interface //Signals make an excellent way for communication //in between objects as compared to simple function diff --git a/useractions.cpp b/useractions.cpp index c3a0360dc4..62052baa39 100644 --- a/useractions.cpp +++ b/useractions.cpp @@ -1055,11 +1055,7 @@ void Workspace::clientShortcutUpdated(AbstractClient* c) action->setProperty("componentName", QStringLiteral(KWIN_NAME)); action->setObjectName(key); action->setText(i18n("Activate Window (%1)", c->caption())); - connect(action, &QAction::triggered, c, - [c]() { - workspace()->activateClient(c, true); - } - ); + connect(action, &QAction::triggered, c, std::bind(&Workspace::activateClient, this, c, true)); } // no autoloading, since it's configured explicitly here and is not meant to be reused @@ -1842,15 +1838,10 @@ void Client::setShortcutInternal() // Workaround for kwin<->kglobalaccel deadlock, when KWin has X grab and the kded // kglobalaccel module tries to create the key grab. KWin should preferably grab // they keys itself anyway :(. - QTimer::singleShot(0, this, SLOT(delayedSetShortcut())); + QTimer::singleShot(0, this, std::bind(&Workspace::clientShortcutUpdated, workspace(), this)); #endif } -void Client::delayedSetShortcut() -{ - workspace()->clientShortcutUpdated(this); -} - bool Workspace::shortcutAvailable(const QKeySequence &cut, AbstractClient* ignore) const { if (ignore && cut == ignore->shortcut())