[Kde-bindings] KDE/kdelibs/kdeui/itemviews

Stephen Kelly steveire at gmail.com
Mon May 17 12:50:51 UTC 2010


SVN commit 1127718 by skelly:

Simplify the API for setting views to save state of

CCMAIL: kde-bindings at kde.org

 M  +17 -25    kviewstatesaver.cpp  
 M  +5 -16     kviewstatesaver.h  


--- trunk/KDE/kdelibs/kdeui/itemviews/kviewstatesaver.cpp #1127717:1127718
@@ -25,7 +25,6 @@
 #include <QScrollBar>
 #include <QTimer>
 #include <QTreeView>
-#include <QListView>
 
 #include "kdebug.h"
 
@@ -41,7 +40,13 @@
 {
 public:
   KViewStateSaverPrivate(KViewStateSaver *qq)
-    : q_ptr(qq), m_treeView(0), m_selectionModel(0), m_scrollArea(0), m_horizontalScrollBarValue(-1), m_verticalScrollBarValue(-1)
+    : q_ptr(qq),
+      m_treeView(0),
+      m_view(0),
+      m_selectionModel(0),
+      m_scrollArea(0),
+      m_horizontalScrollBarValue(-1),
+      m_verticalScrollBarValue(-1)
   {
 
   }
@@ -79,8 +84,8 @@
   {
     if ( m_selectionModel && m_selectionModel->model() )
       return m_selectionModel->model();
-    else if ( m_treeView && m_treeView->model() )
-      return m_treeView->model();
+    else if ( m_view && m_view->model() )
+      return m_view->model();
     return 0;
   }
 
@@ -98,7 +103,7 @@
   }
 
   QTreeView *m_treeView;
-  QListView *m_listView;
+  QAbstractItemView *m_view;
   QItemSelectionModel *m_selectionModel;
   QAbstractScrollArea *m_scrollArea;
 
@@ -120,34 +125,21 @@
   delete d_ptr;
 }
 
-void KViewStateSaver::setTreeView(QTreeView* treeView)
+void KViewStateSaver::setView(QAbstractItemView* view)
 {
   Q_D(KViewStateSaver);
-  d->m_treeView = treeView;
-  d->m_scrollArea = treeView;
-  d->m_selectionModel = treeView->selectionModel();
+  d->m_scrollArea = view;
+  d->m_selectionModel = view->selectionModel();
+  d->m_view = view;
+  d->m_treeView = qobject_cast<QTreeView*>(view);
 }
 
-QTreeView* KViewStateSaver::treeView() const
+QAbstractItemView* KViewStateSaver::view() const
 {
   Q_D(const KViewStateSaver);
-  return d->m_treeView;
+  return d->m_view;
 }
 
-void KViewStateSaver::setListView(QListView* listView)
-{
-  Q_D(KViewStateSaver);
-  d->m_listView = listView;
-  d->m_scrollArea = listView;
-  d->m_selectionModel = listView->selectionModel();
-}
-
-QListView* KViewStateSaver::listView() const
-{
-  Q_D(const KViewStateSaver);
-  return d->m_listView;
-}
-
 QItemSelectionModel* KViewStateSaver::selectionModel() const
 {
   Q_D(const KViewStateSaver);
--- trunk/KDE/kdelibs/kdeui/itemviews/kviewstatesaver.h #1127717:1127718
@@ -27,8 +27,7 @@
 
 #include "kdeui_export.h"
 
-class QTreeView;
-class QListView;
+class QAbstractItemView;
 class QItemSelectionModel;
 class QAbstractItemModel;
 class QAbstractScrollArea;
@@ -182,26 +181,16 @@
   ~KViewStateSaver();
 
   /**
-    The QTreeView whose state is persisted.
+   * The view whose state is persisted.
   */
-  QTreeView* treeView() const;
+  QAbstractItemView* view() const;
 
   /**
-    Sets the QTreeView whose state is persisted.
+   * Sets the view whose state is persisted.
   */
-  void setTreeView( QTreeView *treeView );
+  void setView(QAbstractItemView *view);
 
   /**
-    The QListView whose state is persisted.
-  */
-  QListView* listView() const;
-
-  /**
-    Sets the QListView whose state is persisted.
-  */
-  void setListView( QListView *listView );
-
-  /**
     The QItemSelectionModel whose state is persisted.
   */
   QItemSelectionModel* selectionModel() const;



More information about the Kde-bindings mailing list