This prevents that the new widths are written to disk multiple times in
quick succession, which can make column resizing quite slow.
BUG: 351846
REVIEW: 351846
FIXED-IN: 15.08.1
connect(m_headerWidget, &KItemListHeaderWidget::columnWidthChanged,
this, &KItemListHeader::columnWidthChanged);
connect(m_headerWidget, &KItemListHeaderWidget::columnWidthChanged,
this, &KItemListHeader::columnWidthChanged);
+ connect(m_headerWidget, &KItemListHeaderWidget::columnWidthChangeFinished,
+ this, &KItemListHeader::columnWidthChangeFinished);
qreal currentWidth,
qreal previousWidth);
qreal currentWidth,
qreal previousWidth);
+ /**
+ * Is emitted if the user has released the mouse button after adjusting the
+ * width of a visible role.
+ */
+ void columnWidthChangeFinished(const QByteArray& role,
+ qreal currentWidth);
+
private:
KItemListHeader(KItemListView* listView);
private:
KItemListHeader(KItemListView* listView);
+ case ResizeRoleOperation: {
+ const QByteArray pressedRole = m_columns[m_pressedRoleIndex];
+ const qreal currentWidth = m_columnWidths.value(pressedRole);
+ emit columnWidthChangeFinished(pressedRole, currentWidth);
+ break;
+ }
+
case MoveRoleOperation:
m_movingRole.pixmap = QPixmap();
m_movingRole.x = 0;
case MoveRoleOperation:
m_movingRole.pixmap = QPixmap();
m_movingRole.x = 0;
qreal currentWidth = columnWidth(role);
emit columnWidthChanged(role, currentWidth, previousWidth);
qreal currentWidth = columnWidth(role);
emit columnWidthChanged(role, currentWidth, previousWidth);
+ emit columnWidthChangeFinished(role, currentWidth);
qreal currentWidth,
qreal previousWidth);
qreal currentWidth,
qreal previousWidth);
+ /**
+ * Is emitted if the user has released the mouse button after adjusting the
+ * width of a visible role.
+ */
+ void columnWidthChangeFinished(const QByteArray& role,
+ qreal currentWidth);
+
/**
* Is emitted if the position of the column has been changed.
*/
/**
* Is emitted if the position of the column has been changed.
*/
this, &DolphinView::slotVisibleRolesChangedByHeader);
connect(m_view, &DolphinItemListView::roleEditingCanceled,
this, &DolphinView::slotRoleEditingCanceled);
this, &DolphinView::slotVisibleRolesChangedByHeader);
connect(m_view, &DolphinItemListView::roleEditingCanceled,
this, &DolphinView::slotRoleEditingCanceled);
- connect(m_view->header(), &KItemListHeader::columnWidthChanged,
- this, &DolphinView::slotHeaderColumnWidthChanged);
+ connect(m_view->header(), &KItemListHeader::columnWidthChangeFinished,
+ this, &DolphinView::slotHeaderColumnWidthChangeFinished);
KItemListSelectionManager* selectionManager = controller->selectionManager();
connect(selectionManager, &KItemListSelectionManager::selectionChanged,
KItemListSelectionManager* selectionManager = controller->selectionManager();
connect(selectionManager, &KItemListSelectionManager::selectionChanged,
-void DolphinView::slotHeaderColumnWidthChanged(const QByteArray& role, qreal current, qreal previous)
+void DolphinView::slotHeaderColumnWidthChangeFinished(const QByteArray& role, qreal current)
const QList<QByteArray> visibleRoles = m_view->visibleRoles();
ViewProperties props(viewPropertiesUrl());
const QList<QByteArray> visibleRoles = m_view->visibleRoles();
ViewProperties props(viewPropertiesUrl());
void slotItemContextMenuRequested(int index, const QPointF& pos);
void slotViewContextMenuRequested(const QPointF& pos);
void slotHeaderContextMenuRequested(const QPointF& pos);
void slotItemContextMenuRequested(int index, const QPointF& pos);
void slotViewContextMenuRequested(const QPointF& pos);
void slotHeaderContextMenuRequested(const QPointF& pos);
- void slotHeaderColumnWidthChanged(const QByteArray& role, qreal current, qreal previous);
+ void slotHeaderColumnWidthChangeFinished(const QByteArray& role, qreal current);
void slotItemHovered(int index);
void slotItemUnhovered(int index);
void slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event);
void slotItemHovered(int index);
void slotItemUnhovered(int index);
void slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event);