From 980404d73cc315d6b95df09d40fa78a37b97242f Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 4 Oct 2022 11:18:55 -0600 Subject: [PATCH] refill library download dialog on show --- gtk2_ardour/library_download_dialog.cc | 23 ++++++++++++++++++++--- gtk2_ardour/library_download_dialog.h | 2 ++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/gtk2_ardour/library_download_dialog.cc b/gtk2_ardour/library_download_dialog.cc index 30c4c2f51a..ac71f9de0d 100644 --- a/gtk2_ardour/library_download_dialog.cc +++ b/gtk2_ardour/library_download_dialog.cc @@ -74,9 +74,6 @@ LibraryDownloadDialog::LibraryDownloadDialog () description_view.set_wrap_mode (Gtk::WRAP_WORD); get_vbox()->pack_start (description_view); - ARDOUR::LibraryFetcher lf; - lf.get_descriptions (); - lf.foreach_description (boost::bind (&LibraryDownloadDialog::add_library, this, _1)); } LibraryDownloadDialog::~LibraryDownloadDialog () @@ -84,6 +81,26 @@ LibraryDownloadDialog::~LibraryDownloadDialog () delete inflater; } +void +LibraryDownloadDialog::refill () +{ + ARDOUR::LibraryFetcher lf; + lf.get_descriptions (); + + if (lf.n_descriptions()) { + _model->clear (); + } + + lf.foreach_description (boost::bind (&LibraryDownloadDialog::add_library, this, _1)); +} + +void +LibraryDownloadDialog::on_show () +{ + ArdourDialog::on_show (); + refill (); +} + void LibraryDownloadDialog::library_selected () { diff --git a/gtk2_ardour/library_download_dialog.h b/gtk2_ardour/library_download_dialog.h index a9298ac192..0b27eefe3e 100644 --- a/gtk2_ardour/library_download_dialog.h +++ b/gtk2_ardour/library_download_dialog.h @@ -47,6 +47,7 @@ class LibraryDownloadDialog : public ArdourDialog ~LibraryDownloadDialog (); void add_library (ARDOUR::LibraryDescription const &); + void on_show (); private: class LibraryColumns : public Gtk::TreeModelColumnRecord { @@ -115,6 +116,7 @@ class LibraryDownloadDialog : public ArdourDialog Gtk::TextView description_view; void library_selected (); + void refill (); };