Commit 150a0357 authored by Martin Flöser's avatar Martin Flöser

Replace delegate slots for window shortcut by std::bind expressions

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:
parent c8c15f00
......@@ -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
......@@ -1055,11 +1055,7 @@ void Workspace::clientShortcutUpdated(AbstractClient* c)
action->setProperty("componentName", QStringLiteral(KWIN_NAME));
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));
void Client::delayedSetShortcut()
bool Workspace::shortcutAvailable(const QKeySequence &cut, AbstractClient* ignore) const
if (ignore && cut == ignore->shortcut())
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment