Extract common code out into kdm_for_screen()
[dcpomatic.git] / src / wx / wx_util.cc
index f77cfacd374aaea6330cce2fc807ee17237496c2..28f79431a5147171626e1b45b90d51630b4420c9 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -25,6 +25,7 @@
 #include "wx_util.h"
 #include "file_picker_ctrl.h"
 #include "static_text.h"
+#include "password_entry.h"
 #include "lib/config.h"
 #include "lib/job_manager.h"
 #include "lib/util.h"
@@ -43,6 +44,7 @@ using std::pair;
 using boost::shared_ptr;
 using boost::optional;
 using dcp::locale_convert;
+using namespace dcpomatic;
 
 wxStaticText *
 #ifdef __WXOSX__
@@ -157,6 +159,7 @@ message_dialog (wxWindow* parent, wxString m)
        d->Destroy ();
 }
 
+/** @return true if the user answered "yes" */
 bool
 confirm_dialog (wxWindow* parent, wxString m)
 {
@@ -292,6 +295,14 @@ checked_set (wxTextCtrl* widget, string value)
        }
 }
 
+void
+checked_set (PasswordEntry* entry, string value)
+{
+       if (entry->get() != value) {
+               entry->set(value);
+       }
+}
+
 void
 checked_set (wxTextCtrl* widget, wxString value)
 {
@@ -361,6 +372,9 @@ dcpomatic_setup_i18n ()
                   of wxWidgets.
                */
                locale->AddCatalog (wxT ("dcpomatic2-wxstd"));
+
+               /* Fedora 29 (at least) installs wxstd3.mo instead of wxstd.mo */
+               locale->AddCatalog (wxT ("wxstd3"));
 #endif
 
                locale->AddCatalog (wxT ("libdcpomatic2-wx"));
@@ -503,7 +517,7 @@ display_progress (wxString title, wxString task)
        bool ok = true;
 
        while (jm->work_to_do()) {
-               dcpomatic_sleep (1);
+               dcpomatic_sleep_seconds (1);
                if (!progress.Pulse()) {
                        /* user pressed cancel */
                        BOOST_FOREACH (shared_ptr<Job> i, jm->get()) {
@@ -516,19 +530,3 @@ display_progress (wxString title, wxString task)
 
        return ok;
 }
-
-bool
-report_errors_from_last_job (wxWindow* parent)
-{
-       JobManager* jm = JobManager::instance ();
-
-       DCPOMATIC_ASSERT (!jm->get().empty());
-
-       shared_ptr<Job> last = jm->get().back();
-       if (last->finished_in_error()) {
-               error_dialog(parent, std_to_wx(last->error_summary()) + ".\n", std_to_wx(last->error_details()));
-               return false;
-       }
-
-       return true;
-}