diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-10-20 16:52:04 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-10-20 16:52:04 +0200 |
| commit | 15723e1ba0574d4c62458321e9b6d64236e7e429 (patch) | |
| tree | eddb4d1caa58d360875238ed6c9ef1dd9f09365e | |
| parent | a28058f5e2f7e7bf3aa5af9e499bda630b7af7bc (diff) | |
Move contents of ContentPanel::first_shown into LimitedSplitter.
| -rw-r--r-- | src/wx/content_panel.cc | 30 | ||||
| -rw-r--r-- | src/wx/content_panel.h | 4 |
2 files changed, 22 insertions, 12 deletions
diff --git a/src/wx/content_panel.cc b/src/wx/content_panel.cc index 2c5fea79b..0fd21ff86 100644 --- a/src/wx/content_panel.cc +++ b/src/wx/content_panel.cc @@ -154,17 +154,7 @@ ContentPanel::ContentPanel (wxNotebook* n, shared_ptr<Film> film, weak_ptr<FilmV void ContentPanel::first_shown () { - int const sn = wxDisplay::GetFromWindow(_splitter); - if (sn >= 0) { - wxRect const screen = wxDisplay(sn).GetClientArea(); - /* This is a hack to try and make the content notebook a sensible size; large on big displays but small - enough on small displays to leave space for the content area. - */ - _splitter->SplitHorizontally (_top_panel, _notebook, screen.height > 800 ? -600 : -150); - } else { - /* Fallback for when GetFromWindow fails for reasons that aren't clear */ - _splitter->SplitHorizontally (_top_panel, _notebook, -600); - } + _splitter->first_shown (_top_panel, _notebook); } @@ -809,3 +799,21 @@ ContentPanel::panels () const p.push_back (_timing_panel); return p; } + + +void +LimitedSplitter::first_shown (wxWindow* top, wxWindow* bottom) +{ + int const sn = wxDisplay::GetFromWindow(this); + if (sn >= 0) { + wxRect const screen = wxDisplay(sn).GetClientArea(); + /* This is a hack to try and make the content notebook a sensible size; large on big displays but small + enough on small displays to leave space for the content area. + */ + SplitHorizontally (top, bottom, screen.height > 800 ? -600 : -150); + } else { + /* Fallback for when GetFromWindow fails for reasons that aren't clear */ + SplitHorizontally (top, bottom, -600); + } + +} diff --git a/src/wx/content_panel.h b/src/wx/content_panel.h index 7b3217605..ab11a894b 100644 --- a/src/wx/content_panel.h +++ b/src/wx/content_panel.h @@ -59,6 +59,8 @@ public: /* Try to stop the top bit of the splitter getting so small that buttons disappear */ return new_position > 220; } + + void first_shown (wxWindow* top, wxWindow* bottom); }; @@ -123,7 +125,7 @@ private: void add_files (std::list<boost::filesystem::path>); std::list<ContentSubPanel *> panels () const; - wxSplitterWindow* _splitter; + LimitedSplitter* _splitter; wxPanel* _top_panel; wxNotebook* _notebook; wxListCtrl* _content; |
