From 20d643b4cace41e8c37c7f6076fa80fc48c4b009 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Tue, 31 Dec 2019 01:24:56 +0200 Subject: [PATCH] Rename palettes on EditPalettePopup, removed "Custom" subfolder --- Palettes/Default.json | 1 + Palettes/default_palette.json | 37 ---------------- Prefabs/EditPalettePopup.tscn | 67 ++++++++++++++++++----------- Scripts/Palette/EditPalettePopup.gd | 25 ++++++++--- Scripts/Palette/Palette.gd | 2 +- Scripts/Palette/PaletteButton.gd | 19 ++++---- Scripts/Palette/PaletteContainer.gd | 19 +------- 7 files changed, 74 insertions(+), 96 deletions(-) create mode 100644 Palettes/Default.json delete mode 100644 Palettes/default_palette.json diff --git a/Palettes/Default.json b/Palettes/Default.json new file mode 100644 index 000000000..528cac021 --- /dev/null +++ b/Palettes/Default.json @@ -0,0 +1 @@ +{"name":"Default","colors":[{"data":"ff000000","name":"no name"},{"data":"ff222034","name":"no name"},{"data":"ff45283c","name":"no name"},{"data":"ff663931","name":"no name"},{"data":"ff8f563b","name":"no name"},{"data":"ffdf7126","name":"no name"},{"data":"ffd9a066","name":"no name"},{"data":"ffeec39a","name":"no name"},{"data":"fffbf236","name":"no name"},{"data":"ff99e550","name":"no name"},{"data":"ff6abe30","name":"no name"},{"data":"ff37946e","name":"no name"},{"data":"ff4b692f","name":"no name"},{"data":"ff524b24","name":"no name"},{"data":"ff323c39","name":"no name"},{"data":"ff3f3f74","name":"no name"},{"data":"ff306082","name":"no name"},{"data":"ff5b6ee1","name":"no name"},{"data":"ff639bff","name":"no name"},{"data":"ff5fcde4","name":"no name"},{"data":"ffcbdbfc","name":"no name"},{"data":"ffffffff","name":"no name"},{"data":"ff9badb7","name":"no name"},{"data":"ff847e87","name":"no name"},{"data":"ff696a6a","name":"no name"},{"data":"ff595652","name":"no name"},{"data":"ff76428a","name":"no name"},{"data":"ffac3232","name":"no name"},{"data":"ffd95763","name":"no name"},{"data":"ffd77bba","name":"no name"},{"data":"ff8f974a","name":"no name"},{"data":"ff8a6f30","name":"no name"}],"comments":"","editable":true} \ No newline at end of file diff --git a/Palettes/default_palette.json b/Palettes/default_palette.json deleted file mode 100644 index b76ab8e6a..000000000 --- a/Palettes/default_palette.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "Default", - "colors" : [ - { "data" : "#FF000000", "name" : "no name" }, - { "data" : "#FF222034", "name" : "no name" }, - { "data" : "#FF45283c", "name" : "no name" }, - { "data" : "#FF663931", "name" : "no name" }, - { "data" : "#FF8f563b", "name" : "no name" }, - { "data" : "#FFdf7126", "name" : "no name" }, - { "data" : "#FFd9a066", "name" : "no name" }, - { "data" : "#FFeec39a", "name" : "no name" }, - { "data" : "#FFfbf236", "name" : "no name" }, - { "data" : "#FF99e550", "name" : "no name" }, - { "data" : "#FF6abe30", "name" : "no name" }, - { "data" : "#FF37946e", "name" : "no name" }, - { "data" : "#FF4b692f", "name" : "no name" }, - { "data" : "#FF524b24", "name" : "no name" }, - { "data" : "#FF323c39", "name" : "no name" }, - { "data" : "#FF3f3f74", "name" : "no name" }, - { "data" : "#FF306082", "name" : "no name" }, - { "data" : "#FF5b6ee1", "name" : "no name" }, - { "data" : "#FF639bff", "name" : "no name" }, - { "data" : "#FF5fcde4", "name" : "no name" }, - { "data" : "#FFcbdbfc", "name" : "no name" }, - { "data" : "#FFffffff", "name" : "no name" }, - { "data" : "#FF9badb7", "name" : "no name" }, - { "data" : "#FF847e87", "name" : "no name" }, - { "data" : "#FF696a6a", "name" : "no name" }, - { "data" : "#FF595652", "name" : "no name" }, - { "data" : "#FF76428a", "name" : "no name" }, - { "data" : "#FFac3232", "name" : "no name" }, - { "data" : "#FFd95763", "name" : "no name" }, - { "data" : "#FFd77bba", "name" : "no name" }, - { "data" : "#FF8f974a", "name" : "no name" }, - { "data" : "#FF8a6f30", "name" : "no name" } - ] -} \ No newline at end of file diff --git a/Prefabs/EditPalettePopup.tscn b/Prefabs/EditPalettePopup.tscn index cdfd654ca..9f14f789f 100644 --- a/Prefabs/EditPalettePopup.tscn +++ b/Prefabs/EditPalettePopup.tscn @@ -25,17 +25,17 @@ size_flags_horizontal = 3 [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] margin_right = 580.0 -margin_bottom = 478.0 +margin_bottom = 462.0 size_flags_vertical = 3 [node name="EditPaletteColorPicker" type="ColorPicker" parent="VBoxContainer/HBoxContainer"] margin_right = 290.0 -margin_bottom = 478.0 +margin_bottom = 462.0 [node name="Panel" type="Panel" parent="VBoxContainer/HBoxContainer"] margin_left = 294.0 margin_right = 556.0 -margin_bottom = 478.0 +margin_bottom = 462.0 size_flags_horizontal = 3 [node name="EditPaletteGridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/Panel"] @@ -45,78 +45,95 @@ size_flags_horizontal = 3 size_flags_vertical = 3 columns = 8 -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] +[node name="ColorButtons" type="VBoxContainer" parent="VBoxContainer/HBoxContainer"] margin_left = 560.0 margin_right = 580.0 -margin_bottom = 478.0 +margin_bottom = 462.0 -[node name="AddSwatchButton" type="TextureButton" parent="VBoxContainer/HBoxContainer/VBoxContainer"] +[node name="AddSwatchButton" type="TextureButton" parent="VBoxContainer/HBoxContainer/ColorButtons"] margin_right = 20.0 margin_bottom = 20.0 texture_normal = ExtResource( 2 ) texture_hover = ExtResource( 3 ) -[node name="RemoveSwatchButton" type="TextureButton" parent="VBoxContainer/HBoxContainer/VBoxContainer"] +[node name="RemoveSwatchButton" type="TextureButton" parent="VBoxContainer/HBoxContainer/ColorButtons"] margin_top = 24.0 margin_right = 20.0 margin_bottom = 44.0 texture_normal = ExtResource( 4 ) texture_hover = ExtResource( 5 ) -[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 482.0 +[node name="ColorNameContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_top = 466.0 margin_right = 580.0 -margin_bottom = 506.0 +margin_bottom = 490.0 -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer3"] +[node name="Label" type="Label" parent="VBoxContainer/ColorNameContainer"] margin_top = 5.0 margin_right = 79.0 margin_bottom = 19.0 text = "Color Name:" -[node name="EditPaletteColorNameLineEdit" type="LineEdit" parent="VBoxContainer/HBoxContainer3"] +[node name="EditPaletteColorNameLineEdit" type="LineEdit" parent="VBoxContainer/ColorNameContainer"] margin_left = 83.0 margin_right = 580.0 margin_bottom = 24.0 size_flags_horizontal = 3 -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 510.0 +[node name="PaletteNameContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_top = 494.0 margin_right = 580.0 -margin_bottom = 530.0 +margin_bottom = 518.0 + +[node name="Label" type="Label" parent="VBoxContainer/PaletteNameContainer"] +margin_top = 5.0 +margin_right = 91.0 +margin_bottom = 19.0 +text = "Palette Name:" + +[node name="EditPaletteNameLineEdit" type="LineEdit" parent="VBoxContainer/PaletteNameContainer"] +margin_left = 95.0 +margin_right = 580.0 +margin_bottom = 24.0 size_flags_horizontal = 3 -[node name="SpacerControl" type="Control" parent="VBoxContainer/HBoxContainer2"] +[node name="WindowOptionsContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_top = 522.0 +margin_right = 580.0 +margin_bottom = 542.0 +size_flags_horizontal = 3 + +[node name="SpacerControl" type="Control" parent="VBoxContainer/WindowOptionsContainer"] margin_right = 156.0 margin_bottom = 20.0 size_flags_horizontal = 3 -[node name="EditPaletteSaveButton" type="Button" parent="VBoxContainer/HBoxContainer2"] +[node name="EditPaletteSaveButton" type="Button" parent="VBoxContainer/WindowOptionsContainer"] margin_left = 160.0 margin_right = 201.0 margin_bottom = 20.0 text = "Save" -[node name="SpacerControl2" type="Control" parent="VBoxContainer/HBoxContainer2"] +[node name="SpacerControl2" type="Control" parent="VBoxContainer/WindowOptionsContainer"] margin_left = 205.0 margin_right = 361.0 margin_bottom = 20.0 size_flags_horizontal = 3 -[node name="EditPaletteCancelButton" type="Button" parent="VBoxContainer/HBoxContainer2"] +[node name="EditPaletteCancelButton" type="Button" parent="VBoxContainer/WindowOptionsContainer"] margin_left = 365.0 margin_right = 419.0 margin_bottom = 20.0 text = "Cancel" -[node name="SpacerControl3" type="Control" parent="VBoxContainer/HBoxContainer2"] +[node name="SpacerControl3" type="Control" parent="VBoxContainer/WindowOptionsContainer"] margin_left = 423.0 margin_right = 580.0 margin_bottom = 20.0 size_flags_horizontal = 3 [connection signal="color_changed" from="VBoxContainer/HBoxContainer/EditPaletteColorPicker" to="." method="_on_EditPaletteColorPicker_color_changed"] -[connection signal="pressed" from="VBoxContainer/HBoxContainer/VBoxContainer/AddSwatchButton" to="." method="_on_AddSwatchButton_pressed"] -[connection signal="pressed" from="VBoxContainer/HBoxContainer/VBoxContainer/RemoveSwatchButton" to="." method="_on_RemoveSwatchButton_pressed"] -[connection signal="text_changed" from="VBoxContainer/HBoxContainer3/EditPaletteColorNameLineEdit" to="." method="_on_EditPaletteColorNameLineEdit_text_changed"] -[connection signal="pressed" from="VBoxContainer/HBoxContainer2/EditPaletteSaveButton" to="." method="_on_EditPaletteSaveButton_pressed"] -[connection signal="pressed" from="VBoxContainer/HBoxContainer2/EditPaletteCancelButton" to="." method="_on_EditPaletteCancelButton_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/ColorButtons/AddSwatchButton" to="." method="_on_AddSwatchButton_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/ColorButtons/RemoveSwatchButton" to="." method="_on_RemoveSwatchButton_pressed"] +[connection signal="text_changed" from="VBoxContainer/ColorNameContainer/EditPaletteColorNameLineEdit" to="." method="_on_EditPaletteColorNameLineEdit_text_changed"] +[connection signal="pressed" from="VBoxContainer/WindowOptionsContainer/EditPaletteSaveButton" to="." method="_on_EditPaletteSaveButton_pressed"] +[connection signal="pressed" from="VBoxContainer/WindowOptionsContainer/EditPaletteCancelButton" to="." method="_on_EditPaletteCancelButton_pressed"] diff --git a/Scripts/Palette/EditPalettePopup.gd b/Scripts/Palette/EditPalettePopup.gd index a3a458115..55926d259 100644 --- a/Scripts/Palette/EditPalettePopup.gd +++ b/Scripts/Palette/EditPalettePopup.gd @@ -1,8 +1,9 @@ extends WindowDialog -onready var palette_grid = $VBoxContainer/HBoxContainer/Panel/EditPaletteGridContainer -onready var color_name_edit = $VBoxContainer/HBoxContainer3/EditPaletteColorNameLineEdit onready var color_picker = $VBoxContainer/HBoxContainer/EditPaletteColorPicker +onready var palette_grid = $VBoxContainer/HBoxContainer/Panel/EditPaletteGridContainer +onready var color_name_edit = $VBoxContainer/ColorNameContainer/EditPaletteColorNameLineEdit +onready var palette_name_edit = $VBoxContainer/PaletteNameContainer/EditPaletteNameLineEdit var palette_button = preload("res://Prefabs/PaletteButton.tscn"); @@ -12,11 +13,10 @@ var working_palette : Palette func open(palette : String) -> void: current_palette = palette + palette_name_edit.text = current_palette if Global.palettes.has(palette): working_palette = Global.palettes[palette].duplicate() - _display_palette() - self.popup_centered() func _display_palette() -> void: @@ -98,6 +98,19 @@ func re_index_swatches() -> void: index += 1 func _on_EditPaletteSaveButton_pressed() -> void: + if palette_name_edit.text != current_palette: + Global.palettes.erase(current_palette) + var dir := Directory.new() + dir.open(".") + dir.rename("Palettes".plus_file(current_palette + ".json"), "Palettes".plus_file(palette_name_edit.text + ".json")) + current_palette = palette_name_edit.text + working_palette.name = current_palette + + var optionbutton_index = Global.palette_option_button.selected + Global.palette_option_button.set_item_text(optionbutton_index, current_palette) + Global.palette_option_button.set_item_metadata(optionbutton_index, current_palette) + Global.palette_option_button.text = current_palette + Global.palettes[current_palette] = working_palette Global.palette_container.on_palette_select(current_palette) Global.palette_container.save_palette(current_palette, working_palette.name + ".json") @@ -106,7 +119,7 @@ func _on_EditPaletteSaveButton_pressed() -> void: func _on_EditPaletteCancelButton_pressed() -> void: self.hide() -func _on_EditPaletteColorNameLineEdit_text_changed(new_text) -> void: +func _on_EditPaletteColorNameLineEdit_text_changed(new_text : String) -> void: if current_swatch >= 0 && current_swatch < working_palette.colors.size(): working_palette.set_color_name(current_swatch, new_text) _refresh_hint_tooltip(current_swatch) @@ -117,5 +130,5 @@ func _on_EditPaletteColorPicker_color_changed(color : Color) -> void: working_palette.set_color(current_swatch, color) _refresh_hint_tooltip(current_swatch) -func _refresh_hint_tooltip(_index : int): +func _refresh_hint_tooltip(_index : int) -> void: palette_grid.get_child(current_swatch).hint_tooltip = "#" + working_palette.get_color_data(current_swatch).to_upper() + " " + working_palette.get_color_name(current_swatch) diff --git a/Scripts/Palette/Palette.gd b/Scripts/Palette/Palette.gd index 62fcaf08a..d8df4afcd 100644 --- a/Scripts/Palette/Palette.gd +++ b/Scripts/Palette/Palette.gd @@ -94,7 +94,7 @@ func _serialize() -> String: result = JSON.print(serialize_data) - return result; + return result func deserialize(input_string : String) -> Palette: var result = get_script().new() diff --git a/Scripts/Palette/PaletteButton.gd b/Scripts/Palette/PaletteButton.gd index 5d90bfb8e..b5104e07e 100644 --- a/Scripts/Palette/PaletteButton.gd +++ b/Scripts/Palette/PaletteButton.gd @@ -8,18 +8,17 @@ export var draggable := false var drag_preview_texture = preload("res://Assets/Graphics/Palette/swatch_drag_preview.png") func get_drag_data(_position): - var data = null; - if(draggable): - #print(String(get_instance_id()) + ": Drag Start"); - data = {source_index = index}; - var drag_icon = TextureRect.new(); - drag_icon.texture = drag_preview_texture; + var data = null + if draggable: + data = {source_index = index} + var drag_icon = TextureRect.new() + drag_icon.texture = drag_preview_texture drag_icon.modulate = color - set_drag_preview(drag_icon); - return data; + set_drag_preview(drag_icon) + return data func can_drop_data(_position, _data): - return true; + return true func drop_data(_position, data): - emit_signal("on_drop_data", data.source_index, index); + emit_signal("on_drop_data", data.source_index, index) diff --git a/Scripts/Palette/PaletteContainer.gd b/Scripts/Palette/PaletteContainer.gd index 14b958b9c..d61c93f25 100644 --- a/Scripts/Palette/PaletteContainer.gd +++ b/Scripts/Palette/PaletteContainer.gd @@ -2,7 +2,6 @@ extends GridContainer const palette_button = preload("res://Prefabs/PaletteButton.tscn"); const palettes_path := "Palettes" -const custom_palettes_path := "Palettes/Custom" var current_palette = "Default" var from_palette : Palette @@ -91,7 +90,6 @@ func create_new_palette(name : String, _from_palette : Palette) -> String: # Ret return "Error: Palette '" + name + "' already exists!" new_palette.name = name - # Check if source palette has data if _from_palette: new_palette = _from_palette.duplicate() @@ -101,7 +99,7 @@ func create_new_palette(name : String, _from_palette : Palette) -> String: # Ret # Add palette to Global and options Global.palettes[name] = new_palette Global.palette_option_button.add_item(name) - var index: int = Global.palette_option_button.get_item_count() - 1 + var index : int = Global.palette_option_button.get_item_count() - 1 Global.palette_option_button.set_item_metadata(index, name) Global.palette_option_button.select(index) @@ -139,8 +137,6 @@ func _load_palettes() -> void: dir.open(".") if not dir.dir_exists(palettes_path): dir.make_dir(palettes_path) - if not dir.dir_exists(custom_palettes_path): - dir.make_dir(custom_palettes_path) var palette_files : Array = get_palette_files(palettes_path) @@ -154,17 +150,6 @@ func _load_palettes() -> void: if palette.name == "Default": Global.palette_option_button.select(index) - dir.open(custom_palettes_path) - var custom_palette_files : Array = get_palette_files(custom_palettes_path) - - for file_name in custom_palette_files: - var palette : Palette = Palette.new().load_from_file(custom_palettes_path.plus_file(file_name)) - if palette: - Global.palettes[palette.name] = palette - Global.palette_option_button.add_item(palette.name) - var index: int = Global.palette_option_button.get_item_count() - 1 - Global.palette_option_button.set_item_metadata(index, palette.name) - if not "Default" in Global.palettes && Global.palettes.size() > 0: Global.control._on_PaletteOptionButton_item_selected(0) @@ -187,4 +172,4 @@ func get_palette_files(path : String) -> Array: func save_palette(palette_name : String, filename : String) -> void: var palette = Global.palettes[palette_name] - palette.save_to_file(custom_palettes_path.plus_file(filename)) + palette.save_to_file(palettes_path.plus_file(filename))