FIX:Preference page scrolling issue

Change-Id: Ia885b083a7467f3558a940b808f071d9ca80e531
This commit is contained in:
Kunlong Ma 2023-08-02 09:10:34 +08:00 committed by Lane.Wei
parent 33a8545e2b
commit 47db82ee1e
2 changed files with 15 additions and 2 deletions

View File

@ -29,6 +29,18 @@ WX_DEFINE_LIST(RadioSelectorList);
wxDEFINE_EVENT(EVT_PREFERENCES_SELECT_TAB, wxCommandEvent);
class MyscrolledWindow : public wxScrolledWindow {
public:
MyscrolledWindow(wxWindow* parent,
wxWindowID id = wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxVSCROLL) : wxScrolledWindow(parent, id, pos, size, style) {}
bool ShouldScrollToChildOnFocus(wxWindow* child) override { return false; }
};
wxBoxSizer *PreferencesDialog::create_item_title(wxString title, wxWindow *parent, wxString tooltip)
{
wxBoxSizer *m_sizer_title = new wxBoxSizer(wxHORIZONTAL);
@ -836,7 +848,7 @@ void PreferencesDialog::create()
auto main_sizer = new wxBoxSizer(wxVERTICAL);
m_scrolledWindow = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL);
m_scrolledWindow = new MyscrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL);
m_scrolledWindow->SetScrollRate(5, 5);
m_sizer_body = new wxBoxSizer(wxVERTICAL);

View File

@ -41,6 +41,7 @@ public:
RadioBox *m_radiobox;
bool m_selected = false;
};
WX_DECLARE_LIST(RadioSelector, RadioSelectorList);
class CheckBox;
class TextInput;
@ -61,7 +62,7 @@ private:
protected:
wxBoxSizer * m_sizer_body;
wxScrolledWindow *m_scrolledWindow;
wxScrolledWindow* m_scrolledWindow;
// bool m_settings_layout_changed {false};
bool m_seq_top_layer_only_changed{false};