mirror of
https://github.com/tonytins/CozyPixelStudio.git
synced 2025-08-11 09:54:43 -04:00
Import palette file dialog added
This commit is contained in:
parent
b08452034d
commit
9a65960994
16 changed files with 242 additions and 47 deletions
|
@ -103,13 +103,13 @@ func _on_EditPaletteCancelButton_pressed() -> void:
|
|||
pass # Replace with function body.
|
||||
|
||||
func _on_EditPaletteColorNameLineEdit_text_changed(new_text) -> void:
|
||||
if current_swatch > 0 && current_swatch < working_palette.colors.size():
|
||||
if current_swatch >= 0 && current_swatch < working_palette.colors.size():
|
||||
working_palette.colors[current_swatch].name = new_text
|
||||
_refresh_hint_tooltip(current_swatch)
|
||||
pass
|
||||
|
||||
func _on_EditPaletteColorPicker_color_changed(color) -> void:
|
||||
if current_swatch > 0 && current_swatch < working_palette.colors.size():
|
||||
if current_swatch >= 0 && current_swatch < working_palette.colors.size():
|
||||
palette_grid.get_child(current_swatch).get_child(0).modulate = color
|
||||
working_palette.colors[current_swatch].data = color.to_html(true)
|
||||
_refresh_hint_tooltip(current_swatch)
|
||||
|
|
|
@ -190,6 +190,7 @@ var palette_container : GridContainer
|
|||
var edit_palette_popup : WindowDialog
|
||||
var new_palette_dialog : ConfirmationDialog
|
||||
var new_palette_name_line_edit : LineEdit
|
||||
var palette_import_file_dialog : FileDialog
|
||||
|
||||
var error_dialog : AcceptDialog
|
||||
|
||||
|
@ -283,6 +284,7 @@ func _ready() -> void:
|
|||
edit_palette_popup = find_node_by_name(root, "EditPalettePopup")
|
||||
new_palette_dialog = find_node_by_name(root, "NewPaletteDialog")
|
||||
new_palette_name_line_edit = find_node_by_name(new_palette_dialog, "NewPaletteNameLineEdit")
|
||||
palette_import_file_dialog = find_node_by_name(root, "PaletteImportFileDialog")
|
||||
|
||||
error_dialog = find_node_by_name(root, "ErrorDialog")
|
||||
|
||||
|
|
|
@ -1079,3 +1079,7 @@ func add_palette_menu_id_pressed(id) -> void:
|
|||
func _on_NewPaletteDialog_confirmed() -> void:
|
||||
Global.palette_container.on_new_palette_confirmed()
|
||||
pass
|
||||
|
||||
func _on_PaletteImportFileDialog_file_selected(path) -> void:
|
||||
Global.palette_container.on_palette_import_file_selected(path)
|
||||
pass
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
extends GridContainer
|
||||
|
||||
var palette_button = preload("res://Prefabs/PaletteButton.tscn");
|
||||
const palette_button = preload("res://Prefabs/PaletteButton.tscn");
|
||||
|
||||
var current_palette = "Default"
|
||||
var from_palette : = {}
|
||||
|
@ -42,6 +42,38 @@ func on_new_empty_palette() -> void:
|
|||
pass
|
||||
|
||||
func on_import_palette() -> void:
|
||||
Global.palette_import_file_dialog.popup_centered()
|
||||
pass
|
||||
|
||||
func on_palette_import_file_selected(path) -> void:
|
||||
var file := File.new()
|
||||
|
||||
file.open(path, File.READ)
|
||||
var text = file.get_as_text()
|
||||
var result_json = JSON.parse(text)
|
||||
var result = {}
|
||||
var palette_name = null # Default error condition
|
||||
|
||||
if result_json.error != OK: # If parse has errors
|
||||
print("Error: ", result_json.error)
|
||||
print("Error Line: ", result_json.error_line)
|
||||
print("Error String: ", result_json.error_string)
|
||||
else: # If parse OK
|
||||
var data = result_json.result
|
||||
if data.has("name"): #If data is 'valid' palette file
|
||||
palette_name = data.name
|
||||
if not Global.palettes.has(palette_name):
|
||||
Global.palettes[palette_name] = data
|
||||
Global.palette_option_button.add_item(palette_name)
|
||||
var index := Global.palette_option_button.get_item_count() - 1
|
||||
Global.palette_option_button.set_item_metadata(index, palette_name)
|
||||
Global.palette_option_button.select(index)
|
||||
on_palette_select(palette_name)
|
||||
save_palette(palette_name, palette_name + ".json")
|
||||
else:
|
||||
Global.error_dialog.set_text("Palette named '" + palette_name + "' already exists");
|
||||
Global.error_dialog.popup_centered()
|
||||
file.close()
|
||||
pass
|
||||
|
||||
func on_edit_palette() -> void:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue