X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/bd925ea49a7e4e7c6e652f4529dcd0c4e25fd19a..fc1503986032918ad84d420209c948b45c8bb375:/src/dolphinview.cpp
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index f5a972d37..d905e5cab 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -866,18 +866,12 @@ void DolphinView::emitContentsMoved()
void DolphinView::showHoverInformation(const KFileItem& item)
{
- if (hasSelection() || !m_active) {
- return;
- }
-
emit requestItemInfo(item);
}
void DolphinView::clearHoverInformation()
{
- if (m_active) {
- emit requestItemInfo(KFileItem());
- }
+ emit requestItemInfo(KFileItem());
}
void DolphinView::createView()
@@ -1023,14 +1017,19 @@ void DolphinView::renameSelectedItems()
}
}
}
+ } else if (DolphinSettings::instance().generalSettings()->renameInline()) {
+ Q_ASSERT(items.count() == 1);
+
+ if (isColumnViewActive()) {
+ m_columnView->editItem(items.first());
+ } else {
+ const QModelIndex dirIndex = m_dolphinModel->indexForItem(items.first());
+ const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex);
+ itemView()->edit(proxyIndex);
+ }
} else {
- // Only one item has been selected for renaming. Use the custom
- // renaming mechanism from the views.
Q_ASSERT(items.count() == 1);
- // TODO: Think about using KFileItemDelegate as soon as it supports editing.
- // Currently the RenameDialog is used, but I'm not sure whether inline renaming
- // is a benefit for the user at all -> let's wait for some input first...
RenameDialog dialog(this, items);
if (dialog.exec() == QDialog::Rejected) {
return;
@@ -1103,41 +1102,12 @@ void DolphinView::paste()
const QMimeData* mimeData = clipboard->mimeData();
const KUrl::List sourceUrls = KUrl::List::fromMimeData(mimeData);
-
- // per default the pasting is done into the current URL of the view
- KUrl destUrl = url();
-
- // check whether the pasting should be done into a selected directory
- const KUrl::List selectedUrls = this->selectedUrls();
- if (selectedUrls.count() == 1) {
- const KFileItem fileItem(S_IFDIR,
- KFileItem::Unknown,
- selectedUrls.first(),
- true);
- if (fileItem.isDir()) {
- // only one item is selected which is a directory, hence paste
- // into this directory
- destUrl = selectedUrls.first();
- if (sourceUrls.contains(destUrl)) {
- const QString text = i18nc("@info", "The folder %1 is pasted into itself. Is this intended?", fileItem.name());
- int result = KMessageBox::questionYesNo(window(),
- text,
- i18nc("@title:window", "Paste into Folder"),
- KGuiItem(i18nc("@label", "Paste"), "dialog-ok"),
- KGuiItem(i18nc("@label", "Cancel"), "dialog-cancel"));
- if (result == KMessageBox::No) {
- return;
- }
- }
- }
- }
-
if (KonqMimeData::decodeIsCutSelection(mimeData)) {
- KonqOperations::copy(this, KonqOperations::MOVE, sourceUrls, destUrl);
+ KonqOperations::copy(this, KonqOperations::MOVE, sourceUrls, url());
emit doingOperation(KonqFileUndoManager::MOVE);
clipboard->clear();
} else {
- KonqOperations::copy(this, KonqOperations::COPY, sourceUrls, destUrl);
+ KonqOperations::copy(this, KonqOperations::COPY, sourceUrls, url());
emit doingOperation(KonqFileUndoManager::COPY);
}
}
@@ -1164,19 +1134,6 @@ QPair DolphinView::pasteInfo() const
ret.second = i18nc("@action:inmenu", "Paste");
}
- if (ret.first) {
- const KFileItemList items = selectedItems();
- const uint count = items.count();
- if (count > 1) {
- // pasting should not be allowed when more than one file
- // is selected
- ret.first = false;
- } else if (count == 1) {
- // Only one file is selected. Pasting is only allowed if this
- // file is a directory.
- ret.first = items.first().isDir();
- }
- }
return ret;
}