mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:17:35 +00:00
Solitaire: Save and load u32 config values as u32s
This removes a bunch of awkward i32 casts. Being able to read/write enum types directly would be even nicer, but I'm not going there right now. :^)
This commit is contained in:
parent
306676792c
commit
c79110d5bf
1 changed files with 6 additions and 6 deletions
|
@ -49,19 +49,19 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
auto window = TRY(GUI::Window::try_create());
|
||||
window->set_title("Solitaire");
|
||||
|
||||
auto mode = static_cast<Solitaire::Mode>(Config::read_i32("Solitaire"sv, "Settings"sv, "Mode"sv, static_cast<int>(Solitaire::Mode::SingleCardDraw)));
|
||||
auto mode = static_cast<Solitaire::Mode>(Config::read_u32("Solitaire"sv, "Settings"sv, "Mode"sv, to_underlying(Solitaire::Mode::SingleCardDraw)));
|
||||
|
||||
auto update_mode = [&](Solitaire::Mode new_mode) {
|
||||
mode = new_mode;
|
||||
Config::write_i32("Solitaire"sv, "Settings"sv, "Mode"sv, static_cast<int>(mode));
|
||||
Config::write_u32("Solitaire"sv, "Settings"sv, "Mode"sv, to_underlying(mode));
|
||||
};
|
||||
|
||||
auto high_score = [&]() {
|
||||
switch (mode) {
|
||||
case Solitaire::Mode::SingleCardDraw:
|
||||
return static_cast<u32>(Config::read_i32("Solitaire"sv, "HighScores"sv, "SingleCardDraw"sv, 0));
|
||||
return Config::read_u32("Solitaire"sv, "HighScores"sv, "SingleCardDraw"sv, 0);
|
||||
case Solitaire::Mode::ThreeCardDraw:
|
||||
return static_cast<u32>(Config::read_i32("Solitaire"sv, "HighScores"sv, "ThreeCardDraw"sv, 0));
|
||||
return Config::read_u32("Solitaire"sv, "HighScores"sv, "ThreeCardDraw"sv, 0);
|
||||
default:
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
@ -70,10 +70,10 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
auto update_high_score = [&](u32 new_high_score) {
|
||||
switch (mode) {
|
||||
case Solitaire::Mode::SingleCardDraw:
|
||||
Config::write_i32("Solitaire"sv, "HighScores"sv, "SingleCardDraw"sv, static_cast<int>(new_high_score));
|
||||
Config::write_u32("Solitaire"sv, "HighScores"sv, "SingleCardDraw"sv, new_high_score);
|
||||
break;
|
||||
case Solitaire::Mode::ThreeCardDraw:
|
||||
Config::write_i32("Solitaire"sv, "HighScores"sv, "ThreeCardDraw"sv, static_cast<int>(new_high_score));
|
||||
Config::write_u32("Solitaire"sv, "HighScores"sv, "ThreeCardDraw"sv, new_high_score);
|
||||
break;
|
||||
default:
|
||||
VERIFY_NOT_REACHED();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue