summaryrefslogtreecommitdiffstats
path: root/application/setupwizard/JavaWizardPage.h
diff options
context:
space:
mode:
Diffstat (limited to 'application/setupwizard/JavaWizardPage.h')
-rw-r--r--application/setupwizard/JavaWizardPage.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/application/setupwizard/JavaWizardPage.h b/application/setupwizard/JavaWizardPage.h
new file mode 100644
index 00000000..5a61ff02
--- /dev/null
+++ b/application/setupwizard/JavaWizardPage.h
@@ -0,0 +1,79 @@
+#pragma once
+
+#include "BaseWizardPage.h"
+#include <BaseVersion.h>
+#include <QObjectPtr.h>
+#include <java/JavaChecker.h>
+#include <QIcon>
+
+class QLineEdit;
+class VersionSelectWidget;
+class QSpinBox;
+class QPushButton;
+class QVBoxLayout;
+class QHBoxLayout;
+class QGroupBox;
+class QGridLayout;
+class QLabel;
+class IconLabel;
+
+class JavaWizardPage : public BaseWizardPage
+{
+ Q_OBJECT;
+public:
+ explicit JavaWizardPage(QWidget *parent = Q_NULLPTR);
+
+ virtual ~JavaWizardPage()
+ {
+ };
+
+ bool wantsRefreshButton() override;
+ void refresh() override;
+ void initializePage() override;
+ bool validatePage() override;
+ static bool isRequired();
+
+ enum class JavaStatus
+ {
+ Pending,
+ Good,
+ Bad
+ } javaStatus;
+
+protected slots:
+ void memoryValueChanged(int);
+ void javaVersionSelected(BaseVersionPtr version);
+ void on_javaBrowseBtn_clicked();
+ void checkFinished(JavaCheckResult result);
+
+protected: /* methods */
+ void checkJavaPath(const QString &path);
+ void setJavaStatus(JavaStatus status);
+ void setupUi();
+ void retranslate() override;
+
+private: /* data */
+ VersionSelectWidget *m_versionWidget = nullptr;
+ QVBoxLayout *m_verticalLayout = nullptr;
+
+ QLineEdit * m_javaPathTextBox = nullptr;
+ QPushButton * m_javaBrowseBtn = nullptr;
+ IconLabel * m_javaStatusLabel = nullptr;
+ QHBoxLayout *m_horizontalLayout = nullptr;
+
+ QGroupBox *m_memoryGroupBox = nullptr;
+ QGridLayout *m_gridLayout_2 = nullptr;
+ QSpinBox *m_maxMemSpinBox = nullptr;
+ QLabel *m_labelMinMem = nullptr;
+ QLabel *m_labelMaxMem = nullptr;
+ QSpinBox *m_minMemSpinBox = nullptr;
+ QLabel *m_labelPermGen = nullptr;
+ QSpinBox *m_permGenSpinBox = nullptr;
+ QIcon goodIcon;
+ QIcon yellowIcon;
+ QIcon badIcon;
+
+ uint64_t m_availableMemory = 0ull;
+ shared_qobject_ptr<JavaChecker> m_checker;
+};
+