diff options
| author | Frank Reininghaus <[email protected]> | 2011-11-24 23:38:36 +0100 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2011-11-24 23:38:36 +0100 |
| commit | 3950eccaf08374862ba848eac5319645d6a0f0d9 (patch) | |
| tree | 6f1a2355b2a7751fd44dfe3dd8cb3ac223f88290 /src/tests | |
| parent | c0feb043e099620f50d3698c15219131973ed4f0 (diff) | |
Fix restoring expanded URLs
When navigating back or forward in history, DolphinView tells the
KFileItemModel about the expanded URLs which should be restored before
the folder is entered. In this case, the algorithm in the new function
KFileItemModel::setExpanded(const QSet<KUrl>&) does not work. To fix
this, the old function
KFileItemModel::restoreExpandedUrls(const QSet<KUrl>&) is restored.
Unit test included.
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/kfileitemmodeltest.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/tests/kfileitemmodeltest.cpp b/src/tests/kfileitemmodeltest.cpp index f2d62fbad..59e817fff 100644 --- a/src/tests/kfileitemmodeltest.cpp +++ b/src/tests/kfileitemmodeltest.cpp @@ -451,7 +451,7 @@ void KFileItemModelTest::testExpandItems() QVERIFY(m_model->expandedUrls().empty()); m_dirLister->openUrl(m_testDir->url()); - m_model->setExpanded(allFolders); + m_model->restoreExpandedUrls(allFolders); QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(loadingCompleted()), DefaultTimeout)); QCOMPARE(m_model->count(), 5); // 5 items: "a/", "a/a/", "a/a/1", "a/a-1/", "a/a-1/1" QVERIFY(m_model->isExpanded(0)); @@ -460,6 +460,17 @@ void KFileItemModelTest::testExpandItems() QVERIFY(m_model->isExpanded(3)); QVERIFY(!m_model->isExpanded(4)); QCOMPARE(m_model->expandedUrls(), allFolders); + + // Move to a sub folder, then call restoreExpandedFolders() *before* going back. + // This is how DolphinView restores the expanded folders when navigating in history. + m_dirLister->openUrl(KUrl(m_testDir->name() + "a/a/")); + QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(loadingCompleted()), DefaultTimeout)); + QCOMPARE(m_model->count(), 1); // 1 item: "1" + m_model->restoreExpandedUrls(allFolders); + m_dirLister->openUrl(m_testDir->url()); + QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(loadingCompleted()), DefaultTimeout)); + QCOMPARE(m_model->count(), 5); // 5 items: "a/", "a/a/", "a/a/1", "a/a-1/", "a/a-1/1" + QCOMPARE(m_model->expandedUrls(), allFolders); } void KFileItemModelTest::testSorting() |
