outputfile.gd 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. extends GraphNode
  2. signal open_help
  3. signal node_moved
  4. # Called when the node enters the scene tree for the first time.
  5. func _ready() -> void:
  6. #add button to title bar
  7. var titlebar = self.get_titlebar_hbox()
  8. var btn = Button.new()
  9. btn.text = "?"
  10. btn.tooltip_text = "Open help for " + self.title
  11. btn.connect("pressed", Callable(self, "_open_help")) #pass key (process name) when button is pressed
  12. titlebar.add_child(btn)
  13. self.position_offset_changed.connect(_on_position_offset_changed)
  14. func init():
  15. var interface_settings = ConfigHandler.load_interface_settings()
  16. $DeleteIntermediateFilesToggle.button_pressed = interface_settings.get("delete_intermediate", true)
  17. $ReuseFolderToggle.button_pressed = interface_settings.get("reuse_output_folder", true)
  18. $HBoxContainer/Autoplay.button_pressed = interface_settings.get("autoplay", true)
  19. func _open_help():
  20. open_help.emit(self.get_meta("command"), self.title)
  21. func _on_autoplay_toggled(toggled_on: bool) -> void:
  22. ConfigHandler.save_interface_settings("autoplay", toggled_on)
  23. $AudioPlayer.autoplay = toggled_on
  24. func _on_delete_intermediate_files_toggle_toggled(toggled_on: bool) -> void:
  25. ConfigHandler.save_interface_settings("delete_intermediate", toggled_on)
  26. func _on_reuse_folder_toggle_toggled(toggled_on: bool) -> void:
  27. ConfigHandler.save_interface_settings("reuse_output_folder", toggled_on)
  28. func _on_position_offset_changed():
  29. node_moved.emit(self, Rect2(position, size))
  30. func _on_file_name_field_text_submitted(new_text: String) -> void:
  31. #check for slashes which can't be in a file name
  32. if new_text.contains("/"):
  33. new_text = new_text.replace("/", "")
  34. if new_text.contains("\\"):
  35. new_text = new_text.replace("\\", "")
  36. var check_characters = Global.check_for_invalid_chars(new_text)
  37. if check_characters["contains_invalid_characters"] == true:
  38. $FileNameField.text = check_characters["string_without_invalid_characters"]
  39. func _on_file_name_field_focus_exited() -> void:
  40. _on_file_name_field_text_submitted($FileNameField.text)