From 382ae78a0bf75892827321b052c6afbd195476bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 1 Feb 2015 18:54:58 +0100 Subject: Fix NagUtils and hack GroupView to work --- gui/MainWindow.cpp | 2 +- gui/NagUtils.cpp | 38 ++++++++++++++++++++++++++++++++++++++ gui/NagUtils.h | 23 +++++++++++++++++++++++ gui/pages/InstanceSettingsPage.cpp | 4 ++-- gui/pages/global/JavaPage.cpp | 6 +++--- gui/pages/global/MinecraftPage.cpp | 2 +- gui/pages/global/MultiMCPage.cpp | 2 +- 7 files changed, 69 insertions(+), 8 deletions(-) create mode 100644 gui/NagUtils.cpp create mode 100644 gui/NagUtils.h (limited to 'gui') diff --git a/gui/MainWindow.cpp b/gui/MainWindow.cpp index fb3bfd6f..f0d882ba 100644 --- a/gui/MainWindow.cpp +++ b/gui/MainWindow.cpp @@ -382,7 +382,7 @@ namespace Ui { #include "logic/BaseProcess.h" #include "logic/OneSixUpdate.h" #include "logic/java/JavaUtils.h" -#include "logic/NagUtils.h" +#include "gui/NagUtils.h" #include "logic/SkinUtils.h" #include "logic/LegacyInstance.h" diff --git a/gui/NagUtils.cpp b/gui/NagUtils.cpp new file mode 100644 index 00000000..429bdfcf --- /dev/null +++ b/gui/NagUtils.cpp @@ -0,0 +1,38 @@ +/* Copyright 2013-2015 MultiMC Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gui/NagUtils.h" +#include "gui/dialogs/CustomMessageBox.h" + +namespace NagUtils +{ +void checkJVMArgs(QString jvmargs, QWidget *parent) +{ + if (jvmargs.contains("-XX:PermSize=") || jvmargs.contains(QRegExp("-Xm[sx]"))) + { + CustomMessageBox::selectable( + parent, QObject::tr("JVM arguments warning"), + QObject::tr("You tried to manually set a JVM memory option (using " + " \"-XX:PermSize\", \"-Xmx\" or \"-Xms\") - there" + " are dedicated boxes for these in the settings (Java" + " tab, in the Memory group at the top).\n" + "Your manual settings will be overridden by the" + " dedicated options.\n" + "This message will be displayed until you remove them" + " from the JVM arguments."), + QMessageBox::Warning)->exec(); + } +} +} diff --git a/gui/NagUtils.h b/gui/NagUtils.h new file mode 100644 index 00000000..d757703a --- /dev/null +++ b/gui/NagUtils.h @@ -0,0 +1,23 @@ +/* Copyright 2013-2015 MultiMC Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +namespace NagUtils +{ +void checkJVMArgs(QString args, QWidget *parent); +} diff --git a/gui/pages/InstanceSettingsPage.cpp b/gui/pages/InstanceSettingsPage.cpp index 34b1b401..e1a9c666 100644 --- a/gui/pages/InstanceSettingsPage.cpp +++ b/gui/pages/InstanceSettingsPage.cpp @@ -6,7 +6,7 @@ #include #include "gui/dialogs/VersionSelectDialog.h" -#include "logic/NagUtils.h" +#include "gui/NagUtils.h" #include "logic/java/JavaVersionList.h" #include "MultiMC.h" @@ -148,7 +148,7 @@ void InstanceSettingsPage::loadSettings() bool overrideJava = m_settings->get("OverrideJava").toBool(); bool overrideLocation = m_settings->get("OverrideJavaLocation").toBool() || overrideJava; bool overrideArgs = m_settings->get("OverrideJavaArgs").toBool() || overrideJava; - + ui->javaSettingsGroupBox->setChecked(overrideLocation); ui->javaPathTextBox->setText(m_settings->get("JavaPath").toString()); diff --git a/gui/pages/global/JavaPage.cpp b/gui/pages/global/JavaPage.cpp index 31a5e1d7..b0ed23ea 100644 --- a/gui/pages/global/JavaPage.cpp +++ b/gui/pages/global/JavaPage.cpp @@ -22,7 +22,7 @@ #include -#include "logic/NagUtils.h" +#include "gui/NagUtils.h" #include "gui/Platform.h" #include "gui/dialogs/VersionSelectDialog.h" @@ -39,11 +39,11 @@ JavaPage::JavaPage(QWidget *parent) : QWidget(parent), ui(new Ui::JavaPage) { ui->setupUi(this); ui->tabWidget->tabBar()->hide(); - + auto resizer = new ColumnResizer(this); resizer->addWidgetsFromLayout(ui->javaSettingsGroupBox->layout(), 0); resizer->addWidgetsFromLayout(ui->customCommandsGroupBox->layout(), 0); - + loadSettings(); } diff --git a/gui/pages/global/MinecraftPage.cpp b/gui/pages/global/MinecraftPage.cpp index 5566542c..5f752206 100644 --- a/gui/pages/global/MinecraftPage.cpp +++ b/gui/pages/global/MinecraftPage.cpp @@ -26,7 +26,7 @@ #include "gui/dialogs/VersionSelectDialog.h" #include "gui/dialogs/CustomMessageBox.h" -#include "logic/NagUtils.h" +#include "gui/NagUtils.h" #include "logic/java/JavaUtils.h" #include "logic/java/JavaVersionList.h" diff --git a/gui/pages/global/MultiMCPage.cpp b/gui/pages/global/MultiMCPage.cpp index cc923b2f..3226de83 100644 --- a/gui/pages/global/MultiMCPage.cpp +++ b/gui/pages/global/MultiMCPage.cpp @@ -28,7 +28,7 @@ #include "gui/dialogs/CustomMessageBox.h" #include -#include "logic/NagUtils.h" +#include "gui/NagUtils.h" #include "logic/java/JavaUtils.h" #include "logic/java/JavaVersionList.h" -- cgit v1.2.3