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:
@@ -61,7 +61,6 @@ private:
|
||||
weld::TreeIter* pRet);
|
||||
|
||||
private Q_SLOTS:
|
||||
void handleActivated(const QModelIndex& rIndex);
|
||||
void handleSelectionChanged();
|
||||
};
|
||||
|
||||
|
||||
@@ -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: */
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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: */
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user