SVN commit 852805 by mbreugel: Restore test-tree selection state on reload. M +1 -0 CMakeLists.txt A selectionstore.cpp [License: GPL (v2+)] A selectionstore.h [License: GPL (v2+)] M +10 -1 testrunnertoolview.cpp M +1 -0 tests/CMakeLists.txt A tests/selectionstoretest.cpp [License: GPL (v2+)] A tests/selectionstoretest.h [License: GPL (v2+)] --- trunk/KDE/kdevplatform/veritas/CMakeLists.txt #852804:852805 @@ -16,6 +16,7 @@ testexecutor.cpp testrunnertoolview.cpp utils.cpp + selectionstore.cpp mvc/proxymodelcommon.cpp mvc/resultsmodel.cpp mvc/resultsproxymodel.cpp --- trunk/KDE/kdevplatform/veritas/testrunnertoolview.cpp #852804:852805 @@ -41,6 +41,7 @@ #include "veritas/mvc/runnerwindow.h" #include "veritas/mvc/verbosemanager.h" #include "ui_runnerwindow.h" +#include "selectionstore.h" Q_DECLARE_METATYPE(KDevelop::IProject*) @@ -74,13 +75,15 @@ Sublime::View *resultsView; Sublime::Area *resultsArea; ResultsModel *resultsModel; + Test* previousRoot; }; TestViewDataPrivate::TestViewDataPrivate() : window(0), selectedProject(0), resultsView(0), - resultsArea(0) + resultsArea(0), + previousRoot(0) {} } // namespace @@ -104,6 +107,12 @@ void TestViewData::setupToolView(Veritas::Test* root) { if (!root) { kDebug() << "root null"; return; } + if (d->previousRoot) { + SelectionStore ss; + ss.saveTree(d->previousRoot); + ss.restoreTree(root); + } + d->previousRoot = root; RunnerModel* model = new RunnerModel; model->setRootItem(root); model->setExpectedResults(Veritas::RunError); --- trunk/KDE/kdevplatform/veritas/tests/CMakeLists.txt #852804:852805 @@ -30,3 +30,4 @@ kdev_add_test(ut-runnerproxymodel runnerproxymodeltest.cpp) kdev_add_test(ut-testexecutor testexecutortest.cpp) kdev_add_test(it-runnerwindow runnerwindowtest.cpp) +kdev_add_test(ut-selectionstoretest selectionstoretest.cpp)