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.
m_currentItemUrl(),
m_restoredContentsPosition(),
m_createdItemUrl(),
m_currentItemUrl(),
m_restoredContentsPosition(),
m_createdItemUrl(),
m_versionControlObserver(0)
{
m_topLayout = new QVBoxLayout(this);
m_versionControlObserver(0)
{
m_topLayout = new QVBoxLayout(this);
void DolphinView::markUrlsAsSelected(const QList<KUrl>& urls)
{
void DolphinView::markUrlsAsSelected(const QList<KUrl>& urls)
{
- foreach (const KUrl& url, urls) {
- KFileItem item(KFileItem::Unknown, KFileItem::Unknown, url);
- m_selectedItems.append(item);
- }
}
void DolphinView::setItemSelectionEnabled(const QRegExp& pattern, bool enabled)
}
void DolphinView::setItemSelectionEnabled(const QRegExp& pattern, bool enabled)
QByteArray viewState;
QDataStream saveStream(&viewState, QIODevice::WriteOnly);
saveState(saveStream);
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);
setUrl(url());
loadDirectory(url(), true);
- m_selectedItems = selectedItems();
+ const KFileItemList itemList = selectedItems();
+ m_selectedUrls.clear();
+ m_selectedUrls = itemList.urlList();
ViewProperties props(url());
props.setHiddenFilesShown(show);
ViewProperties props(url());
props.setHiddenFilesShown(show);
m_container->verticalScrollBar()->setValue(y);
}
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();
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);
if (index >= 0) {
selectedItems.insert(index);
}
}
selectionManager->setSelectedItems(selectedItems);
- m_selectedItems.clear();
+ m_selectedUrls.clear();
KUrl m_currentItemUrl;
QPoint m_restoredContentsPosition;
KUrl m_createdItemUrl; // URL for a new item that got created by the "Create New..." menu
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;
VersionControlObserver* m_versionControlObserver;