Преглед изворни кода

Merge pull request #112246 from syntaxerror247/persist-fullscreen

Persist fullscreen setting on Android Editor
Thaddeus Crews пре 1 месец
родитељ
комит
7fa41cf398
1 измењених фајлова са 12 додато и 0 уклоњено
  1. 12 0
      editor/editor_node.cpp

+ 12 - 0
editor/editor_node.cpp

@@ -860,6 +860,10 @@ void EditorNode::_notification(int p_what) {
 			get_tree()->set_auto_accept_quit(false);
 			get_tree()->set_auto_accept_quit(false);
 #ifdef ANDROID_ENABLED
 #ifdef ANDROID_ENABLED
 			get_tree()->set_quit_on_go_back(false);
 			get_tree()->set_quit_on_go_back(false);
+			bool is_fullscreen = EDITOR_DEF("_is_editor_fullscreen", false);
+			if (is_fullscreen) {
+				DisplayServer::get_singleton()->window_set_mode(DisplayServer::WINDOW_MODE_FULLSCREEN);
+			}
 #endif
 #endif
 			get_tree()->get_root()->connect("files_dropped", callable_mp(this, &EditorNode::_dropped_files));
 			get_tree()->get_root()->connect("files_dropped", callable_mp(this, &EditorNode::_dropped_files));
 
 
@@ -3647,9 +3651,17 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
 			DisplayServer::WindowMode mode = DisplayServer::get_singleton()->window_get_mode();
 			DisplayServer::WindowMode mode = DisplayServer::get_singleton()->window_get_mode();
 			if (mode == DisplayServer::WINDOW_MODE_FULLSCREEN || mode == DisplayServer::WINDOW_MODE_EXCLUSIVE_FULLSCREEN) {
 			if (mode == DisplayServer::WINDOW_MODE_FULLSCREEN || mode == DisplayServer::WINDOW_MODE_EXCLUSIVE_FULLSCREEN) {
 				DisplayServer::get_singleton()->window_set_mode(prev_mode);
 				DisplayServer::get_singleton()->window_set_mode(prev_mode);
+#ifdef ANDROID_ENABLED
+				EditorSettings::get_singleton()->set("_is_editor_fullscreen", false);
+				EditorSettings::get_singleton()->save();
+#endif
 			} else {
 			} else {
 				prev_mode = mode;
 				prev_mode = mode;
 				DisplayServer::get_singleton()->window_set_mode(DisplayServer::WINDOW_MODE_FULLSCREEN);
 				DisplayServer::get_singleton()->window_set_mode(DisplayServer::WINDOW_MODE_FULLSCREEN);
+#ifdef ANDROID_ENABLED
+				EditorSettings::get_singleton()->set("_is_editor_fullscreen", true);
+				EditorSettings::get_singleton()->save();
+#endif
 			}
 			}
 		} break;
 		} break;
 		case EDITOR_TAKE_SCREENSHOT: {
 		case EDITOR_TAKE_SCREENSHOT: {