mirror of
https://github.com/antos-rde/antosdk-apps.git
synced 2025-08-28 06:42:35 +02:00
adding reomote desktop package
This commit is contained in:
70
RemoteDesktop/coffees/main.coffee
Normal file
70
RemoteDesktop/coffees/main.coffee
Normal file
@@ -0,0 +1,70 @@
|
||||
class ConnectionDialog extends this.OS.GUI.BasicDialog
|
||||
constructor: () ->
|
||||
super "ConnectionDialog", {
|
||||
tags: [
|
||||
{ tag: "afx-label", att: 'text="__(VNC server)" data-height="23" class="header"' },
|
||||
{ tag: "input", att: 'data-height="30"' },
|
||||
{ tag: "afx-label", att: 'text="__(Bits per pixel)" data-height="23" class="header"' },
|
||||
{ tag: "afx-list-view", att: 'dropdown="true" data-height="30"' },
|
||||
{ tag: "afx-label", att: 'text="__(Compression)" data-height="23" class="header"' },
|
||||
{ tag: "afx-list-view", att: 'dropdown="true" data-height="30"' },
|
||||
{ tag: "afx-label", att: 'text="__(JPEG quality)" data-height="23" class="header"' },
|
||||
{ tag: "afx-slider", att: 'max="100" data-height="30"' },
|
||||
{ tag: "div", att: ' data-height="5"' }
|
||||
],
|
||||
width: 350,
|
||||
height: 280,
|
||||
resizable: false,
|
||||
buttons: [
|
||||
{
|
||||
label: "__(Connect)",
|
||||
onclick: (d) ->
|
||||
return unless d.handler
|
||||
data =
|
||||
server: (d.find "content1").value
|
||||
bbp: ((d.find "content3").get "selected").value,
|
||||
flag: ((d.find "content5").get "selected").value,
|
||||
quality:((d.find "content7").get "value")
|
||||
d.handler data
|
||||
d.quit()
|
||||
},
|
||||
{ label: "__(Cancel)", onclick: (d) -> d.quit() }
|
||||
],
|
||||
filldata: (d) ->
|
||||
(d.find "content1").value = "176.180.44.70:9999"
|
||||
(d.find "content3").set "items", [
|
||||
{ text: "16 bits", value: 16 },
|
||||
{ text: "32 bits", value: 32, selected:true}]
|
||||
(d.find "content5").set "items", [
|
||||
{text: "No compression", value:0},
|
||||
{text: "JPEG", value:1},
|
||||
{text: "zLib", value:2},
|
||||
{text: "JPEG & zLib", value:3, selected:true}
|
||||
]
|
||||
(d.find "content7").set "value", 40
|
||||
}
|
||||
|
||||
class RemoteDesktop extends this.OS.GUI.BaseApplication
|
||||
constructor: ( args ) ->
|
||||
super "RemoteDesktop", args
|
||||
|
||||
main: () ->
|
||||
me = @
|
||||
@canvas = @find "screen"
|
||||
@client = new WVNC {
|
||||
element: me.canvas,
|
||||
ws: 'wss://localhost:9192/wvnc',
|
||||
worker: "#{me._api.handler.get}/#{me.meta().path}/decoder.js"
|
||||
}
|
||||
@client.onpassword = ()->
|
||||
return new Promise (r,e)->
|
||||
r("demopass")
|
||||
@client.init().then () ->
|
||||
me.showConnectionDialog()
|
||||
|
||||
showConnectionDialog: () ->
|
||||
me = @
|
||||
@openDialog new ConnectionDialog, (d) ->
|
||||
me.client.connect d.server, d
|
||||
, __("Connection")
|
||||
this.OS.register "RemoteDesktop", RemoteDesktop
|
Reference in New Issue
Block a user