Move contents of ContentPanel::first_shown into LimitedSplitter.
[dcpomatic.git] / src / wx / content_panel.cc
index 2c5fea79bee8596190813e00c707525fe313f09a..0fd21ff8696b8aeb4bc7b342b1454f56bc18f29e 100644 (file)
@@ -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);
+       }
+
+}