mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-16 09:12:35 +00:00
Server profiles can now be deleted from Asterisk and game_title is now correctly saved to server profile when first created.
This commit is contained in:
@@ -41,7 +41,7 @@ class W3DHub
|
|||||||
end
|
end
|
||||||
|
|
||||||
@server_delete_button = button get_image("#{GAME_ROOT_PATH}/media/ui_icons/minus.png"), image_height: 1.0, tip: "Remove selected profile" do
|
@server_delete_button = button get_image("#{GAME_ROOT_PATH}/media/ui_icons/minus.png"), image_height: 1.0, tip: "Remove selected profile" do
|
||||||
push_state(ConfirmDialog, message: "Purge server profile")
|
push_state(ConfirmDialog, title: "Are you sure?", message: "Remove Server Profile: \"#{@server_profiles_list.value}\"?", accept_callback: -> { delete_server_profile(server_profile_from_name(@server_profiles_list.value)) })
|
||||||
end
|
end
|
||||||
|
|
||||||
@server_edit_button = button get_image("#{GAME_ROOT_PATH}/media/ui_icons/save.png"), image_height: 1.0, tip: "Edit and save selected profile" do
|
@server_edit_button = button get_image("#{GAME_ROOT_PATH}/media/ui_icons/save.png"), image_height: 1.0, tip: "Edit and save selected profile" do
|
||||||
@@ -162,7 +162,7 @@ class W3DHub
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
flow(width: 1.0, height: 40, padding: 8) do
|
flow(width: 1.0, height: 46, padding: 8) do
|
||||||
button "Cancel", width: 0.25 do
|
button "Cancel", width: 0.25 do
|
||||||
pop_state
|
pop_state
|
||||||
end
|
end
|
||||||
@@ -257,7 +257,7 @@ class W3DHub
|
|||||||
server_profile: @server_profiles_list.value,
|
server_profile: @server_profiles_list.value,
|
||||||
server_hostname: @server_hostname.value,
|
server_hostname: @server_hostname.value,
|
||||||
server_port: @server_port.value,
|
server_port: @server_port.value,
|
||||||
game: @games_list.value,
|
game_title: @games_list.value,
|
||||||
launch_arguments: @launch_arguments.value,
|
launch_arguments: @launch_arguments.value,
|
||||||
irc_profile: @irc_profiles_list.value
|
irc_profile: @irc_profiles_list.value
|
||||||
}
|
}
|
||||||
@@ -275,6 +275,24 @@ class W3DHub
|
|||||||
@changes_made = false
|
@changes_made = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def delete_server_profile(profile)
|
||||||
|
index = W3DHub::Store[:asterisk_config].server_profiles.index(profile)
|
||||||
|
return unless index
|
||||||
|
|
||||||
|
W3DHub::Store[:asterisk_config].server_profiles.delete(profile)
|
||||||
|
|
||||||
|
W3DHub::Store[:asterisk_config].save_config
|
||||||
|
|
||||||
|
@server_profiles_list.items = W3DHub::Store[:asterisk_config].server_profiles.map { |pf| pf.name }
|
||||||
|
if W3DHub::Store[:asterisk_config].server_profiles.size.positive?
|
||||||
|
@server_profiles_list.choose = W3DHub::Store[:asterisk_config].server_profiles[index - 1 > 0 ? index - 1 : 0].name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def server_profile_from_name(name)
|
||||||
|
W3DHub::Store[:asterisk_config].server_profiles.find { |pf| name == pf.name }
|
||||||
|
end
|
||||||
|
|
||||||
def game_from_title(title)
|
def game_from_title(title)
|
||||||
W3DHub::Store[:asterisk_config].games.find { |g| title == g.title }
|
W3DHub::Store[:asterisk_config].games.find { |g| title == g.title }
|
||||||
end
|
end
|
||||||
@@ -362,7 +380,8 @@ class W3DHub
|
|||||||
end
|
end
|
||||||
|
|
||||||
def delete_irc_profile(profile)
|
def delete_irc_profile(profile)
|
||||||
index = W3DHub::Store[:asterisk_config].irc_profiles.index(profile) || 0
|
index = W3DHub::Store[:asterisk_config].irc_profiles.index(profile)
|
||||||
|
return unless index
|
||||||
|
|
||||||
W3DHub::Store[:asterisk_config].irc_profiles.delete(profile)
|
W3DHub::Store[:asterisk_config].irc_profiles.delete(profile)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user