mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-16 09:12:35 +00:00
Compare commits
2 Commits
b5fc3e9239
...
4e469cb12c
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e469cb12c | |||
| 4e0b013a93 |
@@ -106,7 +106,6 @@ class W3DHub
|
||||
|
||||
logger.debug(LOG_TAG) { "Waiting for data..." }
|
||||
while (message = connection.read)
|
||||
logger.debug(LOG_TAG) { "Sending \"PING\"(?)" } if message.first[:type] == 6
|
||||
connection.write({ type: 6 }) if message.first[:type] == 6
|
||||
|
||||
if message&.first&.fetch(:type) == 1
|
||||
@@ -117,7 +116,6 @@ class W3DHub
|
||||
server = Store.server_list.find { |s| s.id == id }
|
||||
server_updated = server&.update(data)
|
||||
States::Interface.instance&.update_server_browser(server) if server_updated
|
||||
logger.debug(LOG_TAG) { "Updated #{server.status.name}" } if server_updated
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -448,7 +448,11 @@ class W3DHub
|
||||
prefill: Store.settings[:server_list_username],
|
||||
accept_callback: accept_callback,
|
||||
cancel_callback: cancel_callback,
|
||||
valid_callback: proc { |entry| entry.length.positive? }
|
||||
# See: https://gitlab.com/danpaul88/brenbot/-/blob/master/Source/renlog.pm#L136-175
|
||||
valid_callback: proc do |entry|
|
||||
entry.length > 1 && entry.length < 30 && (entry =~ /(:|!|&|%| )/i).nil? &&
|
||||
(entry =~ /[\001\002\037]/).nil? && (entry =~ /\\/).nil?
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ class W3DHub
|
||||
|
||||
stack(width: 0.5)
|
||||
|
||||
button "Accept", width: 0.25 do
|
||||
@accept_button = button "Accept", width: 0.25 do
|
||||
if @options[:valid_callback]&.call(@prompt_entry.value)
|
||||
pop_state
|
||||
@options[:accept_callback]&.call(@prompt_entry.value)
|
||||
@@ -38,6 +38,32 @@ class W3DHub
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@prompt_entry.subscribe(:changed) do
|
||||
if @options[:valid_callback]
|
||||
if @options[:valid_callback].call(@prompt_entry.value)
|
||||
c = W3DHub::THEME[:Button][:border_color]
|
||||
|
||||
@prompt_entry.style.border_color = c
|
||||
@prompt_entry.style.default[:border_color] = c
|
||||
@prompt_entry.style.hover[:border_color] = c
|
||||
@prompt_entry.style.active[:border_color] = c
|
||||
|
||||
@accept_button.enabled = true
|
||||
else
|
||||
c = 0xff_ff0000
|
||||
|
||||
@prompt_entry.style.border_color = c
|
||||
@prompt_entry.style.default[:border_color] = c
|
||||
@prompt_entry.style.hover[:border_color] = c
|
||||
@prompt_entry.style.active[:border_color] = c
|
||||
|
||||
@accept_button.enabled = false
|
||||
end
|
||||
|
||||
@prompt_entry.set_border_color
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def draw
|
||||
|
||||
Reference in New Issue
Block a user