From c7f5c89681e577f9298bea47c8586071e0bdeb73 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 10 Sep 2022 15:19:16 -0600 Subject: [PATCH] library downloading: various fixes to GUI --- gtk2_ardour/library_download_dialog.cc | 19 ++++++++++++------- gtk2_ardour/library_download_dialog.h | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/gtk2_ardour/library_download_dialog.cc b/gtk2_ardour/library_download_dialog.cc index d0d7c50801..eab855a519 100644 --- a/gtk2_ardour/library_download_dialog.cc +++ b/gtk2_ardour/library_download_dialog.cc @@ -19,6 +19,8 @@ #include #include +#include + #include "pbd/i18n.h" #include @@ -85,6 +87,9 @@ LibraryDownloadDialog::add_library (ARDOUR::LibraryDescription const & ld) (*i)[_columns.license] = ld.license(); (*i)[_columns.size] = ld.size(); (*i)[_columns.installed] = ld.installed(); + if (ld.installed()) { + std::cerr << ld.name() << " should be installed\n"; + } (*i)[_columns.url] = ld.url(); if (ld.installed()) { @@ -113,6 +118,10 @@ LibraryDownloadDialog::install (std::string const & path, Gtk::TreePath const & (*row)[_columns.installed] = false; (*row)[_columns.install] = _("Install"); } + + /* Always unlink (remove) the downloaded archive */ + + // ::g_unlink (path.c_str()); } @@ -122,20 +131,18 @@ LibraryDownloadDialog::download (Gtk::TreePath const & path) Gtk::TreeModel::iterator row = _model->get_iter (path); std::string url = (*row)[_columns.url]; - std::cerr << "will download " << url << " to " << Config->get_clip_library_dir() << std::endl; - ARDOUR::Downloader* downloader = new ARDOUR::Downloader (url, ARDOUR::Config->get_clip_library_dir()); /* setup timer callback to update progressbar */ Glib::signal_timeout().connect (sigc::bind (sigc::mem_fun (*this, &LibraryDownloadDialog::dl_timer_callback), downloader, path), 40); + (*row)[_columns.downloader] = downloader; + /* and go ... */ downloader->start (); - (*row)[_columns.downloader] = downloader; - /* and back to the GUI event loop, though we're modal so not much is possible */ } @@ -149,7 +156,7 @@ LibraryDownloadDialog::dl_timer_callback (Downloader* dl, Gtk::TreePath treepath */ if (dl->status() == 0) { - (*row)[_columns.progress] = (int) round ((dl->progress() * 100.0)); + (*row)[_columns.progress] = (int) round (dl->progress() * 100.0); return true; /* call again */ } @@ -183,8 +190,6 @@ LibraryDownloadDialog::display_button_press (GdkEventButton* ev) Gtk::TreeIter iter = _model->get_iter (path); - std::cerr << "Click\n"; - string cur = (*iter)[_columns.install]; if (cur == _("Install")) { if (!(*iter)[_columns.installed]) { diff --git a/gtk2_ardour/library_download_dialog.h b/gtk2_ardour/library_download_dialog.h index 34ecdab5b8..725b2e4ee5 100644 --- a/gtk2_ardour/library_download_dialog.h +++ b/gtk2_ardour/library_download_dialog.h @@ -65,7 +65,7 @@ class LibraryDownloadDialog : public ArdourDialog /* these are not displayed */ Gtk::TreeModelColumn url; Gtk::TreeModelColumn downloader; - Gtk::TreeModelColumn progress; + Gtk::TreeModelColumn progress; /* used as tooltip */ Gtk::TreeModelColumn description; };