1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

Disable Clear Guides menu item when no guides exist

This commit is contained in:
Haoyu Qiu
2024-11-23 12:55:01 +08:00
parent bbc54692c0
commit e515f593c2
2 changed files with 11 additions and 1 deletions

View File

@@ -4423,6 +4423,14 @@ void CanvasItemEditor::_insert_animation_keys(bool p_location, bool p_rotation,
te->commit_insert_queue();
}
void CanvasItemEditor::_prepare_view_menu() {
PopupMenu *popup = view_menu->get_popup();
Node *root = EditorNode::get_singleton()->get_edited_scene();
bool has_guides = root && (root->has_meta("_edit_horizontal_guides_") || root->has_meta("_edit_vertical_guides_"));
popup->set_item_disabled(popup->get_item_index(CLEAR_GUIDES), !has_guides);
}
void CanvasItemEditor::_popup_callback(int p_op) {
EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
last_option = MenuOption(p_op);
@@ -5536,9 +5544,10 @@ CanvasItemEditor::CanvasItemEditor() {
view_menu->set_switch_on_hover(true);
view_menu->set_shortcut_context(this);
main_menu_hbox->add_child(view_menu);
view_menu->get_popup()->connect(SceneStringName(id_pressed), callable_mp(this, &CanvasItemEditor::_popup_callback));
p = view_menu->get_popup();
p->connect(SceneStringName(id_pressed), callable_mp(this, &CanvasItemEditor::_popup_callback));
p->connect("about_to_popup", callable_mp(this, &CanvasItemEditor::_prepare_view_menu));
p->set_hide_on_checkable_item_selection(false);
grid_menu = memnew(PopupMenu);