Config::FailedToLoad.connect (boost::bind (&App::config_failed_to_load, this));
Config::Warning.connect (boost::bind (&App::config_warning, this, _1));
- 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 */
- }
+ wxSplashScreen* splash = maybe_show_splash ();
SetAppName (_("DCP-o-matic"));
#include "lib/compose.hpp"
#include "lib/cinema.h"
#include "lib/dkdm_wrapper.h"
+#include "lib/cross.h"
#include <dcp/encrypted_kdm.h>
#include <dcp/decrypted_kdm.h>
#include <dcp/exceptions.h>
#include <wx/wx.h>
#include <wx/preferences.h>
+#include <wx/splash.h>
#include <wx/filepicker.h>
#ifdef __WXOSX__
#include <ApplicationServices/ApplicationServices.h>
{
wxInitAllImageHandlers ();
+ Config::FailedToLoad.connect (boost::bind (&App::config_failed_to_load, this));
+ Config::Warning.connect (boost::bind (&App::config_warning, this, _1));
+
+ wxSplashScreen* splash = maybe_show_splash ();
+
SetAppName (_("DCP-o-matic KDM Creator"));
if (!wxApp::OnInit()) {
_frame = new DOMFrame (_("DCP-o-matic KDM Creator"));
SetTopWindow (_frame);
_frame->Maximize ();
+ if (splash) {
+ splash->Destroy ();
+ }
_frame->Show ();
signal_manager = new wxSignalManager (this);
signal_manager->ui_idle ();
}
+ void config_failed_to_load ()
+ {
+ message_dialog (_frame, _("The existing configuration failed to load. Default values will be used instead. These may take a short time to create."));
+ }
+
+ void config_warning (string m)
+ {
+ message_dialog (_frame, std_to_wx (m));
+ }
+
DOMFrame* _frame;
};
wxInitAllImageHandlers ();
Config::FailedToLoad.connect (boost::bind (&App::config_failed_to_load, this));
+ Config::Warning.connect (boost::bind (&App::config_warning, this, _1));
- 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 */
- }
+ wxSplashScreen* splash = maybe_show_splash ();
SetAppName (_("DCP-o-matic Player"));
message_dialog (_frame, _("The existing configuration failed to load. Default values will be used instead. These may take a short time to create."));
}
+ void config_warning (string m)
+ {
+ message_dialog (_frame, std_to_wx (m));
+ }
+
DOMFrame* _frame;
string _dcp_to_load;
};
#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;
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;
+}
class wxSpinCtrl;
class wxSpinCtrlDouble;
class wxGridBagSizer;
+class wxSplashScreen;
#define DCPOMATIC_SIZER_X_GAP 8
#define DCPOMATIC_SIZER_Y_GAP 8
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);