More tweaks.
[dcpomatic.git] / src / wx / content_panel.h
index e177c0f1ebe5ee4fadac330e771bbb7553bb2a1d..4a41ad1894ea6db435e99efc8dc2fe2dfc3f5ed3 100644 (file)
@@ -42,7 +42,7 @@ class FilmViewer;
 class ContentPanel : public boost::noncopyable
 {
 public:
-       ContentPanel (wxNotebook *, boost::shared_ptr<Film>, FilmViewer* viewer);
+       ContentPanel (wxNotebook *, boost::shared_ptr<Film>, boost::weak_ptr<FilmViewer> viewer);
 
        boost::shared_ptr<Film> film () const {
                return _film;
@@ -74,14 +74,17 @@ public:
        bool remove_clicked (bool hotkey);
        void timeline_clicked ();
 
-       FilmViewer* film_viewer () const {
+       boost::weak_ptr<FilmViewer> film_viewer () const {
                return _film_viewer;
        }
 
        boost::signals2::signal<void (void)> SelectionChanged;
 
 private:
-       void selection_changed ();
+       void item_selected ();
+       void item_deselected ();
+       void item_deselected_idle ();
+       void check_selection ();
        void add_folder_clicked ();
        void add_dcp_clicked ();
        void earlier_clicked ();
@@ -117,6 +120,7 @@ private:
        wxWindow* _last_selected_tab;
 
        boost::shared_ptr<Film> _film;
-       FilmViewer* _film_viewer;
+       boost::weak_ptr<FilmViewer> _film_viewer;
        bool _generally_sensitive;
+       bool _ignore_deselect;
 };