BOOST_FOREACH.
[dcpomatic.git] / src / wx / content_view.cc
index 035118245fc150017b45dae8fa46b4ec2d988c28..44e575d9393bcc06a349d88901c1cb5b20021a10 100644 (file)
 using std::string;
 using std::cout;
 using std::list;
-using boost::shared_ptr;
-using boost::weak_ptr;
+using std::shared_ptr;
+using std::weak_ptr;
 using boost::optional;
-using boost::dynamic_pointer_cast;
+using std::dynamic_pointer_cast;
+using namespace dcpomatic;
 
 ContentView::ContentView (wxWindow* parent)
        : wxListCtrl (parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT | wxLC_NO_HEADER)
@@ -70,8 +71,8 @@ ContentView::update ()
        DeleteAllItems ();
        _content.clear ();
        optional<path> dir = Config::instance()->player_content_directory();
-       if (!dir) {
-               return;
+       if (!dir || !boost::filesystem::is_directory(*dir)) {
+               dir = home_directory ();
        }
 
        wxProgressDialog progress (_("DCP-o-matic"), _("Reading content directory"));
@@ -81,6 +82,8 @@ ContentView::update ()
 
        for (directory_iterator i = directory_iterator(*dir); i != directory_iterator(); ++i) {
                try {
+                       progress.Pulse ();
+
                        shared_ptr<Content> content;
                        if (is_directory(*i) && (is_regular_file(*i / "ASSETMAP") || is_regular_file(*i / "ASSETMAP.xml"))) {
                                content.reset (new DCPContent(*i));
@@ -95,7 +98,7 @@ ContentView::update ()
                        }
                } catch (boost::filesystem::filesystem_error& e) {
                        /* Never mind */
-               } catch (dcp::DCPReadError& e) {
+               } catch (dcp::ReadError& e) {
                        /* Never mind */
                }
        }
@@ -103,16 +106,16 @@ ContentView::update ()
        while (jm->work_to_do()) {
                if (!progress.Pulse()) {
                        /* user pressed cancel */
-                       BOOST_FOREACH (shared_ptr<Job> i, jm->get()) {
+                       for (auto i: jm->get()) {
                                i->cancel();
                        }
                        return;
                }
-               dcpomatic_sleep (1);
+               dcpomatic_sleep_seconds (1);
        }
 
        /* Add content from successful jobs and report errors */
-       BOOST_FOREACH (shared_ptr<ExamineContentJob> i, jobs) {
+       for (auto i: jobs) {
                if (i->finished_in_error()) {
                        error_dialog(this, std_to_wx(i->error_summary()) + ".\n", std_to_wx(i->error_details()));
                } else {
@@ -153,7 +156,7 @@ ContentView::add (shared_ptr<Content> content)
 shared_ptr<Content>
 ContentView::get (string digest) const
 {
-       BOOST_FOREACH (shared_ptr<Content> i, _content) {
+       for (auto i: _content) {
                if (i->digest() == digest) {
                        return i;
                }