From 466856ca79e64df2f62813f372fb660a1f2960f4 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 13 Dec 2023 21:31:37 +0100 Subject: [PATCH] ShortCutManager: Avoid using sender() Change-Id: Ibe0c2835463e1397b960526383afed73df50b62a Reviewed-by: Qt CI Patch Build Bot Reviewed-by: Tim Jenssen --- src/plugins/qmldesigner/shortcutmanager.cpp | 34 ++++++++------------- src/plugins/qmldesigner/shortcutmanager.h | 2 -- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/plugins/qmldesigner/shortcutmanager.cpp b/src/plugins/qmldesigner/shortcutmanager.cpp index 157989ed200..e4eeb476225 100644 --- a/src/plugins/qmldesigner/shortcutmanager.cpp +++ b/src/plugins/qmldesigner/shortcutmanager.cpp @@ -330,16 +330,24 @@ void ShortCutManager::selectAll() void ShortCutManager::connectUndoActions(DesignDocument *designDocument) { if (designDocument) { - connect(designDocument, &DesignDocument::undoAvailable, this, &ShortCutManager::undoAvailable); - connect(designDocument, &DesignDocument::redoAvailable, this, &ShortCutManager::redoAvailable); + connect(designDocument, &DesignDocument::undoAvailable, this, + [this, designDocument](bool isAvailable) { + if (currentDesignDocument() == designDocument) + m_undoAction.setEnabled(isAvailable); + }); + connect(designDocument, &DesignDocument::redoAvailable, this, + [this, designDocument](bool isAvailable) { + if (currentDesignDocument() == designDocument) + m_redoAction.setEnabled(isAvailable); + }); } } void ShortCutManager::disconnectUndoActions(DesignDocument *designDocument) { if (designDocument) { - disconnect(designDocument, &DesignDocument::undoAvailable, this, &ShortCutManager::undoAvailable); - disconnect(designDocument, &DesignDocument::redoAvailable, this, &ShortCutManager::redoAvailable); + disconnect(designDocument, &DesignDocument::undoAvailable, this, nullptr); + disconnect(designDocument, &DesignDocument::redoAvailable, this, nullptr); } } @@ -354,24 +362,6 @@ void ShortCutManager::updateUndoActions(DesignDocument *designDocument) } } -void ShortCutManager::undoAvailable(bool isAvailable) -{ - auto documentController = qobject_cast(sender()); - if (currentDesignDocument() && - currentDesignDocument() == documentController) { - m_undoAction.setEnabled(isAvailable); - } -} - -void ShortCutManager::redoAvailable(bool isAvailable) -{ - auto documentController = qobject_cast(sender()); - if (currentDesignDocument() && - currentDesignDocument() == documentController) { - m_redoAction.setEnabled(isAvailable); - } -} - void ShortCutManager::goIntoComponent() { if (currentDesignDocument() diff --git a/src/plugins/qmldesigner/shortcutmanager.h b/src/plugins/qmldesigner/shortcutmanager.h index ee2c12e212a..70b019217ca 100644 --- a/src/plugins/qmldesigner/shortcutmanager.h +++ b/src/plugins/qmldesigner/shortcutmanager.h @@ -41,8 +41,6 @@ private: void duplicateSelected(); void paste(); void selectAll(); - void undoAvailable(bool isAvailable); - void redoAvailable(bool isAvailable); void goIntoComponent(); private: