X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/609ce0929289f3e26eb1898b184c7dafbf7bcac2..c00478bbc1001d10dcfc04e9b0ea251620837e85:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 4db66cd4b..138971360 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -19,8 +19,6 @@ ***************************************************************************/ #include "dolphinview.h" -#include -#include #include #include @@ -30,6 +28,7 @@ #include #include +#include #include #include #include @@ -43,6 +42,7 @@ #include #include #include +#include #include #include "dolphindropcontroller.h" @@ -206,9 +206,6 @@ void DolphinView::setMode(Mode mode) deleteView(); - // It is important to read the view properties _after_ deleting the view, - // as e. g. the detail view might adjust the additional information properties - // after getting closed: const KUrl viewPropsUrl = viewPropertiesUrl(); ViewProperties props(viewPropsUrl); props.setViewMode(m_mode); @@ -320,7 +317,13 @@ bool DolphinView::supportsCategorizedSorting() const void DolphinView::selectAll() { - itemView()->selectAll(); + QAbstractItemView* view = itemView(); + // TODO: there seems to be a bug in QAbstractItemView::selectAll(); if + // the Ctrl-key is pressed (e. g. for Ctrl+A), selectAll() inverts the + // selection instead of selecting all items. This is bypassed for KDE 4.0 + // by invoking clearSelection() first. + view->clearSelection(); + view->selectAll(); } void DolphinView::invertSelection() @@ -992,7 +995,7 @@ KToggleAction* DolphinView::iconsModeAction(KActionCollection* actionCollection) KToggleAction* iconsView = actionCollection->add("icons"); iconsView->setText(i18nc("@action:inmenu View Mode", "Icons")); iconsView->setShortcut(Qt::CTRL | Qt::Key_1); - iconsView->setIcon(KIcon("fileview-icon")); + iconsView->setIcon(KIcon("view-list-icons")); iconsView->setData(QVariant::fromValue(IconsView)); return iconsView; } @@ -1002,7 +1005,7 @@ KToggleAction* DolphinView::detailsModeAction(KActionCollection* actionCollectio KToggleAction* detailsView = actionCollection->add("details"); detailsView->setText(i18nc("@action:inmenu View Mode", "Details")); detailsView->setShortcut(Qt::CTRL | Qt::Key_2); - detailsView->setIcon(KIcon("fileview-detailed")); + detailsView->setIcon(KIcon("view-list-details")); detailsView->setData(QVariant::fromValue(DetailsView)); return detailsView; } @@ -1012,7 +1015,7 @@ KToggleAction* DolphinView::columnsModeAction(KActionCollection* actionCollectio KToggleAction* columnView = actionCollection->add("columns"); columnView->setText(i18nc("@action:inmenu View Mode", "Columns")); columnView->setShortcut(Qt::CTRL | Qt::Key_3); - columnView->setIcon(KIcon("fileview-column")); + columnView->setIcon(KIcon("view-file-columns")); columnView->setData(QVariant::fromValue(ColumnView)); return columnView; } @@ -1203,8 +1206,8 @@ QPair DolphinView::pasteInfo() const } if (ret.first) { - const KUrl::List urls = selectedUrls(); - const uint count = urls.count(); + const KFileItemList items = selectedItems(); + const uint count = items.count(); if (count > 1) { // pasting should not be allowed when more than one file // is selected @@ -1212,13 +1215,7 @@ QPair DolphinView::pasteInfo() const } else if (count == 1) { // Only one file is selected. Pasting is only allowed if this // file is a directory. - // TODO: this doesn't work with remote protocols; instead we need a - // m_activeViewContainer->selectedFileItems() to get the real KFileItems - const KFileItem fileItem(S_IFDIR, - KFileItem::Unknown, - urls.first(), - true); - ret.first = fileItem.isDir(); + ret.first = items.first().isDir(); } } return ret; @@ -1250,4 +1247,14 @@ KAction* DolphinView::createDeleteAction(KActionCollection* collection) return deleteAction; } +KAction* DolphinView::createNewDirAction(KActionCollection* collection) +{ + // This action doesn't appear in the GUI, it's for the shortcut only. + // KNewMenu takes care of the GUI stuff. + KAction* newDirAction = collection->addAction("create_dir"); + newDirAction->setText(i18n("Create Folder...")); + newDirAction->setShortcut(Qt::Key_F10); + return newDirAction; +} + #include "dolphinview.moc"