diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-05-14 20:14:52 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-05-14 20:14:52 +0200 |
| commit | 8c7ad603cf0a534abe1a920b70b0daa095257d3a (patch) | |
| tree | 28ecc906611cd60b6d2df3d33446e32eb654d907 | |
| parent | 4edc14c8b1410e24f68b510cc14409b96c0338a3 (diff) | |
Don't say 'certificate downloaded' if it failed during the read part.
| -rw-r--r-- | src/lib/internet.cc | 12 | ||||
| -rw-r--r-- | src/lib/internet.h | 6 | ||||
| -rw-r--r-- | src/wx/christie_certificate_panel.cc | 2 | ||||
| -rw-r--r-- | src/wx/download_certificate_panel.cc | 9 | ||||
| -rw-r--r-- | src/wx/download_certificate_panel.h | 2 |
5 files changed, 17 insertions, 14 deletions
diff --git a/src/lib/internet.cc b/src/lib/internet.cc index b993117bb..943363d1a 100644 --- a/src/lib/internet.cc +++ b/src/lib/internet.cc @@ -119,24 +119,25 @@ get_from_url (string url, bool pasv, bool skip_pasv_ip, ScopedTemporary& temp) return optional<string>(); } + optional<string> -get_from_url (string url, bool pasv, bool skip_pasv_ip, function<void (boost::filesystem::path)> load) +get_from_url (string url, bool pasv, bool skip_pasv_ip, function<optional<string> (boost::filesystem::path)> load) { ScopedTemporary temp; optional<string> e = get_from_url (url, pasv, skip_pasv_ip, temp); if (e) { return e; } - load (temp.file()); - return optional<string>(); + return load (temp.file()); } + /** @param url URL of ZIP file. * @param file Filename within ZIP file. * @param load Function passed a (temporary) filesystem path of the unpacked file. */ optional<string> -get_from_zip_url (string url, string file, bool pasv, bool skip_pasv_ip, function<void (boost::filesystem::path)> load) +get_from_zip_url (string url, string file, bool pasv, bool skip_pasv_ip, function<optional<string> (boost::filesystem::path)> load) { /* Download the ZIP file to temp_zip */ ScopedTemporary temp_zip; @@ -193,6 +194,5 @@ get_from_zip_url (string url, string file, bool pasv, bool skip_pasv_ip, functio zip_close (zip); temp_cert.close (); - load (temp_cert.file ()); - return optional<string> (); + return load (temp_cert.file()); } diff --git a/src/lib/internet.h b/src/lib/internet.h index 5f9a25e3b..8aa7264c6 100644 --- a/src/lib/internet.h +++ b/src/lib/internet.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2020 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -25,6 +25,6 @@ class ScopedTemporary; boost::optional<std::string> get_from_url (std::string url, bool pasv, bool skip_pasv_ip, ScopedTemporary& temp); -boost::optional<std::string> get_from_url (std::string url, bool pasv, bool skip_pasv_ip, boost::function<void (boost::filesystem::path)> load); -boost::optional<std::string> get_from_zip_url (std::string url, std::string file, bool pasv, bool skip_pasv_ip, boost::function<void (boost::filesystem::path)> load); +boost::optional<std::string> get_from_url (std::string url, bool pasv, bool skip_pasv_ip, boost::function<boost::optional<std::string> (boost::filesystem::path)> load); +boost::optional<std::string> get_from_zip_url (std::string url, std::string file, bool pasv, bool skip_pasv_ip, boost::function<boost::optional<std::string> (boost::filesystem::path)> load); std::list<std::string> ls_url (std::string url); diff --git a/src/wx/christie_certificate_panel.cc b/src/wx/christie_certificate_panel.cc index 7db3fef25..0795b09e9 100644 --- a/src/wx/christie_certificate_panel.cc +++ b/src/wx/christie_certificate_panel.cc @@ -76,7 +76,7 @@ ChristieCertificatePanel::do_download () _dialog->message()->SetLabel(wxT("")); error_dialog (this, std_to_wx(*all_errors)); } else { - _dialog->message()->SetLabel (_("Certificate downloaded")); + _dialog->message()->SetLabel (_("Certificate dowloaded")); _dialog->setup_sensitivity (); } } diff --git a/src/wx/download_certificate_panel.cc b/src/wx/download_certificate_panel.cc index 2f3b435ef..461c68966 100644 --- a/src/wx/download_certificate_panel.cc +++ b/src/wx/download_certificate_panel.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2018 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2020 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -22,10 +22,12 @@ #include "download_certificate_panel.h" #include "download_certificate_dialog.h" #include "lib/signal_manager.h" +#include "lib/compose.hpp" #include <dcp/util.h> #include <dcp/exceptions.h> #include <boost/bind.hpp> +using std::string; using boost::function; using boost::optional; @@ -51,14 +53,15 @@ DownloadCertificatePanel::DownloadCertificatePanel (DownloadCertificateDialog* d _overall_sizer->SetSizeHints (this); } -void +optional<string> DownloadCertificatePanel::load (boost::filesystem::path file) { try { _certificate = dcp::Certificate (dcp::file_to_string (file)); } catch (dcp::MiscError& e) { - error_dialog (this, _("Could not read certificate file."), std_to_wx(e.what())); + return String::compose(wx_to_std(_("Could not read certificate file (%1)")), e.what()); } + return optional<string>(); } optional<dcp::Certificate> diff --git a/src/wx/download_certificate_panel.h b/src/wx/download_certificate_panel.h index d1f0bf4de..f51bcde13 100644 --- a/src/wx/download_certificate_panel.h +++ b/src/wx/download_certificate_panel.h @@ -37,7 +37,7 @@ public: virtual bool ready_to_download () const; void download (); - void load (boost::filesystem::path); + boost::optional<std::string> load (boost::filesystem::path); boost::optional<dcp::Certificate> certificate () const; protected: |
