Browse Source

Add a getter and property for the editor distraction-free mode

(cherry picked from commit cc1859efed2da6587fa4bf3f567167a3c5f20fb6)
Hugo Locurcio 5 years ago
parent
commit
9e01a0cd28

+ 4 - 8
doc/classes/EditorInterface.xml

@@ -182,14 +182,6 @@
 				Selects the file, with the path provided by [code]file[/code], in the FileSystem dock.
 			</description>
 		</method>
-		<method name="set_distraction_free_mode">
-			<return type="void">
-			</return>
-			<argument index="0" name="enter" type="bool">
-			</argument>
-			<description>
-			</description>
-		</method>
 		<method name="set_main_screen_editor">
 			<return type="void">
 			</return>
@@ -210,6 +202,10 @@
 			</description>
 		</method>
 	</methods>
+	<members>
+		<member name="distraction_free_mode" type="bool" setter="set_distraction_free_mode" getter="is_distraction_free_mode_enabled">
+		</member>
+	</members>
 	<constants>
 	</constants>
 </class>

+ 1 - 1
editor/editor_node.cpp

@@ -4945,7 +4945,7 @@ void EditorNode::set_distraction_free_mode(bool p_enter) {
 	}
 }
 
-bool EditorNode::get_distraction_free_mode() const {
+bool EditorNode::is_distraction_free_mode_enabled() const {
 	return distraction_free->is_pressed();
 }
 

+ 1 - 1
editor/editor_node.h

@@ -691,7 +691,7 @@ public:
 	bool get_docks_visible() const;
 
 	void set_distraction_free_mode(bool p_enter);
-	bool get_distraction_free_mode() const;
+	bool is_distraction_free_mode_enabled() const;
 
 	void add_control_to_dock(DockSlot p_slot, Control *p_control);
 	void remove_control_from_dock(Control *p_control);

+ 7 - 0
editor/editor_plugin.cpp

@@ -281,6 +281,10 @@ void EditorInterface::set_distraction_free_mode(bool p_enter) {
 
 EditorInterface *EditorInterface::singleton = NULL;
 
+bool EditorInterface::is_distraction_free_mode_enabled() const {
+	return EditorNode::get_singleton()->is_distraction_free_mode_enabled();
+}
+
 void EditorInterface::_bind_methods() {
 
 	ClassDB::bind_method(D_METHOD("inspect_object", "object", "for_property"), &EditorInterface::inspect_object, DEFVAL(String()));
@@ -312,6 +316,9 @@ void EditorInterface::_bind_methods() {
 
 	ClassDB::bind_method(D_METHOD("set_main_screen_editor", "name"), &EditorInterface::set_main_screen_editor);
 	ClassDB::bind_method(D_METHOD("set_distraction_free_mode", "enter"), &EditorInterface::set_distraction_free_mode);
+	ClassDB::bind_method(D_METHOD("is_distraction_free_mode_enabled"), &EditorInterface::is_distraction_free_mode_enabled);
+
+	ADD_PROPERTY(PropertyInfo(Variant::BOOL, "distraction_free_mode"), "set_distraction_free_mode", "is_distraction_free_mode_enabled");
 }
 
 EditorInterface::EditorInterface() {

+ 1 - 0
editor/editor_plugin.h

@@ -105,6 +105,7 @@ public:
 
 	void set_main_screen_editor(const String &p_name);
 	void set_distraction_free_mode(bool p_enter);
+	bool is_distraction_free_mode_enabled() const;
 
 	EditorInterface();
 };