summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-01-16 00:37:22 +0100
committerCarl Hetherington <cth@carlh.net>2025-01-19 00:44:06 +0100
commit17d9f8ba001eb14c3bbaf5cc5ebc37c5c0e1edb9 (patch)
tree3549c87c08916fbd07c667377268d1e27c4ae2f1 /src/lib
parentef2eb8521358684042807dfcec62ce0e5639ec8d (diff)
Add option to force short screen layout (#2946).
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/config.cc4
-rw-r--r--src/lib/config.h9
2 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index aa7c79bbe..aa783b7a2 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -222,6 +222,7 @@ Config::set_defaults ()
_enable_player_http_server = false;
_player_http_server_port = 8080;
_relative_paths = false;
+ _layout_for_short_screen = false;
_allowed_dcp_frame_rates.clear ();
_allowed_dcp_frame_rates.push_back (24);
@@ -662,6 +663,7 @@ try
_enable_player_http_server = f.optional_bool_child("EnablePlayerHTTPServer").get_value_or(false);
_player_http_server_port = f.optional_number_child<int>("PlayerHTTPServerPort").get_value_or(8080);
_relative_paths = f.optional_bool_child("RelativePaths").get_value_or(false);
+ _layout_for_short_screen = f.optional_bool_child("LayoutForShortScreen").get_value_or(false);
#ifdef DCPOMATIC_GROK
if (auto grok = f.optional_node_child("Grok")) {
@@ -1139,6 +1141,8 @@ Config::write_config () const
cxml::add_text_child(root, "PlayerHTTPServerPort", fmt::to_string(_player_http_server_port));
/* [XML] RelativePaths 1 to write relative paths to project metadata files, 0 to use absolute paths */
cxml::add_text_child(root, "RelativePaths", _relative_paths ? "1" : "0");
+ /* [XML] LayoutForShortScreen 1 to set up DCP-o-matic as if the screen were less than 800 pixels high */
+ cxml::add_text_child(root, "LayoutForShortScreen", _layout_for_short_screen ? "1" : "0");
#ifdef DCPOMATIC_GROK
if (_grok) {
diff --git a/src/lib/config.h b/src/lib/config.h
index 794e39ec7..ba3e1cdd8 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -681,6 +681,10 @@ public:
return _relative_paths;
}
+ bool layout_for_short_screen() {
+ return _layout_for_short_screen;
+ }
+
/* SET (mostly) */
void set_master_encoding_threads (int n) {
@@ -1232,6 +1236,10 @@ public:
maybe_set(_relative_paths, relative);
}
+ void set_layout_for_short_screen(bool layout) {
+ maybe_set(_layout_for_short_screen, layout);
+ }
+
void changed (Property p = OTHER);
boost::signals2::signal<void (Property)> Changed;
@@ -1473,6 +1481,7 @@ private:
bool _enable_player_http_server;
int _player_http_server_port;
bool _relative_paths;
+ bool _layout_for_short_screen;
#ifdef DCPOMATIC_GROK
boost::optional<Grok> _grok;