  class InputField : public QWidget {
    Q_OBJECT
  
  public:
    explicit InputField(QWidget* parent = 0, int minTextLength = 0);
    void setPromptText(QString text);
    int minTextLength;
  
  private:
    QLineEdit *line;
    Keyboard *k;
    QLabel *label;
 
</s> remove class InputField : public QWidget {
 </s> add class InputDialog : public QDialog { </s> remove   QGridLayout *layout;
 </s> add   QVBoxLayout *layout; </s> remove class Keyboard : public QWidget {
 </s> add class Keyboard : public QFrame { </s> remove   explicit Networking(QWidget* parent = 0);
 </s> add   explicit Networking(QWidget* parent = 0, bool show_advanced = true); </s> remove   QStackedLayout* s = nullptr;// keyboard, wifiScreen, advanced
 </s> add   QStackedLayout* s = nullptr; // keyboard, wifiScreen, advanced
  explicit InputDialog(QString prompt_text, QWidget* parent = 0);
  static QString getText(QString prompt);
  QString text();
  class InputField : public QWidget {
    Q_OBJECT
  
  public:
  explicit InputDialog(QString prompt_text, QWidget* parent = 0);
  static QString getText(QString prompt);
  QString text();
  explicit InputDialog(QString prompt_text, QWidget* parent = 0);
  static QString getText(QString prompt);
  QString text();
  explicit InputDialog(QString prompt_text, QWidget* parent = 0);
  static QString getText(QString prompt);
  QString text();
  
  private:
    QLineEdit *line;
    Keyboard *k;
    QLabel *label;
keep keep keep keep replace replace replace keep keep keep keep keep
 Qt UI refactoring + improvements (#20033) 
selfdrive/ui/qt/widgets/input_field.hpp