┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-02-12 00:06:21 +0000
committerPeter Penz <[email protected]>2008-02-12 00:06:21 +0000
commitbcb1c6b2328ff5dadf16cb4a0355ad2101780939 (patch)
tree54c6a9f3d484c3dac0660724af4dc8a4735e6c78
parent538192b8bdbc59f76cbe0092894e1c985b942f7f (diff)
don't keep a KFileItem inside the selection manager for the whole lifetime, work with the URL internally instead
svn path=/trunk/KDE/kdebase/apps/; revision=773890
-rw-r--r--src/selectionmanager.cpp15
-rw-r--r--src/selectionmanager.h4
-rw-r--r--src/selectiontoggle.cpp12
-rw-r--r--src/selectiontoggle.h8
4 files changed, 19 insertions, 20 deletions
diff --git a/src/selectionmanager.cpp b/src/selectionmanager.cpp
index 02125d7c9..fecbcbb72 100644
--- a/src/selectionmanager.cpp
+++ b/src/selectionmanager.cpp
@@ -62,7 +62,7 @@ void SelectionManager::slotEntered(const QModelIndex& index)
{
m_toggle->hide();
if (index.isValid() && (index.column() == DolphinModel::Name)) {
- m_toggle->setFileItem(itemForIndex(index));
+ m_toggle->setUrl(urlForIndex(index));
connect(m_view->model(), SIGNAL(rowsRemoved(const QModelIndex&, int, int)),
this, SLOT(slotRowsRemoved(const QModelIndex&, int, int)));
@@ -78,7 +78,7 @@ void SelectionManager::slotEntered(const QModelIndex& index)
m_toggle->setChecked(selModel->isSelected(index));
m_toggle->show();
} else {
- m_toggle->setFileItem(KFileItem());
+ m_toggle->setUrl(KUrl());
disconnect(m_view->model(), SIGNAL(rowsRemoved(const QModelIndex&, int, int)),
this, SLOT(slotRowsRemoved(const QModelIndex&, int, int)));
}
@@ -92,9 +92,8 @@ void SelectionManager::slotViewportEntered()
void SelectionManager::setItemSelected(bool selected)
{
emit selectionChanged();
- Q_ASSERT(!m_toggle->fileItem().isNull());
- const QModelIndex index = indexForItem(m_toggle->fileItem());
+ const QModelIndex index = indexForUrl(m_toggle->url());
if (index.isValid()) {
QItemSelectionModel* selModel = m_view->selectionModel();
if (selected) {
@@ -113,19 +112,19 @@ void SelectionManager::slotRowsRemoved(const QModelIndex& parent, int start, int
m_toggle->hide();
}
-KFileItem SelectionManager::itemForIndex(const QModelIndex& index) const
+KUrl SelectionManager::urlForIndex(const QModelIndex& index) const
{
QAbstractProxyModel* proxyModel = static_cast<QAbstractProxyModel*>(m_view->model());
KDirModel* dirModel = static_cast<KDirModel*>(proxyModel->sourceModel());
const QModelIndex dirIndex = proxyModel->mapToSource(index);
- return dirModel->itemForIndex(dirIndex);
+ return dirModel->itemForIndex(dirIndex).url();
}
-const QModelIndex SelectionManager::indexForItem(const KFileItem& item) const
+const QModelIndex SelectionManager::indexForUrl(const KUrl& url) const
{
QAbstractProxyModel* proxyModel = static_cast<QAbstractProxyModel*>(m_view->model());
KDirModel* dirModel = static_cast<KDirModel*>(proxyModel->sourceModel());
- const QModelIndex dirIndex = dirModel->indexForItem(item);
+ const QModelIndex dirIndex = dirModel->indexForUrl(url);
return proxyModel->mapFromSource(dirIndex);
}
diff --git a/src/selectionmanager.h b/src/selectionmanager.h
index 04e6e29c1..c263da3ea 100644
--- a/src/selectionmanager.h
+++ b/src/selectionmanager.h
@@ -62,8 +62,8 @@ private slots:
void slotRowsRemoved(const QModelIndex& parent, int start, int end);
private:
- KFileItem itemForIndex(const QModelIndex& index) const;
- const QModelIndex indexForItem(const KFileItem& item) const;
+ KUrl urlForIndex(const QModelIndex& index) const;
+ const QModelIndex indexForUrl(const KUrl& url) const;
private:
QAbstractItemView* m_view;
diff --git a/src/selectiontoggle.cpp b/src/selectiontoggle.cpp
index 7a3f0ef56..16d3c5979 100644
--- a/src/selectiontoggle.cpp
+++ b/src/selectiontoggle.cpp
@@ -54,21 +54,21 @@ QSize SelectionToggle::sizeHint() const
void SelectionToggle::reset()
{
- m_item = KFileItem();
+ m_url = KUrl();
hide();
}
-void SelectionToggle::setFileItem(const KFileItem& item)
+void SelectionToggle::setUrl(const KUrl& url)
{
- m_item = item;
- if (!item.isNull()) {
+ m_url = url;
+ if (!url.isEmpty()) {
startFading();
}
}
-KFileItem SelectionToggle::fileItem() const
+KUrl SelectionToggle::url() const
{
- return m_item;
+ return m_url;
}
void SelectionToggle::setVisible(bool visible)
diff --git a/src/selectiontoggle.h b/src/selectiontoggle.h
index 653104ab5..a6d5eae58 100644
--- a/src/selectiontoggle.h
+++ b/src/selectiontoggle.h
@@ -20,7 +20,7 @@
#ifndef SELECTIONTOGGLE_H
#define SELECTIONTOGGLE_H
-#include <kfileitem.h>
+#include <kurl.h>
#include <QAbstractButton>
#include <QPixmap>
@@ -50,8 +50,8 @@ public:
*/
void reset();
- void setFileItem(const KFileItem& item);
- KFileItem fileItem() const;
+ void setUrl(const KUrl& url);
+ KUrl url() const;
public slots:
virtual void setVisible(bool visible);
@@ -78,7 +78,7 @@ private:
int m_fadingValue;
QPixmap m_icon;
QTimeLine* m_fadingTimeLine;
- KFileItem m_item;
+ KUrl m_url;
};
#endif