need fix header / remote
This commit is contained in:
parent
2a18d7f77d
commit
cf13957b45
@ -186,6 +186,7 @@ export class SessionList extends Element {
|
|||||||
["on click at menu#remote-context li"](evt, me) {
|
["on click at menu#remote-context li"](evt, me) {
|
||||||
let action = me.id;
|
let action = me.id;
|
||||||
let id = me.parentElement.getAttribute("remote-id");
|
let id = me.parentElement.getAttribute("remote-id");
|
||||||
|
if(!id) return
|
||||||
console.log("click li",id);
|
console.log("click li",id);
|
||||||
if (action == "connect") {
|
if (action == "connect") {
|
||||||
createNewConnect(id, "connect");
|
createNewConnect(id, "connect");
|
||||||
|
@ -11,7 +11,8 @@ export const is_linux = OS == "Linux";
|
|||||||
|
|
||||||
view.mediaVar("is_osx", is_osx);
|
view.mediaVar("is_osx", is_osx);
|
||||||
view.mediaVar("not_osx", !is_osx);
|
view.mediaVar("not_osx", !is_osx);
|
||||||
export var is_file_transfer;
|
handler.is_port_forward = false;
|
||||||
|
handler.is_file_transfer = false;
|
||||||
export var is_xfce = false;
|
export var is_xfce = false;
|
||||||
try { is_xfce = handler.xcall("is_xfce"); } catch (e) { }
|
try { is_xfce = handler.xcall("is_xfce"); } catch (e) { }
|
||||||
|
|
||||||
@ -219,6 +220,7 @@ function getMsgboxParams() {
|
|||||||
|
|
||||||
// tmp workaround https://sciter.com/forums/topic/menu-not-be-hidden-when-open-dialog-on-linux/
|
// tmp workaround https://sciter.com/forums/topic/menu-not-be-hidden-when-open-dialog-on-linux/
|
||||||
export function msgbox(type, title, text, callback = null, height = 180, width = 500, retry = 0, contentStyle = "") {
|
export function msgbox(type, title, text, callback = null, height = 180, width = 500, retry = 0, contentStyle = "") {
|
||||||
|
console.log("msgbox text:",text);
|
||||||
if (is_linux) { // fix menu not hidden issue
|
if (is_linux) { // fix menu not hidden issue
|
||||||
setTimeout(() => msgbox_(type, title, text, callback, height, width, retry, contentStyle), 1);
|
setTimeout(() => msgbox_(type, title, text, callback, height, width, retry, contentStyle), 1);
|
||||||
} else {
|
} else {
|
||||||
@ -255,14 +257,15 @@ function msgbox_(type, title, text, callback, height, width, retry, contentStyle
|
|||||||
if (type.indexOf("custom") >= 0) {
|
if (type.indexOf("custom") >= 0) {
|
||||||
//
|
//
|
||||||
} else if (!res) {
|
} else if (!res) {
|
||||||
if (!is_port_forward) view.close();
|
if (!handler.is_port_forward) view.close();
|
||||||
} else if (res == "!alive") {
|
} else if (res == "!alive") {
|
||||||
// do nothing
|
// do nothing
|
||||||
} else if (res.type == "input-password") {
|
} else if (res.type == "input-password") {
|
||||||
|
if (!handler.is_port_forward) msgbox("connecting", "Connecting...", "Logging in...");
|
||||||
handler.login(res.password, res.remember);
|
handler.login(res.password, res.remember);
|
||||||
if (!is_port_forward) msgbox("connecting", "Connecting...", "Logging in...");
|
if (!is_port_forward) msgbox("connecting", "Connecting...", "Logging in...");
|
||||||
} else if (res.reconnect) {
|
} else if (res.reconnect) {
|
||||||
if (!is_port_forward) connecting();
|
if (!handler.is_port_forward) connecting();
|
||||||
handler.reconnect();
|
handler.reconnect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { handler,view,is_file_transfer,setWindowButontsAndIcon,translate,msgbox,adjustBorder,is_osx,is_xfce,svg_chat,svg_checkmark, is_linux } from "./common.js";
|
import { handler,view,setWindowButontsAndIcon,translate,msgbox,adjustBorder,is_osx,is_xfce,svg_chat,svg_checkmark, is_linux } from "./common.js";
|
||||||
import {$,$$} from "@sciter";
|
import {$,$$} from "@sciter";
|
||||||
import { adaptDisplay,is_port_forward } from "./remote.js";
|
import { adaptDisplay, audio_enabled, clipboard_enabled, keyboard_enabled } from "./remote.js";
|
||||||
var pi = handler.xcall("get_default_pi"); // peer information
|
var pi = handler.xcall("get_default_pi"); // peer information
|
||||||
|
|
||||||
var chat_msgs = [];
|
var chat_msgs = [];
|
||||||
@ -148,7 +148,7 @@ class Header extends Element {
|
|||||||
<div class="separator" />
|
<div class="separator" />
|
||||||
{keyboard_enabled ? <li id="lock-screen">{translate('Insert Lock')}</li> : ""}
|
{keyboard_enabled ? <li id="lock-screen">{translate('Insert Lock')}</li> : ""}
|
||||||
{false && pi.platform == "Windows" ? <li id="block-input">Block user input </li> : ""}
|
{false && pi.platform == "Windows" ? <li id="block-input">Block user input </li> : ""}
|
||||||
{handler.support_refresh() ? <li id="refresh">{translate('Refresh')}</li> : ""}
|
{handler.xcall("support_refresh") ? <li id="refresh">{translate('Refresh')}</li> : ""}
|
||||||
</menu>
|
</menu>
|
||||||
</popup>);
|
</popup>);
|
||||||
}
|
}
|
||||||
@ -299,10 +299,10 @@ function toggleMenuState() {
|
|||||||
let s = handler.xcall("get_view_style");
|
let s = handler.xcall("get_view_style");
|
||||||
if (!s) s = "original";
|
if (!s) s = "original";
|
||||||
values.push(s);
|
values.push(s);
|
||||||
for (let el in $$("menu#display-options>li")) {
|
for (let el of $$("menu#display-options>li")) {
|
||||||
el.classList.toggle("selected", values.indexOf(el.id) >= 0);
|
el.classList.toggle("selected", values.indexOf(el.id) >= 0);
|
||||||
}
|
}
|
||||||
for (let id in ["show-remote-cursor", "disable-audio", "disable-clipboard", "lock-after-session-end", "privacy-mode"]) {
|
for (let id of ["show-remote-cursor", "disable-audio", "disable-clipboard", "lock-after-session-end", "privacy-mode"]) {
|
||||||
let el = $('#' + id); // TEST
|
let el = $('#' + id); // TEST
|
||||||
if (el) {
|
if (el) {
|
||||||
el.classList.toggle("selected", handler.xcall("get_toggle_option",id));
|
el.classList.toggle("selected", handler.xcall("get_toggle_option",id));
|
||||||
@ -314,7 +314,7 @@ if (is_osx) {
|
|||||||
$("header").content(<Header />);
|
$("header").content(<Header />);
|
||||||
$("header").attributes["role"] = "window-caption"; // TODO
|
$("header").attributes["role"] = "window-caption"; // TODO
|
||||||
} else {
|
} else {
|
||||||
if (is_file_transfer || is_port_forward) {
|
if (handler.is_file_transfer || handler.is_port_forward) {
|
||||||
$("caption").content(<Header />);
|
$("caption").content(<Header />);
|
||||||
} else {
|
} else {
|
||||||
$("div.window-toolbar").content(<Header />);
|
$("div.window-toolbar").content(<Header />);
|
||||||
@ -322,7 +322,7 @@ if (is_osx) {
|
|||||||
setWindowButontsAndIcon();
|
setWindowButontsAndIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(is_file_transfer || is_port_forward)) {
|
if (!(handler.is_file_transfer || handler.is_port_forward)) {
|
||||||
$("header").style.setProperty("height","32px");
|
$("header").style.setProperty("height","32px");
|
||||||
if (!is_osx) {
|
if (!is_osx) {
|
||||||
$("div.window-icon").style.setProperty("size","32px");
|
$("div.window-icon").style.setProperty("size","32px");
|
||||||
@ -332,7 +332,7 @@ if (!(is_file_transfer || is_port_forward)) {
|
|||||||
handler.updatePi = function(v) {
|
handler.updatePi = function(v) {
|
||||||
pi = v;
|
pi = v;
|
||||||
header.componentUpdate();
|
header.componentUpdate();
|
||||||
if (is_port_forward) {
|
if (handler.is_port_forward) {
|
||||||
view.state = Window.WINDOW_MINIMIZED;
|
view.state = Window.WINDOW_MINIMIZED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
import { is_osx,view,OS,handler,translate,msgbox,is_win,svg_checkmark,svg_edit,isReasonableSize,centerize,svg_eye } from "./common";
|
import { is_osx,view,OS,handler,translate,msgbox,is_win,svg_checkmark,svg_edit,isReasonableSize,centerize,svg_eye } from "./common";
|
||||||
import { SearchBar,SessionStyle,SessionList } from "./ab.js";
|
import { SearchBar,SessionStyle,SessionList } from "./ab.js";
|
||||||
|
import {$} from "@sciter"; //TEST $$ import
|
||||||
|
|
||||||
if (is_osx) view.blurBehind = "light";
|
if (is_osx) view.blurBehind = "light";
|
||||||
console.log("current platform:", OS);
|
console.log("current platform:", OS);
|
||||||
|
console.log("wayland",handler.xcall("is_login_wayland"));
|
||||||
// html min-width, min-height not working on mac, below works for all
|
// html min-width, min-height not working on mac, below works for all
|
||||||
view.minSize = [500, 300]; // TODO not work on ubuntu
|
view.minSize = [500, 300]; // TODO not work on ubuntu
|
||||||
|
|
||||||
@ -118,7 +120,7 @@ class AudioInputs extends Element {
|
|||||||
if (!this.show) return <li />;
|
if (!this.show) return <li />;
|
||||||
let inputs = handler.xcall("get_sound_inputs");
|
let inputs = handler.xcall("get_sound_inputs");
|
||||||
if (is_win) inputs = ["System Sound"].concat(inputs);
|
if (is_win) inputs = ["System Sound"].concat(inputs);
|
||||||
if (!inputs.length) return null; // TODO TEST null element
|
if (!inputs.length) return <div/>;
|
||||||
inputs = ["Mute"].concat(inputs);
|
inputs = ["Mute"].concat(inputs);
|
||||||
setTimeout(()=>this.toggleMenuState(),1);
|
setTimeout(()=>this.toggleMenuState(),1);
|
||||||
return (<li>{translate('Audio Input')}
|
return (<li>{translate('Audio Input')}
|
||||||
@ -187,6 +189,7 @@ class MyIdMenu extends Element {
|
|||||||
|
|
||||||
// TEST svg#menu // .popup()
|
// TEST svg#menu // .popup()
|
||||||
["on click at svg#menu"](_, me) {
|
["on click at svg#menu"](_, me) {
|
||||||
|
console.log("open menu")
|
||||||
audioInputMenu.componentUpdate({ show: true });
|
audioInputMenu.componentUpdate({ show: true });
|
||||||
this.toggleMenuState();
|
this.toggleMenuState();
|
||||||
let menu = this.$("menu#config-options");
|
let menu = this.$("menu#config-options");
|
||||||
@ -194,9 +197,10 @@ class MyIdMenu extends Element {
|
|||||||
}
|
}
|
||||||
|
|
||||||
toggleMenuState() {
|
toggleMenuState() {
|
||||||
for (let el in this.$$("menu#config-options>li")) {
|
for (let el of this.$$("menu#config-options>li")) {
|
||||||
if (el.id && el.id.indexOf("enable-") == 0) {
|
if (el.id && el.id.indexOf("enable-") == 0) {
|
||||||
let enabled = handler.xcall("get_option",el.id) != "N";
|
let enabled = handler.xcall("get_option",el.id) != "N";
|
||||||
|
console.log(el.id,enabled)
|
||||||
el.classList.toggle("selected", enabled);
|
el.classList.toggle("selected", enabled);
|
||||||
el.classList.toggle("line-through", !enabled);
|
el.classList.toggle("line-through", !enabled);
|
||||||
}
|
}
|
||||||
@ -624,9 +628,10 @@ class Password extends Element {
|
|||||||
</div>);
|
</div>);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO expecting element to popup
|
// TODO expecting element to popup 这里组件无法触发
|
||||||
["on click at svg#edit"](_,me) {
|
["on click at svg#edit"](_,me) {
|
||||||
let menu = this.$("menu#edit-password-context");
|
let menu = this.$("menu#edit-password-context");
|
||||||
|
console.log("修改密码",me)
|
||||||
me.popup(menu);
|
me.popup(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ function updateParams(params) {
|
|||||||
my_translate = params.translate;
|
my_translate = params.translate;
|
||||||
retry = params.retry;
|
retry = params.retry;
|
||||||
contentStyle = params.contentStyle;
|
contentStyle = params.contentStyle;
|
||||||
console.log("params",type,title,text,getParams,remember,callback,my_translate,retry,contentStyle)
|
|
||||||
try { text = translate_text(text); } catch (e) {}
|
try { text = translate_text(text); } catch (e) {}
|
||||||
if (retry > 0) {
|
if (retry > 0) {
|
||||||
setTimeout(()=>view.close({ reconnect: true }),retry * 1000);// TEST
|
setTimeout(()=>view.close({ reconnect: true }),retry * 1000);// TEST
|
||||||
@ -101,12 +101,8 @@ class Body extends Element {
|
|||||||
let hasClose = type.indexOf("hasclose") >= 0;
|
let hasClose = type.indexOf("hasclose") >= 0;
|
||||||
let show_progress = type == "connecting";
|
let show_progress = type == "connecting";
|
||||||
this.style.setProperty("border",(color + " solid 1px"));
|
this.style.setProperty("border",(color + " solid 1px"));
|
||||||
setTimeout(()=>{
|
console.log(content)
|
||||||
if (typeof content == "string")
|
setTimeout(()=>this.$("#content").content(my_translate(content)),1);
|
||||||
this.$("#content").html = my_translate(content);
|
|
||||||
else
|
|
||||||
this.$("#content").content(content);
|
|
||||||
},1);
|
|
||||||
return (
|
return (
|
||||||
<div style="size: *">
|
<div style="size: *">
|
||||||
<header style={"height: 2em; background: " + color}>
|
<header style={"height: 2em; background: " + color}>
|
||||||
@ -158,7 +154,7 @@ class Body extends Element {
|
|||||||
}
|
}
|
||||||
if (type == "re-input-password") {
|
if (type == "re-input-password") {
|
||||||
type = "input-password";
|
type = "input-password";
|
||||||
body.update();
|
body.componentUpdate();
|
||||||
set_outline_focus();
|
set_outline_focus();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -251,9 +247,9 @@ setInterval(function() {
|
|||||||
} else if (tmp != params) {
|
} else if (tmp != params) {
|
||||||
params = tmp;
|
params = tmp;
|
||||||
updateParams(params);
|
updateParams(params);
|
||||||
body.update();
|
body.componentUpdate();
|
||||||
set_outline_focus();
|
set_outline_focus();
|
||||||
}
|
}
|
||||||
},30);
|
},30);
|
||||||
|
|
||||||
$("body").content(<Body />);
|
document.body.content(<Body />);
|
@ -1,4 +1,4 @@
|
|||||||
import { translate } from "./common.js";
|
import { translate } from "./common.js";
|
||||||
|
|
||||||
class PortForward extends Element {
|
class PortForward extends Element {
|
||||||
render() {
|
render() {
|
||||||
|
@ -1,22 +1,23 @@
|
|||||||
import { $ } from "@sciter";
|
import { $ } from "@sciter";
|
||||||
import { handler,view,is_file_transfer,isReasonableSize,msgbox,is_osx, is_linux, centerize, connecting } from "./common.js";
|
import { handler,view,isReasonableSize,msgbox,is_osx, is_linux, centerize, connecting } from "./common.js";
|
||||||
import { initializeFileTransfer, save_file_transfer_close_state } from "./file_transfer.js";
|
import { initializeFileTransfer, save_file_transfer_close_state } from "./file_transfer.js";
|
||||||
import { initializePortForward } from "./port_forward.js";
|
import { initializePortForward } from "./port_forward.js";
|
||||||
import { header } from "./header.js";
|
import { header } from "./header.js";
|
||||||
|
|
||||||
|
const body = document.body;
|
||||||
var cursor_img = $("img#cursor");
|
var cursor_img = $("img#cursor");
|
||||||
var last_key_time = 0;
|
var last_key_time = 0;
|
||||||
is_file_transfer = handler.xcall("is_file_transfer");
|
|
||||||
export var is_port_forward = handler.xcall("is_port_forward");
|
|
||||||
var display_width = 0;
|
var display_width = 0;
|
||||||
var display_height = 0;
|
var display_height = 0;
|
||||||
var display_origin_x = 0;
|
var display_origin_x = 0;
|
||||||
var display_origin_y = 0;
|
var display_origin_y = 0;
|
||||||
var display_scale = 1;
|
var display_scale = 1;
|
||||||
var keyboard_enabled = true; // server side
|
export var keyboard_enabled = true; // server side
|
||||||
var clipboard_enabled = true; // server side
|
export var clipboard_enabled = true; // server side
|
||||||
var audio_enabled = true; // server side
|
export var audio_enabled = true; // server side
|
||||||
var scroll_body = $(body);
|
|
||||||
|
handler.is_port_forward = handler.xcall("is_port_forward");
|
||||||
|
handler.is_file_transfer = handler.xcall("is_file_transfer");
|
||||||
|
|
||||||
handler.setDisplay = function(x, y, w, h) {
|
handler.setDisplay = function(x, y, w, h) {
|
||||||
display_width = w;
|
display_width = w;
|
||||||
@ -41,9 +42,8 @@ export function adaptDisplay() {
|
|||||||
el = $("li#adjust-window");
|
el = $("li#adjust-window");
|
||||||
el.style.setProperty("display","block");
|
el.style.setProperty("display","block");
|
||||||
el.on("click",function() {
|
el.on("click",function() {
|
||||||
// TODO old:view.state == Window.WINDOW_SHOWN;
|
|
||||||
view.state = Window.WINDOW_SHOWN;
|
view.state = Window.WINDOW_SHOWN;
|
||||||
let [x, y] = view.state.box("position", "border", "screen");
|
let [x, y] = body.state.box("position", "border", "screen"); // TEST
|
||||||
// extra for border
|
// extra for border
|
||||||
let extra = 2;
|
let extra = 2;
|
||||||
view.move(x, y, w + extra, h + hh + extra);
|
view.move(x, y, w + extra, h + hh + extra);
|
||||||
@ -51,8 +51,8 @@ export function adaptDisplay() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (style != "original") {
|
if (style != "original") {
|
||||||
let bw = $("body").state.box("width", "border");
|
let bw = body.state.box("width", "border");
|
||||||
let bh = $("body").state.box("height", "border");
|
let bh = body.state.box("height", "border");
|
||||||
if (view.state == Window.WINDOW_FULL_SCREEN) {
|
if (view.state == Window.WINDOW_FULL_SCREEN) {
|
||||||
bw = sw;
|
bw = sw;
|
||||||
bh = sh;
|
bh = sh;
|
||||||
@ -401,7 +401,7 @@ handler.setCursorPosition = function(x, y) {
|
|||||||
document.on("ready",()=> {
|
document.on("ready",()=> {
|
||||||
let w = 960;
|
let w = 960;
|
||||||
let h = 640;
|
let h = 640;
|
||||||
if (is_file_transfer || is_port_forward) {
|
if (handler.is_file_transfer || handler.is_port_forward) {
|
||||||
let r = handler.xcall("get_size");
|
let r = handler.xcall("get_size");
|
||||||
if (isReasonableSize(r) && r[2] > 0) {
|
if (isReasonableSize(r) && r[2] > 0) {
|
||||||
view.move(r[0], r[1], r[2], r[3]);
|
view.move(r[0], r[1], r[2], r[3]);
|
||||||
@ -411,9 +411,9 @@ document.on("ready",()=> {
|
|||||||
} else {
|
} else {
|
||||||
centerize(w, h);
|
centerize(w, h);
|
||||||
}
|
}
|
||||||
if (!is_port_forward) connecting();
|
if (!handler.is_port_forward) connecting();
|
||||||
if (is_file_transfer) initializeFileTransfer();
|
if (handler.is_file_transfer) initializeFileTransfer();
|
||||||
if (is_port_forward) initializePortForward();
|
if (handler.is_port_forward) initializePortForward();
|
||||||
})
|
})
|
||||||
|
|
||||||
var workarea_offset = 0;
|
var workarea_offset = 0;
|
||||||
@ -449,9 +449,10 @@ handler.adaptSize = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
document.on("unloadequest",()=> {
|
document.on("unloadequest",()=> {
|
||||||
let [x, y, w, h] = view.state.box("rectw", "border", "screen");
|
let [x, y, w, h] = body.state.box("rectw", "border", "screen");
|
||||||
if (is_file_transfer) save_file_transfer_close_state();
|
console.log("remote.js unloadequest",x, y, w, h)
|
||||||
if (is_file_transfer || is_port_forward || size_adapted) handler.xcall("save_size",x, y, w, h);
|
if (handler.is_file_transfer) save_file_transfer_close_state();
|
||||||
|
if (handler.is_file_transfer || handler.is_port_forward || size_adapted) handler.xcall("save_size",x, y, w, h);
|
||||||
})
|
})
|
||||||
|
|
||||||
handler.setPermission = function(name, enabled) {
|
handler.setPermission = function(name, enabled) {
|
||||||
@ -464,5 +465,6 @@ handler.setPermission = function(name, enabled) {
|
|||||||
// TODO
|
// TODO
|
||||||
handler.closeSuccess = function() {
|
handler.closeSuccess = function() {
|
||||||
// handler.msgbox("success", "Successful", "Ready to go.");
|
// handler.msgbox("success", "Successful", "Ready to go.");
|
||||||
|
console.log("remote.js handler.closeSuccess");
|
||||||
handler.msgbox("", "", "");
|
handler.msgbox("", "", "");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user