*/
+
+#include "dcpomatic_button.h"
#include "timecode.h"
#include "wx_util.h"
-#include "dcpomatic_button.h"
#include "lib/util.h"
-#include <iostream>
+
using std::string;
-using std::cout;
+
TimecodeBase::TimecodeBase (wxWindow* parent, bool set_button)
: wxPanel (parent)
void
TimecodeBase::changed ()
{
- if (_set_button) {
+ if (_set_button && !_ignore_changed) {
_set_button->Enable (true);
}
}
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
TimecodeBase::size (wxWindow* parent)
{
wxClientDC dc (parent);
+#ifdef DCPOMATIC_OSX
+ auto size = dc.GetTextExtent(wxT("999"));
+#else
auto size = dc.GetTextExtent(wxT("99999"));
+#endif
size.SetHeight (-1);
return size;
}