Added button to add extra java path to the Java Wizzard

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2024-02-09 21:07:12 +02:00
parent 379f1a70e9
commit 0a3303bcbd
No known key found for this signature in database
GPG Key ID: 55EF5DA53DB36318
3 changed files with 29 additions and 7 deletions

View File

@ -26,10 +26,6 @@ class QDialogButtonBox;
class VersionSelectWidget;
class QPushButton;
namespace Ui {
class VersionSelectDialog;
}
class VersionProxyModel;
class VersionSelectDialog : public QDialog {

View File

@ -42,6 +42,7 @@ JavaSettingsWidget::JavaSettingsWidget(QWidget* parent) : QWidget(parent)
connect(m_javaPathTextBox, &QLineEdit::textEdited, this, &JavaSettingsWidget::javaPathEdited);
connect(m_javaStatusBtn, &QToolButton::clicked, this, &JavaSettingsWidget::on_javaStatusBtn_clicked);
connect(m_javaDownloadBtn, &QPushButton::clicked, this, &JavaSettingsWidget::on_javaDownloadBtn_clicked);
connect(m_addJavaPathBtn, &QPushButton::clicked, this, &JavaSettingsWidget::on_addJavaPathBtn_clicked);
}
void JavaSettingsWidget::setupUi()
@ -124,9 +125,16 @@ void JavaSettingsWidget::setupUi()
m_verticalLayout->addWidget(m_memoryGroupBox);
m_javaDownloadBtn = new QPushButton(tr("Download Java"), this);
m_horizontalBtnLayout = new QHBoxLayout();
m_horizontalBtnLayout->setObjectName(QStringLiteral("horizontalBtnLayout"));
m_verticalLayout->addWidget(m_javaDownloadBtn);
m_javaDownloadBtn = new QPushButton(tr("Download Java"), this);
m_horizontalBtnLayout->addWidget(m_javaDownloadBtn);
m_addJavaPathBtn = new QPushButton(tr("Add extra Java path"), this);
m_horizontalBtnLayout->addWidget(m_addJavaPathBtn);
m_verticalLayout->addLayout(m_horizontalBtnLayout);
retranslate();
}
@ -437,3 +445,18 @@ void JavaSettingsWidget::updateThresholds()
m_labelMaxMemIcon->setPixmap(pix);
}
}
void JavaSettingsWidget::on_addJavaPathBtn_clicked()
{
QString raw_dir = QFileDialog::getExistingDirectory(this, tr("Add Extra Java Folder"));
auto currentList = APPLICATION->settings()->get("JavaExtraSearchPaths").toStringList();
if (!raw_dir.isEmpty() && QDir(raw_dir).exists()) {
QString cooked_dir = FS::NormalizePath(raw_dir);
if (!currentList.contains(cooked_dir)) {
currentList << cooked_dir;
}
}
APPLICATION->settings()->set("JavaExtraSearchPaths", currentList);
refresh();
}

View File

@ -25,7 +25,7 @@ class JavaSettingsWidget : public QWidget {
public:
explicit JavaSettingsWidget(QWidget* parent);
virtual ~JavaSettingsWidget(){};
virtual ~JavaSettingsWidget() = default;
enum class JavaStatus { NotSet, Pending, Good, DoesNotExist, DoesNotStart, ReturnedInvalidData } javaStatus = JavaStatus::NotSet;
@ -51,6 +51,7 @@ class JavaSettingsWidget : public QWidget {
void on_javaBrowseBtn_clicked();
void on_javaStatusBtn_clicked();
void on_javaDownloadBtn_clicked();
void on_addJavaPathBtn_clicked();
void checkFinished(const JavaChecker::Result& result);
protected: /* methods */
@ -78,7 +79,9 @@ class JavaSettingsWidget : public QWidget {
QLabel* m_labelPermGen = nullptr;
QSpinBox* m_permGenSpinBox = nullptr;
QHBoxLayout* m_horizontalBtnLayout = nullptr;
QPushButton* m_javaDownloadBtn = nullptr;
QPushButton* m_addJavaPathBtn = nullptr;
QIcon goodIcon;
QIcon yellowIcon;
QIcon badIcon;