diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp index 13093fff69..6e3a7678f6 100644 --- a/src/panels/folders/folderspanel.cpp +++ b/src/panels/folders/folderspanel.cpp @@ -24,6 +24,7 @@ #include "treeviewcontextmenu.h" #include "foldersitemlistwidget.h" +#include #include #include #include @@ -90,8 +91,16 @@ bool FoldersPanel::autoScrolling() const void FoldersPanel::rename(const KFileItem& item) { - const int index = m_model->index(item); - m_controller->view()->editRole(index, "text"); + if (GeneralSettings::renameInline()) { + const int index = m_model->index(item); + m_controller->view()->editRole(index, "text"); + } else { + RenameDialog* dialog = new RenameDialog(this, KFileItemList() << item); + dialog->setAttribute(Qt::WA_DeleteOnClose); + dialog->show(); + dialog->raise(); + dialog->activateWindow(); + } } bool FoldersPanel::urlChanged() diff --git a/src/settings/general/behaviorsettingspage.cpp b/src/settings/general/behaviorsettingspage.cpp index 1ade93c8e6..cbbde1d7cf 100644 --- a/src/settings/general/behaviorsettingspage.cpp +++ b/src/settings/general/behaviorsettingspage.cpp @@ -42,7 +42,8 @@ BehaviorSettingsPage::BehaviorSettingsPage(const KUrl& url, QWidget* parent) : m_globalViewProps(0), m_showToolTips(0), m_showSelectionToggle(0), - m_naturalSorting(0) + m_naturalSorting(0), + m_renameInline(0) { QVBoxLayout* topLayout = new QVBoxLayout(this); @@ -66,10 +67,14 @@ BehaviorSettingsPage::BehaviorSettingsPage(const KUrl& url, QWidget* parent) : // 'Natural sorting of items' m_naturalSorting = new QCheckBox(i18nc("option:check", "Natural sorting of items"), this); + // 'Inline renaming of items' + m_renameInline = new QCheckBox(i18nc("option:check", "Rename inline"), this); + topLayout->addWidget(viewPropsBox); topLayout->addWidget(m_showToolTips); topLayout->addWidget(m_showSelectionToggle); topLayout->addWidget(m_naturalSorting); + topLayout->addWidget(m_renameInline); topLayout->addStretch(); loadSettings(); @@ -79,6 +84,7 @@ BehaviorSettingsPage::BehaviorSettingsPage(const KUrl& url, QWidget* parent) : connect(m_showToolTips, SIGNAL(toggled(bool)), this, SIGNAL(changed())); connect(m_showSelectionToggle, SIGNAL(toggled(bool)), this, SIGNAL(changed())); connect(m_naturalSorting, SIGNAL(toggled(bool)), this, SIGNAL(changed())); + connect(m_renameInline, SIGNAL(toggled(bool)), this, SIGNAL(changed())); } BehaviorSettingsPage::~BehaviorSettingsPage() @@ -95,6 +101,7 @@ void BehaviorSettingsPage::applySettings() settings->setShowToolTips(m_showToolTips->isChecked()); settings->setShowSelectionToggle(m_showSelectionToggle->isChecked()); + settings->setRenameInline(m_renameInline->isChecked()); settings->writeConfig(); if (useGlobalViewProps) { @@ -131,6 +138,7 @@ void BehaviorSettingsPage::loadSettings() m_showToolTips->setChecked(GeneralSettings::showToolTips()); m_showSelectionToggle->setChecked(GeneralSettings::showSelectionToggle()); m_naturalSorting->setChecked(KGlobalSettings::naturalSorting()); + m_renameInline->setChecked(GeneralSettings::renameInline()); } #include "behaviorsettingspage.moc" diff --git a/src/settings/general/behaviorsettingspage.h b/src/settings/general/behaviorsettingspage.h index 3989862626..7a9c2f0273 100644 --- a/src/settings/general/behaviorsettingspage.h +++ b/src/settings/general/behaviorsettingspage.h @@ -58,6 +58,7 @@ private: QLabel* m_configureToolTips; QCheckBox* m_showSelectionToggle; QCheckBox* m_naturalSorting; + QCheckBox* m_renameInline; }; #endif