tdf#130857 qt weld: Deduplicate item activation signalling logic

Now that

    Change-Id: I0281645e99492139d53f6a50403237eff8cde6a2
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Apr 9 09:33:32 2026 +0200

        weld: Deduplicate IconView/TreeView item activation signalling

moved the previously duplicated logic from the weld::IconView
and weld::TreeView base classes to the weld::ItemView
base class, also do similarly for the qt weld implementations:

Implement logic once in the QtInstanceItemView base class,
instead of having the same logic in both, QtInstanceIconView
and QtInstanceTreeView.

Change-Id: I4c0acfa7e65e2838fd727012f772ec73a312227b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203356
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
This commit is contained in:
Michael Weghorn
2026-04-10 06:32:19 +02:00
parent 84186c5cac
commit a92ca9c113
6 changed files with 10 additions and 16 deletions
-1
View File
@@ -61,7 +61,6 @@ private:
weld::TreeIter* pRet);
private Q_SLOTS:
void handleActivated(const QModelIndex& rIndex);
void handleSelectionChanged();
};
+3
View File
@@ -80,6 +80,9 @@ protected:
private:
QAbstractItemView& getItemView() const;
QItemSelectionModel& getSelectionModel() const;
private Q_SLOTS:
void handleActivated(const QModelIndex& rIndex);
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
-1
View File
@@ -186,7 +186,6 @@ private:
bool handleViewPortToolTipEvent(const QHelpEvent& rEvent);
private Q_SLOTS:
void handleActivated(const QModelIndex& rIndex);
void handleDataChanged(const QModelIndex& rTopLeft, const QModelIndex& rBottomRight,
const QVector<int>& rRoles);
void handleSelectionChanged();
-7
View File
@@ -30,7 +30,6 @@ QtInstanceIconView::QtInstanceIconView(QListView* pListView)
m_pSelectionModel = m_pListView->selectionModel();
assert(m_pSelectionModel);
connect(m_pListView, &QListView::activated, this, &QtInstanceIconView::handleActivated);
connect(m_pSelectionModel, &QItemSelectionModel::selectionChanged, this,
&QtInstanceIconView::handleSelectionChanged);
}
@@ -209,12 +208,6 @@ bool QtInstanceIconView::handleToolTipEvent(const QHelpEvent& rHelpEvent)
return true;
}
void QtInstanceIconView::handleActivated(const QModelIndex& rIndex)
{
SolarMutexGuard g;
signal_item_activated(treeIter(rIndex));
}
void QtInstanceIconView::handleSelectionChanged()
{
SolarMutexGuard g;
+7
View File
@@ -16,6 +16,7 @@ QtInstanceItemView::QtInstanceItemView(QAbstractItemView* pItemView, QAbstractIt
: QtInstanceWidget(pItemView)
, m_rModel(rModel)
{
connect(pItemView, &QAbstractItemView::activated, this, &QtInstanceItemView::handleActivated);
}
std::unique_ptr<weld::TreeIter> QtInstanceItemView::make_iterator(const weld::TreeIter* pOrig) const
@@ -268,4 +269,10 @@ void QtInstanceItemView::enableActivateOnSingleClick(const QAbstractItemView& rI
&QAbstractItemView::activated);
}
void QtInstanceItemView::handleActivated(const QModelIndex& rIndex)
{
SolarMutexGuard g;
signal_item_activated(treeIter(rIndex));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
-7
View File
@@ -39,7 +39,6 @@ QtInstanceTreeView::QtInstanceTreeView(QTreeView* pTreeView)
m_pColumnRoles = columnRoles(*pTreeView);
assert(m_pColumnRoles.size() == m_pModel->columnCount() && "column count doesn't match");
connect(m_pTreeView, &QTreeView::activated, this, &QtInstanceTreeView::handleActivated);
connect(m_pSelectionModel, &QItemSelectionModel::selectionChanged, this,
&QtInstanceTreeView::handleSelectionChanged);
connect(m_pModel, &QSortFilterProxyModel::dataChanged, this,
@@ -976,12 +975,6 @@ bool QtInstanceTreeView::handleViewPortToolTipEvent(const QHelpEvent& rHelpEvent
return true;
}
void QtInstanceTreeView::handleActivated(const QModelIndex& rIndex)
{
SolarMutexGuard g;
signal_item_activated(treeIter(rIndex));
}
void QtInstanceTreeView::handleDataChanged(const QModelIndex& rTopLeft,
const QModelIndex& rBottomRight,
const QVector<int>& rRoles)