String fix.
[dcpomatic.git] / src / tools / dcpomatic_combiner.cc
index 4a783d6346f65679d289a29035199b7401c24bc4..a4f80ac8e6cca7410669c0fc1fbfacf5e5de6127 100644 (file)
 */
 
 
+#include "wx/dir_dialog.h"
 #include "wx/dir_picker_ctrl.h"
 #include "wx/editable_list.h"
 #include "wx/wx_signal_manager.h"
 #include "lib/combine_dcp_job.h"
 #include "lib/config.h"
+#include "lib/constants.h"
 #include "lib/cross.h"
 #include "lib/job_manager.h"
-#include "lib/util.h"
 #include <dcp/combine.h>
-DCPOMATIC_DISABLE_WARNINGS
+LIBDCP_DISABLE_WARNINGS
 #include <wx/filepicker.h>
-DCPOMATIC_ENABLE_WARNINGS
+LIBDCP_ENABLE_WARNINGS
 #include <wx/wx.h>
 #include <boost/bind/bind.hpp>
 #include <boost/filesystem.hpp>
@@ -56,18 +57,23 @@ display_string (boost::filesystem::path p, int)
 }
 
 
-class DirDialogWrapper : public wxDirDialog
+class DirDialogWrapper : public DirDialog
 {
 public:
        DirDialogWrapper (wxWindow* parent)
-               : wxDirDialog (parent, _("Choose a DCP folder"), wxT(""), wxDD_DIR_MUST_EXIST)
+               : DirDialog (parent, _("Choose a DCP folder"), wxDD_DIR_MUST_EXIST, "AddCombinerInputPath")
        {
 
        }
 
-       boost::filesystem::path get () const
+       virtual int ShowModal() override
        {
-               return boost::filesystem::path(wx_to_std(GetPath()));
+               return DirDialog::show() ? wxID_OK : wxID_CANCEL;
+       }
+
+       optional<boost::filesystem::path> get () const
+       {
+               return path();
        }
 
        void set (boost::filesystem::path)
@@ -100,8 +106,8 @@ public:
                        boost::bind(&DOMFrame::inputs, this),
                        boost::bind(&DOMFrame::set_inputs, this, _1),
                        &display_string,
-                       false,
-                       true
+                       EditableListTitle::VISIBLE,
+                       EditableListButton::NEW | EditableListButton::REMOVE
                        );
 
                auto output = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
@@ -169,7 +175,7 @@ private:
 
                auto jm = JobManager::instance ();
                jm->add (make_shared<CombineDCPJob>(_inputs, output, wx_to_std(_annotation_text->GetValue())));
-               bool const ok = display_progress (_("DCP-o-matic Combine"), _("Combining DCPs"));
+               bool const ok = display_progress(_("DCP-o-matic Combiner"), _("Combining DCPs"));
                if (!ok) {
                        return;
                }
@@ -210,7 +216,7 @@ public:
        bool OnInit () override
        {
                try {
-                       Config::FailedToLoad.connect (boost::bind (&App::config_failed_to_load, this));
+                       Config::FailedToLoad.connect(boost::bind(&App::config_failed_to_load, this, _1));
                        Config::Warning.connect (boost::bind (&App::config_warning, this, _1));
 
                        SetAppName (_("DCP-o-matic Combiner"));
@@ -264,9 +270,9 @@ public:
                return true;
        }
 
-       void config_failed_to_load ()
+       void config_failed_to_load(Config::LoadFailure what)
        {
-               message_dialog (_frame, _("The existing configuration failed to load.  Default values will be used instead.  These may take a short time to create."));
+               report_config_load_failure(_frame, what);
        }
 
        void config_warning (string m)