forked from x/volcanos
opt some
This commit is contained in:
parent
0a810ac42b
commit
a2d3977792
27
frame.js
27
frame.js
@ -868,18 +868,11 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互", _focus: [], _init: function(can,
|
||||
})
|
||||
}
|
||||
can.onkeymap._build(can), document.body.onkeydown = function(event) {
|
||||
if (event.metaKey) { if (window.webview) { switch (event.key) {
|
||||
case "q": window.terminate(); break
|
||||
case "w": can.user.close(); break
|
||||
case "r": can.user.reload(true); break
|
||||
case "f": can.onengine.signal(can, chat.ONOPENSEARCH, can.request({}, {type: mdb.FOREACH})); break
|
||||
case "[": history.back(); break
|
||||
case "]": history.forward(); break
|
||||
} } return }
|
||||
|
||||
if (can.page.tagis(event.target, html.SELECT, html.INPUT, html.TEXTAREA)) { return }
|
||||
var msg = can.request(event, {"model": "normal"}); if (msg.Option(ice.MSG_HANDLE) == ice.TRUE) { return }
|
||||
can.onengine.signal(can, chat.ONKEYDOWN, msg); if (msg.Option(ice.MSG_HANDLE) == ice.TRUE) { return }
|
||||
var msg = can.request(event, {model: "normal"}); if (event.metaKey && window.webview) {
|
||||
msg.Option("model", "webview")
|
||||
} else if (can.page.tagis(event.target, html.SELECT, html.INPUT, html.TEXTAREA)) { return } else {
|
||||
can.onengine.signal(can, chat.ONKEYDOWN, msg); if (msg.Option(ice.MSG_HANDLE) == ice.TRUE) { return }
|
||||
}
|
||||
can._keylist = can.onkeymap._parse(event, can, msg.Option("model"), can._keylist, can._output)
|
||||
}
|
||||
can.onkeymap._build(can), document.body.onkeyup = function(event) {
|
||||
@ -918,6 +911,16 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互", _focus: [], _init: function(can,
|
||||
return list
|
||||
},
|
||||
_mode: {
|
||||
webview: {
|
||||
q: function(event, can, target) { window.terminate() },
|
||||
o: function(event, can, target) { window.outopen(location.href) },
|
||||
t: function(event, can, target) { window.terminal(location.href) },
|
||||
w: function(event, can, target) { can.user.close() },
|
||||
r: function(event, can, target) { can.user.reload(true) },
|
||||
f: function(event, can, target) { can.onengine.signal(can, chat.ONOPENSEARCH, can.request({}, {type: mdb.FOREACH})) },
|
||||
"[": function(event, can, target) { history.back() },
|
||||
"]": function(event, can, target) { history.forward() },
|
||||
},
|
||||
insert: {
|
||||
jk: function(event, can, target) { target.blur(), can.onkeymap.deleteText(target, target.selectionStart-1, target.selectionStart) },
|
||||
Escape: function(event, can, target) { target.blur() },
|
||||
|
@ -85,12 +85,15 @@ Volcanos("user", {help: "用户操作", info: {}, agent: {
|
||||
"download": "下载", "toimage": "截图",
|
||||
"plugin": "插件",
|
||||
"prev": "上一页", "next": "下一页",
|
||||
|
||||
"width": "宽度",
|
||||
"height": "高度",
|
||||
"link": "链接",
|
||||
"Close": "关闭",
|
||||
"Close others": "关闭其它",
|
||||
"Close all": "关闭所有",
|
||||
"source": "源码",
|
||||
"module": "模块",
|
||||
"recent": "最近",
|
||||
|
||||
"trash": "删除",
|
||||
"open": "打开", "close": "关闭",
|
||||
|
@ -29,6 +29,22 @@ Volcanos(chat.ONFIGURE, {help: "索引导航",
|
||||
create: function(can, target, zone, path) {
|
||||
can.isCmdMode()? can.onappend._action(can, can.base.Obj(can._msg.Option(ice.MSG_ACTION)), target): can.onmotion.hidden(can, target.parentNode)
|
||||
},
|
||||
recent: function(can, target, zone, path) {
|
||||
can.runAction(can.request({}), code.FAVOR, ["_vimer"], function(msg) {
|
||||
var list = {}; msg.Table(function(item) { list[item.path+item.file] = item }), can.core.Item(list, function(path, item) {
|
||||
can.page.Append(can, target, [{text: [item.name||item.file, html.DIV, html.ITEM], onclick: function(event) {
|
||||
can.onimport.tabview(can, can.Option(nfs.PATH), item.file, ctx.INDEX)
|
||||
}}])
|
||||
})
|
||||
})
|
||||
can.runAction(can.request({}), code.FAVOR, ["_recent"], function(msg) {
|
||||
var list = {}; msg.Table(function(item) { list[item.path+item.file] = item }), can.core.Item(list, function(path, item) {
|
||||
can.page.Append(can, target, [{text: [path.split(ice.PS).slice(-2).join(ice.PS), html.DIV, html.ITEM], onclick: function(event) {
|
||||
can.onimport.tabview(can, item.path, item.file)
|
||||
}}])
|
||||
})
|
||||
})
|
||||
},
|
||||
source: function(can, target, zone, path) { var total = 0
|
||||
function show(target, path) { can.run(can.request({}, {dir_root: path, dir_deep: true}), [ice.PWD], function(msg) { var list = msg.Table()
|
||||
can.core.List(list, function(item) { item._menu = shy({trash: function(event) { can.onaction._run(event, can, nfs.TRASH, [can.base.Path(path, item.path)]) }}) })
|
||||
@ -134,8 +150,10 @@ Volcanos(chat.ONKEYMAP, {help: "键盘交互",
|
||||
can.onkeymap._insert(event, can, 0, -1)
|
||||
}),
|
||||
|
||||
yy: shy("复制当前行", function(event, can, target, count) { can._last_text = can.current.text() }),
|
||||
dd: shy("剪切当前行", function(can) {
|
||||
yy: shy("复制当前行", function(event, can, target, count) {
|
||||
can._last_text = can.current.text()
|
||||
}),
|
||||
dd: shy("剪切当前行", function(event, can, target, count) {
|
||||
var line = can.onaction.selectLine(can), text = can.current.text()
|
||||
can.onaction.selectLine(can, can.onaction.deleteLine(can, line)), can._last_text = text
|
||||
can.undo.push(function() { can.onaction.insertLine(can, text, line), can.onaction.selectLine(can, line) })
|
||||
@ -268,7 +286,12 @@ Volcanos(chat.ONACTION, {help: "控件交互",
|
||||
can.ui.xterm.refresh(), can.user.toastSuccess(can)
|
||||
})
|
||||
},
|
||||
|
||||
status: function(event, can, button) {
|
||||
can.onimport.tabview(can, can.Option(nfs.PATH), "web.code.git.status", ctx.INDEX)
|
||||
},
|
||||
favor: function(event, can, button) {
|
||||
can.onimport.tabview(can, can.Option(nfs.PATH), "web.code.favor", ctx.INDEX)
|
||||
},
|
||||
"命令": function(event, can) {
|
||||
can.user.input(event, can, [ctx.INDEX], function(list) {
|
||||
can.onimport.tabview(can, can.Option(nfs.PATH), list[0], ctx.INDEX)
|
||||
|
Loading…
x
Reference in New Issue
Block a user