Modify TeamWindow to use factored out archiving functions.
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user