┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2010-02-22 18:22:12 +0000
committerFrank Reininghaus <[email protected]>2010-02-22 18:22:12 +0000
commita9702ad0cc47bcc3adeccba449d67d387209c97d (patch)
treeaac7f7baab791994392698a31420e5ff301ee3d0
parent642062284c7e3b90ef3c8296c901b04cc0d7aa28 (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
-rw-r--r--src/dolphindetailsview.cpp16
-rw-r--r--src/dolphindetailsview.h5
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;