Set Delete button sensitivity correctly.
authorCarl Hetherington <cth@carlh.net>
Thu, 1 Dec 2022 19:13:14 +0000 (20:13 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 1 Dec 2022 19:13:14 +0000 (20:13 +0100)
src/tools/dcpomatic_playlist.cc

index 835582c091d88ceef49f547c8f8a119af99ed8af..3e3bd02669cc8e359c855126608b66a69e551d08 100644 (file)
@@ -136,6 +136,8 @@ public:
                _list->Bind (wxEVT_COMMAND_LIST_ITEM_DESELECTED, bind(&PlaylistList::selection_changed, this));
                _new->Bind (wxEVT_BUTTON, bind(&PlaylistList::new_playlist, this));
                _delete->Bind (wxEVT_BUTTON, bind(&PlaylistList::delete_playlist, this));
                _list->Bind (wxEVT_COMMAND_LIST_ITEM_DESELECTED, bind(&PlaylistList::selection_changed, this));
                _new->Bind (wxEVT_BUTTON, bind(&PlaylistList::new_playlist, this));
                _delete->Bind (wxEVT_BUTTON, bind(&PlaylistList::delete_playlist, this));
+
+               setup_sensitivity();
        }
 
        wxSizer* sizer ()
        }
 
        wxSizer* sizer ()
@@ -155,6 +157,11 @@ public:
        boost::signals2::signal<void (shared_ptr<SignalSPL>)> Edit;
 
 private:
        boost::signals2::signal<void (shared_ptr<SignalSPL>)> Edit;
 
 private:
+       void setup_sensitivity()
+       {
+               _delete->Enable(static_cast<bool>(selected()));
+       }
+
        void add_playlist_to_view (shared_ptr<const SignalSPL> playlist)
        {
                wxListItem item;
        void add_playlist_to_view (shared_ptr<const SignalSPL> playlist)
        {
                wxListItem item;
@@ -263,6 +270,8 @@ private:
                } else {
                        Edit (_playlists[selected]);
                }
                } else {
                        Edit (_playlists[selected]);
                }
+
+               setup_sensitivity();
        }
 
        wxBoxSizer* _sizer;
        }
 
        wxBoxSizer* _sizer;