Modify TeamWindow to use factored out archiving functions.

This commit is contained in:
Rene Gollent
2011-11-19 18:17:33 -05:00
parent 8314c36b58
commit 0c07f01eb6
2 changed files with 17 additions and 60 deletions
@@ -30,6 +30,7 @@
#include "CpuState.h" #include "CpuState.h"
#include "DisassembledCode.h" #include "DisassembledCode.h"
#include "FileSourceCode.h" #include "FileSourceCode.h"
#include "GUISettingsUtils.h"
#include "GUITeamUISettings.h" #include "GUITeamUISettings.h"
#include "Image.h" #include "Image.h"
#include "ImageDebugInfo.h" #include "ImageDebugInfo.h"
@@ -361,10 +362,14 @@ TeamWindow::LoadSettings(const GUITeamUISettings* settings)
MoveTo(rect.left, rect.top); MoveTo(rect.left, rect.top);
} }
_LoadSplitSettings(fSourceSplitView, "Source", settings); GUISettingsUtils::UnarchiveSplitView(Name(), "Source", settings,
_LoadSplitSettings(fFunctionSplitView, "Function", settings); fSourceSplitView);
_LoadSplitSettings(fImageSplitView, "Image", settings); GUISettingsUtils::UnarchiveSplitView(Name(), "Function", settings,
_LoadSplitSettings(fThreadSplitView, "Thread", settings); fFunctionSplitView);
GUISettingsUtils::UnarchiveSplitView(Name(), "Image", settings,
fImageSplitView);
GUISettingsUtils::UnarchiveSplitView(Name(), "Thread", settings,
fThreadSplitView);
fUISettings = *settings; fUISettings = *settings;
@@ -399,16 +404,20 @@ TeamWindow::SaveSettings(GUITeamUISettings* settings)
if (!settings->SetValue("teamWindowFrame", Frame())) if (!settings->SetValue("teamWindowFrame", Frame()))
return B_NO_MEMORY; return B_NO_MEMORY;
if (_SaveSplitSettings(fSourceSplitView, "Source", settings) != B_OK) if (GUISettingsUtils::ArchiveSplitView(Name(), "Source",
settings, fSourceSplitView) != B_OK)
return B_NO_MEMORY; return B_NO_MEMORY;
if (_SaveSplitSettings(fFunctionSplitView, "Function", settings) != B_OK) if (GUISettingsUtils::ArchiveSplitView(Name(), "Function",
settings, fFunctionSplitView) != B_OK)
return B_NO_MEMORY; return B_NO_MEMORY;
if (_SaveSplitSettings(fImageSplitView, "Image", settings) != B_OK) if (GUISettingsUtils::ArchiveSplitView(Name(), "Image",
settings, fImageSplitView) != B_OK)
return B_NO_MEMORY; return B_NO_MEMORY;
if (_SaveSplitSettings(fThreadSplitView, "Thread", settings) != B_OK) if (GUISettingsUtils::ArchiveSplitView(Name(), "Thread",
settings, fThreadSplitView) != B_OK)
return B_NO_MEMORY; return B_NO_MEMORY;
return B_OK; return B_OK;
@@ -1174,51 +1183,6 @@ TeamWindow::_HandleResolveMissingSourceFile(entry_ref& locatedPath)
} }
void
TeamWindow::_LoadSplitSettings(BSplitView* view, const char* name,
const GUITeamUISettings* settings)
{
BString settingName;
BVariant value;
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);
}
settingName.SetToFormat("teamWindow%sCollapsed%d", name, i);
error = settings->Value(settingName.String(), value);
if (error == B_OK)
view->SetItemCollapsed(i, value.ToBool());
}
}
status_t
TeamWindow::_SaveSplitSettings(BSplitView* view, const char* name,
GUITeamUISettings* settings)
{
BString settingName;
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;
settingName.SetToFormat("teamWindow%sCollapsed%d", name, i);
if (!settings->SetValue(settingName.String(),
view->IsItemCollapsed(i)))
return B_NO_MEMORY;
}
return B_OK;
}
status_t status_t
TeamWindow::_SaveInspectorSettings(const BMessage* settings) TeamWindow::_SaveInspectorSettings(const BMessage* settings)
{ {
@@ -144,13 +144,6 @@ private:
void _HandleResolveMissingSourceFile(entry_ref& void _HandleResolveMissingSourceFile(entry_ref&
locatedPath); locatedPath);
void _LoadSplitSettings(BSplitView* view,
const char* name,
const GUITeamUISettings* settings);
status_t _SaveSplitSettings(BSplitView* view,
const char* name,
GUITeamUISettings* settings);
status_t _SaveInspectorSettings( status_t _SaveInspectorSettings(
const BMessage* settings); const BMessage* settings);
private: private: