summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-01-05 18:57:48 +0000
committerCarl Hetherington <cth@carlh.net>2018-01-05 18:57:48 +0000
commit660d365faf784a8ea80d5fdc21a1384e81153194 (patch)
treea1727830dd12d47f96fac813f4bbdc114a6d572d /src/wx
parenta34e100c7e8f7bce98cf074ecb0507fe6175df61 (diff)
Make player/KDM creator and main DCP-o-matic all behave the same with respect to problems when loading config.
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/wx_util.cc22
-rw-r--r--src/wx/wx_util.h2
2 files changed, 24 insertions, 0 deletions
diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc
index 05f2db121..dd4ec3948 100644
--- a/src/wx/wx_util.cc
+++ b/src/wx/wx_util.cc
@@ -26,8 +26,10 @@
#include "file_picker_ctrl.h"
#include "lib/config.h"
#include "lib/util.h"
+#include "lib/cross.h"
#include <dcp/locale_convert.h>
#include <wx/spinctrl.h>
+#include <wx/splash.h>
#include <boost/thread.hpp>
using namespace std;
@@ -382,3 +384,23 @@ setup_audio_channels_choice (wxChoice* choice, int minimum)
checked_set (choice, items);
}
+
+wxSplashScreen *
+maybe_show_splash ()
+{
+ wxSplashScreen* splash = 0;
+ try {
+ if (!Config::have_existing ("config.xml")) {
+ wxBitmap bitmap;
+ boost::filesystem::path p = shared_path () / "splash.png";
+ if (bitmap.LoadFile (std_to_wx (p.string ()), wxBITMAP_TYPE_PNG)) {
+ splash = new wxSplashScreen (bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, 0, -1);
+ wxYield ();
+ }
+ }
+ } catch (boost::filesystem::filesystem_error& e) {
+ /* Maybe we couldn't find the splash image; never mind */
+ }
+
+ return splash;
+}
diff --git a/src/wx/wx_util.h b/src/wx/wx_util.h
index d163c6938..7011d35d3 100644
--- a/src/wx/wx_util.h
+++ b/src/wx/wx_util.h
@@ -39,6 +39,7 @@ class FilePickerCtrl;
class wxSpinCtrl;
class wxSpinCtrlDouble;
class wxGridBagSizer;
+class wxSplashScreen;
#define DCPOMATIC_SIZER_X_GAP 8
#define DCPOMATIC_SIZER_Y_GAP 8
@@ -80,6 +81,7 @@ extern wxString context_translation (wxString);
extern std::string string_client_data (wxClientData* o);
extern wxString time_to_timecode (DCPTime t, double fps);
extern void setup_audio_channels_choice (wxChoice* choice, int minimum);
+extern wxSplashScreen* maybe_show_splash ();
extern void checked_set (FilePickerCtrl* widget, boost::filesystem::path value);
extern void checked_set (wxSpinCtrl* widget, int value);