]> cloud.milkyroute.net Git - dolphin.git/commitdiff
don't keep a KFileItem inside the selection manager for the whole lifetime, work...
authorPeter Penz <peter.penz19@gmail.com>
Tue, 12 Feb 2008 00:06:21 +0000 (00:06 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Tue, 12 Feb 2008 00:06:21 +0000 (00:06 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=773890

src/selectionmanager.cpp
src/selectionmanager.h
src/selectiontoggle.cpp
src/selectiontoggle.h

index 02125d7c9263dcb681e310053d5d0af7ad8e5bda..fecbcbb721e533d56a5c94bc7268393ea7a74b70 100644 (file)
@@ -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);
 }
 
index 04e6e29c160ce9e9edd17aed5ec33df89f3c738f..c263da3ea6a6be15e5f3a625c30315f7a4caf7c3 100644 (file)
@@ -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;
index 7a3f0ef567a1f1442cfa59c021881b41b8e2e077..16d3c5979f3391733fe626947f42ba736298d3cb 100644 (file)
@@ -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)
index 653104ab5777f2785baf310c8b227c348fcc15ca..a6d5eae580f3ec62444d037b0b5aa9c3ec73fe2b 100644 (file)
@@ -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