summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaoyu Qiu <timothyqiu32@gmail.com>2021-08-16 22:34:17 +0800
committerHaoyu Qiu <timothyqiu32@gmail.com>2021-08-16 22:34:17 +0800
commit93c1bbe697c52fbc7f485e4a1618777903293887 (patch)
treea47845983d7238b0f17e8cef93cf1a209f3f6d98
parent5d5e7418f9dbe0e46673d736a8d1e45afeddbc73 (diff)
Disable "Edit Resource from Clipboard" menu item when nothing in clipboard
To be consistent with other menu items.
-rw-r--r--editor/inspector_dock.cpp7
-rw-r--r--editor/inspector_dock.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp
index 952bec4d87..778046f45c 100644
--- a/editor/inspector_dock.cpp
+++ b/editor/inspector_dock.cpp
@@ -209,6 +209,12 @@ void InspectorDock::_paste_resource() {
}
}
+void InspectorDock::_prepare_resource_extra_popup() {
+ RES r = EditorSettings::get_singleton()->get_resource_clipboard();
+ PopupMenu *popup = resource_extra_button->get_popup();
+ popup->set_item_disabled(popup->get_item_index(RESOURCE_EDIT_CLIPBOARD), r.is_null());
+}
+
void InspectorDock::_prepare_history() {
EditorHistory *editor_history = EditorNode::get_singleton()->get_editor_history();
@@ -525,6 +531,7 @@ InspectorDock::InspectorDock(EditorNode *p_editor, EditorData &p_editor_data) {
resource_extra_button->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons")));
resource_extra_button->set_tooltip(TTR("Extra resource options."));
general_options_hb->add_child(resource_extra_button);
+ resource_extra_button->connect("about_to_popup", callable_mp(this, &InspectorDock::_prepare_resource_extra_popup));
resource_extra_button->get_popup()->add_icon_shortcut(get_theme_icon(SNAME("ActionPaste"), SNAME("EditorIcons")), ED_SHORTCUT("property_editor/paste_resource", TTR("Edit Resource from Clipboard")), RESOURCE_EDIT_CLIPBOARD);
resource_extra_button->get_popup()->add_icon_shortcut(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")), ED_SHORTCUT("property_editor/copy_resource", TTR("Copy Resource")), RESOURCE_COPY);
resource_extra_button->get_popup()->set_item_disabled(1, true);
diff --git a/editor/inspector_dock.h b/editor/inspector_dock.h
index d50785d95c..6615845b66 100644
--- a/editor/inspector_dock.h
+++ b/editor/inspector_dock.h
@@ -102,6 +102,7 @@ class InspectorDock : public VBoxContainer {
void _unref_resource();
void _copy_resource();
void _paste_resource();
+ void _prepare_resource_extra_popup();
void _warning_pressed();
void _resource_created();