From 46f7fa73b09debe11ca24bd7e2e58b78131ad4d1 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Fri, 8 Apr 2022 11:43:14 -0700 Subject: [PATCH] make error message distinct --- gui/window.cpp | 63 +++++++++++++++++++++++++------------------------- gui/window.h | 2 ++ 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/gui/window.cpp b/gui/window.cpp index 1fb95b5299..a3d0a85836 100644 --- a/gui/window.cpp +++ b/gui/window.cpp @@ -79,6 +79,8 @@ #include #include #include +#include +#include #ifndef QT_NO_TERMWIDGET #include @@ -570,38 +572,20 @@ void Window::outputFailedStart(QString text) dialog.setFixedWidth(600); dialog.setModal(true); QFormLayout form(&dialog); - QLabel *errorCodeLabel = new QLabel(this); - errorCodeLabel->setWordWrap(true); - if (!name.isEmpty()) { - errorCodeLabel->setText("Error Code: " + name); - form.addRow(errorCodeLabel); - } - QLabel *adviceLabel = new QLabel(this); - adviceLabel->setWordWrap(true); - if (!advice.isEmpty()) { - adviceLabel->setText("Advice: " + advice); - form.addRow(adviceLabel); - } - QLabel *messageLabel = new QLabel(this); - messageLabel->setWordWrap(true); - if (!message.isEmpty()) { - messageLabel->setText("Error message: " + message); - form.addRow(messageLabel); - } - QLabel *urlLabel = new QLabel(this); - urlLabel->setOpenExternalLinks(true); - urlLabel->setWordWrap(true); - if (!url.isEmpty()) { - urlLabel->setText("Link to documentation: " + url + ""); - form.addRow(urlLabel); - } - QLabel *linkLabel = new QLabel(this); - linkLabel->setOpenExternalLinks(true); - urlLabel->setWordWrap(true); - if (!issues.isEmpty()) { - urlLabel->setText("Link to related issue: " + issues + ""); - form.addRow(urlLabel); - } + createLabel("Error Code", name, &form, false); + createLabel("Advice", advice, &form, false); + QLabel* errorMessage = createLabel("Error Message", message, &form, false); + errorMessage->setFont(QFont("Courier", 10)); + errorMessage->setStyleSheet("background-color:white;"); + createLabel("Link to documentation", url, &form, true); + createLabel("Link to related issue", issues, &form, true); + // Enabling once https://github.com/kubernetes/minikube/issues/13925 is fixed + // QLabel *fileLabel = new QLabel(this); + // fileLabel->setOpenExternalLinks(true); + // fileLabel->setWordWrap(true); + // QString logFile = QDir::homePath() + "/.minikube/logs/lastStart.txt"; + // fileLabel->setText("View log file"); + // form.addRow(fileLabel); QDialogButtonBox buttonBox(Qt::Horizontal, &dialog); buttonBox.addButton(QString(tr("OK")), QDialogButtonBox::AcceptRole); connect(&buttonBox, &QDialogButtonBox::accepted, &dialog, &QDialog::accept); @@ -610,6 +594,21 @@ void Window::outputFailedStart(QString text) } } +QLabel* Window::createLabel(QString title, QString text, QFormLayout *form, bool isLink) +{ + QLabel *label = new QLabel(this); + if (!text.isEmpty()) { + form->addRow(label); + } + if (isLink) { + label->setOpenExternalLinks(true); + text = "" + text + ""; + } + label->setWordWrap(true); + label->setText(title + ": " + text); + return label; +} + void Window::initMachine() { askName(); diff --git a/gui/window.h b/gui/window.h index 99c52fbaa8..0e7bccd0c0 100644 --- a/gui/window.h +++ b/gui/window.h @@ -55,6 +55,7 @@ #define WINDOW_H #include +#include #ifndef QT_NO_SYSTEMTRAYICON @@ -124,6 +125,7 @@ private: void dashboardBrowser(); void checkForMinikube(); void outputFailedStart(QString text); + QLabel* createLabel(QString title, QString text, QFormLayout *form, bool isLink); QPushButton *sshButton; QPushButton *dashboardButton; QProcess *dashboardProcess;