From 382ae78a0bf75892827321b052c6afbd195476bc Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Sun, 1 Feb 2015 18:54:58 +0100 Subject: Fix NagUtils and hack GroupView to work --- CMakeLists.txt | 4 ++-- 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 +- logic/InstanceList.cpp | 5 ++--- logic/InstanceList.h | 2 +- logic/NagUtils.cpp | 38 -------------------------------------- logic/NagUtils.h | 23 ----------------------- 12 files changed, 74 insertions(+), 75 deletions(-) create mode 100644 gui/NagUtils.cpp create mode 100644 gui/NagUtils.h delete mode 100644 logic/NagUtils.cpp delete mode 100644 logic/NagUtils.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 3fc3240b..1229bcfa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -408,8 +408,8 @@ SET(MULTIMC_SOURCES logic/minecraft/VersionFilterData.cpp # Annoying nag screen logic - logic/NagUtils.h - logic/NagUtils.cpp + gui/NagUtils.h + gui/NagUtils.cpp # Player skin utilities logic/SkinUtils.h 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" diff --git a/logic/InstanceList.cpp b/logic/InstanceList.cpp index b6ac38a8..4e275254 100644 --- a/logic/InstanceList.cpp +++ b/logic/InstanceList.cpp @@ -36,7 +36,6 @@ #include "OneSixInstance.h" #include "LegacyInstance.h" #include "logger/QsLog.h" -#include "gui/groupview/GroupView.h" const static int GROUP_FILE_FORMAT_VERSION = 1; @@ -99,8 +98,8 @@ QVariant InstanceList::data(const QModelIndex &index, int role) const QString key = pdata->iconKey(); return ENV.icons()->getIcon(key); } - // for now. - case GroupViewRoles::GroupRole: + // HACK: see GroupView.h in gui! + case GroupRole: { return pdata->group(); } diff --git a/logic/InstanceList.h b/logic/InstanceList.h index ac3dc848..9600ffe9 100644 --- a/logic/InstanceList.h +++ b/logic/InstanceList.h @@ -18,7 +18,6 @@ #include #include #include -#include #include "logic/BaseInstance.h" @@ -47,6 +46,7 @@ public: enum AdditionalRoles { + GroupRole = Qt::UserRole, InstancePointerRole = 0x34B1CB48, ///< Return pointer to real instance InstanceIDRole = 0x34B1CB49 ///< Return id if the instance }; diff --git a/logic/NagUtils.cpp b/logic/NagUtils.cpp deleted file mode 100644 index c55e7817..00000000 --- a/logic/NagUtils.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* 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 "logic/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/logic/NagUtils.h b/logic/NagUtils.h deleted file mode 100644 index d757703a..00000000 --- a/logic/NagUtils.h +++ /dev/null @@ -1,23 +0,0 @@ -/* 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); -} -- cgit