App Server now saves/restores ui_color settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24225 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -20,6 +20,8 @@ struct server_read_only_memory {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// NOTE: these functions must be kept in sync with InterfaceDefs.h color_which!
|
||||||
|
|
||||||
static inline int32
|
static inline int32
|
||||||
color_which_to_index(color_which which)
|
color_which_to_index(color_which which)
|
||||||
{
|
{
|
||||||
@@ -32,4 +34,17 @@ color_which_to_index(color_which which)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline color_which
|
||||||
|
index_to_color_which(int32 index)
|
||||||
|
{
|
||||||
|
if (index >= 0 && index < kNumColors) {
|
||||||
|
if ((color_which)index < B_WINDOW_INACTIVE_TEXT_COLOR)
|
||||||
|
return (color_which)(index + 1);
|
||||||
|
else
|
||||||
|
return (color_which)(index + B_SUCCESS_COLOR - B_WINDOW_INACTIVE_TEXT_COLOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (color_which)-1;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* SERVER_READ_ONLY_MEMORY_H */
|
#endif /* SERVER_READ_ONLY_MEMORY_H */
|
||||||
|
|||||||
@@ -216,6 +216,13 @@ DesktopSettingsPrivate::_Load()
|
|||||||
bool triggersAlwaysShown;
|
bool triggersAlwaysShown;
|
||||||
if (settings.FindBool("triggers always shown", &triggersAlwaysShown) == B_OK)
|
if (settings.FindBool("triggers always shown", &triggersAlwaysShown) == B_OK)
|
||||||
fMenuInfo.triggers_always_shown = triggersAlwaysShown;
|
fMenuInfo.triggers_always_shown = triggersAlwaysShown;
|
||||||
|
|
||||||
|
char colorName[12];
|
||||||
|
|
||||||
|
for (int32 i = 0; i < kNumColors; i++) {
|
||||||
|
snprintf(colorName, sizeof(colorName), "color%ld", index_to_color_which(i));
|
||||||
|
settings.FindInt32(colorName, (int32*)&fShared.colors[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -313,7 +320,13 @@ DesktopSettingsPrivate::Save(uint32 mask)
|
|||||||
settings.AddInt32("separator", fMenuInfo.separator);
|
settings.AddInt32("separator", fMenuInfo.separator);
|
||||||
settings.AddBool("click to open", fMenuInfo.click_to_open);
|
settings.AddBool("click to open", fMenuInfo.click_to_open);
|
||||||
settings.AddBool("triggers always shown", fMenuInfo.triggers_always_shown);
|
settings.AddBool("triggers always shown", fMenuInfo.triggers_always_shown);
|
||||||
// TODO: more appearance settings
|
|
||||||
|
char colorName[12];
|
||||||
|
|
||||||
|
for (int32 i = 0; i < kNumColors; i++) {
|
||||||
|
snprintf(colorName, sizeof(colorName), "color%ld", index_to_color_which(i));
|
||||||
|
settings.AddInt32(colorName, (const int32&)fShared.colors[i]);
|
||||||
|
}
|
||||||
|
|
||||||
BFile file;
|
BFile file;
|
||||||
status = file.SetTo(path.Path(), B_CREATE_FILE | B_ERASE_FILE | B_READ_WRITE);
|
status = file.SetTo(path.Path(), B_CREATE_FILE | B_ERASE_FILE | B_READ_WRITE);
|
||||||
|
|||||||
Reference in New Issue
Block a user