1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-22 05:23:14 +00:00

Move Moveable Panels to the Panels submenu

This commit is contained in:
Manolis Papadeas 2022-03-21 18:04:26 +02:00
parent bf98dd18e6
commit 57729ef4e9
2 changed files with 21 additions and 19 deletions

View file

@ -27,8 +27,8 @@ func _on_SavedLayouts_item_activated(index: int) -> void:
func _on_SavedLayouts_item_selected(index: int) -> void: func _on_SavedLayouts_item_selected(index: int) -> void:
layout_selected = index layout_selected = index
edit_layout.disabled = index < 2 edit_layout.disabled = index < Global.top_menu_container.default_layout_size
delete_layout.disabled = index < 2 delete_layout.disabled = index < Global.top_menu_container.default_layout_size
func _on_SavedLayouts_nothing_selected() -> void: func _on_SavedLayouts_nothing_selected() -> void:
@ -70,14 +70,14 @@ func _on_LayoutSettings_confirmed() -> void:
Global.top_menu_container.layouts[layout_selected][1] = layout Global.top_menu_container.layouts[layout_selected][1] = layout
layout_list.set_item_text(layout_selected, layout_name.text) layout_list.set_item_text(layout_selected, layout_name.text)
Global.top_menu_container.layouts_submenu.set_item_text( Global.top_menu_container.layouts_submenu.set_item_text(
layout_selected + 2, layout_name.text layout_selected + 1, layout_name.text
) )
else: else:
Global.top_menu_container.layouts.append([layout_name.text, layout]) Global.top_menu_container.layouts.append([layout_name.text, layout])
layout_list.add_item(layout_name.text) layout_list.add_item(layout_name.text)
Global.top_menu_container.populate_layouts_submenu() Global.top_menu_container.populate_layouts_submenu()
var n: int = Global.top_menu_container.layouts_submenu.get_item_count() var n: int = Global.top_menu_container.layouts_submenu.get_item_count()
Global.top_menu_container.layouts_submenu.set_item_checked(n - 2, true) Global.top_menu_container.layouts_submenu.set_item_checked(n - 1, true)
func delete_layout_file(file_name: String) -> void: func delete_layout_file(file_name: String) -> void:

View file

