diff --git a/src/ui/gui/appwindow.slint b/src/ui/gui/appwindow.slint index 422d523..04cd7bd 100644 --- a/src/ui/gui/appwindow.slint +++ b/src/ui/gui/appwindow.slint @@ -52,6 +52,7 @@ export component AppWindow inherits Window { in-out property ra_hardcore <=> RAData.hardcore; in-out property ra_challenge <=> RAData.challenge; in-out property ra_leaderboard <=> RAData.leaderboard; + in-out property ra_softcore_only <=> RAData.ra_softcore_only; in-out property integer_scaling <=> SettingsData.integer_scaling; in-out property fullscreen <=> SettingsData.fullscreen; in-out property widescreen <=> SettingsData.widescreen; diff --git a/src/ui/gui/retroachievements_page.slint b/src/ui/gui/retroachievements_page.slint index a73f7b8..a55f5d1 100644 --- a/src/ui/gui/retroachievements_page.slint +++ b/src/ui/gui/retroachievements_page.slint @@ -11,6 +11,7 @@ export global RAData { in-out property leaderboard; in-out property ra_logging_in; in-out property ra_show_profile; + in-out property ra_softcore_only; in-out property ra_username; in-out property ra_password; in-out property current_user_message; @@ -43,7 +44,7 @@ export component RetroAchievements inherits Page { } } } - HorizontalBox { + if !RAData.ra_softcore_only:HorizontalBox { alignment: start; Switch { text: @tr("Hardcore mode"); diff --git a/src/ui/retroachievements.rs b/src/ui/retroachievements.rs index 2645131..55d1dcd 100644 --- a/src/ui/retroachievements.rs +++ b/src/ui/retroachievements.rs @@ -18,6 +18,10 @@ pub fn ra_window(app: &ui::gui::AppWindow) { app.set_ra_hardcore(true); } + if !cfg!(ra_hardcore_enabled) { + app.set_ra_softcore_only(true); + } + if app.get_ra_enabled() && !app.get_ra_username().is_empty() { let (tx, rx) = tokio::sync::oneshot::channel::(); retroachievements::login_token_user(app.get_ra_username().to_string(), token, tx);