mirror of
https://github.com/lxsang/antos-frontend.git
synced 2025-07-19 23:40:00 +02:00
finish CodePad
This commit is contained in:
@ -271,11 +271,13 @@ class SelectionDialog extends BasicDialog
|
||||
super.init()
|
||||
me = @
|
||||
(@find "list").set "data", @data.data if @data and @data.data
|
||||
(@find "btnOk").set "onbtclick", (e) ->
|
||||
fn = (e) ->
|
||||
data = (me.find "list").get "selectedItem"
|
||||
return me.notify __("Please select an item") unless data
|
||||
me.handle(data.get("data")) if me.handle
|
||||
me.quit()
|
||||
(@find "list").set "onlistdbclick", fn
|
||||
(@find "btnOk").set "onbtclick", fn
|
||||
|
||||
(@find "btnCancel").set "onbtclick", (e) ->
|
||||
me.quit()
|
||||
@ -384,7 +386,8 @@ class FileDialog extends BasicDialog
|
||||
(@find "bt-ok").set "onbtclick", (e) ->
|
||||
f = fileview.get "selectedFile"
|
||||
return me.notify __("Please select a file/fofler") unless f
|
||||
return me.notify __("Please select {0} only", me.data.type) if me.data and me.data.type and me.data.type isnt f.type
|
||||
if me.data and me.data.type and me.data.type isnt f.type
|
||||
return me.notify __("Please select {0} only", me.data.type)
|
||||
if me.data and me.data.mimes
|
||||
#verify the mime
|
||||
m = false
|
||||
|
@ -295,28 +295,31 @@ Ant.OS.API =
|
||||
requires: (l) ->
|
||||
new Promise (resolve, reject) ->
|
||||
if not Ant.OS.API.shared[l]
|
||||
link = l
|
||||
if not l.match /^(https?:\/\/[^\s]+)/g
|
||||
path = "os://scripts/"
|
||||
cssFile = "#{path}#{l}.css".asFileHandle()
|
||||
cssFile.onready()
|
||||
libfp = l.asFileHandle()
|
||||
switch libfp.ext
|
||||
when "css"
|
||||
libfp.onready()
|
||||
.then () ->
|
||||
$('<link>', {
|
||||
rel: 'stylesheet',
|
||||
type: 'text/css',
|
||||
'href': "#{libfp.getlink()}"
|
||||
})
|
||||
.appendTo 'head'
|
||||
Ant.OS.API.shared[l] = true
|
||||
console.log "loaded css:", l
|
||||
Ant.OS.announcer.trigger "sharedlibraryloaded", l
|
||||
.catch (e) -> reject e
|
||||
when "js"
|
||||
Ant.OS.API.script libfp.getlink()
|
||||
.then () ->
|
||||
$('<link>', {
|
||||
rel: 'stylesheet',
|
||||
type: 'text/css',
|
||||
'href': "#{cssFile.getlink()}"
|
||||
})
|
||||
.appendTo 'head'
|
||||
Ant.OS.API.shared[l] = true
|
||||
console.log "loaded javascript:", l
|
||||
Ant.OS.announcer.trigger "sharedlibraryloaded", l
|
||||
resolve(l)
|
||||
.catch (e) ->
|
||||
js = "#{path}#{l}.js"
|
||||
link = js.asFileHandle().getlink()
|
||||
Ant.OS.API.script link
|
||||
.then () ->
|
||||
Ant.OS.API.shared[l] = true
|
||||
console.log "loaded:", l
|
||||
Ant.OS.announcer.trigger "sharedlibraryloaded", l
|
||||
resolve(l)
|
||||
.catch (e) ->
|
||||
reject e
|
||||
else
|
||||
reject e
|
||||
else
|
||||
console.log l, "Library exist, no need to load"
|
||||
|
@ -119,9 +119,11 @@ Ant.OS.GUI =
|
||||
return Ant.OS.announcer.osinfo __("No application available to open {0}", it.filename) if apps.length is 0
|
||||
return Ant.OS.GUI.launch apps[0].app, [it.path] if apps.length is 1
|
||||
list = ( { text: e.app, icon: e.icon, iconclass: e.iconclass } for e in apps )
|
||||
Ant.OS.GUI.openDialog "SelectionDialog", ( d ) ->
|
||||
Ant.OS.GUI.launch d.text, [it.path]
|
||||
, __("Open with"), list
|
||||
Ant.OS.GUI.openDialog("SelectionDialog", {
|
||||
title: __("Open with"),
|
||||
data: list
|
||||
}).then ( d ) ->
|
||||
Ant.OS.GUI.launch d.text, [ { path: it.path, type: it.type }]
|
||||
|
||||
forceLaunch: (app, args) ->
|
||||
console.warn "This method is used for developing only, please use the launch method instead"
|
||||
@ -377,6 +379,7 @@ Ant.OS.GUI =
|
||||
return Ant.OS.GUI.openWith it.get("data") if it
|
||||
it = Ant.OS.setting.desktop.path.asFileHandle()
|
||||
it.mime = "dir"
|
||||
it.type = "dir"
|
||||
Ant.OS.GUI.openWith it
|
||||
when "desktop-refresh"
|
||||
desktop[0].fetch()
|
||||
|
@ -9,6 +9,7 @@ class FileViewTag extends Ant.OS.GUI.BaseTag
|
||||
@setopt "showhidden", false
|
||||
@setopt "fetch", undefined
|
||||
@setopt "path", undefined
|
||||
@setopt "chdir", true
|
||||
@setopt "view", "list"
|
||||
@preventUpdate = false
|
||||
@header = [
|
||||
@ -150,6 +151,9 @@ class FileViewTag extends Ant.OS.GUI.BaseTag
|
||||
@refs.status.set("text", " ") if @get "status"
|
||||
|
||||
fileselect: (e) ->
|
||||
if e.path is @get "path"
|
||||
e.type = "dir"
|
||||
e.mime = "dir"
|
||||
if @get "status"
|
||||
@refs.status.set "text", __(
|
||||
"Selected: {0} ({1} bytes)",
|
||||
@ -161,7 +165,10 @@ class FileViewTag extends Ant.OS.GUI.BaseTag
|
||||
@observable.trigger "fileselect", evt
|
||||
|
||||
filedbclick: (e) ->
|
||||
if e.type is "dir"
|
||||
if e.path is @get "path"
|
||||
e.type = "dir"
|
||||
e.mime = "dir"
|
||||
if e.type is "dir" and @get "chdir"
|
||||
@set "path", e.path
|
||||
else
|
||||
evt = { id: @aid(), data: e }
|
||||
|
@ -60,6 +60,9 @@ class SimpleListItemTag extends ListViewItemTag
|
||||
@set "selected", v.selected if v.selected
|
||||
@set "closable", v.closable if v.closable
|
||||
|
||||
update: () ->
|
||||
@set "data", @get("data")
|
||||
|
||||
itemlayout: () ->
|
||||
{ el: "afx-label", ref: "label" }
|
||||
|
||||
|
@ -3,9 +3,13 @@ class TabBarTag extends Ant.OS.GUI.BaseTag
|
||||
super r, o
|
||||
@setopt "closable", false
|
||||
@setopt "ontabselect", (e) ->
|
||||
@setopt "ontabclose", (e) ->
|
||||
@setopt "items", []
|
||||
@setopt "selected", -1
|
||||
me = @
|
||||
@root.push = (e) -> me.refs.list.push e
|
||||
@root.push = (e) ->
|
||||
e.closable = me.get "closable"
|
||||
me.refs.list.push e
|
||||
@root.remove = (e) -> me.refs.list.remove e
|
||||
@root.unshift = (e) -> me.refs.list.unshift e
|
||||
@refs.list.set "onlistselect", (e) ->
|
||||
@ -13,14 +17,18 @@ class TabBarTag extends Ant.OS.GUI.BaseTag
|
||||
me.observable.trigger "tabselect", e
|
||||
|
||||
__items__: (v) ->
|
||||
i.closable = @get "closable" for i in v
|
||||
@refs.list.set "data", v
|
||||
|
||||
__selected__: (v) ->
|
||||
@refs.list.set "selected", v
|
||||
|
||||
mount: () ->
|
||||
me = @
|
||||
@root.push = (e) -> me.refs.list.push e
|
||||
@root.unshift = (e) -> me.refs.list.unshift e
|
||||
@root.remove = (e) -> me.refs.list.remove e
|
||||
$(@refs.list).css "height", "100%"
|
||||
@refs.list.set "onitemclose", (e) ->
|
||||
e.id = me.aid()
|
||||
me.get("ontabclose") e
|
||||
|
||||
layout: () ->
|
||||
[{
|
||||
|
Reference in New Issue
Block a user