-void DolphinView::renameSelectedItems()
-{
- const KFileItemList items = selectedItems();
- if (items.count() > 1) {
- // More than one item has been selected for renaming. Open
- // a rename dialog and rename all items afterwards.
- RenameDialog dialog(this, items);
- if (dialog.exec() == QDialog::Rejected) {
- return;
- }
-
- const QString newName = dialog.newName();
- if (newName.isEmpty()) {
- emit errorMessage(dialog.errorString());
- } else {
- // TODO: check how this can be integrated into KonqFileUndoManager/KonqOperations
- // as one operation instead of n rename operations like it is done now...
- Q_ASSERT(newName.contains('#'));
-
- // iterate through all selected items and rename them...
- int index = 1;
- foreach (KFileItem item, items) {
- const KUrl& oldUrl = item.url();
- QString number;
- number.setNum(index++);
-
- QString name = newName;
- name.replace('#', number);
-
- if (oldUrl.fileName() != name) {
- KUrl newUrl = oldUrl;
- newUrl.setFileName(name);
- KonqOperations::rename(this, oldUrl, newUrl);
- emit doingOperation(KonqFileUndoManager::RENAME);
- }
- }
- }
- } 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 {
- Q_ASSERT(items.count() == 1);
-
- RenameDialog dialog(this, items);
- if (dialog.exec() == QDialog::Rejected) {
- return;
- }
-
- const QString& newName = dialog.newName();
- if (newName.isEmpty()) {
- emit errorMessage(dialog.errorString());
- } else {
- const KUrl& oldUrl = items.first().url();
- KUrl newUrl = oldUrl;
- newUrl.setFileName(newName);
- KonqOperations::rename(this, oldUrl, newUrl);
- emit doingOperation(KonqFileUndoManager::RENAME);
- }
- }
-}
-
-void DolphinView::trashSelectedItems()
-{
- emit doingOperation(KonqFileUndoManager::TRASH);
- KonqOperations::del(this, KonqOperations::TRASH, selectedUrls());
-}
-
-void DolphinView::deleteSelectedItems()
-{
- const KUrl::List list = selectedUrls();
- const bool del = KonqOperations::askDeleteConfirmation(list,
- KonqOperations::DEL,
- KonqOperations::DEFAULT_CONFIRMATION,
- this);
-
- if (del) {
- KIO::Job* job = KIO::del(list);
- connect(job, SIGNAL(result(KJob*)),
- this, SLOT(slotDeleteFileFinished(KJob*)));
- }
-}
-
-void DolphinView::slotDeleteFileFinished(KJob* job)
-{
- if (job->error() == 0) {
- emit operationCompletedMessage(i18nc("@info:status", "Delete operation completed."));
- } else {
- emit errorMessage(job->errorString());
- }
-}
-
-void DolphinView::cutSelectedItems()
-{
- QMimeData* mimeData = new QMimeData();
- const KUrl::List kdeUrls = selectedUrls();
- const KUrl::List mostLocalUrls;
- KonqMimeData::populateMimeData(mimeData, kdeUrls, mostLocalUrls, true);
- QApplication::clipboard()->setMimeData(mimeData);
-}
-
-void DolphinView::copySelectedItems()
-{
- QMimeData* mimeData = new QMimeData();
- const KUrl::List kdeUrls = selectedUrls();
- const KUrl::List mostLocalUrls;
- KonqMimeData::populateMimeData(mimeData, kdeUrls, mostLocalUrls, false);
- QApplication::clipboard()->setMimeData(mimeData);
-}
-
-void DolphinView::paste()
-{
- QClipboard* clipboard = QApplication::clipboard();
- const QMimeData* mimeData = clipboard->mimeData();
-
- const KUrl::List sourceUrls = KUrl::List::fromMimeData(mimeData);
- if (KonqMimeData::decodeIsCutSelection(mimeData)) {
- KonqOperations::copy(this, KonqOperations::MOVE, sourceUrls, url());
- emit doingOperation(KonqFileUndoManager::MOVE);
- clipboard->clear();
- } else {
- KonqOperations::copy(this, KonqOperations::COPY, sourceUrls, url());
- emit doingOperation(KonqFileUndoManager::COPY);
- }
-}
-
-void DolphinView::setShowPreview(bool show)
-{
- if (m_showPreview == show) {
- return;
- }
-
- const KUrl viewPropsUrl = viewPropertiesUrl();
- ViewProperties props(viewPropsUrl);
- props.setShowPreview(show);
-
- m_showPreview = show;
- m_iconManager->setShowPreview(show);
- emit showPreviewChanged();
-
- loadDirectory(viewPropsUrl);
-}
-
-void DolphinView::setShowHiddenFiles(bool show)
-{
- if (m_dirLister->showingDotFiles() == show) {
- return;
- }
-
- const KUrl viewPropsUrl = viewPropertiesUrl();
- ViewProperties props(viewPropsUrl);
- props.setShowHiddenFiles(show);
-
- m_dirLister->setShowingDotFiles(show);
- emit showHiddenFilesChanged();
-
- loadDirectory(viewPropsUrl);
-}
-
-void DolphinView::setCategorizedSorting(bool categorized)
-{
- if (categorized == categorizedSorting()) {
- return;
- }
-
- // setCategorizedSorting(true) may only get invoked
- // if the view supports categorized sorting
- Q_ASSERT(!categorized || supportsCategorizedSorting());
-
- ViewProperties props(viewPropertiesUrl());
- props.setCategorizedSorting(categorized);
- props.save();
-
- m_storedCategorizedSorting = categorized;
- m_proxyModel->setCategorizedModel(categorized);
-
- emit categorizedSortingChanged();
-}
-
-QPair<bool, QString> DolphinView::pasteInfo() const
-{
- QPair<bool, QString> ret;
- QClipboard* clipboard = QApplication::clipboard();
- const QMimeData* mimeData = clipboard->mimeData();
-
- KUrl::List urls = KUrl::List::fromMimeData(mimeData);
- if (!urls.isEmpty()) {
- ret.first = true;
- if (urls.count() == 1) {
- const KFileItem item(KFileItem::Unknown, KFileItem::Unknown, urls.first(), true);
- ret.second = item.isDir() ? i18nc("@action:inmenu", "Paste One Folder") :
- i18nc("@action:inmenu", "Paste One File");
-
- } else {
- ret.second = i18ncp("@action:inmenu", "Paste One Item", "Paste %1 Items", urls.count());
- }
- } else {
- ret.first = false;
- ret.second = i18nc("@action:inmenu", "Paste");
- }
-
- return ret;
-}
-