aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/pages
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/ui/pages')
-rw-r--r--launcher/ui/pages/BasePage.h58
-rw-r--r--launcher/ui/pages/BasePageContainer.h10
-rw-r--r--launcher/ui/pages/BasePageProvider.h68
-rw-r--r--launcher/ui/pages/global/AccountListPage.cpp260
-rw-r--r--launcher/ui/pages/global/AccountListPage.h85
-rw-r--r--launcher/ui/pages/global/AccountListPage.ui129
-rw-r--r--launcher/ui/pages/global/CustomCommandsPage.cpp51
-rw-r--r--launcher/ui/pages/global/CustomCommandsPage.h55
-rw-r--r--launcher/ui/pages/global/ExternalToolsPage.cpp233
-rw-r--r--launcher/ui/pages/global/ExternalToolsPage.h74
-rw-r--r--launcher/ui/pages/global/ExternalToolsPage.ui194
-rw-r--r--launcher/ui/pages/global/JavaPage.cpp153
-rw-r--r--launcher/ui/pages/global/JavaPage.h72
-rw-r--r--launcher/ui/pages/global/JavaPage.ui260
-rw-r--r--launcher/ui/pages/global/LanguagePage.cpp51
-rw-r--r--launcher/ui/pages/global/LanguagePage.h60
-rw-r--r--launcher/ui/pages/global/LauncherPage.cpp466
-rw-r--r--launcher/ui/pages/global/LauncherPage.h103
-rw-r--r--launcher/ui/pages/global/LauncherPage.ui584
-rw-r--r--launcher/ui/pages/global/MinecraftPage.cpp91
-rw-r--r--launcher/ui/pages/global/MinecraftPage.h70
-rw-r--r--launcher/ui/pages/global/MinecraftPage.ui196
-rw-r--r--launcher/ui/pages/global/PasteEEPage.cpp81
-rw-r--r--launcher/ui/pages/global/PasteEEPage.h62
-rw-r--r--launcher/ui/pages/global/PasteEEPage.ui128
-rw-r--r--launcher/ui/pages/global/ProxyPage.cpp106
-rw-r--r--launcher/ui/pages/global/ProxyPage.h66
-rw-r--r--launcher/ui/pages/global/ProxyPage.ui203
-rw-r--r--launcher/ui/pages/instance/GameOptionsPage.cpp37
-rw-r--r--launcher/ui/pages/instance/GameOptionsPage.h63
-rw-r--r--launcher/ui/pages/instance/GameOptionsPage.ui88
-rw-r--r--launcher/ui/pages/instance/InstanceSettingsPage.cpp341
-rw-r--r--launcher/ui/pages/instance/InstanceSettingsPage.h76
-rw-r--r--launcher/ui/pages/instance/InstanceSettingsPage.ui548
-rw-r--r--launcher/ui/pages/instance/LegacyUpgradePage.cpp51
-rw-r--r--launcher/ui/pages/instance/LegacyUpgradePage.h64
-rw-r--r--launcher/ui/pages/instance/LegacyUpgradePage.ui47
-rw-r--r--launcher/ui/pages/instance/LogPage.cpp330
-rw-r--r--launcher/ui/pages/instance/LogPage.h86
-rw-r--r--launcher/ui/pages/instance/LogPage.ui182
-rw-r--r--launcher/ui/pages/instance/ModFolderPage.cpp366
-rw-r--r--launcher/ui/pages/instance/ModFolderPage.h120
-rw-r--r--launcher/ui/pages/instance/ModFolderPage.ui164
-rw-r--r--launcher/ui/pages/instance/NotesPage.cpp21
-rw-r--r--launcher/ui/pages/instance/NotesPage.h60
-rw-r--r--launcher/ui/pages/instance/NotesPage.ui49
-rw-r--r--launcher/ui/pages/instance/OtherLogsPage.cpp314
-rw-r--r--launcher/ui/pages/instance/OtherLogsPage.h81
-rw-r--r--launcher/ui/pages/instance/OtherLogsPage.ui150
-rw-r--r--launcher/ui/pages/instance/ResourcePackPage.h23
-rw-r--r--launcher/ui/pages/instance/ScreenshotsPage.cpp423
-rw-r--r--launcher/ui/pages/instance/ScreenshotsPage.h89
-rw-r--r--launcher/ui/pages/instance/ScreenshotsPage.ui87
-rw-r--r--launcher/ui/pages/instance/ServersPage.cpp768
-rw-r--r--launcher/ui/pages/instance/ServersPage.h94
-rw-r--r--launcher/ui/pages/instance/ServersPage.ui194
-rw-r--r--launcher/ui/pages/instance/ShaderPackPage.h22
-rw-r--r--launcher/ui/pages/instance/TexturePackPage.h22
-rw-r--r--launcher/ui/pages/instance/VersionPage.cpp641
-rw-r--r--launcher/ui/pages/instance/VersionPage.h104
-rw-r--r--launcher/ui/pages/instance/VersionPage.ui285
-rw-r--r--launcher/ui/pages/instance/WorldListPage.cpp412
-rw-r--r--launcher/ui/pages/instance/WorldListPage.h99
-rw-r--r--launcher/ui/pages/instance/WorldListPage.ui161
-rw-r--r--launcher/ui/pages/modplatform/ImportPage.cpp132
-rw-r--r--launcher/ui/pages/modplatform/ImportPage.h70
-rw-r--r--launcher/ui/pages/modplatform/ImportPage.ui52
-rw-r--r--launcher/ui/pages/modplatform/VanillaPage.cpp103
-rw-r--r--launcher/ui/pages/modplatform/VanillaPage.h75
-rw-r--r--launcher/ui/pages/modplatform/VanillaPage.ui169
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlFilterModel.cpp81
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlFilterModel.h34
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlListModel.cpp193
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlListModel.h52
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.cpp209
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.h66
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlOptionalModDialog.ui65
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlPage.cpp171
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlPage.h86
-rw-r--r--launcher/ui/pages/modplatform/atlauncher/AtlPage.ui92
-rw-r--r--launcher/ui/pages/modplatform/flame/FlameModel.cpp258
-rw-r--r--launcher/ui/pages/modplatform/flame/FlameModel.h76
-rw-r--r--launcher/ui/pages/modplatform/flame/FlamePage.cpp186
-rw-r--r--launcher/ui/pages/modplatform/flame/FlamePage.h80
-rw-r--r--launcher/ui/pages/modplatform/flame/FlamePage.ui90
-rw-r--r--launcher/ui/pages/modplatform/ftb/FtbFilterModel.cpp76
-rw-r--r--launcher/ui/pages/modplatform/ftb/FtbFilterModel.h35
-rw-r--r--launcher/ui/pages/modplatform/ftb/FtbListModel.cpp278
-rw-r--r--launcher/ui/pages/modplatform/ftb/FtbListModel.h61
-rw-r--r--launcher/ui/pages/modplatform/ftb/FtbPage.cpp150
-rw-r--r--launcher/ui/pages/modplatform/ftb/FtbPage.h83
-rw-r--r--launcher/ui/pages/modplatform/ftb/FtbPage.ui79
-rw-r--r--launcher/ui/pages/modplatform/legacy_ftb/ListModel.cpp259
-rw-r--r--launcher/ui/pages/modplatform/legacy_ftb/ListModel.h78
-rw-r--r--launcher/ui/pages/modplatform/legacy_ftb/Page.cpp371
-rw-r--r--launcher/ui/pages/modplatform/legacy_ftb/Page.h119
-rw-r--r--launcher/ui/pages/modplatform/legacy_ftb/Page.ui135
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicData.h42
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicModel.cpp237
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicModel.h70
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicPage.cpp201
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicPage.h78
-rw-r--r--launcher/ui/pages/modplatform/technic/TechnicPage.ui95
103 files changed, 15418 insertions, 0 deletions
diff --git a/launcher/ui/pages/BasePage.h b/launcher/ui/pages/BasePage.h
new file mode 100644
index 00000000..408965d0
--- /dev/null
+++ b/launcher/ui/pages/BasePage.h
@@ -0,0 +1,58 @@
+/* Copyright 2013-2021 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 <QString>
+#include <QIcon>
+#include <memory>
+
+#include "BasePageContainer.h"
+
+class BasePage
+{
+public:
+ virtual ~BasePage() {}
+ virtual QString id() const = 0;
+ virtual QString displayName() const = 0;
+ virtual QIcon icon() const = 0;
+ virtual bool apply() { return true; }
+ virtual bool shouldDisplay() const { return true; }
+ virtual QString helpPage() const { return QString(); }
+ void opened()
+ {
+ isOpened = true;
+ openedImpl();
+ }
+ void closed()
+ {
+ isOpened = false;
+ closedImpl();
+ }
+ virtual void openedImpl() {}
+ virtual void closedImpl() {}
+ virtual void setParentContainer(BasePageContainer * container)
+ {
+ m_container = container;
+ };
+public:
+ int stackIndex = -1;
+ int listIndex = -1;
+protected:
+ BasePageContainer * m_container = nullptr;
+ bool isOpened = false;
+};
+
+typedef std::shared_ptr<BasePage> BasePagePtr;
diff --git a/launcher/ui/pages/BasePageContainer.h b/launcher/ui/pages/BasePageContainer.h
new file mode 100644
index 00000000..f8c7adeb
--- /dev/null
+++ b/launcher/ui/pages/BasePageContainer.h
@@ -0,0 +1,10 @@
+#pragma once
+
+class BasePageContainer
+{
+public:
+ virtual ~BasePageContainer(){};
+ virtual bool selectPage(QString pageId) = 0;
+ virtual void refreshContainer() = 0;
+ virtual bool requestClose() = 0;
+};
diff --git a/launcher/ui/pages/BasePageProvider.h b/launcher/ui/pages/BasePageProvider.h
new file mode 100644
index 00000000..873e8dce
--- /dev/null
+++ b/launcher/ui/pages/BasePageProvider.h
@@ -0,0 +1,68 @@
+/* Copyright 2013-2021 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 "ui/pages/BasePage.h"
+#include <memory>
+#include <functional>
+
+class BasePageProvider
+{
+public:
+ virtual QList<BasePage *> getPages() = 0;
+ virtual QString dialogTitle() = 0;
+};
+
+class GenericPageProvider : public BasePageProvider
+{
+ typedef std::function<BasePage *()> PageCreator;
+public:
+ explicit GenericPageProvider(const QString &dialogTitle)
+ : m_dialogTitle(dialogTitle)
+ {
+ }
+ virtual ~GenericPageProvider() {}
+
+ QList<BasePage *> getPages() override
+ {
+ QList<BasePage *> pages;
+ for (PageCreator creator : m_creators)
+ {
+ p