From: Carl Hetherington Date: Tue, 20 Oct 2020 14:52:04 +0000 (+0200) Subject: Move contents of ContentPanel::first_shown into LimitedSplitter. X-Git-Tag: v2.15.104~5 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=15723e1ba0574d4c62458321e9b6d64236e7e429;p=dcpomatic.git Move contents of ContentPanel::first_shown into LimitedSplitter. --- 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, weak_ptr= 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); std::list panels () const; - wxSplitterWindow* _splitter; + LimitedSplitter* _splitter; wxPanel* _top_panel; wxNotebook* _notebook; wxListCtrl* _content;