refactor and fix
This commit is contained in:
parent
c0459b8f94
commit
c0db2e6da4
13
src/ui.rs
13
src/ui.rs
@ -333,9 +333,21 @@ impl UI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*self.2.lock().unwrap() = m.clone();
|
||||||
ipc::set_options(m).ok();
|
ipc::set_options(m).ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn set_option(&self, key: String, value: String) {
|
||||||
|
let mut options = self.2.lock().unwrap();
|
||||||
|
if value.is_empty() {
|
||||||
|
options.remove(&key);
|
||||||
|
} else {
|
||||||
|
options.insert(key, value);
|
||||||
|
}
|
||||||
|
ipc::set_options(options.clone()).ok();
|
||||||
|
}
|
||||||
|
|
||||||
fn install_path(&mut self) -> String {
|
fn install_path(&mut self) -> String {
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
return crate::platform::windows::get_install_info().1;
|
return crate::platform::windows::get_install_info().1;
|
||||||
@ -587,6 +599,7 @@ impl sciter::EventHandler for UI {
|
|||||||
fn test_if_valid_server(String);
|
fn test_if_valid_server(String);
|
||||||
fn get_sound_inputs();
|
fn get_sound_inputs();
|
||||||
fn set_options(Value);
|
fn set_options(Value);
|
||||||
|
fn set_option(String, String);
|
||||||
fn get_software_update_url();
|
fn get_software_update_url();
|
||||||
fn get_new_version();
|
fn get_new_version();
|
||||||
fn get_version();
|
fn get_version();
|
||||||
|
@ -40,9 +40,7 @@ class ConnectStatus: Reactor.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
event click $(.connect-status .link) () {
|
event click $(.connect-status .link) () {
|
||||||
var options = handler.get_options();
|
handler.set_option("stop-service", "");
|
||||||
options["stop-service"] = "";
|
|
||||||
handler.set_options(options);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,7 +136,6 @@ function createNewConnect(id, type) {
|
|||||||
|
|
||||||
var myIdMenu;
|
var myIdMenu;
|
||||||
var audioInputMenu;
|
var audioInputMenu;
|
||||||
var configOptions = {};
|
|
||||||
class AudioInputs: Reactor.Component {
|
class AudioInputs: Reactor.Component {
|
||||||
function this() {
|
function this() {
|
||||||
audioInputMenu = this;
|
audioInputMenu = this;
|
||||||
@ -167,7 +164,7 @@ class AudioInputs: Reactor.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function get_value() {
|
function get_value() {
|
||||||
return configOptions["audio-input"] || this.get_default();
|
return handler.get_option("audio-input") || this.get_default();
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleMenuState() {
|
function toggleMenuState() {
|
||||||
@ -182,8 +179,7 @@ class AudioInputs: Reactor.Component {
|
|||||||
var v = me.id;
|
var v = me.id;
|
||||||
if (v == this.get_value()) return;
|
if (v == this.get_value()) return;
|
||||||
if (v == this.get_default()) v = "";
|
if (v == this.get_default()) v = "";
|
||||||
configOptions["audio-input"] = v;
|
handler.set_option("audio-input", v);
|
||||||
handler.set_options(configOptions);
|
|
||||||
this.toggleMenuState();
|
this.toggleMenuState();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -223,7 +219,6 @@ class MyIdMenu: Reactor.Component {
|
|||||||
|
|
||||||
event click $(svg#menu) (_, me) {
|
event click $(svg#menu) (_, me) {
|
||||||
audioInputMenu.update({ show: true });
|
audioInputMenu.update({ show: true });
|
||||||
configOptions = handler.get_options();
|
|
||||||
this.toggleMenuState();
|
this.toggleMenuState();
|
||||||
var menu = $(menu#config-options);
|
var menu = $(menu#config-options);
|
||||||
me.popup(menu);
|
me.popup(menu);
|
||||||
@ -232,7 +227,7 @@ class MyIdMenu: Reactor.Component {
|
|||||||
function toggleMenuState() {
|
function toggleMenuState() {
|
||||||
for (var el in $$(menu#config-options>li)) {
|
for (var el in $$(menu#config-options>li)) {
|
||||||
if (el.id && el.id.indexOf("enable-") == 0) {
|
if (el.id && el.id.indexOf("enable-") == 0) {
|
||||||
var enabled = configOptions[el.id] != "N";
|
var enabled = handler.get_option(el.id) != "N";
|
||||||
el.attributes.toggleClass("selected", enabled);
|
el.attributes.toggleClass("selected", enabled);
|
||||||
el.attributes.toggleClass("line-through", !enabled);
|
el.attributes.toggleClass("line-through", !enabled);
|
||||||
}
|
}
|
||||||
@ -241,11 +236,10 @@ class MyIdMenu: Reactor.Component {
|
|||||||
|
|
||||||
event click $(menu#config-options>li) (_, me) {
|
event click $(menu#config-options>li) (_, me) {
|
||||||
if (me.id && me.id.indexOf("enable-") == 0) {
|
if (me.id && me.id.indexOf("enable-") == 0) {
|
||||||
configOptions[me.id] = configOptions[me.id] == "N" ? "" : "N";
|
handler.set_option(me.id, handler.get_option(me.id) == "N" ? "" : "N");
|
||||||
handler.set_options(configOptions);
|
|
||||||
}
|
}
|
||||||
if (me.id == "whitelist") {
|
if (me.id == "whitelist") {
|
||||||
var old_value = (configOptions["whitelist"] || "").split(",").join("\n");
|
var old_value = handler.get_option("whitelist").split(",").join("\n");
|
||||||
handler.msgbox("custom-whitelist", "IP Whitelisting", "<div .form> \
|
handler.msgbox("custom-whitelist", "IP Whitelisting", "<div .form> \
|
||||||
<textarea spellcheck=\"false\" name=\"text\" novalue=\"0.0.0.0\" style=\"overflow: scroll-indicator; height: 160px; font-size: 1.2em; padding: 0.5em;\">" + old_value + "</textarea>\
|
<textarea spellcheck=\"false\" name=\"text\" novalue=\"0.0.0.0\" style=\"overflow: scroll-indicator; height: 160px; font-size: 1.2em; padding: 0.5em;\">" + old_value + "</textarea>\
|
||||||
</div> \
|
</div> \
|
||||||
@ -253,7 +247,7 @@ class MyIdMenu: Reactor.Component {
|
|||||||
if (!res) return;
|
if (!res) return;
|
||||||
var value = (res.text || "").trim();
|
var value = (res.text || "").trim();
|
||||||
if (value) {
|
if (value) {
|
||||||
var values = value.split(/[\s,;]+/g);
|
var values = value.split(/[\s,;\n]+/g);
|
||||||
for (var ip in values) {
|
for (var ip in values) {
|
||||||
if (!ip.match(/^\d+\.\d+\.\d+\.\d+$/)) {
|
if (!ip.match(/^\d+\.\d+\.\d+\.\d+$/)) {
|
||||||
return "Invalid ip: " + ip;
|
return "Invalid ip: " + ip;
|
||||||
@ -262,11 +256,11 @@ class MyIdMenu: Reactor.Component {
|
|||||||
value = values.join("\n");
|
value = values.join("\n");
|
||||||
}
|
}
|
||||||
if (value == old_value) return;
|
if (value == old_value) return;
|
||||||
configOptions["whitelist"] = value.replace("\n", ",");
|
|
||||||
stdout.println("whitelist updated");
|
stdout.println("whitelist updated");
|
||||||
handler.set_options(configOptions);
|
handler.set_option("whitelist", value.replace("\n", ","));
|
||||||
}, 300);
|
}, 300);
|
||||||
} else if (me.id == "custom-server") {
|
} else if (me.id == "custom-server") {
|
||||||
|
var configOptions = handler.get_options();
|
||||||
var old_relay = configOptions["relay-server"] || "";
|
var old_relay = configOptions["relay-server"] || "";
|
||||||
var old_id = configOptions["custom-rendezvous-server"] || "";
|
var old_id = configOptions["custom-rendezvous-server"] || "";
|
||||||
handler.msgbox("custom-server", "ID/Relay Server", "<div .form> \
|
handler.msgbox("custom-server", "ID/Relay Server", "<div .form> \
|
||||||
@ -293,8 +287,7 @@ class MyIdMenu: Reactor.Component {
|
|||||||
} else if (me.id == "forum") {
|
} else if (me.id == "forum") {
|
||||||
handler.open_url("https:://forum.rustdesk.com");
|
handler.open_url("https:://forum.rustdesk.com");
|
||||||
} else if (me.id == "stop-service") {
|
} else if (me.id == "stop-service") {
|
||||||
configOptions["stop-service"] = service_stopped ? "" : "Y";
|
handler.set_option("stop-service", service_stopped ? "" : "Y");
|
||||||
handler.set_options(configOptions);
|
|
||||||
} else if (me.id == "about") {
|
} else if (me.id == "about") {
|
||||||
var name = handler.get_app_name();
|
var name = handler.get_app_name();
|
||||||
handler.msgbox("custom-nocancel-nook-hasclose", "About " + name, "<div style='line-height: 2em'> \
|
handler.msgbox("custom-nocancel-nook-hasclose", "About " + name, "<div style='line-height: 2em'> \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user