From 6f064b02399c1f738db20cc665e0226d0296c45d Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 19 Jul 2022 19:17:12 +0200 Subject: [PATCH] SideBar: Avoid using sender() Change-Id: I851455dd8447209a631234403837f785634de2b6 Reviewed-by: Eike Ziller Reviewed-by: --- src/plugins/coreplugin/sidebar.cpp | 14 +++++--------- src/plugins/coreplugin/sidebar.h | 4 ++-- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/plugins/coreplugin/sidebar.cpp b/src/plugins/coreplugin/sidebar.cpp index f8334dfda85..b741f60cd1e 100644 --- a/src/plugins/coreplugin/sidebar.cpp +++ b/src/plugins/coreplugin/sidebar.cpp @@ -198,8 +198,8 @@ Internal::SideBarWidget *SideBar::insertSideBarWidget(int position, const QStrin d->m_widgets.at(0)->setCloseIcon(Utils::Icons::CLOSE_SPLIT_BOTTOM.icon()); auto item = new Internal::SideBarWidget(this, id); - connect(item, &Internal::SideBarWidget::splitMe, this, &SideBar::splitSubWidget); - connect(item, &Internal::SideBarWidget::closeMe, this, &SideBar::closeSubWidget); + connect(item, &Internal::SideBarWidget::splitMe, this, [this, item] { splitSubWidget(item); }); + connect(item, &Internal::SideBarWidget::closeMe, this, [this, item] { closeSubWidget(item); }); connect(item, &Internal::SideBarWidget::currentWidgetChanged, this, &SideBar::updateWidgets); insertWidget(position, item); d->m_widgets.insert(position, item); @@ -219,20 +219,16 @@ void SideBar::removeSideBarWidget(Internal::SideBarWidget *widget) widget->deleteLater(); } -void SideBar::splitSubWidget() +void SideBar::splitSubWidget(Internal::SideBarWidget *widget) { - auto original = qobject_cast(sender()); - int pos = indexOf(original) + 1; + int pos = indexOf(widget) + 1; insertSideBarWidget(pos); updateWidgets(); } -void SideBar::closeSubWidget() +void SideBar::closeSubWidget(Internal::SideBarWidget *widget) { if (d->m_widgets.count() != 1) { - auto widget = qobject_cast(sender()); - if (!widget) - return; removeSideBarWidget(widget); // update close button of top item if (d->m_widgets.size() == 1) diff --git a/src/plugins/coreplugin/sidebar.h b/src/plugins/coreplugin/sidebar.h index b2fe7a96581..91b9f14530f 100644 --- a/src/plugins/coreplugin/sidebar.h +++ b/src/plugins/coreplugin/sidebar.h @@ -113,8 +113,8 @@ signals: void availableItemsChanged(); private: - void splitSubWidget(); - void closeSubWidget(); + void splitSubWidget(Internal::SideBarWidget *widget); + void closeSubWidget(Internal::SideBarWidget *widget); void updateWidgets(); Internal::SideBarWidget *insertSideBarWidget(int position,