  public:
    explicit KeyboardLayout(QWidget *parent, std::vector<QVector<QString>> layout);
  };
  
  class Keyboard : public QWidget {
    Q_OBJECT
  
  public:
    explicit Keyboard(QWidget *parent = 0);
  
 
</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 class InputField : public QWidget {
 </s> add class InputDialog : public QDialog { </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 </s> remove #include <QGridLayout>
 </s> add #include <QVBoxLayout>
class Keyboard : public QFrame {
  public:
    explicit KeyboardLayout(QWidget *parent, std::vector<QVector<QString>> layout);
  };
  
class Keyboard : public QFrame {
    Q_OBJECT
  
  public:
    explicit Keyboard(QWidget *parent = 0);
  
keep keep keep keep replace keep keep keep keep keep
 Qt UI refactoring + improvements (#20033) 
selfdrive/ui/qt/widgets/keyboard.hpp