Use $HOME rather than hard-coded user name.
[dcpomatic.git] / src / tools / dcpomatic_editor.cc
index 69fbe4643a1fa2dec5be43f748685fa0c472a8d2..14ff6da7f04129f8188cb70d9d7e01ee337966a3 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "wx/about_dialog.h"
 #include "wx/editable_list.h"
+#include "wx/id.h"
 #include "wx/wx_signal_manager.h"
 #include "wx/wx_util.h"
 #include "lib/constants.h"
@@ -59,7 +60,7 @@ using namespace boost::placeholders;
 
 
 enum {
-       ID_file_open = 1,
+       ID_file_open = DCPOMATIC_MAIN_MENU,
        ID_file_save,
 };
 
@@ -328,10 +329,15 @@ public:
 
        void load_dcp (boost::filesystem::path path)
        {
-               _notebook->DeleteAllPages();
+               try {
+                       _dcp = dcp::DCP(path);
+                       _dcp->read();
+               } catch (std::runtime_error& e) {
+                       error_dialog(this, _("Could not load DCP"), std_to_wx(e.what()));
+                       return;
+               }
 
-               _dcp = dcp::DCP(path);
-               _dcp->read();
+               _notebook->DeleteAllPages();
                for (auto cpl: _dcp->cpls()) {
                        _notebook->AddPage(new CPLPanel(_notebook, cpl), wx_to_std(cpl->annotation_text().get_value_or(cpl->id())));
                }