* nicer popup

* cleanup
pull/21633/head
Adeeb Shihadeh 4 years ago committed by GitHub
parent 62e63f0573
commit c5bd6735d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      selfdrive/ui/qt/offroad/networking.cc
  2. 51
      selfdrive/ui/qt/widgets/input.cc
  3. 4
      selfdrive/ui/qt/widgets/input.h

@ -247,7 +247,7 @@ void WifiUI::refresh() {
QPushButton *forgetBtn = new QPushButton("FORGET"); QPushButton *forgetBtn = new QPushButton("FORGET");
forgetBtn->setObjectName("forgetBtn"); forgetBtn->setObjectName("forgetBtn");
QObject::connect(forgetBtn, &QPushButton::released, [=]() { QObject::connect(forgetBtn, &QPushButton::released, [=]() {
if (ConfirmationDialog::confirm("Are you sure you want to forget " + QString::fromUtf8(network.ssid) + "?", this)) { if (ConfirmationDialog::confirm("Forget WiFi Network \"" + QString::fromUtf8(network.ssid) + "\"?", this)) {
wifi->forgetConnection(network.ssid); wifi->forgetConnection(network.ssid);
} }
}); });

@ -2,6 +2,7 @@
#include <QPushButton> #include <QPushButton>
#include "selfdrive/ui/qt/util.h"
#include "selfdrive/ui/qt/qt_window.h" #include "selfdrive/ui/qt/qt_window.h"
#include "selfdrive/hardware/hw.h" #include "selfdrive/hardware/hw.h"
@ -164,47 +165,56 @@ void InputDialog::setMinLength(int length) {
ConfirmationDialog::ConfirmationDialog(const QString &prompt_text, const QString &confirm_text, const QString &cancel_text, ConfirmationDialog::ConfirmationDialog(const QString &prompt_text, const QString &confirm_text, const QString &cancel_text,
QWidget *parent) : QDialogBase(parent) { QWidget *parent) : QDialogBase(parent) {
setWindowFlags(Qt::Popup); QFrame *container = new QFrame(this);
main_layout = new QVBoxLayout(this); QVBoxLayout *main_layout = new QVBoxLayout(container);
main_layout->setMargin(25); main_layout->setContentsMargins(32, 120, 32, 32);
prompt = new QLabel(prompt_text, this); QLabel *prompt = new QLabel(prompt_text, this);
prompt->setWordWrap(true); prompt->setWordWrap(true);
prompt->setAlignment(Qt::AlignHCenter); prompt->setAlignment(Qt::AlignHCenter);
prompt->setStyleSheet("font-size: 55px; font-weight: 400;"); prompt->setStyleSheet("font-size: 70px; font-weight: bold; color: black;");
main_layout->addWidget(prompt, 1, Qt::AlignTop | Qt::AlignHCenter); main_layout->addWidget(prompt, 1, Qt::AlignTop | Qt::AlignHCenter);
// cancel + confirm buttons // cancel + confirm buttons
QHBoxLayout *btn_layout = new QHBoxLayout(); QHBoxLayout *btn_layout = new QHBoxLayout();
btn_layout->setSpacing(20); btn_layout->setSpacing(30);
btn_layout->addStretch(1);
main_layout->addLayout(btn_layout); main_layout->addLayout(btn_layout);
if (cancel_text.length()) { if (cancel_text.length()) {
QPushButton* cancel_btn = new QPushButton(cancel_text); QPushButton* cancel_btn = new QPushButton(cancel_text);
btn_layout->addWidget(cancel_btn, 0, Qt::AlignRight); btn_layout->addWidget(cancel_btn);
QObject::connect(cancel_btn, &QPushButton::released, this, &ConfirmationDialog::reject); QObject::connect(cancel_btn, &QPushButton::released, this, &ConfirmationDialog::reject);
} }
if (confirm_text.length()) { if (confirm_text.length()) {
QPushButton* confirm_btn = new QPushButton(confirm_text); QPushButton* confirm_btn = new QPushButton(confirm_text);
btn_layout->addWidget(confirm_btn, 0, Qt::AlignRight); btn_layout->addWidget(confirm_btn);
QObject::connect(confirm_btn, &QPushButton::released, this, &ConfirmationDialog::accept); QObject::connect(confirm_btn, &QPushButton::released, this, &ConfirmationDialog::accept);
} }
setFixedSize(900, 350); QVBoxLayout *outer_layout = new QVBoxLayout(this);
outer_layout->setContentsMargins(210, 170, 210, 170);
outer_layout->addWidget(container);
setWindowFlags(Qt::Popup);
setStyleSheet(R"( setStyleSheet(R"(
* { ConfirmationDialog {
color: black; background-color: black;
background-color: white; }
QFrame {
border-radius: 0;
background-color: #ECECEC;
} }
QPushButton { QPushButton {
font-size: 40px; height: 160;
padding: 30px; font-size: 55px;
padding-right: 45px; font-weight: 400;
padding-left: 45px; border-radius: 10px;
border-radius: 7px; color: white;
background-color: #44444400; background-color: #333333;
}
QPushButton:pressed {
background-color: #444444;
} }
)"); )");
} }
@ -220,9 +230,6 @@ bool ConfirmationDialog::confirm(const QString &prompt_text, QWidget *parent) {
} }
int ConfirmationDialog::exec() { int ConfirmationDialog::exec() {
// TODO: make this work without fullscreen
if (Hardware::TICI()) {
setMainWindow(this); setMainWindow(this);
}
return QDialog::exec(); return QDialog::exec();
} }

@ -59,10 +59,6 @@ public:
static bool alert(const QString &prompt_text, QWidget *parent); static bool alert(const QString &prompt_text, QWidget *parent);
static bool confirm(const QString &prompt_text, QWidget *parent); static bool confirm(const QString &prompt_text, QWidget *parent);
private:
QLabel *prompt;
QVBoxLayout *main_layout;
public slots: public slots:
int exec() override; int exec() override;
}; };

Loading…
Cancel
Save