summaryrefslogtreecommitdiff
path: root/editor/project_settings_editor.h
diff options
context:
space:
mode:
Diffstat (limited to 'editor/project_settings_editor.h')
-rw-r--r--editor/project_settings_editor.h185
1 files changed, 52 insertions, 133 deletions
diff --git a/editor/project_settings_editor.h b/editor/project_settings_editor.h
index 445ef58351..cde46ac4c4 100644
--- a/editor/project_settings_editor.h
+++ b/editor/project_settings_editor.h
@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
-/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */
+/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
@@ -31,174 +31,93 @@
#ifndef PROJECT_SETTINGS_EDITOR_H
#define PROJECT_SETTINGS_EDITOR_H
-#include "core/undo_redo.h"
-#include "editor/editor_autoload_settings.h"
+#include "core/object/undo_redo.h"
+#include "editor/action_map_editor.h"
#include "editor/editor_data.h"
#include "editor/editor_plugin_settings.h"
#include "editor/editor_sectioned_inspector.h"
+#include "editor/import_defaults_editor.h"
+#include "editor/localization_editor.h"
#include "editor/shader_globals_editor.h"
-#include "scene/gui/dialogs.h"
+#include "editor_autoload_settings.h"
#include "scene/gui/tab_container.h"
class ProjectSettingsEditor : public AcceptDialog {
GDCLASS(ProjectSettingsEditor, AcceptDialog);
- enum InputType {
- INPUT_KEY,
- INPUT_KEY_PHYSICAL,
- INPUT_JOY_BUTTON,
- INPUT_JOY_MOTION,
- INPUT_MOUSE_BUTTON
- };
-
- enum LocaleFilter {
- SHOW_ALL_LOCALES,
- SHOW_ONLY_SELECTED_LOCALES,
- };
-
- TabContainer *tab_container;
-
+ static ProjectSettingsEditor *singleton;
+ ProjectSettings *ps;
Timer *timer;
- InputType add_type;
- String add_at;
- int edit_idx;
- EditorData *data;
- UndoRedo *undo_redo;
- SectionedInspector *globals_editor;
+ TabContainer *tab_container;
+ SectionedInspector *inspector;
+ LocalizationEditor *localization_editor;
+ EditorAutoloadSettings *autoload_settings;
+ ShaderGlobalsEditor *shaders_global_variables_editor;
+ EditorPluginSettings *plugin_settings;
+ ActionMapEditor *action_map;
HBoxContainer *search_bar;
- Button *search_button;
LineEdit *search_box;
+ CheckButton *advanced;
- HBoxContainer *add_prop_bar;
- AcceptDialog *message;
- LineEdit *category;
- LineEdit *property;
+ HBoxContainer *advanced_bar;
+ LineEdit *category_box;
+ LineEdit *property_box;
+ Button *add_button;
+ Button *del_button;
OptionButton *type;
- PopupMenu *popup_add;
- ConfirmationDialog *press_a_key;
- bool press_a_key_physical;
- Label *press_a_key_label;
- ConfirmationDialog *device_input;
- OptionButton *device_id;
- OptionButton *device_index;
- Label *device_index_label;
- MenuButton *popup_copy_to_feature;
- ShaderGlobalsEditor *shaders_global_variables_editor;
-
- LineEdit *action_name;
- Button *action_add;
- Label *action_add_error;
- Tree *input_editor;
- bool setting;
- bool updating_translations;
-
- Ref<InputEventKey> last_wait_for_key;
-
- EditorFileDialog *translation_file_open;
- Tree *translation_list;
-
- Button *translation_res_option_add_button;
- EditorFileDialog *translation_res_file_open;
- EditorFileDialog *translation_res_option_file_open;
- Tree *translation_remap;
- Tree *translation_remap_options;
- Tree *translation_filter;
- bool translation_locales_list_created;
- OptionButton *translation_locale_filter_mode;
- Vector<TreeItem *> translation_filter_treeitems;
- Vector<int> translation_locales_idxs_remap;
-
- EditorAutoloadSettings *autoload_settings;
-
- EditorPluginSettings *plugin_settings;
-
- void _item_selected(const String &);
- void _item_adds(String);
- void _item_add();
- void _item_del();
- void _update_actions();
- void _save();
- void _add_item(int p_item, Ref<InputEvent> p_exiting_event = Ref<InputEvent>());
- void _edit_item(Ref<InputEvent> p_exiting_event);
-
- void _action_check(String p_action);
- void _action_adds(String);
- void _action_add();
- void _device_input_add();
-
- void _item_checked(const String &p_item, bool p_check);
- void _action_selected();
- void _action_edited();
- void _action_activated();
- void _action_button_pressed(Object *p_obj, int p_column, int p_id);
- void _wait_for_key(const Ref<InputEvent> &p_event);
- void _press_a_key_confirm();
- void _show_last_added(const Ref<InputEvent> &p_event, const String &p_name);
-
- void _settings_prop_edited(const String &p_name);
- void _settings_changed();
-
- void _copy_to_platform(int p_which);
-
- void _translation_file_open();
- void _translation_add(const String &p_path);
- void _translation_delete(Object *p_item, int p_column, int p_button);
- void _update_translations();
-
- void _translation_res_file_open();
- void _translation_res_add(const String &p_path);
- void _translation_res_delete(Object *p_item, int p_column, int p_button);
- void _translation_res_select();
- void _translation_res_option_file_open();
- void _translation_res_option_add(const String &p_path);
- void _translation_res_option_changed();
- void _translation_res_option_delete(Object *p_item, int p_column, int p_button);
-
- void _translation_filter_option_changed();
- void _translation_filter_mode_changed(int p_mode);
-
- void _toggle_search_bar(bool p_pressed);
-
- Variant get_drag_data_fw(const Point2 &p_point, Control *p_from);
- bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
- void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
-
- void _copy_to_platform_about_to_show();
-
- ProjectSettingsEditor();
+ OptionButton *feature_override;
- static ProjectSettingsEditor *singleton;
+ ConfirmationDialog *del_confirmation;
Label *restart_label;
TextureRect *restart_icon;
PanelContainer *restart_container;
- ToolButton *restart_close_button;
+ Button *restart_close_button;
+
+ ImportDefaultsEditor *import_defaults_editor;
+ EditorData *data;
+ UndoRedo *undo_redo;
+
+ void _advanced_pressed();
+ void _update_advanced_bar();
+ void _text_field_changed(const String &p_text);
+ void _feature_selected(int p_index);
+
+ String _get_setting_name() const;
+ void _setting_edited(const String &p_name);
+ void _setting_selected(const String &p_path);
+ void _add_setting();
+ void _delete_setting(bool p_confirmed);
void _editor_restart_request();
void _editor_restart();
void _editor_restart_close();
+ void _add_feature_overrides();
+
+ void _action_added(const String &p_name);
+ void _action_edited(const String &p_name, const Dictionary &p_action);
+ void _action_removed(const String &p_name);
+ void _action_renamed(const String &p_old_name, const String &p_new_name);
+ void _action_reordered(const String &p_action_name, const String &p_relative_to, bool p_before);
+ void _update_action_map_editor();
+
+ ProjectSettingsEditor();
+
protected:
- void _unhandled_input(const Ref<InputEvent> &p_event);
void _notification(int p_what);
static void _bind_methods();
- int _get_current_device();
- void _set_current_device(int i_device);
- String _get_device_string(int i_device);
-
public:
- void add_translation(const String &p_translation);
static ProjectSettingsEditor *get_singleton() { return singleton; }
void popup_project_settings();
void set_plugins_page();
void update_plugins();
EditorAutoloadSettings *get_autoload_settings() { return autoload_settings; }
-
- TabContainer *get_tabs();
+ TabContainer *get_tabs() { return tab_container; }
void queue_save();