mirror of
https://invent.kde.org/system/dolphin
synced 2024-11-05 18:47:12 +00:00
Use the full width of the "Name" column of the Details View for
renaming items inline. BUG: 226666 svn path=/trunk/KDE/kdebase/apps/; revision=1094416
This commit is contained in:
parent
642062284c
commit
a9702ad0cc
2 changed files with 21 additions and 0 deletions
|
@ -454,6 +454,10 @@ void DolphinDetailsView::currentChanged(const QModelIndex& current, const QModel
|
|||
if (m_keyPressed) {
|
||||
setCurrentIndex(current);
|
||||
}
|
||||
|
||||
// If folders are expanded, the width which is available for editing may have changed
|
||||
// because it depends on the level of the current item in the folder hierarchy.
|
||||
adjustMaximumSizeForEditing(current);
|
||||
}
|
||||
|
||||
bool DolphinDetailsView::eventFilter(QObject* watched, QEvent* event)
|
||||
|
@ -681,6 +685,8 @@ void DolphinDetailsView::slotHeaderSectionResized(int logicalIndex, int oldSize,
|
|||
if ((QApplication::mouseButtons() & Qt::LeftButton) && header()->underMouse()) {
|
||||
disableAutoResizing();
|
||||
}
|
||||
|
||||
adjustMaximumSizeForEditing(currentIndex());
|
||||
}
|
||||
|
||||
void DolphinDetailsView::slotActivationChanged(bool active)
|
||||
|
@ -914,6 +920,10 @@ void DolphinDetailsView::setFoldersExpandable(bool expandable)
|
|||
settings->setExpandableFolders(expandable);
|
||||
setRootIsDecorated(expandable);
|
||||
setItemsExpandable(expandable);
|
||||
|
||||
// The width of the space which is available for editing has changed
|
||||
// because of the (dis)appearance of the expanding toggles
|
||||
adjustMaximumSizeForEditing(currentIndex());
|
||||
}
|
||||
|
||||
void DolphinDetailsView::slotExpanded(const QModelIndex& index)
|
||||
|
@ -1062,6 +1072,12 @@ bool DolphinDetailsView::isAboveExpandingToggle(const QPoint& pos) const
|
|||
return false;
|
||||
}
|
||||
|
||||
void DolphinDetailsView::adjustMaximumSizeForEditing(const QModelIndex& index)
|
||||
{
|
||||
// Make sure that the full width of the "Name" column is available for "Rename Inline"
|
||||
m_extensionsFactory->fileItemDelegate()->setMaximumSize(QTreeView::visualRect(index).size());
|
||||
}
|
||||
|
||||
DolphinDetailsView::ElasticBand::ElasticBand() :
|
||||
show(false),
|
||||
origin(),
|
||||
|
|
|
@ -214,6 +214,11 @@ private:
|
|||
*/
|
||||
bool isAboveExpandingToggle(const QPoint& pos) const;
|
||||
|
||||
/**
|
||||
* Sets the maximum size available for editing in the delegate.
|
||||
*/
|
||||
void adjustMaximumSizeForEditing(const QModelIndex& index);
|
||||
|
||||
private:
|
||||
bool m_autoResize : 1; // if true, the columns are resized automatically to the available width
|
||||
bool m_expandingTogglePressed : 1;
|
||||
|
|
Loading…
Reference in a new issue