summaryrefslogtreecommitdiff
path: root/src/wx/controls.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-09-24 21:46:50 +0100
committerCarl Hetherington <cth@carlh.net>2018-09-24 21:46:50 +0100
commitab8ef6d729e6a858c8719e463011813f82c9a6ea (patch)
tree337a4f3181754825aa0652b65de3a9e39f04d814 /src/wx/controls.h
parente571e208d540a5bb6dafa49a8e91cb0428931abb (diff)
Fix up DCP list in player.
Diffstat (limited to 'src/wx/controls.h')
-rw-r--r--src/wx/controls.h42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/wx/controls.h b/src/wx/controls.h
index 1c8474e54..8ee5310c7 100644
--- a/src/wx/controls.h
+++ b/src/wx/controls.h
@@ -1,3 +1,23 @@
+/*
+ Copyright (C) 2018 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
#include "lib/dcpomatic_time.h"
#include "lib/types.h"
#include "lib/film.h"
@@ -11,16 +31,28 @@ class ClosedCaptionsDialog;
class Content;
class PlayerVideo;
class wxToggleButton;
+class wxListCtrl;
class Controls : public wxPanel
{
public:
- Controls (wxWindow* parent, boost::shared_ptr<FilmViewer>, bool outline_content = true, bool jump_to_selected = true, bool eyes = true);
+ Controls (
+ wxWindow* parent,
+ boost::shared_ptr<FilmViewer>,
+ bool outline_content = true,
+ bool jump_to_selected = true,
+ bool eyes = true,
+ bool dcp_directory = false
+ );
boost::shared_ptr<Film> film () const;
void back_frame ();
void forward_frame ();
+ void show_dcp_directory (bool s);
+
+ boost::signals2::signal<void (boost::filesystem::path)> DCPDirectorySelected;
+
private:
void update_position_label ();
void update_position_slider ();
@@ -45,6 +77,10 @@ private:
void started ();
void stopped ();
void film_changed ();
+ void update_dcp_directory ();
+ void dcp_directory_changed ();
+ void dcp_directory_selected ();
+ void config_changed (int property);
boost::shared_ptr<Film> _film;
boost::shared_ptr<FilmViewer> _viewer;
@@ -56,6 +92,8 @@ private:
wxCheckBox* _outline_content;
wxChoice* _eye;
wxCheckBox* _jump_to_selected;
+ wxListCtrl* _dcp_directory;
+ std::vector<boost::filesystem::path> _dcp_directories;
wxSlider* _slider;
wxButton* _rewind_button;
wxButton* _back_button;
@@ -65,4 +103,6 @@ private:
wxToggleButton* _play_button;
ClosedCaptionsDialog* _closed_captions_dialog;
+
+ boost::signals2::scoped_connection _config_changed_connection;
};