BOOST_FOREACH.
[dcpomatic.git] / src / wx / wx_util.cc
index f8756549b44bca308ca591cace3c3859a9fea02e..3386b2700c522c7047c4bb0e0c738473cf1b6303 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 #include "lib/util.h"
 #include "lib/cross.h"
 #include "lib/job.h"
+#include "lib/warnings.h"
 #include <dcp/locale_convert.h>
+DCPOMATIC_DISABLE_WARNINGS
 #include <wx/spinctrl.h>
 #include <wx/splash.h>
 #include <wx/progdlg.h>
 #include <wx/filepicker.h>
+DCPOMATIC_ENABLE_WARNINGS
 #include <boost/thread.hpp>
 
 using std::string;
 using std::vector;
 using std::pair;
-using boost::shared_ptr;
+using std::shared_ptr;
 using boost::optional;
 using dcp::locale_convert;
 using namespace dcpomatic;
@@ -470,8 +473,7 @@ maybe_show_splash ()
        wxSplashScreen* splash = 0;
        try {
                wxBitmap bitmap;
-               boost::filesystem::path p = shared_path () / "splash.png";
-               if (bitmap.LoadFile (std_to_wx (p.string ()), wxBITMAP_TYPE_PNG)) {
+               if (bitmap.LoadFile(bitmap_path("splash"), wxBITMAP_TYPE_PNG)) {
                        splash = new wxSplashScreen (bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, 0, -1);
                        wxYield ();
                }
@@ -520,7 +522,7 @@ display_progress (wxString title, wxString task)
                dcpomatic_sleep_seconds (1);
                if (!progress.Pulse()) {
                        /* user pressed cancel */
-                       BOOST_FOREACH (shared_ptr<Job> i, jm->get()) {
+                       for (auto i: jm->get()) {
                                i->cancel();
                        }
                        ok = false;
@@ -575,18 +577,29 @@ bitmap_path (string name)
        boost::filesystem::path base;
 
 #ifdef DCPOMATIC_DEBUG
-       /* Hack to allow OS X to find icons when running from the source tree */
+       /* Hack to allow Linux and OS X to find icons when running from the source tree */
        char* path = getenv ("DCPOMATIC_GRAPHICS");
        if (path) {
                base = path;
        } else {
-               base = shared_path();
+               base = resources_path();
        }
 #else
-       base = shared_path();
+       base = resources_path();
 #endif
 
        boost::filesystem::path p = base / String::compose("%1.png", name);
        return std_to_wx (p.string());
 }
 
+
+wxSize
+small_button_size (wxWindow* parent, wxString text)
+{
+       wxClientDC dc (parent);
+       wxSize size = dc.GetTextExtent (text);
+       size.SetHeight (-1);
+       size.IncBy (24, 0);
+       return size;
+}
+