Enhance settings page: add scroll position handling for language changes

This commit is contained in:
Andrew
2026-04-27 01:58:01 +03:00
committed by dec05eba
parent 952fbc9ba3
commit 183e3780c1
5 changed files with 28 additions and 6 deletions

View File

@@ -53,7 +53,10 @@ namespace gsr {
std::function<void(std::string_view hotkey_option)> on_keyboard_hotkey_changed;
std::function<void(std::string_view hotkey_option)> on_joystick_hotkey_changed;
std::function<void()> on_page_closed;
std::function<void()> on_language_changed;
std::function<void(int scroll_y)> on_language_changed;
int get_scroll_y() const;
void set_scroll_y(int y);
private:
void load_hotkeys();
@@ -116,6 +119,7 @@ namespace gsr {
Button *show_hide_button_ptr = nullptr;
RadioButton *notification_speed_button_ptr = nullptr;
ComboBox *language_combo_box_ptr = nullptr;
ScrollablePage *scrollable_page_ptr = nullptr;
ConfigHotkey configure_config_hotkey;
ConfigureHotkeyType configure_hotkey_type = ConfigureHotkeyType::NONE;

View File

@@ -24,6 +24,8 @@ namespace gsr {
void add_widget(std::unique_ptr<Widget> widget);
void reset_scroll();
int get_scroll_target_y() const { return scroll_target_y; }
void set_scroll(int y) { scroll_y = y; scroll_target_y = y; }
private:
void apply_animation();
void limit_scroll(double child_height);