dragonpilot - 基於 openpilot 的開源駕駛輔助系統
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

56 lines
1.1 KiB

#pragma once
#include <QLabel>
#include <QString>
#include <QWidget>
#include <QDialog>
#include <QLineEdit>
#include <QVBoxLayout>
#include "keyboard.hpp"
class InputDialog : public QDialog {
Q_OBJECT
public:
explicit InputDialog(QString prompt_text, QWidget* parent = 0);
static QString getText(QString prompt, int minLength = -1);
QString text();
void setMessage(QString message, bool clearInputField=true);
void setMinLength(int length);
void show();
private:
int minLength;
QLineEdit *line;
Keyboard *k;
QLabel *label;
QVBoxLayout *layout;
public slots:
int exec() override;
private slots:
void handleInput(QString s);
signals:
void cancel();
void emitText(QString text);
};
class ConfirmationDialog : public QDialog {
Q_OBJECT
public:
explicit ConfirmationDialog(QString prompt_text, QString confirm_text = "Ok",
QString cancel_text = "Cancel", QWidget* parent = 0);
static bool alert(QString prompt_text);
static bool confirm(QString prompt_text);
private:
QLabel *prompt;
QVBoxLayout *layout;
public slots:
int exec() override;
};