add file sync mechanism between apps

This commit is contained in:
Xuan Sang LE
2018-01-30 14:47:27 +01:00
parent 1311ea2a88
commit 02422319ca
8 changed files with 161 additions and 46 deletions

View File

@ -7,6 +7,7 @@ class MarkOn extends this.OS.GUI.BaseApplication
markarea = @find "markarea"
@container = @find "mycontainer"
@previewOn = false
@currfile = if @args and @args.length > 0 then @args[0].asFileHandler() else "Untitled".asFileHandler()
@editor = new SimpleMDE
element: markarea
autofocus: true
@ -35,11 +36,13 @@ class MarkOn extends this.OS.GUI.BaseApplication
#}
}
]
@editor.codemirror.on "change", () ->
console.log "thing changed"
@on "vboxchange", (e) -> me.resizeContent()
@resizeContent()
@open @currfile
resizeContent: () ->
children = ($ @container).children()
titlebar = (($ @scheme).find ".afx-window-top")[0]
@ -47,5 +50,51 @@ class MarkOn extends this.OS.GUI.BaseApplication
statusbar = children[4]
cheight = ($ @scheme).height() - ($ titlebar).height() - ($ toolbar).height() - ($ statusbar).height() - 40
($ children[2]).css("height", cheight + "px")
#($ children[2]).css("height", )
open: (file) ->
#find table
me = @
file.read (d) ->
me.editor.value d
save: (file) ->
me = @
file.write (file.getb64 "text/plain"), (d) ->
return me.error "Error saving file #{file.basename}" if d.error
file.dirty = false
file.text = file.basename
menu: () ->
me = @
menu = [{
text: "File",
child: [
{ text: "Open", dataid: "#{@name}-Open" },
{ text: "Save", dataid: "#{@name}-Save" },
{ text: "Save as", dataid: "#{@name}-Saveas" }
],
onmenuselect: (e) -> me.actionFile e
}]
menu
actionFile: (e) ->
me = @
saveas = () ->
me.openDialog "FileDiaLog", (d, n) ->
me.currfile.setPath "#{d}/#{n}"
me.save me.currfile
, "Save as", { file: me.currfile }
switch e.item.data.dataid
when "#{@name}-Open"
@openDialog "FileDiaLog", ( d, f ) ->
me.open "#{d}/#{f}".asFileHandler()
, "Open file"
when "#{@name}-Save"
@currfile.cache = @editor.value()
return @save @currfile if @currfile.basename
saveas()
when "#{@name}-Saveas"
@currfile.cache = @editor.value()
saveas()
this.OS.register "MarkOn", MarkOn