DockAreaTabBar: Avoid using sender()

Remove unneeded includes.

Change-Id: Ic6c6933039aa337a16e6871a472eb8d74b5e2a63
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
This commit is contained in:
Jarek Kobus
2022-07-20 18:18:44 +02:00
parent b216b73506
commit a8b8ea3056
2 changed files with 27 additions and 43 deletions

View File

@@ -36,12 +36,8 @@
#include "dockareatabbar.h"
#include "dockareawidget.h"
#include "dockmanager.h"
#include "dockoverlay.h"
#include "dockwidget.h"
#include "dockwidgettab.h"
#include "floatingdockcontainer.h"
#include "floatingdragpreview.h"
#include <QApplication>
#include <QBoxLayout>
@@ -172,20 +168,18 @@ namespace ADS
void DockAreaTabBar::insertTab(int index, DockWidgetTab *dockWidgetTab)
{
d->m_tabsLayout->insertWidget(index, dockWidgetTab);
connect(dockWidgetTab, &DockWidgetTab::clicked, this, &DockAreaTabBar::onTabClicked);
connect(dockWidgetTab,
&DockWidgetTab::closeRequested,
this,
&DockAreaTabBar::onTabCloseRequested);
connect(dockWidgetTab,
&DockWidgetTab::closeOtherTabsRequested,
this,
&DockAreaTabBar::onCloseOtherTabsRequested);
connect(dockWidgetTab, &DockWidgetTab::moved, this, &DockAreaTabBar::onTabWidgetMoved);
connect(dockWidgetTab,
&DockWidgetTab::elidedChanged,
this,
&DockAreaTabBar::elidedChanged);
connect(dockWidgetTab, &DockWidgetTab::clicked,
this, [this, dockWidgetTab] { onTabClicked(dockWidgetTab); });
connect(dockWidgetTab, &DockWidgetTab::closeRequested,
this, [this, dockWidgetTab] { onTabCloseRequested(dockWidgetTab); });
connect(dockWidgetTab, &DockWidgetTab::closeOtherTabsRequested,
this, [this, dockWidgetTab] { onCloseOtherTabsRequested(dockWidgetTab); });
connect(dockWidgetTab, &DockWidgetTab::moved,
this, [this, dockWidgetTab](const QPoint &globalPosition) {
onTabWidgetMoved(dockWidgetTab, globalPosition);
});
connect(dockWidgetTab, &DockWidgetTab::elidedChanged,
this, &DockAreaTabBar::elidedChanged);
dockWidgetTab->installEventFilter(this);
emit tabInserted(index);
if (index <= d->m_currentIndex)
@@ -255,13 +249,9 @@ namespace ADS
d->m_tabsLayout->itemAt(d->m_currentIndex)->widget());
}
void DockAreaTabBar::onTabClicked()
void DockAreaTabBar::onTabClicked(DockWidgetTab *sourceTab)
{
DockWidgetTab *tab = qobject_cast<DockWidgetTab *>(sender());
if (!tab)
return;
int index = d->m_tabsLayout->indexOf(tab);
const int index = d->m_tabsLayout->indexOf(sourceTab);
if (index < 0)
return;
@@ -269,19 +259,17 @@ namespace ADS
emit tabBarClicked(index);
}
void DockAreaTabBar::onTabCloseRequested()
void DockAreaTabBar::onTabCloseRequested(DockWidgetTab *sourceTab)
{
DockWidgetTab *tab = qobject_cast<DockWidgetTab *>(sender());
int index = d->m_tabsLayout->indexOf(tab);
const int index = d->m_tabsLayout->indexOf(sourceTab);
closeTab(index);
}
void DockAreaTabBar::onCloseOtherTabsRequested()
void DockAreaTabBar::onCloseOtherTabsRequested(DockWidgetTab *sourceTab)
{
auto senderTab = qobject_cast<DockWidgetTab *>(sender());
for (int i = 0; i < count(); ++i) {
auto currentTab = tab(i);
if (currentTab->isClosable() && !currentTab->isHidden() && currentTab != senderTab) {
if (currentTab->isClosable() && !currentTab->isHidden() && currentTab != sourceTab) {
// If the dock widget is deleted with the closeTab() call, its tab it will no longer
// be in the layout, and thus the index needs to be updated to not skip any tabs
int offset = currentTab->dockWidget()->features().testFlag(
@@ -306,13 +294,9 @@ namespace ADS
return qobject_cast<DockWidgetTab *>(d->m_tabsLayout->itemAt(index)->widget());
}
void DockAreaTabBar::onTabWidgetMoved(const QPoint &globalPosition)
void DockAreaTabBar::onTabWidgetMoved(DockWidgetTab *sourceTab, const QPoint &globalPosition)
{
DockWidgetTab *movingTab = qobject_cast<DockWidgetTab *>(sender());
if (!movingTab)
return;
int fromIndex = d->m_tabsLayout->indexOf(movingTab);
const int fromIndex = d->m_tabsLayout->indexOf(sourceTab);
auto mousePos = mapFromGlobal(globalPosition);
mousePos.rx() = qMax(d->firstTab()->geometry().left(), mousePos.x());
mousePos.rx() = qMin(d->lastTab()->geometry().right(), mousePos.x());
@@ -320,7 +304,7 @@ namespace ADS
// Find tab under mouse
for (int i = 0; i < count(); ++i) {
DockWidgetTab *dropTab = tab(i);
if (dropTab == movingTab || !dropTab->isVisibleTo(this)
if (dropTab == sourceTab || !dropTab->isVisibleTo(this)
|| !dropTab->geometry().contains(mousePos))
continue;
@@ -332,8 +316,8 @@ namespace ADS
}
if (toIndex > -1) {
d->m_tabsLayout->removeWidget(movingTab);
d->m_tabsLayout->insertWidget(toIndex, movingTab);
d->m_tabsLayout->removeWidget(sourceTab);
d->m_tabsLayout->insertWidget(toIndex, sourceTab);
qCInfo(adsLog) << "tabMoved from" << fromIndex << "to" << toIndex;
emit tabMoved(fromIndex, toIndex);
setCurrentIndex(toIndex);

View File

@@ -65,10 +65,10 @@ private:
friend class DockAreaTabBarPrivate;
friend class DockAreaTitleBar;
void onTabClicked();
void onTabCloseRequested();
void onCloseOtherTabsRequested();
void onTabWidgetMoved(const QPoint &globalPos);
void onTabClicked(DockWidgetTab *sourceTab);
void onTabCloseRequested(DockWidgetTab *sourceTab);
void onCloseOtherTabsRequested(DockWidgetTab *sourceTab);
void onTabWidgetMoved(DockWidgetTab *sourceTab, const QPoint &globalPos);
protected:
void wheelEvent(QWheelEvent *event) override;