Modo quisco

pull/3/head
Vadim vtroshchinskiy 2023-11-13 12:21:31 +01:00
parent a63c04d10e
commit cad017d2da
3 changed files with 18 additions and 0 deletions

View File

@ -64,3 +64,8 @@ El administrador dispone de una consola y mas información sobre la ejecución d
Se activa estableciendo la variable de entorno `ogactiveadmin=true`
## Modo quiosco
Se puede activar el modo quiosco que impide la salida del navegador con Alt+F4.
Se activa estableciendo la variable de entorno `OGKIOSKMODE=true`

View File

@ -42,6 +42,7 @@ MainWindow::MainWindow(QWidget *parent)
readEnvironmentValues();
m_is_admin = qgetenv("ogactiveadmin") == "true";
m_kiosk_mode = qgetenv("OGKIOSKMODE") == "true";
// Open the log file for append
if(m_env.contains("OGLOGFILE") && m_env["OGLOGFILE"]!="")
@ -164,6 +165,14 @@ MainWindow::MainWindow(QWidget *parent)
showFullScreen();
}
void MainWindow::closeEvent(QCloseEvent *event) {
if (isKioskMode()) {
qInfo() << "Modo quiosco activado, ignorando intento de cerrar ventana";
event->ignore();
}
}
MainWindow::~MainWindow()
{
if(m_logfile)

View File

@ -48,6 +48,8 @@ class MainWindow : public QMainWindow
public:
MainWindow(QWidget *parent = 0);
void closeEvent(QCloseEvent *event) override;
~MainWindow();
public slots:
@ -76,10 +78,12 @@ class MainWindow : public QMainWindow
private:
bool isAdmin() const { return m_is_admin; }
bool isKioskMode() const { return m_kiosk_mode; }
void registerScheme(const QString &name);
void registerHandler(const QString &name, bool confirm, bool output);
bool m_is_admin{false};
bool m_kiosk_mode{false};
//Functions