AppleScript列表对话框中的键盘快捷键

时间:2015-02-03 18:07:48

标签: dialog applescript keyboard-shortcuts

我正在寻找一种方法来为AppleScript中的列表对话框中的项目指定键盘快捷键。

我使用以下内容显示一长串文件夹名称,并且正在寻找一种从列表中选择项目的简便方法。

set selectedFolderName to {choose from list folderList}

目前列表显示如下:

Office
Personal
Projects
... 
Vendors

我必须使用光标键或鼠标在列表中向下导航以选择项目。我希望能够展示:

a) Office
b) Personal
c) Projects
... 
m) Vendors

或:

Office
Personal
pRojects
... 
Vendors

然后我可以按 C 键(第一个例子)或 R 键(第二个例子)来选择' Projects'。

我研究了AppleScript文档,例如它,并且进行了广泛的搜索,但是还没有找到实现这一目标的方法。

2 个答案:

答案 0 :(得分:0)

我不完全确定这是否是你想要的,但我使用下面的结构,这样我可以按“a”,选择第一项,“b”选择第二项,依此类推

set litems to {"apples", "pears", "banana", "oranges", "plums", "grapes"}

set deli to "." & space & space
repeat with i from 1 to (count litems)
    set item i of litems to character id (i + 96) & deli & item i of litems
end repeat
log litems
set theRes to choose from list litems
(*a.  apples, b.  pears, c.  banana, d.  oranges, e.  plums, f.  grapes*)
set origItem to text 5 thru -1 of item 1 of theRes
log origItem
—> plums    

答案 1 :(得分:0)

你问的第二个版本是不可能的。但是,首先是。这种功能没有内置任何东西,但您可以为它构建自己的子程序。您可以在列表项目前加上字母或数字(我会使用数字,因为它更简单)。

on choose_from_list_with_shortcut(ls)
    -- prepend the choices with "1) "
    repeat with i from 1 to (count ls)
        set item i of ls to (i as string) & ") " & item i of ls
    end repeat

    set chosenItems to choose from list ls

    -- strip the prefixes from the chosen items
    repeat with i from 1 to (count chosenItems)
        set item i of chosenItems to text 4 thru -1 of item i of chosenItems
    end repeat

    return chosenItems
end choose_from_list_with_shortcut

另一种选择是开始输入。就像在Finder中一样,如果您输入字母“pro”,列表将突出显示“Projects”。