diff options
| author | Frank Reininghaus <[email protected]> | 2010-02-22 18:22:12 +0000 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2010-02-22 18:22:12 +0000 |
| commit | a9702ad0cc47bcc3adeccba449d67d387209c97d (patch) | |
| tree | aac7f7baab791994392698a31420e5ff301ee3d0 /src | |
| parent | 642062284c7e3b90ef3c8296c901b04cc0d7aa28 (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphindetailsview.cpp | 16 | ||||
| -rw-r--r-- | src/dolphindetailsview.h | 5 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 8292db8aa..80e90d670 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -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(), diff --git a/src/dolphindetailsview.h b/src/dolphindetailsview.h index ddf47bfc3..47af2f55d 100644 --- a/src/dolphindetailsview.h +++ b/src/dolphindetailsview.h @@ -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; |
