mirror of
https://repo.dec05eba.com/gpu-screen-recorder-ui
synced 2026-05-07 15:19:56 +09:00
Enhance settings page: add scroll position handling for language changes
This commit is contained in:
@@ -124,7 +124,7 @@ namespace gsr {
|
||||
void recreate_global_hotkeys(std::string_view hotkey_option);
|
||||
void update_led_indicator_after_settings_change();
|
||||
void recreate_frontpage_ui_components();
|
||||
void open_settings_page();
|
||||
void open_settings_page(int scroll_y = 0);
|
||||
void xi_setup();
|
||||
void handle_xi_events();
|
||||
void process_key_bindings(mgl::Event &event);
|
||||
@@ -301,6 +301,7 @@ namespace gsr {
|
||||
bool hide_ui = false;
|
||||
bool reload_ui = false;
|
||||
bool reopen_settings_after_reload = false;
|
||||
int pending_settings_scroll_y = 0;
|
||||
double notification_duration_multiplier = 1.0;
|
||||
ClipboardFile clipboard_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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user