diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-08-11 01:36:05 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-08-11 19:39:04 +0100 |
| commit | b75b2a81c24716e21442178b77ee0276ddff843c (patch) | |
| tree | 3e090cb6b27eba4afc113fc211c6efdb0cfbcc1b | |
| parent | a983627b357e25478a524a20cafa4a68a4b9299f (diff) | |
Show a splash screen if config needs creating.
| -rw-r--r-- | cscript | 1 | ||||
| -rw-r--r-- | graphics/splash.png | bin | 0 -> 33636 bytes | |||
| -rw-r--r-- | graphics/splash.svg | 50 | ||||
| -rw-r--r-- | platform/osx/make_dmg.sh | 1 | ||||
| -rw-r--r-- | platform/windows/wscript | 1 | ||||
| -rw-r--r-- | src/lib/config.cc | 10 | ||||
| -rw-r--r-- | src/lib/config.h | 3 | ||||
| -rw-r--r-- | src/tools/dcpomatic.cc | 19 | ||||
| -rw-r--r-- | windows/dcpomatic.bmp | bin | 343254 -> 0 bytes | |||
| -rw-r--r-- | windows/dcpomatic.ico | bin | 9662 -> 0 bytes | |||
| -rw-r--r-- | windows/dcpomatic.rc | 3 | ||||
| -rw-r--r-- | windows/dcpomatic_taskbar.ico | bin | 1150 -> 0 bytes | |||
| -rw-r--r-- | wscript | 3 |
13 files changed, 68 insertions, 23 deletions
@@ -261,6 +261,7 @@ def build(target, options): def package_windows(target): shutil.copyfile('build/platform/windows/installer.%s.nsi' % target.bits, 'build/platform/windows/installer2.%s.nsi' % target.bits) target.command('sed -i "s~%%resources%%~%s/platform/windows~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), target.bits)) + target.command('sed -i "s~%%graphics%%~%s/graphics~g" build/platform/windows/installer2.%s.nsi' % (os.getcwd(), target.bits)) target.command('sed -i "s~%%static_deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.windows_prefix, target.bits)) target.command('sed -i "s~%%cdist_deps%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.directory, target.bits)) target.command('sed -i "s~%%mingw%%~%s~g" build/platform/windows/installer2.%s.nsi' % (target.mingw_path, target.bits)) diff --git a/graphics/splash.png b/graphics/splash.png Binary files differnew file mode 100644 index 000000000..8a0ce53b1 --- /dev/null +++ b/graphics/splash.png diff --git a/graphics/splash.svg b/graphics/splash.svg index 36e6b84a6..122cca77e 100644 --- a/graphics/splash.svg +++ b/graphics/splash.svg @@ -15,7 +15,10 @@ id="svg2" version="1.1" inkscape:version="0.91 r13725" - sodipodi:docname="splash.svg"> + sodipodi:docname="splash.svg" + inkscape:export-filename="/home/carl/src/dcpomatic2/graphics/splash.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> <defs id="defs4" /> <sodipodi:namedview @@ -23,11 +26,11 @@ pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" - inkscape:pageopacity="0.0" + inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:zoom="0.64555556" - inkscape:cx="198.81239" - inkscape:cy="150.53356" + inkscape:zoom="0.48805595" + inkscape:cx="157.61086" + inkscape:cy="133.21225" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" @@ -36,7 +39,8 @@ inkscape:window-height="719" inkscape:window-x="170" inkscape:window-y="1077" - inkscape:window-maximized="1" /> + inkscape:window-maximized="1" + showguides="false" /> <metadata id="metadata7"> <rdf:RDF> @@ -54,6 +58,13 @@ inkscape:groupmode="layer" id="layer1" transform="translate(0,-752.36216)"> + <rect + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="rect4315" + width="400" + height="300" + x="-0.045666847" + y="752.41266" /> <g id="layer1-9" inkscape:label="Layer 1" @@ -145,25 +156,36 @@ </g> <text xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:'libre baskerville';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'libre baskerville';font-stretch:normal;font-variant:normal;" - x="74.648438" - y="950.12463" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:'Libre Baskerville';-inkscape-font-specification:'Libre Baskerville';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="63.455936" + y="978.57825" id="text4236" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan4238" - x="74.648438" - y="950.12463">DCP-o-matic</tspan></text> + x="63.455936" + y="978.57825">DCP-o-matic</tspan></text> <text xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="139.1748" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:'Libre Baskerville';-inkscape-font-specification:'Libre Baskerville';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="154.86711" y="1033.7736" id="text4240" sodipodi:linespacing="125%"><tspan sodipodi:role="line" id="tspan4242" - x="139.1748" + x="154.86711" y="1033.7736">Setting up...</tspan></text> + <text + xml:space="preserve" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:'Libre Baskerville';-inkscape-font-specification:'Libre Baskerville';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + x="154.3168" + y="938.3111" + id="text4240-6" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4242-6" + x="154.3168" + y="938.3111">Welcome to</tspan></text> </g> </svg> diff --git a/platform/osx/make_dmg.sh b/platform/osx/make_dmg.sh index e0e029009..377ae6a4c 100644 --- a/platform/osx/make_dmg.sh +++ b/platform/osx/make_dmg.sh @@ -139,6 +139,7 @@ cp $ROOT/32/src/dcpomatic2/graphics/servers.png "$WORK/$resources" cp $ROOT/32/src/dcpomatic2/graphics/tms.png "$WORK/$resources" cp $ROOT/32/src/dcpomatic2/graphics/keys.png "$WORK/$resources" cp $ROOT/32/src/dcpomatic2/LiberationSans-Regular.ttf "$WORK/$resources" +cp $ROOT/32/src/dcpomatic2/graphics/splash.png "$WORK/$resources" # i18n: DCP-o-matic .mo files for lang in de_DE es_ES fr_FR it_IT sv_SE nl_NL ru_RU pl_PL da_DK; do diff --git a/platform/windows/wscript b/platform/windows/wscript index fc1d07b71..5f11977b4 100644 --- a/platform/windows/wscript +++ b/platform/windows/wscript @@ -210,6 +210,7 @@ File "%static_deps%/share/locale/da/LC_MESSAGES/wxstd.mo" SetOutPath "$INSTDIR" File "%resources%/../../LiberationSans-Regular.ttf" +File "%graphics%/splash.png" """, file=f) if debug: diff --git a/src/lib/config.cc b/src/lib/config.cc index f71fff86c..cc62bfed3 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -119,7 +119,7 @@ Config::restore_defaults () void Config::read () { - if (!boost::filesystem::exists (file ())) { + if (!have_existing ()) { /* Make a new set of signing certificates and key */ _signer_chain.reset (new dcp::CertificateChain (openssl_path ())); /* And similar for decryption of KDMs */ @@ -263,7 +263,7 @@ Config::read () /** @return Filename to write configuration to */ boost::filesystem::path -Config::file () const +Config::file () { boost::filesystem::path p; #ifdef DCPOMATIC_OSX @@ -456,3 +456,9 @@ Config::add_to_history (boost::filesystem::path p) changed (); } + +bool +Config::have_existing () +{ + return boost::filesystem::exists (file ()); +} diff --git a/src/lib/config.h b/src/lib/config.h index eeb167d0d..70971085a 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -417,10 +417,11 @@ public: static Config* instance (); static void drop (); static void restore_defaults (); + static bool have_existing (); private: Config (); - boost::filesystem::path file () const; + static boost::filesystem::path file (); void read (); void set_defaults (); void set_kdm_email_to_default (); diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index cc85da0ef..743172e9b 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -35,6 +35,7 @@ #include "lib/send_kdm_email_job.h" #include "lib/server_finder.h" #include "lib/update.h" +#include "lib/cross.h" #include "lib/content_factory.h" #include "wx/film_viewer.h" #include "wx/film_editor.h" @@ -55,6 +56,7 @@ #include <wx/stdpaths.h> #include <wx/cmdline.h> #include <wx/preferences.h> +#include <wx/splash.h> #ifdef __WXMSW__ #include <shellapi.h> #endif @@ -776,6 +778,18 @@ private: bool OnInit () try { + wxInitAllImageHandlers (); + + wxSplashScreen* splash = 0; + if (!Config::have_existing ()) { + 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 (); + } + } + SetAppName (_("DCP-o-matic")); if (!wxApp::OnInit()) { @@ -792,8 +806,6 @@ private: TransformProcessType (&serial, kProcessTransformToForegroundApplication); #endif - wxInitAllImageHandlers (); - dcpomatic_setup_path_encoding (); /* Enable i18n; this will create a Config object @@ -817,6 +829,9 @@ private: _frame = new DOMFrame (_("DCP-o-matic")); SetTopWindow (_frame); _frame->Maximize (); + if (splash) { + splash->Destroy (); + } _frame->Show (); if (!_film_to_load.empty() && boost::filesystem::is_directory (_film_to_load)) { diff --git a/windows/dcpomatic.bmp b/windows/dcpomatic.bmp Binary files differdeleted file mode 100644 index 0a196f7a0..000000000 --- a/windows/dcpomatic.bmp +++ /dev/null diff --git a/windows/dcpomatic.ico b/windows/dcpomatic.ico Binary files differdeleted file mode 100644 index 225008cfe..000000000 --- a/windows/dcpomatic.ico +++ /dev/null diff --git a/windows/dcpomatic.rc b/windows/dcpomatic.rc deleted file mode 100644 index 3963873bc..000000000 --- a/windows/dcpomatic.rc +++ /dev/null @@ -1,3 +0,0 @@ -id ICON "dcpomatic.ico" -taskbar_icon ICON "dcpomatic_taskbar.ico" -#include "wx-2.9/wx/msw/wx.rc" diff --git a/windows/dcpomatic_taskbar.ico b/windows/dcpomatic_taskbar.ico Binary files differdeleted file mode 100644 index f4489fa14..000000000 --- a/windows/dcpomatic_taskbar.ico +++ /dev/null @@ -277,7 +277,7 @@ def configure(conf): conf.env['LIB_%s' % name.upper()] = libs conf.env['STLIB_%s' % name.upper()] = stlibs - conf.env['INCLUDE_%s' % name.upper()] = include + conf.env['INCLUDES_%s' % name.upper()] = include conf.env['LIBPATH_%s' % name.upper()] = libpath else: conf.check_cfg(package='libavformat', args='--cflags --libs', uselib_store='AVFORMAT', mandatory=True) @@ -414,6 +414,7 @@ def build(bld): if not bld.env.TARGET_WINDOWS: bld.install_files('${PREFIX}/share/dcpomatic2', 'graphics/taskbar_icon.png') + bld.install_files('${PREFIX}/share/dcpomatic2', 'graphics/splash.png') bld.install_files('${PREFIX}/share/dcpomatic2', 'LiberationSans-Regular.ttf') bld.add_post_fun(post) |
