Rilevare periodi di inattività

Introduzione

Nelle Q Application con grafica interattiva (vedere Sessione interattiva e Presentation engine) è possibile creare logiche applicative legate all’inattività dell’utente, ovvero all’assenza di movimenti del cursore, di azioni sulla tastiera o di interazioni con l’interfaccia. Tipicamente si configura un salvaschermo o una disconnessione automatica dell’utente dalla sessione. È possibile fare questo grazie a uno script predefinito di Q Studio.

NetLogic Idle Timeout

In libreria è disponibile il NetLogic (vedere NetLogic) Idle Timeout, che permette di invocare un metodo dopo un tempo di inattività impostato. Queste le sue proprietà:

Proprietà

Descrizione

Enabled

Abilita lo script.

Duration

Durata del tempo di inattività dopo il quale viene invocato il metodo.

OnTimeout

Metodo da eseguire. Una volta selezionato, è possibile configurare gli eventuali argomenti.

Usare il NetLogic Idle Timeout

  1. Fare clic su image1 per aprire la libreria dei template, poi in Scripts selezionare Idle Timeout e trascinarlo all’interno della finestra che si intende usare come finestra di avvio (ad esempio MainWindow (type)).

    Importante

    dal momento che Idle Timeout agisce sull’interfaccia utente a runtime, deve trovarsi all’interno della finestra di avvio, preferibilmente direttamente al suo interno.

  2. Per abilitare il NetLogic impostare la proprietà Enabled su Vero.

  3. In Duration impostare il tempo d’inattività desiderato.

  4. Fare clic su image2 accanto a OnTimeout per selezionare il metodo da invocare al termine del tempo di inattività.

Esempio: richiedere l’autenticazione all’utente dopo un tempo di inattività

Si può usare il NetLogic Idle Timeout per progettare la richiesta di nuovo accesso per lo stesso utente dopo un tempo di inattività.

In questo esempio, la schermata mostrata dopo il tempo di inattività è composta dai seguenti oggetti:

  • Un oggetto Rettangolo inizialmente nascosto (proprietà Visibilità = Falso, con riempimento nero, che si adatta alla dimensione della finestra principale (MainWindow (type)). Contiene a sua volta gli oggetti elencati di seguito.

  • Una casella di testo per comporre la finestra di dialogo con la richiesta di inserimento password.

  • Una casella di testo per la casella password.

  • Un pulsante per confermare la password.

  • Un pulsante per il logout.

    ../../_images/ca5b6e4ed431f024dfb3df9c5634900d92e0910f.gif

    Nota

    questo esempio si concentra sulla logica legata alla visualizzazione della schermata, mentre ignora la logica relativa al controllo della password dell’utente e alla disconnessione.

Per mostrare la schermata di accesso dopo un tempo di inattività, Idle Timeout deve mostrare il rettangolo inizialmente nascosto, insieme ai suoi contenuti, in sovrapposizione agli oggetti grafici visualizzati a runtime. Per farlo deve invocare un metodo con cui portare il valore della proprietà Visibilità dell’oggetto Rettangolo da Falso a Vero. Di seguito un esempio di configurazione:

  1. Fare clic su image3 per aprire la libreria dei template, poi in Scripts selezionare Idle Timeout e trascinarlo su MainWindow (type) in Progetto.

  2. Impostare la proprietà Enabled su Vero.

  3. In Duration impostare il tempo d’inattività.

  4. Fare clic su image4 accanto a OnTimeout per selezionare il metodo da invocare al termine del tempo di inattività, in questo caso il metodo globale Commands > Comandi per variabili > Inverti valore, che inverte il valore di una variabile booleana.

  5. Negli argomenti del metodo di OnTimeout, fare clic su image5 accanto a VariableToModify per selezionare la proprietà Visibilità dell’oggetto Rettangolo.

Vedi anche

Concetti correlati

Sessioni e localizzazione