1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-20 12:33:14 +00:00

Remember layout on app exit

This commit is contained in:
Manolis Papadeas 2022-03-02 00:41:22 +02:00
parent 2f9de65805
commit ce026395df
2 changed files with 14 additions and 5 deletions

View file

@ -357,6 +357,7 @@ func _use_osx_shortcuts() -> void:
func _exit_tree() -> void:
Global.config_cache.set_value("window", "layout", Global.top_menu_container.selected_layout)
Global.config_cache.set_value("window", "screen", OS.current_screen)
Global.config_cache.set_value(
"window", "maximized", OS.window_maximized || OS.window_fullscreen

View file

@ -44,6 +44,7 @@ var layouts := [
["Default", preload("res://assets/layouts/default.tres")],
["Tallscreen", preload("res://assets/layouts/tallscreen.tres")],
]
var selected_layout := 0
var zen_mode := false
onready var ui_elements: Array = Global.control.find_node("DockableContainer").get_children()
@ -247,6 +248,9 @@ func _setup_layouts_submenu(item: String) -> void:
window_menu.add_child(layouts_submenu)
window_menu.add_submenu_item(item, layouts_submenu.get_name())
var saved_layout = Global.config_cache.get_value("window", "layout", 0)
set_layout(saved_layout)
func populate_layouts_submenu() -> void:
layouts_submenu.clear() # Does not do anything if it's called for the first time
@ -483,8 +487,10 @@ func _layouts_submenu_id_pressed(id: int) -> void:
func set_layout(id: int) -> void:
# Clone is needed so that the premade layouts do not get modified
ui.layout = layouts[id][1].clone()
if id >= layouts.size():
id = 0
selected_layout = id
ui.layout = layouts[id][1].clone() # Clone is needed to avoid modifying premade layouts
for i in layouts.size():
layouts_submenu.set_item_checked(i, i == id)
@ -492,9 +498,11 @@ func set_layout(id: int) -> void:
var is_hidden: bool = ui.is_control_hidden(ui_elements[i])
panels_submenu.set_item_checked(i, !is_hidden)
Global.control.find_node("TabsContainer").visible = true
zen_mode = false
window_menu.set_item_checked(WindowMenuId.ZEN_MODE, false)
# Turn zen mode off
if zen_mode:
Global.control.find_node("TabsContainer").visible = true
zen_mode = false
window_menu.set_item_checked(WindowMenuId.ZEN_MODE, false)
func _toggle_greyscale_view() -> void: