1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 18:47:58 +01:00

Merge branch 'master' into xulmus

This commit is contained in:
Doug Kearns
2009-03-20 02:35:21 +11:00
5 changed files with 31 additions and 6 deletions

View File

@@ -1032,6 +1032,11 @@ function Buffer() //{{{
elem.contentWindow.focus();
return;
}
else if (elemTagName == "input" && elem.getAttribute('type').toLowerCase() == "file")
{
commandline.input("Upload file: ", function (file) elem.value = file, {completer: completion.file, default: elem.value});
return;
}
elem.focus();
@@ -1137,6 +1142,11 @@ function Buffer() //{{{
offsetX = Number(coords[0]) + 1;
offsetY = Number(coords[1]) + 1;
}
else if (localName == "input" && elem.getAttribute('type').toLowerCase() == "file")
{
commandline.input("Upload file: ", function (file) elem.value = file, {completer: completion.file, default: elem.value});
return;
}
let ctrlKey = false, shiftKey = false;
switch (where)

View File

@@ -1445,15 +1445,17 @@ function Completion() //{{{
colorScheme: function colorScheme(context)
{
// TODO: use path for the description?
let colors = [];
io.getRuntimeDirectories("colors").forEach(function (dir) {
context.fork(dir.path, 0, null, function (context) {
context.filter = dir.path + io.pathSeparator + context.filter;
completion.file(context);
context.title = ["Color Scheme"];
context.quote = ["", function (text) text.replace(/\.vimp$/, ""), ""];
io.readDirectory(dir).forEach(function (file) {
if (/\.vimp$/.test(file.leafName) && !colors.some(function (c) c.leafName == file.leafName))
colors.push(file);
});
});
context.title = ["Color Scheme", "Runtime Path"];
context.completions = [[c.leafName.replace(/\.vimp$/, ""), c.parent.path] for ([,c] in Iterator(colors))]
},
command: function command(context)

View File

@@ -1201,6 +1201,8 @@ function CommandLine() //{{{
* for the user's input.
* @... {string} promptHighlight - The HighlightGroup used for the
* prompt. @default "Question"
* @... {string} default - The initial value that will be returned
* if the user presses <CR> straightaway. @default ""
*/
input: function _input(prompt, callback, extra)
{
@@ -1296,8 +1298,15 @@ function CommandLine() //{{{
// user pressed ENTER to carry out a command
// user pressing ESCAPE is handled in the global onEscape
// FIXME: <Esc> should trigger "cancel" event
// FIXME: This should not be waiting, some kind of callback mechanism on completion would be better.
if (events.isAcceptKey(key))
{
while (completions.context.incomplete)
{
liberator.threadYield(true);
command = this.command;
}
let mode = currentExtendedMode; // save it here, as modes.pop() resets it
keepCommand = true;
currentExtendedMode = null; // Don't let modes.pop trigger "cancel"