using boost::weak_ptr;
using boost::dynamic_pointer_cast;
using boost::optional;
+using namespace dcpomatic;
class LimitedSplitter : public wxSplitterWindow
{
public:
LimitedSplitter (wxWindow* parent)
- : wxSplitterWindow (parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D | wxSP_LIVE_UPDATE)
+ : wxSplitterWindow (parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_NOBORDER | wxSP_3DSASH | wxSP_LIVE_UPDATE)
{
}
}
_splitter = new LimitedSplitter (n);
- wxDisplay display (wxDisplay::GetFromWindow(_splitter));
- wxRect screen = display.GetClientArea();
+ optional<wxRect> screen;
+ int const sn = wxDisplay::GetFromWindow(_splitter);
+ if (sn >= 0) {
+ screen = wxDisplay(sn).GetClientArea();
+ }
wxPanel* top = new wxPanel (_splitter);
_menu = new ContentMenu (_splitter);
/* 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, _notebook, screen.height > 800 ? -600 : -150);
+ if (screen) {
+ _splitter->SplitHorizontally (top, _notebook, screen->height > 800 ? -600 : -150);
+ }
_timing_panel = new TimingPanel (this, _film_viewer);
_notebook->AddPage (_timing_panel, _("Timing"), false);
_timeline_dialog = 0;
}
- _timeline_dialog = new TimelineDialog (this, _film);
+ _timeline_dialog = new TimelineDialog (this, _film, _film_viewer);
_timeline_dialog->set_selection (selected());
_timeline_dialog->Show ();
}