Add very basic logging in the dual-screen player.
authorCarl Hetherington <cth@carlh.net>
Mon, 24 Sep 2018 23:23:12 +0000 (00:23 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 24 Sep 2018 23:23:12 +0000 (00:23 +0100)
src/tools/dcpomatic_player.cc
src/wx/controls.cc
src/wx/controls.h

index e0112764fed6c814666a80e4faf720002aa5537d..07583ccafdffa125bc5501ae99a3cc8a3ec39fcf 100644 (file)
@@ -344,6 +344,8 @@ public:
                        j->Check(!dcp->cpl() || i->id() == *dcp->cpl());
                        ++id;
                }
+
+               _controls->log (wxString::Format(_("Load DCP %s"), dir.filename().string().c_str()));
        }
 
 private:
index e96d8055e262a73152ed3ee75554ab384ce8b4b0..bc373812d3d2f5ad140a78792dc77fd6aba5d90e 100644 (file)
@@ -73,11 +73,19 @@ Controls::Controls (wxWindow* parent, shared_ptr<FilmViewer> viewer, bool editor
 
        _v_sizer->Add (view_options, 0, wxALL, DCPOMATIC_SIZER_GAP);
 
-       _dcp_directory = new wxListCtrl (this, wxID_ANY, wxDefaultPosition, wxSize(600, -1), wxLC_REPORT | wxLC_NO_HEADER);
+       wxBoxSizer* e_sizer = new wxBoxSizer (wxHORIZONTAL);
+
+       _dcp_directory = new wxListCtrl (this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT | wxLC_NO_HEADER);
        _dcp_directory->AppendColumn (wxT(""), wxLIST_FORMAT_LEFT, 580);
-       _v_sizer->Add (_dcp_directory, 0, wxALL, DCPOMATIC_SIZER_GAP);
+       e_sizer->Add (_dcp_directory, 1, wxALL | wxEXPAND, DCPOMATIC_SIZER_GAP);
+
+       _log = new wxTextCtrl (this, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1, 400), wxTE_READONLY | wxTE_MULTILINE);
+       e_sizer->Add (_log, 1, wxALL | wxEXPAND, DCPOMATIC_SIZER_GAP);
+
        _dcp_directory->Show (false);
 
+       _v_sizer->Add (e_sizer, 0, wxEXPAND);
+
        wxBoxSizer* h_sizer = new wxBoxSizer (wxHORIZONTAL);
 
        wxBoxSizer* time_sizer = new wxBoxSizer (wxVERTICAL);
@@ -502,3 +510,16 @@ Controls::stop_clicked ()
        DCPEjected ();
 }
 #endif
+
+void
+Controls::log (wxString s)
+{
+       struct timeval time;
+       gettimeofday (&time, 0);
+       char buffer[64];
+       time_t const sec = time.tv_sec;
+       struct tm* t = localtime (&sec);
+       strftime (buffer, 64, "%c", t);
+       wxString ts = std_to_wx(string(buffer)) + N_(": ");
+       _log->SetValue(_log->GetValue() + ts + s + "\n");
+}
index bd87d658b62d9ba81eee8c854f95e595ab3ed094..63e9fb38a3baea12ea711a7f3818f7c92ed47ff2 100644 (file)
@@ -47,6 +47,7 @@ public:
        void forward_frame ();
 
        void show_extended_player_controls (bool s);
+       void log (wxString s);
 
        boost::signals2::signal<void (boost::filesystem::path)> DCPDirectorySelected;
        boost::signals2::signal<void ()> DCPEjected;
@@ -97,6 +98,7 @@ private:
        wxChoice* _eye;
        wxCheckBox* _jump_to_selected;
        wxListCtrl* _dcp_directory;
+       wxTextCtrl* _log;
        std::vector<boost::filesystem::path> _dcp_directories;
        wxSlider* _slider;
        wxButton* _rewind_button;