From 6c59d52b62c5d95233ef1f8403665c1e49e1dd4b Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 2 Nov 2011 22:45:07 +0000 Subject: [PATCH] Rework _Save/LoadSplitSettings() to generally work for split views with any number of splits. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43139 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../gui/team_window/TeamWindow.cpp | 30 ++++++++----------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/apps/debugger/user_interface/gui/team_window/TeamWindow.cpp b/src/apps/debugger/user_interface/gui/team_window/TeamWindow.cpp index aeb4e5348c..2854bd7556 100644 --- a/src/apps/debugger/user_interface/gui/team_window/TeamWindow.cpp +++ b/src/apps/debugger/user_interface/gui/team_window/TeamWindow.cpp @@ -1137,15 +1137,14 @@ TeamWindow::_LoadSplitSettings(BSplitView* view, const char* name, BString settingName; BVariant value; - settingName.SetToFormat("teamWindow%sSplit0", name); - status_t error = settings->Value(settingName.String(), value); - if (error == B_OK) - view->SetItemWeight(0L, value.ToFloat(), false); - - settingName.SetToFormat("teamWindow%sSplit1", name); - error = settings->Value(settingName.String(), value); - if (error == B_OK) - view->SetItemWeight(1L, value.ToFloat(), true); + for (int32 i = 0; i < view->CountItems(); i++) { + settingName.SetToFormat("teamWindow%sSplit%d", name, i); + status_t error = settings->Value(settingName.String(), value); + if (error == B_OK) { + view->SetItemWeight(i, value.ToFloat(), + i == view->CountItems() - 1); + } + } } @@ -1155,15 +1154,12 @@ TeamWindow::_SaveSplitSettings(BSplitView* view, const char* name, { BString settingName; - settingName.SetToFormat("teamWindow%sSplit0", name); - if (!settings->SetValue(settingName.String(), - view->ItemWeight(0L))) - return B_NO_MEMORY; - - settingName.SetToFormat("teamWindow%sSplit1", name); - if (!settings->SetValue(settingName.String(), - view->ItemWeight(1L))) + for (int32 i = 0; i < view->CountItems(); i++) { + settingName.SetToFormat("teamWindow%sSplit%d", name, i); + if (!settings->SetValue(settingName.String(), + view->ItemWeight(i))) return B_NO_MEMORY; + } return B_OK; }