┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChirag Anand <[email protected]>2011-09-25 01:06:33 +0530
committerChirag Anand <[email protected]>2011-09-25 01:06:33 +0530
commit172ee368c91db403ca319a87e7b82e9c0da873ff (patch)
treed3fb4e36d2bb57c315a057f28374596cad5b8d3a /src
parent17624f0e05e73baed9f15a3ddaee32f9ca93580f (diff)
Fixed selection of directories with a trailing slash used with --select
parameter. As QHash would not match a KUrl key with it's value if the key had a trailing slash, so it would return -1, hence the file won't get selected. Changed the UpdateViewState slot to remove the trailing slash before calling the index function for the selected URL. Also modified DolphinView to use KUrl list instead of KFileItemList to maintain simplicity.
Diffstat (limited to 'src')
-rw-r--r--src/views/dolphinview.cpp24
-rw-r--r--src/views/dolphinview.h2
2 files changed, 14 insertions, 12 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index 71c67b1cf..fe45541e3 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -93,7 +93,7 @@ DolphinView::DolphinView(const KUrl& url, QWidget* parent) :
m_currentItemUrl(),
m_restoredContentsPosition(),
m_createdItemUrl(),
- m_selectedItems(),
+ m_selectedUrls(),
m_versionControlObserver(0)
{
m_topLayout = new QVBoxLayout(this);
@@ -307,10 +307,7 @@ int DolphinView::selectedItemsCount() const
void DolphinView::markUrlsAsSelected(const QList<KUrl>& urls)
{
- foreach (const KUrl& url, urls) {
- KFileItem item(KFileItem::Unknown, KFileItem::Unknown, url);
- m_selectedItems.append(item);
- }
+ m_selectedUrls = urls;
}
void DolphinView::setItemSelectionEnabled(const QRegExp& pattern, bool enabled)
@@ -409,7 +406,10 @@ void DolphinView::reload()
QByteArray viewState;
QDataStream saveStream(&viewState, QIODevice::WriteOnly);
saveState(saveStream);
- m_selectedItems= selectedItems();
+
+ const KFileItemList itemList = selectedItems();
+ m_selectedUrls.clear();
+ m_selectedUrls = itemList.urlList();
setUrl(url());
loadDirectory(url(), true);
@@ -666,7 +666,9 @@ void DolphinView::setHiddenFilesShown(bool show)
return;
}
- m_selectedItems = selectedItems();
+ const KFileItemList itemList = selectedItems();
+ m_selectedUrls.clear();
+ m_selectedUrls = itemList.urlList();
ViewProperties props(url());
props.setHiddenFilesShown(show);
@@ -1020,20 +1022,20 @@ void DolphinView::updateViewState()
m_container->verticalScrollBar()->setValue(y);
}
- if (!m_selectedItems.isEmpty()) {
+ if (!m_selectedUrls.isEmpty()) {
KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager();
QSet<int> selectedItems = selectionManager->selectedItems();
const KFileItemModel* model = fileItemModel();
- foreach (const KFileItem& selectedItem, m_selectedItems) {
- const int index = model->index(selectedItem);
+ foreach (const KUrl& url, m_selectedUrls) {
+ const int index = model->index(url);
if (index >= 0) {
selectedItems.insert(index);
}
}
selectionManager->setSelectedItems(selectedItems);
- m_selectedItems.clear();
+ m_selectedUrls.clear();
}
}
diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h
index 74cec7dcc..da74011a7 100644
--- a/src/views/dolphinview.h
+++ b/src/views/dolphinview.h
@@ -766,7 +766,7 @@ private:
KUrl m_currentItemUrl;
QPoint m_restoredContentsPosition;
KUrl m_createdItemUrl; // URL for a new item that got created by the "Create New..." menu
- KFileItemList m_selectedItems; // this is used for making the View to remember selections after F5
+ QList<KUrl> m_selectedUrls; // this is used for making the View to remember selections after F5
VersionControlObserver* m_versionControlObserver;