openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.

57 lines
1.2 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(const QString &prompt_text, QWidget* parent = 0);
static QString getText(const QString &prompt, int minLength = -1);
QString text();
void setMessage(const 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(const QString &s);
signals:
void cancel();
void emitText(const QString &text);
};
class ConfirmationDialog : public QDialog {
Q_OBJECT
public:
explicit ConfirmationDialog(const QString &prompt_text, const QString &confirm_text = "Ok",
const QString &cancel_text = "Cancel", QWidget* parent = 0);
static bool alert(const QString &prompt_text, QWidget *parent = 0);
static bool confirm(const QString &prompt_text, QWidget *parent = 0);
private:
QLabel *prompt;
QVBoxLayout *layout;
public slots:
int exec() override;
};