diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-10-24 20:44:24 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-10-27 21:45:32 +0100 |
| commit | bed96d486f85a9fa5171e2cdaa3858581d631b3a (patch) | |
| tree | 3762b496ef7180a3569c72b3626822e2fefa55c0 /src/tools | |
| parent | 1dfb125a8e07f5185c229260ac0643e47eee5026 (diff) | |
Add uninstaller for the .pkg part of the disk writer on macOS (#1740).
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dcpomatic_disk.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/tools/dcpomatic_disk.cc b/src/tools/dcpomatic_disk.cc index 92429aa53..1a3c3d5fe 100644 --- a/src/tools/dcpomatic_disk.cc +++ b/src/tools/dcpomatic_disk.cc @@ -58,6 +58,13 @@ using namespace boost::placeholders; #endif +#ifdef DCPOMATIC_OSX +enum { + ID_tools_uninstall = 1, +}; +#endif + + class DOMFrame : public wxFrame { public: @@ -66,6 +73,15 @@ public: , _nanomsg (true) , _sizer (new wxBoxSizer(wxVERTICAL)) { +#ifdef DCPOMATIC_OSX + wxMenuBar* bar = new wxMenuBar; + wxMenu* tools = new wxMenu; + tools->Append(ID_tools_uninstall, _("Uninstall...")); + bar->Append(tools, _("Tools")); + SetMenuBar (bar); + Bind (wxEVT_MENU, boost::bind(&DOMFrame::uninstall, this), ID_tools_uninstall); +#endif + /* Use a panel as the only child of the Frame so that we avoid the dark-grey background on Windows. */ @@ -163,6 +179,14 @@ private: } +#ifdef DCPOMATIC_OSX + void uninstall() + { + system(String::compose("osascript \"%1/uninstall_disk.applescript\"", resources_path().string()).c_str()); + } +#endif + + bool should_close () { if (!JobManager::instance()->work_to_do()) { @@ -349,6 +373,7 @@ public: #endif #ifdef DCPOMATIC_OSX + dcpomatic_sleep_seconds (1); make_foreground_application (); #endif |
