  private:
    QLineEdit *line;
    Keyboard *k;
    QLabel *label;
    QGridLayout *layout;
  
  public slots:
    void getText(QString s);
    void emitEmpty();
  
 
</s> remove   void getText(QString s);
  void emitEmpty();
 </s> add   int exec() override; </s> remove   explicit InputField(QWidget* parent = 0, int minTextLength = 0);
  void setPromptText(QString text);
  int minTextLength;
 </s> add   explicit InputDialog(QString prompt_text, QWidget* parent = 0);
  static QString getText(QString prompt);
  QString text(); </s> remove signals:
  void cancel();
  void emitText(QString s);
 </s> add private slots:
  void handleInput(QString s); </s> remove   void closeSidebar();
  void openSidebar();
 </s> add  </s> remove class Keyboard : public QWidget {
 </s> add class Keyboard : public QFrame {
  QVBoxLayout *layout;
  private:
    QLineEdit *line;
    Keyboard *k;
    QLabel *label;
  QVBoxLayout *layout;
  
  public slots:
    void getText(QString s);
    void emitEmpty();
  
keep keep keep keep replace keep keep keep keep keep
 Qt UI refactoring + improvements (#20033) 
selfdrive/ui/qt/widgets/input_field.hpp