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

Move some PopupMenu code away from Global's _ready()

This commit is contained in:
Manolis Papadeas 2021-11-22 16:15:36 +02:00
parent 88365301fb
commit 19c062fa07
3 changed files with 28 additions and 32 deletions

View file

@ -36,7 +36,7 @@ var cursor_image = preload("res://assets/graphics/cursor.png")
var left_cursor_tool_texture := StreamTexture.new()
var right_cursor_tool_texture := StreamTexture.new()
var image_clipboard : Image
var image_clipboard := Image.new()
var play_only_tags := true
var show_x_symmetry_axis := false
var show_y_symmetry_axis := false
@ -143,8 +143,6 @@ onready var right_panel : Panel = control.find_node("RightPanel")
onready var tabs_container : PanelContainer = control.find_node("TabsContainer")
onready var recent_projects_submenu : PopupMenu = PopupMenu.new()
onready var tile_mode_submenu : PopupMenu = PopupMenu.new()
onready var panel_layout_submenu : PopupMenu = PopupMenu.new()
onready var new_image_dialog : ConfirmationDialog = control.find_node("CreateNewImage")
onready var open_sprites_dialog : FileDialog = control.find_node("OpenSprite")
@ -207,29 +205,10 @@ func _ready() -> void:
recent_projects = config_cache.get_value("data", "recent_projects", [])
panel_layout = config_cache.get_value("window", "panel_layout", PanelLayout.AUTO)
# The fact that root_dir is set earlier than this is important
# XDGDataDirs depends on it nyaa
# root_directory must be set earlier than this is because XDGDataDirs depends on it
directory_module = XDGDataPaths.new()
image_clipboard = Image.new()
Input.set_custom_mouse_cursor(cursor_image, Input.CURSOR_CROSS, Vector2(15, 15))
recent_projects_submenu.set_name("recent_projects_submenu")
tile_mode_submenu.set_name("tile_mode_submenu")
tile_mode_submenu.add_radio_check_item("None", TileMode.NONE)
tile_mode_submenu.set_item_checked(TileMode.NONE, true)
tile_mode_submenu.add_radio_check_item("Tiled In Both Axis", TileMode.BOTH)
tile_mode_submenu.add_radio_check_item("Tiled In X Axis", TileMode.X_AXIS)
tile_mode_submenu.add_radio_check_item("Tiled In Y Axis", TileMode.Y_AXIS)
tile_mode_submenu.hide_on_checkable_item_selection = false
panel_layout_submenu.set_name("panel_layout_submenu")
panel_layout_submenu.add_radio_check_item("Auto", PanelLayout.AUTO)
panel_layout_submenu.add_radio_check_item("Widescreen", PanelLayout.WIDESCREEN)
panel_layout_submenu.add_radio_check_item("Tallscreen", PanelLayout.TALLSCREEN)
panel_layout_submenu.hide_on_checkable_item_selection = false
panel_layout_submenu.set_item_checked(panel_layout, true)
projects.append(Project.new())
projects[0].layers.append(Layer.new())
current_project = projects[0]

View file

@ -220,7 +220,7 @@ func change_project() -> void:
Global.top_menu_container.file_menu.set_item_text(6, tr("Export") + " %s" % (file_name + Export.file_format_string(file_format)))
for j in Global.TileMode.values():
Global.tile_mode_submenu.set_item_checked(j, j == tile_mode)
Global.top_menu_container.tile_mode_submenu.set_item_checked(j, j == tile_mode)
# Change selection effect & bounding rectangle
Global.canvas.selection.marching_ants_outline.offset = selection_offset

View file

@ -15,6 +15,8 @@ onready var image_menu_button : MenuButton = find_node("ImageMenu")
onready var select_menu_button : MenuButton = find_node("SelectMenu")
onready var help_menu_button : MenuButton = find_node("HelpMenu")
onready var window_opacity_dialog : AcceptDialog = Global.control.find_node("WindowOpacityDialog")
onready var tile_mode_submenu : PopupMenu = PopupMenu.new()
onready var panel_layout_submenu : PopupMenu = PopupMenu.new()
var file_menu : PopupMenu
var view_menu : PopupMenu
@ -126,15 +128,30 @@ func setup_view_menu() -> void:
func setup_tile_mode_submenu(item : String):
Global.tile_mode_submenu.connect("id_pressed", self, "tile_mode_submenu_id_pressed")
view_menu.add_child(Global.tile_mode_submenu)
view_menu.add_submenu_item(item, Global.tile_mode_submenu.get_name())
tile_mode_submenu.set_name("tile_mode_submenu")
tile_mode_submenu.add_radio_check_item("None", Global.TileMode.NONE)
tile_mode_submenu.set_item_checked(Global.TileMode.NONE, true)
tile_mode_submenu.add_radio_check_item("Tiled In Both Axis", Global.TileMode.BOTH)
tile_mode_submenu.add_radio_check_item("Tiled In X Axis", Global.TileMode.X_AXIS)
tile_mode_submenu.add_radio_check_item("Tiled In Y Axis", Global.TileMode.Y_AXIS)
tile_mode_submenu.hide_on_checkable_item_selection = false
tile_mode_submenu.connect("id_pressed", self, "tile_mode_submenu_id_pressed")
view_menu.add_child(tile_mode_submenu)
view_menu.add_submenu_item(item, tile_mode_submenu.get_name())
func setup_panel_layout_submenu(item : String):
Global.panel_layout_submenu.connect("id_pressed", self, "panel_layout_submenu_id_pressed")
view_menu.add_child(Global.panel_layout_submenu)
view_menu.add_submenu_item(item, Global.panel_layout_submenu.get_name())
panel_layout_submenu.set_name("panel_layout_submenu")
panel_layout_submenu.add_radio_check_item("Auto", Global.PanelLayout.AUTO)
panel_layout_submenu.add_radio_check_item("Widescreen", Global.PanelLayout.WIDESCREEN)
panel_layout_submenu.add_radio_check_item("Tallscreen", Global.PanelLayout.TALLSCREEN)
panel_layout_submenu.hide_on_checkable_item_selection = false
panel_layout_submenu.set_item_checked(Global.panel_layout, true)
panel_layout_submenu.connect("id_pressed", self, "panel_layout_submenu_id_pressed")
view_menu.add_child(panel_layout_submenu)
view_menu.add_submenu_item(item, panel_layout_submenu.get_name())
func setup_image_menu() -> void:
@ -331,7 +348,7 @@ func tile_mode_submenu_id_pressed(id : int) -> void:
Global.current_project.tile_mode = id
Global.transparent_checker.fit_rect(Global.current_project.get_tile_mode_rect())
for i in Global.TileMode.values():
Global.tile_mode_submenu.set_item_checked(i, i == id)
tile_mode_submenu.set_item_checked(i, i == id)
Global.canvas.tile_mode.update()
Global.canvas.pixel_grid.update()
Global.canvas.grid.update()
@ -340,7 +357,7 @@ func tile_mode_submenu_id_pressed(id : int) -> void:
func panel_layout_submenu_id_pressed(id : int) -> void:
Global.panel_layout = id
for i in Global.PanelLayout.values():
Global.panel_layout_submenu.set_item_checked(i, i == id)
panel_layout_submenu.set_item_checked(i, i == id)
get_tree().get_root().get_node("Control").handle_resize()