┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinview.cpp
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2009-11-25 08:46:04 +0000
committerFrank Reininghaus <[email protected]>2009-11-25 08:46:04 +0000
commitab39a5952001cdb3d1b9ca693da7f8e246558fb8 (patch)
treea19f20c2fc6f478de371c694e9fdd98c4e201cee /src/dolphinview.cpp
parenta6a253667e20c551fba128cc68891f52470da524 (diff)
Restore the "Edit->Selection" menu from Konqueror 3 for file
management. It includes the actions "Select All" and "Select Items Matching a Pattern". This feature will be in KDE 4.4. FEATURE: 197536 svn path=/trunk/KDE/kdebase/apps/; revision=1053976
Diffstat (limited to 'src/dolphinview.cpp')
-rw-r--r--src/dolphinview.cpp71
1 files changed, 38 insertions, 33 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index b805543fd..e057c950a 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -285,45 +285,12 @@ bool DolphinView::supportsCategorizedSorting() const
return m_viewAccessor.supportsCategorizedSorting();
}
-void DolphinView::selectAll()
-{
- QAbstractItemView* view = m_viewAccessor.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()
-{
- QItemSelectionModel* selectionModel = m_viewAccessor.itemView()->selectionModel();
- const QAbstractItemModel* itemModel = selectionModel->model();
-
- const QModelIndex topLeft = itemModel->index(0, 0);
- const QModelIndex bottomRight = itemModel->index(itemModel->rowCount() - 1,
- itemModel->columnCount() - 1);
-
- const QItemSelection selection(topLeft, bottomRight);
- selectionModel->select(selection, QItemSelectionModel::Toggle);
-}
-
bool DolphinView::hasSelection() const
{
const QAbstractItemView* view = m_viewAccessor.itemView();
return view && view->selectionModel()->hasSelection();
}
-void DolphinView::clearSelection()
-{
- QItemSelectionModel* selModel = m_viewAccessor.itemView()->selectionModel();
- const QModelIndex currentIndex = selModel->currentIndex();
- selModel->setCurrentIndex(currentIndex, QItemSelectionModel::Current |
- QItemSelectionModel::Clear);
- m_selectedItems.clear();
-}
-
KFileItemList DolphinView::selectedItems() const
{
const QAbstractItemView* view = m_viewAccessor.itemView();
@@ -361,6 +328,11 @@ int DolphinView::selectedItemsCount() const
return m_viewAccessor.itemView()->selectionModel()->selectedIndexes().count();
}
+QItemSelectionModel* DolphinView::selectionModel() const
+{
+ return m_viewAccessor.itemView()->selectionModel();
+}
+
void DolphinView::setContentsPosition(int x, int y)
{
QAbstractItemView* view = m_viewAccessor.itemView();
@@ -595,6 +567,39 @@ void DolphinView::setUrl(const KUrl& url)
updateView(url, KUrl());
}
+void DolphinView::selectAll()
+{
+ QAbstractItemView* view = m_viewAccessor.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()
+{
+ QItemSelectionModel* selectionModel = m_viewAccessor.itemView()->selectionModel();
+ const QAbstractItemModel* itemModel = selectionModel->model();
+
+ const QModelIndex topLeft = itemModel->index(0, 0);
+ const QModelIndex bottomRight = itemModel->index(itemModel->rowCount() - 1,
+ itemModel->columnCount() - 1);
+
+ const QItemSelection selection(topLeft, bottomRight);
+ selectionModel->select(selection, QItemSelectionModel::Toggle);
+}
+
+void DolphinView::clearSelection()
+{
+ QItemSelectionModel* selModel = m_viewAccessor.itemView()->selectionModel();
+ const QModelIndex currentIndex = selModel->currentIndex();
+ selModel->setCurrentIndex(currentIndex, QItemSelectionModel::Current |
+ QItemSelectionModel::Clear);
+ m_selectedItems.clear();
+}
+
void DolphinView::changeSelection(const KFileItemList& selection)
{
clearSelection();