Added filter for NamePromptDialog, configurations can now be renamed

This commit is contained in:
2020-06-23 09:50:53 -05:00
parent 17e4290033
commit ffd8146fe3
3 changed files with 22 additions and 2 deletions

View File

@@ -5,7 +5,7 @@ module TAC
background Gosu::Color::GRAY
flow width: 1.0 do
label "Name", width: 0.25
@name = edit_line @options[:renaming] ? @options[:renaming].name : "", width: 0.70
@name = edit_line @options[:renaming] ? @options[:renaming].name : "", filter: method(:filter), width: 0.70
end
@name_error = label "", color: TAC::Palette::TACNET_CONNECTION_ERROR
@name_error.hide
@@ -37,6 +37,10 @@ module TAC
end
end
end
def filter(text)
text.match(/[A-Za-z0-9,._\-]/) ? text : ""
end
end
end
end

View File

@@ -53,10 +53,25 @@ module TAC
name = File.basename(config_file, ".json")
button "#{name}", width: 0.965 do
button "#{name}", width: 0.94 do
change_config(name)
end
button get_image("#{TAC::ROOT_PATH}/media/icons/gear.png"), image_width: THEME_ICON_SIZE, tip: "Rename configuration" do
push_state(Dialog::NamePromptDialog, title: "Rename Config", callback_method: proc { |new_name|
FileUtils.mv(
"#{TAC::CONFIGS_PATH}/#{name}.json",
"#{TAC::CONFIGS_PATH}/#{new_name}.json"
)
if window.backend.settings.config == name
change_config(new_name)
end
populate_configs
})
end
button get_image("#{TAC::ROOT_PATH}/media/icons/trashcan.png"), image_width: THEME_ICON_SIZE, **THEME_DANGER_BUTTON, tip: "Delete configuration" do
push_state(Dialog::ConfirmDialog, title: "Delete Config?", callback_method: proc {
File.delete("#{TAC::CONFIGS_PATH}/#{name}.json")

View File

@@ -2,6 +2,7 @@ require_relative "../cyberarm_engine/lib/cyberarm_engine"
require "socket"
require "securerandom"
require "json"
require "fileutils"
require_relative "lib/tac"
require_relative "lib/palette"