aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/pages/global
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-12-14 23:22:27 +0100
committerSefa Eyeoglu <contact@scrumplex.net>2022-12-14 23:22:27 +0100
commit849b92665e0762a38a7e17403015e2b037318aec (patch)
tree2fbeac111297727aa6613aacc08e80dcec5c3724 /launcher/ui/pages/global
parentfdbd8d9d2b2e04cd68fd800882309b40c05aba2c (diff)
parentd193ed9eebb392b259edb88a227dce4cee773df6 (diff)
downloadPrismLauncher-849b92665e0762a38a7e17403015e2b037318aec.tar.gz
PrismLauncher-849b92665e0762a38a7e17403015e2b037318aec.tar.bz2
PrismLauncher-849b92665e0762a38a7e17403015e2b037318aec.zip
Merge branch 'develop' into remove-updater
Diffstat (limited to 'launcher/ui/pages/global')
-rw-r--r--launcher/ui/pages/global/JavaPage.cpp34
-rw-r--r--launcher/ui/pages/global/JavaPage.h3
-rw-r--r--launcher/ui/pages/global/JavaPage.ui82
3 files changed, 81 insertions, 38 deletions
diff --git a/launcher/ui/pages/global/JavaPage.cpp b/launcher/ui/pages/global/JavaPage.cpp
index 2cee15bf..81dd4cc1 100644
--- a/launcher/ui/pages/global/JavaPage.cpp
+++ b/launcher/ui/pages/global/JavaPage.cpp
@@ -58,9 +58,8 @@ JavaPage::JavaPage(QWidget *parent) : QWidget(parent), ui(new Ui::JavaPage)
ui->setupUi(this);
ui->tabWidget->tabBar()->hide();
- auto sysMiB = Sys::getSystemRam() / Sys::mebibyte;
- ui->maxMemSpinBox->setMaximum(sysMiB);
loadSettings();
+ updateThresholds();
}
JavaPage::~JavaPage()
@@ -177,6 +176,11 @@ void JavaPage::on_javaTestBtn_clicked()
checker->run();
}
+void JavaPage::on_maxMemSpinBox_valueChanged(int i)
+{
+ updateThresholds();
+}
+
void JavaPage::checkerFinished()
{
checker.reset();
@@ -186,3 +190,29 @@ void JavaPage::retranslate()
{
ui->retranslateUi(this);
}
+
+void JavaPage::updateThresholds()
+{
+ auto sysMiB = Sys::getSystemRam() / Sys::mebibyte;
+ unsigned int maxMem = ui->maxMemSpinBox->value();
+
+ QString iconName;
+
+ if (maxMem >= sysMiB) {
+ iconName = "status-bad";
+ ui->labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation exceeds your system memory capacity."));
+ } else if (maxMem > (sysMiB * 0.9)) {
+ iconName = "status-yellow";
+ ui->labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation approaches your system memory capacity."));
+ } else {
+ iconName = "status-good";
+ ui->labelMaxMemIcon->setToolTip("");
+ }
+
+ {
+ auto height = ui->labelMaxMemIcon->fontInfo().pixelSize();
+ QIcon icon = APPLICATION->getThemedIcon(iconName);
+ QPixmap pix = icon.pixmap(height, height);
+ ui->labelMaxMemIcon->setPixmap(pix);
+ }
+}
diff --git a/launcher/ui/pages/global/JavaPage.h b/launcher/ui/pages/global/JavaPage.h
index 64d4098e..2ef6d749 100644
--- a/launcher/ui/pages/global/JavaPage.h
+++ b/launcher/ui/pages/global/JavaPage.h
@@ -76,6 +76,8 @@ public:
bool apply() override;
void retranslate() override;
+ void updateThresholds();
+
private:
void applySettings();
void loadSettings();
@@ -85,6 +87,7 @@ slots:
void on_javaDetectBtn_clicked();
void on_javaTestBtn_clicked();
void on_javaBrowseBtn_clicked();
+ void on_maxMemSpinBox_valueChanged(int i);
void checkerFinished();
private:
diff --git a/launcher/ui/pages/global/JavaPage.ui b/launcher/ui/pages/global/JavaPage.ui
index 6ccffed4..6749cbe4 100644
--- a/launcher/ui/pages/global/JavaPage.ui
+++ b/launcher/ui/pages/global/JavaPage.ui
@@ -44,50 +44,38 @@
<property name="title">
<string>Memory</string>
</property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="1" column="1">
- <widget class="QSpinBox" name="maxMemSpinBox">
- <property name="toolTip">
- <string>The maximum amount of memory Minecraft is allowed to use.</string>
- </property>
- <property name="suffix">
- <string notr="true"> MiB</string>
- </property>
- <property name="minimum">
- <number>128</number>
- </property>
- <property name="maximum">
- <number>65536</number>
- </property>
- <property name="singleStep">
- <number>128</number>
+ <layout class="QGridLayout" name="gridLayout_2" columnstretch="1,0,0,0">
+ <item row="1" column="0">
+ <widget class="QLabel" name="labelMaxMem">
+ <property name="text">
+ <string>Ma&amp;ximum memory allocation:</string>
</property>
- <property name="value">
- <number>1024</number>
+ <property name="buddy">
+ <cstring>maxMemSpinBox</cstring>
</property>
</widget>
</item>
- <item row="0" column="0">
- <widget class="QLabel" name="labelMinMem">
+ <item row="2" column="0">
+ <widget class="QLabel" name="labelPermGen">
<property name="text">
- <string>&amp;Minimum memory allocation:</string>
+ <string notr="true">&amp;PermGen:</string>
</property>
<property name="buddy">
- <cstring>minMemSpinBox</cstring>
+ <cstring>permGenSpinBox</cstring>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="labelMaxMem">
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelMinMem">
<property name="text">
- <string>Ma&amp;ximum memory allocation:</string>
+ <string>&amp;Minimum memory allocation:</string>
</property>
<property name="buddy">
- <cstring>maxMemSpinBox</cstring>
+ <cstring>minMemSpinBox</cstring>
</property>
</widget>
</item>
- <item row="0" column="1">
+ <item row="0" column="2">
<widget class="QSpinBox" name="minMemSpinBox">
<property name="toolTip">
<string>The amount of memory Minecraft is started with.</string>
@@ -99,7 +87,7 @@
<number>128</number>
</property>
<property name="maximum">
- <number>65536</number>
+ <number>1048576</number>
</property>
<property name="singleStep">
<number>128</number>
@@ -109,17 +97,29 @@
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="labelPermGen">
- <property name="text">
- <string notr="true">&amp;PermGen:</string>
+ <item row="1" column="2">
+ <widget class="QSpinBox" name="maxMemSpinBox">
+ <property name="toolTip">
+ <string>The maximum amount of memory Minecraft is allowed to use.</string>
</property>
- <property name="buddy">
- <cstring>permGenSpinBox</cstring>
+ <property name="suffix">
+ <string notr="true"> MiB</string>
+ </property>
+ <property name="minimum">
+ <number>128</number>
+ </property>
+ <property name="maximum">
+ <number>1048576</number>
+ </property>
+ <property name="singleStep">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>1024</number>
</property>
</widget>
</item>
- <item row="2" column="1">
+ <item row="2" column="2">
<widget class="QSpinBox" name="permGenSpinBox">
<property name="toolTip">
<string>The amount of memory available to store loaded Java classes.</string>
@@ -141,6 +141,16 @@
</property>
</widget>
</item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="labelMaxMemIcon">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="buddy">
+ <cstring>maxMemSpinBox</cstring>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>