@ -44,6 +44,7 @@ var layouts := [
["Default", preload("res://assets/layouts/default.tres")], ["Default", preload("res://assets/layouts/default.tres")],
["Tallscreen", preload("res://assets/layouts/tallscreen.tres")], ["Tallscreen", preload("res://assets/layouts/tallscreen.tres")],
] ]
var default_layout_size := layouts.size()
var selected_layout := 0 var selected_layout := 0
var zen_mode := false var zen_mode := false
@ -217,10 +218,13 @@ func _setup_window_menu() -> void:
func _setup_panels_submenu(item: String) -> void: func _setup_panels_submenu(item: String) -> void:
panels_submenu.set_name("panels_submenu") panels_submenu.set_name("panels_submenu")
panels_submenu.hide_on_checkable_item_selection = false panels_submenu.hide_on_checkable_item_selection = false
panels_submenu.add_check_item(
"Moveable Panels", 0, InputMap.get_action_list("edit_mode")[0].get_scancode_with_modifiers()
)
for element in ui_elements: for element in ui_elements:
panels_submenu.add_check_item(element.name) panels_submenu.add_check_item(element.name)
var is_hidden: bool = ui.is_control_hidden(element) var is_hidden: bool = ui.is_control_hidden(element)
panels_submenu.set_item_checked(ui_elements.find(element), !is_hidden) panels_submenu.set_item_checked(ui_elements.find(element) + 1, !is_hidden)
panels_submenu.connect("id_pressed", self, "_panels_submenu_id_pressed") panels_submenu.connect("id_pressed", self, "_panels_submenu_id_pressed")
window_menu.add_child(panels_submenu) window_menu.add_child(panels_submenu)
@ -253,10 +257,7 @@ func _setup_layouts_submenu(item: String) -> void:
func populate_layouts_submenu() -> void: func populate_layouts_submenu() -> void:
layouts_submenu.clear() # Does not do anything if it's called for the first time layouts_submenu.clear() # Does not do anything if it's called for the first time
layouts_submenu.add_check_item( layouts_submenu.add_item("Manage Layouts", 0)
"Moveable Panels", 0, InputMap.get_action_list("edit_mode")[0].get_scancode_with_modifiers()
)
layouts_submenu.add_item("Manage Layouts", 1)
for layout in layouts: for layout in layouts:
layouts_submenu.add_radio_check_item(layout[0]) layouts_submenu.add_radio_check_item(layout[0])
@ -487,22 +488,23 @@ func window_menu_id_pressed(id: int) -> void:
func _panels_submenu_id_pressed(id: int) -> void: func _panels_submenu_id_pressed(id: int) -> void:
if zen_mode: if id == 0:
ui.tabs_visible = !ui.tabs_visible
panels_submenu.set_item_checked(0, ui.tabs_visible)
if zen_mode or id == 0:
return return
var element_visible = panels_submenu.is_item_checked(id) var element_visible = panels_submenu.is_item_checked(id)
ui.set_control_hidden(ui_elements[id], element_visible) ui.set_control_hidden(ui_elements[id - 1], element_visible)
panels_submenu.set_item_checked(id, !element_visible) panels_submenu.set_item_checked(id, !element_visible)
func _layouts_submenu_id_pressed(id: int) -> void: func _layouts_submenu_id_pressed(id: int) -> void:
if id == 0: if id == 0:
ui.tabs_visible = !ui.tabs_visible
layouts_submenu.set_item_checked(0, ui.tabs_visible)
elif id == 1:
Global.control.get_node("Dialogs/ManageLayouts").popup_centered() Global.control.get_node("Dialogs/ManageLayouts").popup_centered()
Global.dialog_open(true) Global.dialog_open(true)
else: else:
set_layout(id - 2) set_layout(id - 1)
func set_layout(id: int) -> void: func set_layout(id: int) -> void:
@ -511,12 +513,12 @@ func set_layout(id: int) -> void:
selected_layout = id selected_layout = id
ui.layout = layouts[id][1].clone() # Clone is needed to avoid modifying premade layouts ui.layout = layouts[id][1].clone() # Clone is needed to avoid modifying premade layouts
for i in layouts.size(): for i in layouts.size():
var offset: int = i + 2 var offset: int = i + 1
layouts_submenu.set_item_checked(offset, offset == (id + 2)) layouts_submenu.set_item_checked(offset, offset == (id + 1))
for i in ui_elements.size(): for i in ui_elements.size():
var is_hidden: bool = ui.is_control_hidden(ui_elements[i]) var is_hidden: bool = ui.is_control_hidden(ui_elements[i])
panels_submenu.set_item_checked(i, !is_hidden) panels_submenu.set_item_checked(i + 1, !is_hidden)
if zen_mode: # Turn zen mode off if zen_mode: # Turn zen mode off
Global.control.find_node("TabsContainer").visible = true Global.control.find_node("TabsContainer").visible = true
@ -587,7 +589,7 @@ func _toggle_zen_mode() -> void:
for i in ui_elements.size(): for i in ui_elements.size():
if ui_elements[i].name == "Main Canvas": if ui_elements[i].name == "Main Canvas":
continue continue
if !panels_submenu.is_item_checked(i): if !panels_submenu.is_item_checked(i + 1):
continue continue
ui.set_control_hidden(ui_elements[i], !zen_mode) ui.set_control_hidden(ui_elements[i], !zen_mode)
Global.control.find_node("TabsContainer").visible = zen_mode Global.control.find_node("TabsContainer").visible = zen_mode