2 votos

¿Cómo hacer una selección de la lista de diálogos AppleScript pulsando una tecla?

He creado una aplicación con AppleScript en Automator.

La aplicación, de entrada, presenta al usuario una lista de diálogos.

Por defecto, hay dos formas de seleccionar un elemento de la lista:

  1. Con el ratón.

  2. Utiliza las flechas del teclado.

Sin embargo, lo que me gustaría hacer es ofrecer al usuario una tercera opción: seleccionar el elemento en función de una pulsación o un atajo de teclado. También me gustaría que el elemento seleccionado se enviara directamente después de pulsar la tecla o el atajo de teclado.

Por ejemplo:

on run {input, parameters}

    set FruitList to {"Banana (#1)", "Kiwi (#2)", "Mango (#3)", "Coconut (#4)", "Pear (#5)"}

    set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "Banana (#1)"

    if FavoriteFruitAnswer is false then
        error number -128 (* user cancelled *)
    else
        set FavoriteFruitAnswer to FavoriteFruitAnswer's item 1 (* extract choice from list *)
    end if

    return input
end run

El código anterior produce lo siguiente:

Lo que quiero que ocurra es que si el usuario pulsa el número "2" en su teclado, se seleccione "Kiwi (#2)" y se pulse automáticamente el botón "OK". Si el usuario pulsa el número "4" en el teclado, se selecciona "Coco (nº 4)" y se pulsa automáticamente el botón "Aceptar". Y así sucesivamente.

¿Es posible?

Lo que sé que es posible es crear un cuadro de diálogo con un campo de texto donde el usuario escriba el número manualmente y luego el usuario pulsa intro manualmente y el número se asigna al tipo de fruta correspondiente.

Pero no es una solución especialmente bonita.

2voto

user3439894 Puntos 5883

AppleScript no es lo suficientemente robusto como para hacer exactamente lo que estás pidiendo, sin embargo, si quieres ser capaz de seleccionar por número a continuación, poner el número por delante del nombre de la fruta aunque enter deberá seguir pulsándose después de número se pulsa. De lo contrario, al pulsar cualquiera que sea el primer carácter del elemento de lista entrada es la seleccionará también.

Por ejemplo, cambie las dos líneas de código siguientes de:

set FruitList to {"Banana (#1)", "Kiwi (#2)", "Mango (#3)", "Coconut (#4)", "Pear (#5)"}
set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "Banana (#1)"

Para:

set FruitList to {"1. Banana", "2. Kiwi", "3. Mango", "4. Coconut", "5. Pear"}
set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "1. Banana"

Como nota al margen, hacer doble clic en una entrada de la lista para seleccionarla con el ratón también activa la función enter automáticamente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X