From: Carl Hetherington Date: Fri, 8 Mar 2024 22:24:31 +0000 (+0100) Subject: Add option to config.xml (#2725). X-Git-Tag: v2.17.13~13 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=82f87c7711fb664b06b04d44792ed3820b3d1e01 Add option to config.xml (#2725). This hides all player menus except "File". --- diff --git a/src/lib/config.cc b/src/lib/config.cc index 8dce6237a..56870145a 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -177,6 +177,7 @@ Config::set_defaults () _gdc_username = optional(); _gdc_password = optional(); _player_mode = PLAYER_MODE_WINDOW; + _player_restricted_menus = false; _image_display = 0; _video_view_type = VIDEO_VIEW_SIMPLE; _respect_kdm_validity_periods = true; @@ -592,6 +593,8 @@ try _player_mode = PLAYER_MODE_DUAL; } + _player_restricted_menus = f.optional_bool_child("PlayerRestrictedMenus").get_value_or(false); + _image_display = f.optional_number_child("ImageDisplay").get_value_or(0); auto vc = f.optional_string_child("VideoViewType"); if (vc && *vc == "opengl") { @@ -1075,6 +1078,10 @@ Config::write_config () const break; } + if (_player_restricted_menus) { + root->add_child("PlayerRestrictedMenus")->add_child_text("1"); + } + /* [XML] ImageDisplay Screen number to put image on in dual-screen player mode. */ root->add_child("ImageDisplay")->add_child_text(raw_convert(_image_display)); switch (_video_view_type) { diff --git a/src/lib/config.h b/src/lib/config.h index 74b4316d2..a63830552 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -534,6 +534,10 @@ public: return _player_mode; } + bool player_restricted_menus() const { + return _player_restricted_menus; + } + int image_display () const { return _image_display; } @@ -1449,6 +1453,7 @@ private: boost::optional _gdc_username; boost::optional _gdc_password; PlayerMode _player_mode; + bool _player_restricted_menus = false; int _image_display; VideoViewType _video_view_type; bool _respect_kdm_validity_periods; diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc index e65839521..a68cc074a 100644 --- a/src/tools/dcpomatic_player.cc +++ b/src/tools/dcpomatic_player.cc @@ -616,12 +616,14 @@ private: help->Append (ID_help_report_a_problem, _("Report a problem...")); m->Append (_file_menu, _("&File")); + if (!Config::instance()->player_restricted_menus()) { #ifndef __WXOSX__ - m->Append (edit, _("&Edit")); + m->Append (edit, _("&Edit")); #endif - m->Append (view, _("&View")); - m->Append (tools, _("&Tools")); - m->Append (help, _("&Help")); + m->Append (view, _("&View")); + m->Append (tools, _("&Tools")); + m->Append (help, _("&Help")); + } } void file_open ()