From a9e05546358bef4d6c887a677a5d7cd09393b4a5 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Mon, 22 Apr 2013 09:20:57 +0200 Subject: [PATCH] Use semicolon as string list separator. Fixed bug in tree view state parameter passing. p4#: 21350 --- ApplicationCode/ProjectDataModel/RimUiTreeView.cpp | 11 ++++------- ApplicationCode/ProjectDataModel/RimUiTreeView.h | 4 ++-- ApplicationCode/UserInterface/RiuMainWindow.cpp | 4 ++-- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/RimUiTreeView.cpp b/ApplicationCode/ProjectDataModel/RimUiTreeView.cpp index ac4f7bde1b..56a4bc9d19 100644 --- a/ApplicationCode/ProjectDataModel/RimUiTreeView.cpp +++ b/ApplicationCode/ProjectDataModel/RimUiTreeView.cpp @@ -1246,17 +1246,15 @@ void storeExpandedState(QStringList & nodes, QTreeView * view, QAbstractItemMode //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimUiTreeView::applyTreeViewState(const QString& treeViewState) +void RimUiTreeView::applyTreeViewStateFromString(const QString& treeViewState) { if (this->model()) { this->collapseAll(); - QString stateString = RiaApplication::instance()->project()->treeViewState; + QStringList nodes = treeViewState.split(";"); - QStringList nodes = stateString.split("|"); QString path; - setExpandedState(nodes, this, this->model(), QModelIndex(), path); } } @@ -1264,7 +1262,7 @@ void RimUiTreeView::applyTreeViewState(const QString& treeViewState) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimUiTreeView::storeTreeViewState(QString& treeViewState) +void RimUiTreeView::storeTreeViewStateToString(QString& treeViewState) { if (this->model()) { @@ -1273,8 +1271,7 @@ void RimUiTreeView::storeTreeViewState(QString& treeViewState) storeExpandedState(nodes, this, this->model(), QModelIndex(), path); - QString stateString = nodes.join("|"); - RiaApplication::instance()->project()->treeViewState = stateString; + treeViewState = nodes.join(";"); } } diff --git a/ApplicationCode/ProjectDataModel/RimUiTreeView.h b/ApplicationCode/ProjectDataModel/RimUiTreeView.h index 09eb038184..e8a2617b9c 100644 --- a/ApplicationCode/ProjectDataModel/RimUiTreeView.h +++ b/ApplicationCode/ProjectDataModel/RimUiTreeView.h @@ -43,8 +43,8 @@ public: virtual void setModel(QAbstractItemModel* model); - void applyTreeViewState(const QString& treeViewState); - void storeTreeViewState(QString& treeViewState); + void applyTreeViewStateFromString(const QString& treeViewState); + void storeTreeViewStateToString(QString& treeViewState); protected: void contextMenuEvent(QContextMenuEvent* event); diff --git a/ApplicationCode/UserInterface/RiuMainWindow.cpp b/ApplicationCode/UserInterface/RiuMainWindow.cpp index e9703e4b7d..c9c1114137 100644 --- a/ApplicationCode/UserInterface/RiuMainWindow.cpp +++ b/ApplicationCode/UserInterface/RiuMainWindow.cpp @@ -1424,7 +1424,7 @@ void RiuMainWindow::storeTreeViewState() { QString treeViewState; - m_treeView->storeTreeViewState(treeViewState); + m_treeView->storeTreeViewStateToString(treeViewState); RiaApplication::instance()->project()->treeViewState = treeViewState; } @@ -1441,7 +1441,7 @@ void RiuMainWindow::restoreTreeViewState() if (!stateString.isEmpty()) { m_treeView->collapseAll(); - m_treeView->applyTreeViewState(stateString); + m_treeView->applyTreeViewStateFromString(stateString); } } }