From 48a68851fcec74f8ac5eefb9ab8155e78fd7c70e Mon Sep 17 00:00:00 2001 From: Alexander Akulich Date: Thu, 8 Mar 2018 02:04:34 +0300 Subject: [PATCH] ProjectTree: Select only (complete) file basename on rename Change-Id: I29effc5f61fbaa214d7a1a01d92de5d5a726cec4 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/projecttreewidget.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index 9ce74310517..961b9fa8949 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -54,6 +54,7 @@ #include #include #include +#include #include #include @@ -416,6 +417,18 @@ void ProjectTreeWidget::editCurrentItem() return; m_view->edit(currentIndex); + // Select complete file basename for renaming + const Node *node = m_model->nodeForIndex(currentIndex); + if (!node || node->nodeType() != NodeType::File) + return; + QLineEdit *editor = qobject_cast(m_view->indexWidget(currentIndex)); + if (!editor) + return; + + const QString text = editor->text(); + const int dotIndex = text.lastIndexOf(QLatin1Char('.')); + if (dotIndex > 0) + editor->setSelection(0, dotIndex); } void ProjectTreeWidget::renamed(const FileName &oldPath, const FileName &newPath)