X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f8302197daca5667aa3d4963528ce09e344eb27f..51e6281fe8c5ef2912a2400a7e5e95a4e721451d:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index c38cc5ea3..63feb996e 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -52,10 +52,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include @@ -77,6 +77,7 @@ DolphinMainWindow::DolphinMainWindow(int id) : KXmlGuiWindow(0), m_newMenu(0), + m_showMenuBar(0), m_splitter(0), m_activeViewContainer(0), m_id(id) @@ -209,15 +210,18 @@ void DolphinMainWindow::dropUrls(const KUrl::List& urls, switch (action) { case Qt::MoveAction: - moveUrls(urls, destination); + KonqOperations::copy(this, KonqOperations::MOVE, urls, destination); + m_undoCommandTypes.append(KonqFileUndoManager::MOVE); break; case Qt::CopyAction: - copyUrls(urls, destination); + KonqOperations::copy(this, KonqOperations::COPY, urls, destination); + m_undoCommandTypes.append(KonqFileUndoManager::COPY); break; case Qt::LinkAction: - linkUrls(urls, destination); + KonqOperations::copy(this, KonqOperations::LINK, urls, destination); + m_undoCommandTypes.append(KonqFileUndoManager::LINK); break; default: @@ -488,28 +492,20 @@ void DolphinMainWindow::rename() void DolphinMainWindow::moveToTrash() { clearStatusBar(); - const KUrl::List selectedUrls = m_activeViewContainer->view()->selectedUrls(); - KonqOperations::del(this, KonqOperations::TRASH, selectedUrls); - m_undoCommandTypes.append(KonqFileUndoManager::TRASH); + + DolphinView* view = m_activeViewContainer->view(); + + if (QApplication::keyboardModifiers() & Qt::ShiftModifier) { + view->deleteSelectedItems(); + } else { + view->trashSelectedItems(); + } } void DolphinMainWindow::deleteItems() { clearStatusBar(); - - const KUrl::List list = m_activeViewContainer->view()->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(slotHandleJobError(KJob*))); - connect(job, SIGNAL(result(KJob*)), - this, SLOT(slotDeleteFileFinished(KJob*))); - } + m_activeViewContainer->view()->deleteSelectedItems(); } void DolphinMainWindow::properties() @@ -533,24 +529,6 @@ void DolphinMainWindow::slotHandlePlacesError(const QString &message) } } -void DolphinMainWindow::slotHandleJobError(KJob* job) -{ - if (job->error() != 0) { - DolphinStatusBar* statusBar = m_activeViewContainer->statusBar(); - statusBar->setMessage(job->errorString(), - DolphinStatusBar::Error); - } -} - -void DolphinMainWindow::slotDeleteFileFinished(KJob* job) -{ - if (job->error() == 0) { - DolphinStatusBar* statusBar = m_activeViewContainer->statusBar(); - statusBar->setMessage(i18nc("@info:status", "Delete operation completed."), - DolphinStatusBar::OperationCompleted); - } -} - void DolphinMainWindow::slotUndoAvailable(bool available) { QAction* undoAction = actionCollection()->action(KStandardAction::stdName(KStandardAction::Undo)); @@ -943,6 +921,12 @@ void DolphinMainWindow::compareFiles() } +void DolphinMainWindow::toggleShowMenuBar() +{ + const bool visible = menuBar()->isVisible(); + menuBar()->setVisible(!visible); +} + void DolphinMainWindow::editSettings() { DolphinSettingsDialog dialog(this); @@ -1047,21 +1031,13 @@ void DolphinMainWindow::setupActions() newWindow->setShortcut(Qt::CTRL | Qt::Key_N); connect(newWindow, SIGNAL(triggered()), this, SLOT(openNewMainWindow())); - KAction* rename = actionCollection()->addAction("rename"); - rename->setText(i18nc("@action:inmenu File", "Rename...")); - rename->setShortcut(Qt::Key_F2); + KAction* rename = DolphinView::createRenameAction(actionCollection()); connect(rename, SIGNAL(triggered()), this, SLOT(rename())); - KAction* moveToTrash = actionCollection()->addAction("move_to_trash"); - moveToTrash->setText(i18nc("@action:inmenu File", "Move to Trash")); - moveToTrash->setIcon(KIcon("user-trash")); - moveToTrash->setShortcut(QKeySequence::Delete); + KAction* moveToTrash = DolphinView::createMoveToTrashAction(actionCollection()); connect(moveToTrash, SIGNAL(triggered()), this, SLOT(moveToTrash())); - KAction* deleteAction = actionCollection()->addAction("delete"); - deleteAction->setText(i18nc("@action:inmenu File", "Delete")); - deleteAction->setShortcut(Qt::SHIFT | Qt::Key_Delete); - deleteAction->setIcon(KIcon("edit-delete")); + KAction* deleteAction = DolphinView::createDeleteAction(actionCollection()); connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteItems())); KAction* properties = actionCollection()->addAction("properties"); @@ -1278,6 +1254,7 @@ void DolphinMainWindow::setupActions() connect(compareFiles, SIGNAL(triggered()), this, SLOT(compareFiles())); // setup 'Settings' menu + m_showMenuBar = KStandardAction::showMenubar(this, SLOT(toggleShowMenuBar()), actionCollection()); KStandardAction::preferences(this, SLOT(editSettings()), actionCollection()); } @@ -1463,24 +1440,6 @@ void DolphinMainWindow::updateGoActions() goUpAction->setEnabled(currentUrl.upUrl() != currentUrl); } -void DolphinMainWindow::copyUrls(const KUrl::List& source, const KUrl& dest) -{ - KonqOperations::copy(this, KonqOperations::COPY, source, dest); - m_undoCommandTypes.append(KonqFileUndoManager::COPY); -} - -void DolphinMainWindow::moveUrls(const KUrl::List& source, const KUrl& dest) -{ - KonqOperations::copy(this, KonqOperations::MOVE, source, dest); - m_undoCommandTypes.append(KonqFileUndoManager::MOVE); -} - -void DolphinMainWindow::linkUrls(const KUrl::List& source, const KUrl& dest) -{ - KonqOperations::copy(this, KonqOperations::LINK, source, dest); - m_undoCommandTypes.append(KonqFileUndoManager::LINK); -} - void DolphinMainWindow::clearStatusBar() { m_activeViewContainer->statusBar()->clear();