X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic.cc;h=ac39d4fedb823ccdf76c83de4f35f5cd04871dfc;hb=89115db77729a2c99f1a09ff6a461720e16f889e;hp=196045a9b94642fb4005ce010f93b158142bcc7e;hpb=996b0c06e23bcb6b300d7b8799df94993692e07d;p=dcpomatic.git diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index 196045a9b..ac39d4fed 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -23,7 +23,10 @@ #ifdef __WXMSW__ #include #endif -#include +#ifdef __WXOSX__ +#include +#endif +#include #include #include #include "wx/film_viewer.h" @@ -35,13 +38,10 @@ #include "wx/new_film_dialog.h" #include "wx/properties_dialog.h" #include "wx/wx_ui_signaller.h" +#include "wx/about_dialog.h" #include "lib/film.h" -#include "lib/format.h" #include "lib/config.h" -#include "lib/filter.h" #include "lib/util.h" -#include "lib/scaler.h" -#include "lib/exceptions.h" #include "lib/version.h" #include "lib/ui_signaller.h" #include "lib/log.h" @@ -146,13 +146,9 @@ enum { ID_file_open, ID_file_save, ID_file_properties, - ID_file_quit, - ID_edit_preferences, ID_jobs_make_dcp, ID_jobs_send_dcp_to_tms, ID_jobs_show_dcp, - ID_jobs_analyse_audio, - ID_help_about }; void @@ -165,24 +161,34 @@ setup_menu (wxMenuBar* m) add_item (file, _("&Save"), ID_file_save, NEEDS_FILM); file->AppendSeparator (); add_item (file, _("&Properties..."), ID_file_properties, NEEDS_FILM); +#ifndef __WXOSX__ file->AppendSeparator (); - add_item (file, _("&Quit"), ID_file_quit, ALWAYS); +#endif + add_item (file, _("&Exit"), wxID_EXIT, ALWAYS); +#ifdef __WXOSX__ + add_item (file, _("&Preferences..."), wxID_PREFERENCES, ALWAYS); +#else wxMenu* edit = new wxMenu; - add_item (edit, _("&Preferences..."), ID_edit_preferences, ALWAYS); + add_item (edit, _("&Preferences..."), wxID_PREFERENCES, ALWAYS); +#endif jobs_menu = new wxMenu; add_item (jobs_menu, _("&Make DCP"), ID_jobs_make_dcp, NEEDS_FILM); add_item (jobs_menu, _("&Send DCP to TMS"), ID_jobs_send_dcp_to_tms, NEEDS_FILM); add_item (jobs_menu, _("S&how DCP"), ID_jobs_show_dcp, NEEDS_FILM); - jobs_menu->AppendSeparator (); - add_item (jobs_menu, _("&Analyse audio"), ID_jobs_analyse_audio, NEEDS_FILM); wxMenu* help = new wxMenu; - add_item (help, _("About"), ID_help_about, ALWAYS); +#ifdef __WXOSX__ + add_item (help, _("About DCP-o-matic"), wxID_ABOUT, ALWAYS); +#else + add_item (help, _("About"), wxID_ABOUT, ALWAYS); +#endif m->Append (file, _("&File")); +#ifndef __WXOSX__ m->Append (edit, _("&Edit")); +#endif m->Append (jobs_menu, _("&Jobs")); m->Append (help, _("&Help")); } @@ -208,13 +214,12 @@ public: Connect (ID_file_open, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::file_open)); Connect (ID_file_save, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::file_save)); Connect (ID_file_properties, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::file_properties)); - Connect (ID_file_quit, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::file_quit)); - Connect (ID_edit_preferences, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::edit_preferences)); + Connect (wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::file_exit)); + Connect (wxID_PREFERENCES, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::edit_preferences)); Connect (ID_jobs_make_dcp, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_make_dcp)); Connect (ID_jobs_send_dcp_to_tms, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_send_dcp_to_tms)); Connect (ID_jobs_show_dcp, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_show_dcp)); - Connect (ID_jobs_analyse_audio, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::jobs_analyse_audio)); - Connect (ID_help_about, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::help_about)); + Connect (wxID_ABOUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (Frame::help_about)); Connect (wxID_ANY, wxEVT_MENU_OPEN, wxMenuEventHandler (Frame::menu_opened)); @@ -346,7 +351,7 @@ private: d->Destroy (); } - void file_quit (wxCommandEvent &) + void file_exit (wxCommandEvent &) { maybe_save_then_delete_film (); Close (true); @@ -390,41 +395,11 @@ private: #endif } - void jobs_analyse_audio (wxCommandEvent &) - { - film->analyse_audio (); - } - void help_about (wxCommandEvent &) { - wxAboutDialogInfo info; - info.SetName (_("DCP-o-matic")); - if (strcmp (dcpomatic_git_commit, "release") == 0) { - info.SetVersion (std_to_wx (String::compose ("version %1", dcpomatic_version))); - } else { - info.SetVersion (std_to_wx (String::compose ("version %1 git %2", dcpomatic_version, dcpomatic_git_commit))); - } - info.SetDescription (_("Free, open-source DCP generation from almost anything.")); - info.SetCopyright (_("(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen")); - - wxArrayString authors; - authors.Add (wxT ("Carl Hetherington")); - authors.Add (wxT ("Terrence Meiczinger")); - authors.Add (wxT ("Paul Davis")); - authors.Add (wxT ("Ole Laursen")); - info.SetDevelopers (authors); - - wxArrayString translators; - translators.Add (wxT ("Olivier Perriere")); - translators.Add (wxT ("Lilian Lefranc")); - translators.Add (wxT ("Thierry Journet")); - translators.Add (wxT ("Massimiliano Broggi")); - translators.Add (wxT ("Manuel AC")); - translators.Add (wxT ("Adam Klotblixt")); - info.SetTranslators (translators); - - info.SetWebSite (wxT ("http://carlh.net/software/dcpomatic")); - wxAboutBox (info); + AboutDialog* d = new AboutDialog (this); + d->ShowModal (); + d->Destroy (); } }; @@ -452,8 +427,14 @@ class App : public wxApp return false; } -#ifdef DCPOMATIC_POSIX +#ifdef DCPOMATIC_LINUX unsetenv ("UBUNTU_MENUPROXY"); +#endif + +#ifdef __WXOSX__ + ProcessSerialNumber serial; + GetCurrentProcess (&serial); + TransformProcessType (&serial, kProcessTransformToForegroundApplication); #endif wxInitAllImageHandlers ();