projects
/
dcpomatic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f29f405
)
Various JobView fixes.
author
Carl Hetherington
<cth@carlh.net>
Wed, 7 Oct 2015 18:34:21 +0000
(19:34 +0100)
committer
Carl Hetherington
<cth@carlh.net>
Fri, 9 Oct 2015 12:44:58 +0000
(13:44 +0100)
src/tools/dcpomatic_kdm.cc
patch
|
blob
|
history
src/wx/file_picker_ctrl.cc
patch
|
blob
|
history
src/wx/file_picker_ctrl.h
patch
|
blob
|
history
src/wx/job_view_dialog.cc
patch
|
blob
|
history
src/wx/job_view_dialog.h
patch
|
blob
|
history
diff --git
a/src/tools/dcpomatic_kdm.cc
b/src/tools/dcpomatic_kdm.cc
index dd2c09bb0eab6c35e7bdeda5aaf66beb8679fcda..bc58be914a93ae1c13ad243748a9f9f1b9004908 100644
(file)
--- a/
src/tools/dcpomatic_kdm.cc
+++ b/
src/tools/dcpomatic_kdm.cc
@@
-20,6
+20,7
@@
#include "wx/config_dialog.h"
#include "wx/about_dialog.h"
#include "wx/report_problem_dialog.h"
#include "wx/config_dialog.h"
#include "wx/about_dialog.h"
#include "wx/report_problem_dialog.h"
+#include "wx/file_picker_ctrl.h"
#include "wx/wx_util.h"
#include "wx/wx_signal_manager.h"
#include "wx/screens_panel.h"
#include "wx/wx_util.h"
#include "wx/wx_signal_manager.h"
#include "wx/screens_panel.h"
@@
-101,11
+102,7
@@
public:
vertical->Add (h, 0, wxALIGN_CENTER_VERTICAL | wxTOP, DCPOMATIC_SIZER_Y_GAP * 2);
wxSizer* dkdm = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
add_label_to_sizer (dkdm, overall_panel, _("DKDM file"), true);
vertical->Add (h, 0, wxALIGN_CENTER_VERTICAL | wxTOP, DCPOMATIC_SIZER_Y_GAP * 2);
wxSizer* dkdm = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
add_label_to_sizer (dkdm, overall_panel, _("DKDM file"), true);
-#ifdef DCPOMATIC_USE_OWN_PICKER
- _dkdm = new FilePicker (overall_panel, _("Select a DKDM XML file..."), "*.xml");
-#else
- _dkdm = new wxFilePickerCtrl (overall_panel, wxID_ANY, wxEmptyString, _("Select a DKDM XML file..."), "*.xml", wxDefaultPosition, wxSize (300, -1));
-#endif
+ _dkdm = new FilePickerCtrl (overall_panel, _("Select a DKDM XML file..."), "*.xml");
dkdm->Add (_dkdm, 1, wxEXPAND);
add_label_to_sizer (dkdm, overall_panel, _("Annotation"), true);
_annotation_text = new wxStaticText (overall_panel, wxID_ANY, wxT(""));
dkdm->Add (_dkdm, 1, wxEXPAND);
add_label_to_sizer (dkdm, overall_panel, _("Annotation"), true);
_annotation_text = new wxStaticText (overall_panel, wxID_ANY, wxT(""));
@@
-206,6
+203,10
@@
private:
void dkdm_changed ()
{
void dkdm_changed ()
{
+ if (_dkdm->GetPath().IsEmpty()) {
+ return;
+ }
+
try {
dcp::EncryptedKDM encrypted (dcp::file_to_string (wx_to_std (_dkdm->GetPath())));
dcp::DecryptedKDM decrypted (encrypted, Config::instance()->decryption_chain()->key().get());
try {
dcp::EncryptedKDM encrypted (dcp::file_to_string (wx_to_std (_dkdm->GetPath())));
dcp::DecryptedKDM decrypted (encrypted, Config::instance()->decryption_chain()->key().get());
@@
-306,11
+307,8
@@
private:
wxPreferencesEditor* _config_dialog;
ScreensPanel* _screens;
KDMTimingPanel* _timing;
wxPreferencesEditor* _config_dialog;
ScreensPanel* _screens;
KDMTimingPanel* _timing;
-#ifdef DCPOMATIC_USE_OWN_PICKER
- FilePicker* _dkdm;
-#else
- wxFilePickerCtrl* _dkdm;
-#endif
+ /* I can't seem to clear the value in a wxFilePickerCtrl, so use our own */
+ FilePickerCtrl* _dkdm;
wxStaticText* _annotation_text;
wxStaticText* _content_title_text;
wxStaticText* _issue_date;
wxStaticText* _annotation_text;
wxStaticText* _content_title_text;
wxStaticText* _issue_date;
diff --git
a/src/wx/file_picker_ctrl.cc
b/src/wx/file_picker_ctrl.cc
index 4e2f97618452b5d12d27223dbe0846da589df6e6..8de1596a9dc725840f2ab2a6c9fb95fd202ceae1 100644
(file)
--- a/
src/wx/file_picker_ctrl.cc
+++ b/
src/wx/file_picker_ctrl.cc
@@
-34,14
+34,16
@@
FilePickerCtrl::FilePickerCtrl (wxWindow* parent, wxString prompt, wxString wild
{
_sizer = new wxBoxSizer (wxHORIZONTAL);
{
_sizer = new wxBoxSizer (wxHORIZONTAL);
- _file = new wxStaticText (this, wxID_ANY, wxT ("This is the length of the file label"));
+ wxClientDC dc (parent);
+ wxSize size = dc.GetTextExtent (wxT ("This is the length of the file label it should be quite long"));
+ size.SetHeight (-1);
+
+ _file = new wxButton (this, wxID_ANY, _("(None)"), wxDefaultPosition, size, wxBU_LEFT);
_sizer->Add (_file, 1, wxEXPAND | wxALL, 6);
_sizer->Add (_file, 1, wxEXPAND | wxALL, 6);
- _browse = new wxButton (this, wxID_ANY, _("Browse..."));
- _sizer->Add (_browse, 0);
SetSizerAndFit (_sizer);
SetSizerAndFit (_sizer);
- _
brows
e->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&FilePickerCtrl::browse_clicked, this));
+ _
fil
e->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&FilePickerCtrl::browse_clicked, this));
}
void
}
void
@@
-49,7
+51,11
@@
FilePickerCtrl::SetPath (wxString p)
{
_path = p;
{
_path = p;
- _file->SetLabel (std_to_wx (filesystem::path (wx_to_std (_path)).leaf().string()));
+ if (!_path.IsEmpty ()) {
+ _file->SetLabel (std_to_wx (filesystem::path (wx_to_std (_path)).leaf().string()));
+ } else {
+ _file->SetLabel (_("(None)"));
+ }
wxCommandEvent ev (wxEVT_COMMAND_FILEPICKER_CHANGED, wxID_ANY);
GetEventHandler()->ProcessEvent (ev);
wxCommandEvent ev (wxEVT_COMMAND_FILEPICKER_CHANGED, wxID_ANY);
GetEventHandler()->ProcessEvent (ev);
diff --git
a/src/wx/file_picker_ctrl.h
b/src/wx/file_picker_ctrl.h
index 4c721af48d0a4d8a1fd18b978d0340102a4b81dc..51f11cf61ee8db7fe7c9e745afa13dc18afba83c 100644
(file)
--- a/
src/wx/file_picker_ctrl.h
+++ b/
src/wx/file_picker_ctrl.h
@@
-30,8
+30,7
@@
public:
private:
void browse_clicked ();
private:
void browse_clicked ();
- wxStaticText* _file;
- wxButton* _browse;
+ wxButton* _file;
wxString _path;
wxSizer* _sizer;
wxString _prompt;
wxString _path;
wxSizer* _sizer;
wxString _prompt;
diff --git
a/src/wx/job_view_dialog.cc
b/src/wx/job_view_dialog.cc
index a2e3cfe279673395129b27bf4583fe1b28841f0c..1a0c4d526804bd72e7f2bb6e47b113f0da815d53 100644
(file)
--- a/
src/wx/job_view_dialog.cc
+++ b/
src/wx/job_view_dialog.cc
@@
-28,9
+28,19
@@
JobViewDialog::JobViewDialog (wxWindow* parent, wxString title, shared_ptr<Job>
_view = new JobView (job, this, this, _table);
layout ();
SetMinSize (wxSize (960, -1));
_view = new JobView (job, this, this, _table);
layout ();
SetMinSize (wxSize (960, -1));
+
+ Bind (wxEVT_TIMER, boost::bind (&JobViewDialog::periodic, this));
+ _timer.reset (new wxTimer (this));
+ _timer->Start (1000);
}
JobViewDialog::~JobViewDialog ()
{
delete _view;
}
}
JobViewDialog::~JobViewDialog ()
{
delete _view;
}
+
+void
+JobViewDialog::periodic ()
+{
+ _view->maybe_pulse ();
+}
diff --git
a/src/wx/job_view_dialog.h
b/src/wx/job_view_dialog.h
index 0282d984863bb5425ce76b08ddc4e9d0631bde4e..4ec00e8961031309f4dbedf5d05221f47aa337b8 100644
(file)
--- a/
src/wx/job_view_dialog.h
+++ b/
src/wx/job_view_dialog.h
@@
-30,5
+30,8
@@
public:
~JobViewDialog ();
private:
~JobViewDialog ();
private:
+ void periodic ();
+
JobView* _view;
JobView* _view;
+ boost::shared_ptr<wxTimer> _timer;
};
};