]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/kitemlistcontrollertest.cpp
Prepare view-engine for non-KFileItem usecase
[dolphin.git] / src / tests / kitemlistcontrollertest.cpp
index b446e84776428af37a61ae6b3dcddd5a4ce1e2e2..47b2b8b7593a344cfb63345a5e358b982ab697b8 100644 (file)
 #include <qtestmouse.h>
 #include <qtestkeyboard.h>
 
-#include <KDirLister>
 #include "kitemviews/kitemlistcontainer.h"
 #include "kitemviews/kfileitemlistview.h"
 #include "kitemviews/kfileitemmodel.h"
 #include "kitemviews/kitemlistcontroller.h"
 #include "kitemviews/kitemlistselectionmanager.h"
-#include "kitemviews/kitemlistviewlayouter_p.h"
+#include "kitemviews/private/kitemlistviewlayouter.h"
 #include "testdir.h"
 
 namespace {
     const int DefaultTimeout = 2000;
 };
 
-Q_DECLARE_METATYPE(KFileItemListView::Layout);
+Q_DECLARE_METATYPE(KFileItemListView::ItemLayout);
 Q_DECLARE_METATYPE(Qt::Orientation);
 Q_DECLARE_METATYPE(KItemListController::SelectionBehavior);
 Q_DECLARE_METATYPE(QSet<int>);
@@ -65,7 +64,6 @@ private:
     KItemListController* m_controller;
     KItemListSelectionManager* m_selectionManager;
     KFileItemModel* m_model;
-    KDirLister* m_dirLister;
     TestDir* m_testDir;
     KItemListContainer* m_container;
 };
@@ -80,17 +78,14 @@ void KItemListControllerTest::initTestCase()
     qRegisterMetaType<QSet<int> >("QSet<int>");
 
     m_testDir = new TestDir();
-    m_dirLister = new KDirLister();
-    m_model = new KFileItemModel(m_dirLister);
-    m_container = new KItemListContainer();
+    m_model = new KFileItemModel();
+    m_view = new KFileItemListView();
+    m_controller = new KItemListController(m_model, m_view, this);
+    m_container = new KItemListContainer(m_controller);
     m_controller = m_container->controller();
     m_controller->setSelectionBehavior(KItemListController::MultiSelection);
     m_selectionManager = m_controller->selectionManager();
 
-    m_view = new KFileItemListView();
-    m_controller->setView(m_view);
-    m_controller->setModel(m_model);
-
     QStringList files;
     files
         << "a1" << "a2" << "a3"
@@ -100,8 +95,8 @@ void KItemListControllerTest::initTestCase()
         << "e1" << "e2" << "e3" << "e4" << "e5" << "e6" << "e7";
 
     m_testDir->createFiles(files);
-    m_dirLister->openUrl(m_testDir->url());
-    QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(loadingCompleted()), DefaultTimeout));
+    m_model->loadDirectory(m_testDir->url());
+    QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(directoryLoadingCompleted()), DefaultTimeout));
 
     m_container->show();
     QTest::qWaitForWindowShown(m_container);
@@ -109,18 +104,8 @@ void KItemListControllerTest::initTestCase()
 
 void KItemListControllerTest::cleanupTestCase()
 {
-    delete m_view;
-    m_view = 0;
-
     delete m_container;
     m_container = 0;
-    m_controller = 0;
-
-    delete m_model;
-    m_model = 0;
-
-    delete m_dirLister;
-    m_dirLister = 0;
 
     delete m_testDir;
     m_testDir = 0;
@@ -193,15 +178,15 @@ Q_DECLARE_METATYPE(QList<keyPressViewStatePair>);
  */
 void KItemListControllerTest::testKeyboardNavigation_data()
 {
-    QTest::addColumn<KFileItemListView::Layout>("layout");
+    QTest::addColumn<KFileItemListView::ItemLayout>("layout");
     QTest::addColumn<Qt::Orientation>("scrollOrientation");
     QTest::addColumn<int>("columnCount");
     QTest::addColumn<KItemListController::SelectionBehavior>("selectionBehavior");
     QTest::addColumn<bool>("groupingEnabled");
     QTest::addColumn<QList<QPair<KeyPress, ViewState> > >("testList");
 
-    QList<KFileItemListView::Layout> layoutList;
-    QHash<KFileItemListView::Layout, QString> layoutNames;
+    QList<KFileItemListView::ItemLayout> layoutList;
+    QHash<KFileItemListView::ItemLayout, QString> layoutNames;
     layoutList.append(KFileItemListView::IconsLayout);
     layoutNames[KFileItemListView::IconsLayout] = "Icons";
     layoutList.append(KFileItemListView::CompactLayout);
@@ -225,7 +210,7 @@ void KItemListControllerTest::testKeyboardNavigation_data()
     groupingEnabledList.append(true);
     groupingEnabledNames[true] = "grouping enabled";
 
-    foreach (KFileItemListView::Layout layout, layoutList) {
+    foreach (KFileItemListView::ItemLayout layout, layoutList) {
         // The following settings depend on the layout.
         // Note that 'columns' are actually 'rows' in
         // Compact layout.
@@ -449,7 +434,7 @@ void KItemListControllerTest::testKeyboardNavigation_data()
  */
 void KItemListControllerTest::testKeyboardNavigation()
 {
-    QFETCH(KFileItemListView::Layout, layout);
+    QFETCH(KFileItemListView::ItemLayout, layout);
     QFETCH(Qt::Orientation, scrollOrientation);
     QFETCH(int, columnCount);
     QFETCH(KItemListController::SelectionBehavior, selectionBehavior);