X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Ftimecode.cc;h=f4f0af07a5b33023c33707d420912eaa08472dca;hb=ed0b5670e65647a9f0555ed66f81125678d193a7;hp=c4755e5745063c9a8fb007aa5a39266777bef642;hpb=9b946fc5250eff5a5dd4a661896916fcd5d9bd4b;p=dcpomatic.git diff --git a/src/wx/timecode.cc b/src/wx/timecode.cc index c4755e574..f4f0af07a 100644 --- a/src/wx/timecode.cc +++ b/src/wx/timecode.cc @@ -18,14 +18,15 @@ */ + +#include "dcpomatic_button.h" #include "timecode.h" #include "wx_util.h" -#include "dcpomatic_button.h" #include "lib/util.h" -#include + using std::string; -using std::cout; + TimecodeBase::TimecodeBase (wxWindow* parent, bool set_button) : wxPanel (parent) @@ -105,7 +106,7 @@ TimecodeBase::clear () void TimecodeBase::changed () { - if (_set_button) { + if (_set_button && !_ignore_changed) { _set_button->Enable (true); } } @@ -117,6 +118,21 @@ TimecodeBase::set_clicked () if (_set_button) { _set_button->Enable (false); } + + _ignore_changed = true; + if (_hours->GetValue().IsEmpty()) { + _hours->SetValue(wxT("0")); + } + if (_minutes->GetValue().IsEmpty()) { + _minutes->SetValue(wxT("0")); + } + if (_seconds->GetValue().IsEmpty()) { + _seconds->SetValue(wxT("0")); + } + if (_frames->GetValue().IsEmpty()) { + _frames->SetValue(wxT("0")); + } + _ignore_changed = false; } void @@ -131,7 +147,11 @@ wxSize TimecodeBase::size (wxWindow* parent) { wxClientDC dc (parent); - auto size = dc.GetTextExtent(wxT("9999")); +#ifdef DCPOMATIC_OSX + auto size = dc.GetTextExtent(wxT("999")); +#else + auto size = dc.GetTextExtent(wxT("99999")); +#endif size.SetHeight (-1); return size; }