NOISSUE Flatten gui and logic libraries into MultiMC
This commit is contained in:
parent
dd13368085
commit
20b9f2b42a
@ -175,7 +175,7 @@ if(MultiMC_LAYOUT_REAL STREQUAL "mac-bundle")
|
|||||||
set(INSTALL_BUNDLE "full")
|
set(INSTALL_BUNDLE "full")
|
||||||
|
|
||||||
# Add the icon
|
# Add the icon
|
||||||
install(FILES application/resources/MultiMC.icns DESTINATION ${RESOURCES_DEST_DIR})
|
install(FILES launcher/resources/MultiMC.icns DESTINATION ${RESOURCES_DEST_DIR})
|
||||||
|
|
||||||
elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-bundle")
|
elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-bundle")
|
||||||
set(BINARY_DEST_DIR "bin")
|
set(BINARY_DEST_DIR "bin")
|
||||||
@ -198,7 +198,7 @@ elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-bundle")
|
|||||||
SET(MultiMC_BINARY_RPATH "$ORIGIN/")
|
SET(MultiMC_BINARY_RPATH "$ORIGIN/")
|
||||||
|
|
||||||
# Install basic runner script
|
# Install basic runner script
|
||||||
install(PROGRAMS application/package/linux/MultiMC DESTINATION ${BUNDLE_DEST_DIR})
|
install(PROGRAMS launcher/package/linux/MultiMC DESTINATION ${BUNDLE_DEST_DIR})
|
||||||
|
|
||||||
elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-nodeps")
|
elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-nodeps")
|
||||||
set(BINARY_DEST_DIR "bin")
|
set(BINARY_DEST_DIR "bin")
|
||||||
@ -215,7 +215,7 @@ elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-nodeps")
|
|||||||
SET(MultiMC_BINARY_RPATH "$ORIGIN/")
|
SET(MultiMC_BINARY_RPATH "$ORIGIN/")
|
||||||
|
|
||||||
# Install basic runner script
|
# Install basic runner script
|
||||||
install(PROGRAMS application/package/linux/MultiMC DESTINATION ${BUNDLE_DEST_DIR})
|
install(PROGRAMS launcher/package/linux/MultiMC DESTINATION ${BUNDLE_DEST_DIR})
|
||||||
|
|
||||||
elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-system")
|
elseif(MultiMC_LAYOUT_REAL STREQUAL "lin-system")
|
||||||
set(MultiMC_APP_BINARY_NAME "multimc" CACHE STRING "Name of the MultiMC binary")
|
set(MultiMC_APP_BINARY_NAME "multimc" CACHE STRING "Name of the MultiMC binary")
|
||||||
@ -283,8 +283,6 @@ add_subdirectory(libraries/katabasis) # An OAuth2 library that tried to do too m
|
|||||||
############################### Built Artifacts ###############################
|
############################### Built Artifacts ###############################
|
||||||
|
|
||||||
add_subdirectory(buildconfig)
|
add_subdirectory(buildconfig)
|
||||||
add_subdirectory(api/logic)
|
|
||||||
add_subdirectory(api/gui)
|
|
||||||
|
|
||||||
# NOTE: this must always be last to appease the CMake deity of quirky install command evaluation order.
|
# NOTE: this must always be last to appease the CMake deity of quirky install command evaluation order.
|
||||||
add_subdirectory(application)
|
add_subdirectory(launcher)
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
project(MultiMC_gui LANGUAGES CXX)
|
|
||||||
|
|
||||||
set(GUI_SOURCES
|
|
||||||
DesktopServices.h
|
|
||||||
DesktopServices.cpp
|
|
||||||
|
|
||||||
# Icons
|
|
||||||
icons/MMCIcon.h
|
|
||||||
icons/MMCIcon.cpp
|
|
||||||
icons/IconList.h
|
|
||||||
icons/IconList.cpp
|
|
||||||
|
|
||||||
SkinUtils.cpp
|
|
||||||
SkinUtils.h
|
|
||||||
)
|
|
||||||
################################ COMPILE ################################
|
|
||||||
|
|
||||||
add_library(MultiMC_gui SHARED ${GUI_SOURCES})
|
|
||||||
set_target_properties(MultiMC_gui PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN 1)
|
|
||||||
|
|
||||||
generate_export_header(MultiMC_gui)
|
|
||||||
|
|
||||||
# Link
|
|
||||||
target_link_libraries(MultiMC_gui MultiMC_iconfix MultiMC_logic Qt5::Gui)
|
|
||||||
|
|
||||||
# Mark and export headers
|
|
||||||
target_include_directories(MultiMC_gui PUBLIC "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
||||||
|
|
||||||
# Install it
|
|
||||||
install(
|
|
||||||
TARGETS MultiMC_gui
|
|
||||||
RUNTIME DESTINATION ${LIBRARY_DEST_DIR}
|
|
||||||
LIBRARY DESTINATION ${LIBRARY_DEST_DIR}
|
|
||||||
)
|
|
@ -1,37 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <QUrl>
|
|
||||||
#include <QString>
|
|
||||||
#include "multimc_gui_export.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This wraps around QDesktopServices and adds workarounds where needed
|
|
||||||
* Use this instead of QDesktopServices!
|
|
||||||
*/
|
|
||||||
namespace DesktopServices
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Open a file in whatever application is applicable
|
|
||||||
*/
|
|
||||||
MULTIMC_GUI_EXPORT bool openFile(const QString &path);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open a file in the specified application
|
|
||||||
*/
|
|
||||||
MULTIMC_GUI_EXPORT bool openFile(const QString &application, const QString &path, const QString & workingDirectory = QString(), qint64 *pid = 0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Run an application
|
|
||||||
*/
|
|
||||||
MULTIMC_GUI_EXPORT bool run(const QString &application,const QStringList &args, const QString & workingDirectory = QString(), qint64 *pid = 0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open a directory
|
|
||||||
*/
|
|
||||||
MULTIMC_GUI_EXPORT bool openDirectory(const QString &path, bool ensureExists = false);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open the URL, most likely in a browser. Maybe.
|
|
||||||
*/
|
|
||||||
MULTIMC_GUI_EXPORT bool openUrl(const QUrl &url);
|
|
||||||
}
|
|
@ -1,564 +0,0 @@
|
|||||||
project(MultiMC_logic)
|
|
||||||
|
|
||||||
include (UnitTest)
|
|
||||||
|
|
||||||
set(CORE_SOURCES
|
|
||||||
# LOGIC - Base classes and infrastructure
|
|
||||||
BaseInstaller.h
|
|
||||||
BaseInstaller.cpp
|
|
||||||
BaseVersionList.h
|
|
||||||
BaseVersionList.cpp
|
|
||||||
InstanceList.h
|
|
||||||
InstanceList.cpp
|
|
||||||
InstanceTask.h
|
|
||||||
InstanceTask.cpp
|
|
||||||
LoggedProcess.h
|
|
||||||
LoggedProcess.cpp
|
|
||||||
MessageLevel.cpp
|
|
||||||
MessageLevel.h
|
|
||||||
BaseVersion.h
|
|
||||||
BaseInstance.h
|
|
||||||
BaseInstance.cpp
|
|
||||||
NullInstance.h
|
|
||||||
MMCZip.h
|
|
||||||
MMCZip.cpp
|
|
||||||
MMCStrings.h
|
|
||||||
MMCStrings.cpp
|
|
||||||
|
|
||||||
# Basic instance manipulation tasks (derived from InstanceTask)
|
|
||||||
InstanceCreationTask.h
|
|
||||||
InstanceCreationTask.cpp
|
|
||||||
InstanceCopyTask.h
|
|
||||||
InstanceCopyTask.cpp
|
|
||||||
InstanceImportTask.h
|
|
||||||
InstanceImportTask.cpp
|
|
||||||
|
|
||||||
# Use tracking separate from memory management
|
|
||||||
Usable.h
|
|
||||||
|
|
||||||
# Prefix tree where node names are strings between separators
|
|
||||||
SeparatorPrefixTree.h
|
|
||||||
|
|
||||||
# WARNING: globals live here
|
|
||||||
Env.h
|
|
||||||
Env.cpp
|
|
||||||
|
|
||||||
# String filters
|
|
||||||
Filter.h
|
|
||||||
Filter.cpp
|
|
||||||
|
|
||||||
# JSON parsing helpers
|
|
||||||
Json.h
|
|
||||||
Json.cpp
|
|
||||||
|
|
||||||
FileSystem.h
|
|
||||||
FileSystem.cpp
|
|
||||||
|
|
||||||
Exception.h
|
|
||||||
|
|
||||||
# RW lock protected map
|
|
||||||
RWStorage.h
|
|
||||||
|
|
||||||
# A variable that has an implicit default value and keeps track of changes
|
|
||||||
DefaultVariable.h
|
|
||||||
|
|
||||||
# a smart pointer wrapper intended for safer use with Qt signal/slot mechanisms
|
|
||||||
QObjectPtr.h
|
|
||||||
|
|
||||||
# Compression support
|
|
||||||
GZip.h
|
|
||||||
GZip.cpp
|
|
||||||
|
|
||||||
# Command line parameter parsing
|
|
||||||
Commandline.h
|
|
||||||
Commandline.cpp
|
|
||||||
|
|
||||||
# Version number string support
|
|
||||||
Version.h
|
|
||||||
Version.cpp
|
|
||||||
|
|
||||||
# A Recursive file system watcher
|
|
||||||
RecursiveFileSystemWatcher.h
|
|
||||||
RecursiveFileSystemWatcher.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(FileSystem
|
|
||||||
SOURCES FileSystem_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
DATA testdata
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(GZip
|
|
||||||
SOURCES GZip_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
)
|
|
||||||
|
|
||||||
set(PATHMATCHER_SOURCES
|
|
||||||
# Path matchers
|
|
||||||
pathmatcher/FSTreeMatcher.h
|
|
||||||
pathmatcher/IPathMatcher.h
|
|
||||||
pathmatcher/MultiMatcher.h
|
|
||||||
pathmatcher/RegexpMatcher.h
|
|
||||||
)
|
|
||||||
|
|
||||||
set(NET_SOURCES
|
|
||||||
# network stuffs
|
|
||||||
net/ByteArraySink.h
|
|
||||||
net/ChecksumValidator.h
|
|
||||||
net/Download.cpp
|
|
||||||
net/Download.h
|
|
||||||
net/FileSink.cpp
|
|
||||||
net/FileSink.h
|
|
||||||
net/HttpMetaCache.cpp
|
|
||||||
net/HttpMetaCache.h
|
|
||||||
net/MetaCacheSink.cpp
|
|
||||||
net/MetaCacheSink.h
|
|
||||||
net/NetAction.h
|
|
||||||
net/NetJob.cpp
|
|
||||||
net/NetJob.h
|
|
||||||
net/PasteUpload.cpp
|
|
||||||
net/PasteUpload.h
|
|
||||||
net/Sink.h
|
|
||||||
net/Validator.h
|
|
||||||
)
|
|
||||||
|
|
||||||
# Game launch logic
|
|
||||||
set(LAUNCH_SOURCES
|
|
||||||
launch/steps/LookupServerAddress.cpp
|
|
||||||
launch/steps/LookupServerAddress.h
|
|
||||||
launch/steps/PostLaunchCommand.cpp
|
|
||||||
launch/steps/PostLaunchCommand.h
|
|
||||||
launch/steps/PreLaunchCommand.cpp
|
|
||||||
launch/steps/PreLaunchCommand.h
|
|
||||||
launch/steps/TextPrint.cpp
|
|
||||||
launch/steps/TextPrint.h
|
|
||||||
launch/steps/Update.cpp
|
|
||||||
launch/steps/Update.h
|
|
||||||
launch/LaunchStep.cpp
|
|
||||||
launch/LaunchStep.h
|
|
||||||
launch/LaunchTask.cpp
|
|
||||||
launch/LaunchTask.h
|
|
||||||
launch/LogModel.cpp
|
|
||||||
launch/LogModel.h
|
|
||||||
)
|
|
||||||
|
|
||||||
# Old update system
|
|
||||||
set(UPDATE_SOURCES
|
|
||||||
updater/GoUpdate.h
|
|
||||||
updater/GoUpdate.cpp
|
|
||||||
updater/UpdateChecker.h
|
|
||||||
updater/UpdateChecker.cpp
|
|
||||||
updater/DownloadTask.h
|
|
||||||
updater/DownloadTask.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(UpdateChecker
|
|
||||||
SOURCES updater/UpdateChecker_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
DATA updater/testdata
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(DownloadTask
|
|
||||||
SOURCES updater/DownloadTask_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
DATA updater/testdata
|
|
||||||
)
|
|
||||||
|
|
||||||
# Rarely used notifications
|
|
||||||
set(NOTIFICATIONS_SOURCES
|
|
||||||
# Notifications - short warning messages
|
|
||||||
notifications/NotificationChecker.h
|
|
||||||
notifications/NotificationChecker.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
# Backend for the news bar... there's usually no news.
|
|
||||||
set(NEWS_SOURCES
|
|
||||||
# News System
|
|
||||||
news/NewsChecker.h
|
|
||||||
news/NewsChecker.cpp
|
|
||||||
news/NewsEntry.h
|
|
||||||
news/NewsEntry.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
# Icon interface
|
|
||||||
set(ICONS_SOURCES
|
|
||||||
# Icons System and related code
|
|
||||||
icons/IIconList.h
|
|
||||||
icons/IIconList.cpp
|
|
||||||
icons/IconUtils.h
|
|
||||||
icons/IconUtils.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
# Minecraft services status checker
|
|
||||||
set(STATUS_SOURCES
|
|
||||||
# Status system
|
|
||||||
status/StatusChecker.h
|
|
||||||
status/StatusChecker.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
# Support for Minecraft instances and launch
|
|
||||||
set(MINECRAFT_SOURCES
|
|
||||||
# Minecraft support
|
|
||||||
minecraft/auth/AuthSession.h
|
|
||||||
minecraft/auth/AuthSession.cpp
|
|
||||||
minecraft/auth/MojangAccountList.h
|
|
||||||
minecraft/auth/MojangAccountList.cpp
|
|
||||||
minecraft/auth/MojangAccount.h
|
|
||||||
minecraft/auth/MojangAccount.cpp
|
|
||||||
minecraft/auth/YggdrasilTask.h
|
|
||||||
minecraft/auth/YggdrasilTask.cpp
|
|
||||||
minecraft/auth/flows/AuthenticateTask.h
|
|
||||||
minecraft/auth/flows/AuthenticateTask.cpp
|
|
||||||
minecraft/auth/flows/RefreshTask.cpp
|
|
||||||
minecraft/auth/flows/RefreshTask.cpp
|
|
||||||
minecraft/auth/flows/ValidateTask.h
|
|
||||||
minecraft/auth/flows/ValidateTask.cpp
|
|
||||||
|
|
||||||
minecraft/gameoptions/GameOptions.h
|
|
||||||
minecraft/gameoptions/GameOptions.cpp
|
|
||||||
|
|
||||||
minecraft/update/AssetUpdateTask.h
|
|
||||||
minecraft/update/AssetUpdateTask.cpp
|
|
||||||
minecraft/update/FMLLibrariesTask.cpp
|
|
||||||
minecraft/update/FMLLibrariesTask.h
|
|
||||||
minecraft/update/FoldersTask.cpp
|
|
||||||
minecraft/update/FoldersTask.h
|
|
||||||
minecraft/update/LibrariesTask.cpp
|
|
||||||
minecraft/update/LibrariesTask.h
|
|
||||||
|
|
||||||
minecraft/launch/ClaimAccount.cpp
|
|
||||||
minecraft/launch/ClaimAccount.h
|
|
||||||
minecraft/launch/CreateGameFolders.cpp
|
|
||||||
minecraft/launch/CreateGameFolders.h
|
|
||||||
minecraft/launch/ModMinecraftJar.cpp
|
|
||||||
minecraft/launch/ModMinecraftJar.h
|
|
||||||
minecraft/launch/DirectJavaLaunch.cpp
|
|
||||||
minecraft/launch/DirectJavaLaunch.h
|
|
||||||
minecraft/launch/ExtractNatives.cpp
|
|
||||||
minecraft/launch/ExtractNatives.h
|
|
||||||
minecraft/launch/LauncherPartLaunch.cpp
|
|
||||||
minecraft/launch/LauncherPartLaunch.h
|
|
||||||
minecraft/launch/MinecraftServerTarget.cpp
|
|
||||||
minecraft/launch/MinecraftServerTarget.h
|
|
||||||
minecraft/launch/PrintInstanceInfo.cpp
|
|
||||||
minecraft/launch/PrintInstanceInfo.h
|
|
||||||
minecraft/launch/ReconstructAssets.cpp
|
|
||||||
minecraft/launch/ReconstructAssets.h
|
|
||||||
minecraft/launch/ScanModFolders.cpp
|
|
||||||
minecraft/launch/ScanModFolders.h
|
|
||||||
minecraft/launch/VerifyJavaInstall.cpp
|
|
||||||
minecraft/launch/VerifyJavaInstall.h
|
|
||||||
|
|
||||||
minecraft/legacy/LegacyModList.h
|
|
||||||
minecraft/legacy/LegacyModList.cpp
|
|
||||||
minecraft/legacy/LegacyInstance.h
|
|
||||||
minecraft/legacy/LegacyInstance.cpp
|
|
||||||
minecraft/legacy/LegacyUpgradeTask.h
|
|
||||||
minecraft/legacy/LegacyUpgradeTask.cpp
|
|
||||||
|
|
||||||
minecraft/GradleSpecifier.h
|
|
||||||
minecraft/MinecraftInstance.cpp
|
|
||||||
minecraft/MinecraftInstance.h
|
|
||||||
minecraft/LaunchProfile.cpp
|
|
||||||
minecraft/LaunchProfile.h
|
|
||||||
minecraft/Component.cpp
|
|
||||||
minecraft/Component.h
|
|
||||||
minecraft/PackProfile.cpp
|
|
||||||
minecraft/PackProfile.h
|
|
||||||
minecraft/ComponentUpdateTask.cpp
|
|
||||||
minecraft/ComponentUpdateTask.h
|
|
||||||
minecraft/MinecraftLoadAndCheck.h
|
|
||||||
minecraft/MinecraftLoadAndCheck.cpp
|
|
||||||
minecraft/MinecraftUpdate.h
|
|
||||||
minecraft/MinecraftUpdate.cpp
|
|
||||||
minecraft/MojangVersionFormat.cpp
|
|
||||||
minecraft/MojangVersionFormat.h
|
|
||||||
minecraft/Rule.cpp
|
|
||||||
minecraft/Rule.h
|
|
||||||
minecraft/OneSixVersionFormat.cpp
|
|
||||||
minecraft/OneSixVersionFormat.h
|
|
||||||
minecraft/OpSys.cpp
|
|
||||||
minecraft/OpSys.h
|
|
||||||
minecraft/ParseUtils.cpp
|
|
||||||
minecraft/ParseUtils.h
|
|
||||||
minecraft/ProfileUtils.cpp
|
|
||||||
minecraft/ProfileUtils.h
|
|
||||||
minecraft/Library.cpp
|
|
||||||
minecraft/Library.h
|
|
||||||
minecraft/MojangDownloadInfo.h
|
|
||||||
minecraft/VersionFile.cpp
|
|
||||||
minecraft/VersionFile.h
|
|
||||||
minecraft/VersionFilterData.h
|
|
||||||
minecraft/VersionFilterData.cpp
|
|
||||||
minecraft/World.h
|
|
||||||
minecraft/World.cpp
|
|
||||||
minecraft/WorldList.h
|
|
||||||
minecraft/WorldList.cpp
|
|
||||||
|
|
||||||
minecraft/mod/Mod.h
|
|
||||||
minecraft/mod/Mod.cpp
|
|
||||||
minecraft/mod/ModDetails.h
|
|
||||||
minecraft/mod/ModFolderModel.h
|
|
||||||
minecraft/mod/ModFolderModel.cpp
|
|
||||||
minecraft/mod/ModFolderLoadTask.h
|
|
||||||
minecraft/mod/ModFolderLoadTask.cpp
|
|
||||||
minecraft/mod/LocalModParseTask.h
|
|
||||||
minecraft/mod/LocalModParseTask.cpp
|
|
||||||
minecraft/mod/ResourcePackFolderModel.h
|
|
||||||
minecraft/mod/ResourcePackFolderModel.cpp
|
|
||||||
minecraft/mod/TexturePackFolderModel.h
|
|
||||||
minecraft/mod/TexturePackFolderModel.cpp
|
|
||||||
|
|
||||||
# Assets
|
|
||||||
minecraft/AssetsUtils.h
|
|
||||||
minecraft/AssetsUtils.cpp
|
|
||||||
|
|
||||||
# Minecraft services
|
|
||||||
minecraft/services/SkinUpload.cpp
|
|
||||||
minecraft/services/SkinUpload.h
|
|
||||||
minecraft/services/SkinDelete.cpp
|
|
||||||
minecraft/services/SkinDelete.h
|
|
||||||
|
|
||||||
mojang/PackageManifest.h
|
|
||||||
mojang/PackageManifest.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(GradleSpecifier
|
|
||||||
SOURCES minecraft/GradleSpecifier_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
)
|
|
||||||
|
|
||||||
add_executable(PackageManifest
|
|
||||||
mojang/PackageManifest_test.cpp
|
|
||||||
)
|
|
||||||
target_link_libraries(PackageManifest
|
|
||||||
MultiMC_logic
|
|
||||||
Qt5::Test
|
|
||||||
)
|
|
||||||
target_include_directories(PackageManifest
|
|
||||||
PRIVATE ../../cmake/UnitTest/
|
|
||||||
)
|
|
||||||
add_test(
|
|
||||||
NAME PackageManifest
|
|
||||||
COMMAND PackageManifest
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(MojangVersionFormat
|
|
||||||
SOURCES minecraft/MojangVersionFormat_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
DATA minecraft/testdata
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(Library
|
|
||||||
SOURCES minecraft/Library_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
)
|
|
||||||
|
|
||||||
# FIXME: shares data with FileSystem test
|
|
||||||
add_unit_test(ModFolderModel
|
|
||||||
SOURCES minecraft/mod/ModFolderModel_test.cpp
|
|
||||||
DATA testdata
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(ParseUtils
|
|
||||||
SOURCES minecraft/ParseUtils_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
)
|
|
||||||
|
|
||||||
# the screenshots feature
|
|
||||||
set(SCREENSHOTS_SOURCES
|
|
||||||
screenshots/Screenshot.h
|
|
||||||
screenshots/ImgurUpload.h
|
|
||||||
screenshots/ImgurUpload.cpp
|
|
||||||
screenshots/ImgurAlbumCreation.h
|
|
||||||
screenshots/ImgurAlbumCreation.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set(TASKS_SOURCES
|
|
||||||
# Tasks
|
|
||||||
tasks/Task.h
|
|
||||||
tasks/Task.cpp
|
|
||||||
tasks/SequentialTask.h
|
|
||||||
tasks/SequentialTask.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set(SETTINGS_SOURCES
|
|
||||||
# Settings
|
|
||||||
settings/INIFile.cpp
|
|
||||||
settings/INIFile.h
|
|
||||||
settings/INISettingsObject.cpp
|
|
||||||
settings/INISettingsObject.h
|
|
||||||
settings/OverrideSetting.cpp
|
|
||||||
settings/OverrideSetting.h
|
|
||||||
settings/PassthroughSetting.cpp
|
|
||||||
settings/PassthroughSetting.h
|
|
||||||
settings/Setting.cpp
|
|
||||||
settings/Setting.h
|
|
||||||
settings/SettingsObject.cpp
|
|
||||||
settings/SettingsObject.h
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(INIFile
|
|
||||||
SOURCES settings/INIFile_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
)
|
|
||||||
|
|
||||||
set(JAVA_SOURCES
|
|
||||||
# Java related code
|
|
||||||
java/launch/CheckJava.cpp
|
|
||||||
java/launch/CheckJava.h
|
|
||||||
java/JavaChecker.h
|
|
||||||
java/JavaChecker.cpp
|
|
||||||
java/JavaCheckerJob.h
|
|
||||||
java/JavaCheckerJob.cpp
|
|
||||||
java/JavaInstall.h
|
|
||||||
java/JavaInstall.cpp
|
|
||||||
java/JavaInstallList.h
|
|
||||||
java/JavaInstallList.cpp
|
|
||||||
java/JavaUtils.h
|
|
||||||
java/JavaUtils.cpp
|
|
||||||
java/JavaVersion.h
|
|
||||||
java/JavaVersion.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(JavaVersion
|
|
||||||
SOURCES java/JavaVersion_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
)
|
|
||||||
|
|
||||||
set(TRANSLATIONS_SOURCES
|
|
||||||
translations/TranslationsModel.h
|
|
||||||
translations/TranslationsModel.cpp
|
|
||||||
translations/POTranslator.h
|
|
||||||
translations/POTranslator.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set(TOOLS_SOURCES
|
|
||||||
# Tools
|
|
||||||
tools/BaseExternalTool.cpp
|
|
||||||
tools/BaseExternalTool.h
|
|
||||||
tools/BaseProfiler.cpp
|
|
||||||
tools/BaseProfiler.h
|
|
||||||
tools/JProfiler.cpp
|
|
||||||
tools/JProfiler.h
|
|
||||||
tools/JVisualVM.cpp
|
|
||||||
tools/JVisualVM.h
|
|
||||||
tools/MCEditTool.cpp
|
|
||||||
tools/MCEditTool.h
|
|
||||||
)
|
|
||||||
|
|
||||||
set(META_SOURCES
|
|
||||||
# Metadata sources
|
|
||||||
meta/JsonFormat.cpp
|
|
||||||
meta/JsonFormat.h
|
|
||||||
meta/BaseEntity.cpp
|
|
||||||
meta/BaseEntity.h
|
|
||||||
meta/VersionList.cpp
|
|
||||||
meta/VersionList.h
|
|
||||||
meta/Version.cpp
|
|
||||||
meta/Version.h
|
|
||||||
meta/Index.cpp
|
|
||||||
meta/Index.h
|
|
||||||
)
|
|
||||||
|
|
||||||
set(FTB_SOURCES
|
|
||||||
modplatform/legacy_ftb/PackFetchTask.h
|
|
||||||
modplatform/legacy_ftb/PackFetchTask.cpp
|
|
||||||
modplatform/legacy_ftb/PackInstallTask.h
|
|
||||||
modplatform/legacy_ftb/PackInstallTask.cpp
|
|
||||||
modplatform/legacy_ftb/PrivatePackManager.h
|
|
||||||
modplatform/legacy_ftb/PrivatePackManager.cpp
|
|
||||||
|
|
||||||
modplatform/legacy_ftb/PackHelpers.h
|
|
||||||
)
|
|
||||||
|
|
||||||
set(FLAME_SOURCES
|
|
||||||
# Flame
|
|
||||||
modplatform/flame/FlamePackIndex.cpp
|
|
||||||
modplatform/flame/FlamePackIndex.h
|
|
||||||
modplatform/flame/PackManifest.h
|
|
||||||
modplatform/flame/PackManifest.cpp
|
|
||||||
modplatform/flame/FileResolvingTask.h
|
|
||||||
modplatform/flame/FileResolvingTask.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set(MODPACKSCH_SOURCES
|
|
||||||
modplatform/modpacksch/FTBPackInstallTask.h
|
|
||||||
modplatform/modpacksch/FTBPackInstallTask.cpp
|
|
||||||
modplatform/modpacksch/FTBPackManifest.h
|
|
||||||
modplatform/modpacksch/FTBPackManifest.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set(TECHNIC_SOURCES
|
|
||||||
modplatform/technic/SingleZipPackInstallTask.h
|
|
||||||
modplatform/technic/SingleZipPackInstallTask.cpp
|
|
||||||
modplatform/technic/SolderPackInstallTask.h
|
|
||||||
modplatform/technic/SolderPackInstallTask.cpp
|
|
||||||
modplatform/technic/TechnicPackProcessor.h
|
|
||||||
modplatform/technic/TechnicPackProcessor.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set(ATLAUNCHER_SOURCES
|
|
||||||
modplatform/atlauncher/ATLPackIndex.cpp
|
|
||||||
modplatform/atlauncher/ATLPackIndex.h
|
|
||||||
modplatform/atlauncher/ATLPackInstallTask.cpp
|
|
||||||
modplatform/atlauncher/ATLPackInstallTask.h
|
|
||||||
modplatform/atlauncher/ATLPackManifest.cpp
|
|
||||||
modplatform/atlauncher/ATLPackManifest.h
|
|
||||||
)
|
|
||||||
|
|
||||||
add_unit_test(Index
|
|
||||||
SOURCES meta/Index_test.cpp
|
|
||||||
LIBS MultiMC_logic
|
|
||||||
)
|
|
||||||
|
|
||||||
################################ COMPILE ################################
|
|
||||||
|
|
||||||
# we need zlib
|
|
||||||
find_package(ZLIB REQUIRED)
|
|
||||||
|
|
||||||
set(LOGIC_SOURCES
|
|
||||||
${CORE_SOURCES}
|
|
||||||
${PATHMATCHER_SOURCES}
|
|
||||||
${NET_SOURCES}
|
|
||||||
${LAUNCH_SOURCES}
|
|
||||||
${UPDATE_SOURCES}
|
|
||||||
${NOTIFICATIONS_SOURCES}
|
|
||||||
${NEWS_SOURCES}
|
|
||||||
${STATUS_SOURCES}
|
|
||||||
${MINECRAFT_SOURCES}
|
|
||||||
${SCREENSHOTS_SOURCES}
|
|
||||||
${TASKS_SOURCES}
|
|
||||||
${SETTINGS_SOURCES}
|
|
||||||
${JAVA_SOURCES}
|
|
||||||
${TRANSLATIONS_SOURCES}
|
|
||||||
${TOOLS_SOURCES}
|
|
||||||
${META_SOURCES}
|
|
||||||
${ICONS_SOURCES}
|
|
||||||
${FTB_SOURCES}
|
|
||||||
${FLAME_SOURCES}
|
|
||||||
${MODPACKSCH_SOURCES}
|
|
||||||
${TECHNIC_SOURCES}
|
|
||||||
${ATLAUNCHER_SOURCES}
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library(MultiMC_logic SHARED ${LOGIC_SOURCES})
|
|
||||||
set_target_properties(MultiMC_logic PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN 1)
|
|
||||||
|
|
||||||
generate_export_header(MultiMC_logic)
|
|
||||||
|
|
||||||
# Link
|
|
||||||
target_link_libraries(MultiMC_logic systeminfo MultiMC_quazip MultiMC_classparser ${NBT_NAME} ${ZLIB_LIBRARIES} optional-bare tomlc99 BuildConfig)
|
|
||||||
target_link_libraries(MultiMC_logic Qt5::Core Qt5::Xml Qt5::Network Qt5::Concurrent)
|
|
||||||
|
|
||||||
# Mark and export headers
|
|
||||||
target_include_directories(MultiMC_logic PUBLIC "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}" PRIVATE "${ZLIB_INCLUDE_DIRS}")
|
|
||||||
|
|
||||||
# Install it
|
|
||||||
install(
|
|
||||||
TARGETS MultiMC_logic
|
|
||||||
RUNTIME DESTINATION ${LIBRARY_DEST_DIR}
|
|
||||||
LIBRARY DESTINATION ${LIBRARY_DEST_DIR}
|
|
||||||
)
|
|
@ -1,10 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <QString>
|
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
namespace Strings
|
|
||||||
{
|
|
||||||
int MULTIMC_LOGIC_EXPORT naturalCompare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs);
|
|
||||||
}
|
|
@ -1,417 +0,0 @@
|
|||||||
project(application)
|
|
||||||
|
|
||||||
################################ FILES ################################
|
|
||||||
|
|
||||||
######## Sources and headers ########
|
|
||||||
SET(MULTIMC_SOURCES
|
|
||||||
# Application base
|
|
||||||
main.cpp
|
|
||||||
MultiMC.h
|
|
||||||
MultiMC.cpp
|
|
||||||
UpdateController.cpp
|
|
||||||
UpdateController.h
|
|
||||||
|
|
||||||
# GUI - general utilities
|
|
||||||
GuiUtil.h
|
|
||||||
GuiUtil.cpp
|
|
||||||
ColumnResizer.h
|
|
||||||
ColumnResizer.cpp
|
|
||||||
InstanceProxyModel.h
|
|
||||||
InstanceProxyModel.cpp
|
|
||||||
VersionProxyModel.h
|
|
||||||
VersionProxyModel.cpp
|
|
||||||
ColorCache.h
|
|
||||||
ColorCache.cpp
|
|
||||||
HoeDown.h
|
|
||||||
|
|
||||||
# Super secret!
|
|
||||||
KonamiCode.h
|
|
||||||
KonamiCode.cpp
|
|
||||||
|
|
||||||
# GUI - windows
|
|
||||||
MainWindow.h
|
|
||||||
MainWindow.cpp
|
|
||||||
InstanceWindow.h
|
|
||||||
InstanceWindow.cpp
|
|
||||||
|
|
||||||
# GUI - setup wizard
|
|
||||||
setupwizard/SetupWizard.h
|
|
||||||
setupwizard/SetupWizard.cpp
|
|
||||||
setupwizard/AnalyticsWizardPage.cpp
|
|
||||||
setupwizard/AnalyticsWizardPage.h
|
|
||||||
setupwizard/BaseWizardPage.h
|
|
||||||
setupwizard/JavaWizardPage.cpp
|
|
||||||
setupwizard/JavaWizardPage.h
|
|
||||||
setupwizard/LanguageWizardPage.cpp
|
|
||||||
setupwizard/LanguageWizardPage.h
|
|
||||||
|
|
||||||
# GUI - themes
|
|
||||||
themes/FusionTheme.cpp
|
|
||||||
themes/FusionTheme.h
|
|
||||||
themes/BrightTheme.cpp
|
|
||||||
themes/BrightTheme.h
|
|
||||||
themes/CustomTheme.cpp
|
|
||||||
themes/CustomTheme.h
|
|
||||||
themes/DarkTheme.cpp
|
|
||||||
themes/DarkTheme.h
|
|
||||||
themes/ITheme.cpp
|
|
||||||
themes/ITheme.h
|
|
||||||
themes/SystemTheme.cpp
|
|
||||||
themes/SystemTheme.h
|
|
||||||
|
|
||||||
# Processes
|
|
||||||
LaunchController.h
|
|
||||||
LaunchController.cpp
|
|
||||||
|
|
||||||
# page provider for instances
|
|
||||||
InstancePageProvider.h
|
|
||||||
|
|
||||||
# Common java checking UI
|
|
||||||
JavaCommon.h
|
|
||||||
JavaCommon.cpp
|
|
||||||
|
|
||||||
# GUI - paged dialog base
|
|
||||||
pages/BasePage.h
|
|
||||||
pages/BasePageContainer.h
|
|
||||||
pages/BasePageProvider.h
|
|
||||||
|
|
||||||
# GUI - instance pages
|
|
||||||
pages/instance/GameOptionsPage.cpp
|
|
||||||
pages/instance/GameOptionsPage.h
|
|
||||||
pages/instance/VersionPage.cpp
|
|
||||||
pages/instance/VersionPage.h
|
|
||||||
pages/instance/TexturePackPage.h
|
|
||||||
pages/instance/ResourcePackPage.h
|
|
||||||
pages/instance/ModFolderPage.cpp
|
|
||||||
pages/instance/ModFolderPage.h
|
|
||||||
pages/instance/NotesPage.cpp
|
|
||||||
pages/instance/NotesPage.h
|
|
||||||
pages/instance/LogPage.cpp
|
|
||||||
pages/instance/LogPage.h
|
|
||||||
pages/instance/InstanceSettingsPage.cpp
|
|
||||||
pages/instance/InstanceSettingsPage.h
|
|
||||||
pages/instance/ScreenshotsPage.cpp
|
|
||||||
pages/instance/ScreenshotsPage.h
|
|
||||||
pages/instance/OtherLogsPage.cpp
|
|
||||||
pages/instance/OtherLogsPage.h
|
|
||||||
pages/instance/ServersPage.cpp
|
|
||||||
pages/instance/ServersPage.h
|
|
||||||
pages/instance/LegacyUpgradePage.cpp
|
|
||||||
pages/instance/LegacyUpgradePage.h
|
|
||||||
pages/instance/WorldListPage.cpp
|
|
||||||
pages/instance/WorldListPage.h
|
|
||||||
|
|
||||||
# GUI - global settings pages
|
|
||||||
pages/global/AccountListPage.cpp
|
|
||||||
pages/global/AccountListPage.h
|
|
||||||
pages/global/CustomCommandsPage.cpp
|
|
||||||
pages/global/CustomCommandsPage.h
|
|
||||||
pages/global/ExternalToolsPage.cpp
|
|
||||||
pages/global/ExternalToolsPage.h
|
|
||||||
pages/global/JavaPage.cpp
|
|
||||||
pages/global/JavaPage.h
|
|
||||||
pages/global/LanguagePage.cpp
|
|
||||||
pages/global/LanguagePage.h
|
|
||||||
pages/global/MinecraftPage.cpp
|
|
||||||
pages/global/MinecraftPage.h
|
|
||||||
pages/global/MultiMCPage.cpp
|
|
||||||
pages/global/MultiMCPage.h
|
|
||||||
pages/global/ProxyPage.cpp
|
|
||||||
pages/global/ProxyPage.h
|
|
||||||
pages/global/PasteEEPage.cpp
|
|
||||||
pages/global/PasteEEPage.h
|
|
||||||
|
|
||||||
# GUI - platform pages
|
|
||||||
pages/modplatform/VanillaPage.cpp
|
|
||||||
pages/modplatform/VanillaPage.h
|
|
||||||
|
|
||||||
pages/modplatform/atlauncher/AtlFilterModel.cpp
|
|
||||||
pages/modplatform/atlauncher/AtlFilterModel.h
|
|
||||||
pages/modplatform/atlauncher/AtlListModel.cpp
|
|
||||||
pages/modplatform/atlauncher/AtlListModel.h
|
|
||||||
pages/modplatform/atlauncher/AtlOptionalModDialog.cpp
|
|
||||||
pages/modplatform/atlauncher/AtlOptionalModDialog.h
|
|
||||||
pages/modplatform/atlauncher/AtlPage.cpp
|
|
||||||
pages/modplatform/atlauncher/AtlPage.h
|
|
||||||
|
|
||||||
pages/modplatform/ftb/FtbFilterModel.cpp
|
|
||||||
pages/modplatform/ftb/FtbFilterModel.h
|
|
||||||
pages/modplatform/ftb/FtbListModel.cpp
|
|
||||||
pages/modplatform/ftb/FtbListModel.h
|
|
||||||
pages/modplatform/ftb/FtbPage.cpp
|
|
||||||
pages/modplatform/ftb/FtbPage.h
|
|
||||||
|
|
||||||
pages/modplatform/legacy_ftb/Page.cpp
|
|
||||||
pages/modplatform/legacy_ftb/Page.h
|
|
||||||
pages/modplatform/legacy_ftb/ListModel.h
|
|
||||||
pages/modplatform/legacy_ftb/ListModel.cpp
|
|
||||||
|
|
||||||
pages/modplatform/flame/FlameModel.cpp
|
|
||||||
pages/modplatform/flame/FlameModel.h
|
|
||||||
pages/modplatform/flame/FlamePage.cpp
|
|
||||||
pages/modplatform/flame/FlamePage.h
|
|
||||||
|
|
||||||
pages/modplatform/technic/TechnicModel.cpp
|
|
||||||
pages/modplatform/technic/TechnicModel.h
|
|
||||||
pages/modplatform/technic/TechnicPage.cpp
|
|
||||||
pages/modplatform/technic/TechnicPage.h
|
|
||||||
|
|
||||||
pages/modplatform/ImportPage.cpp
|
|
||||||
pages/modplatform/ImportPage.h
|
|
||||||
|
|
||||||
# GUI - dialogs
|
|
||||||
dialogs/AboutDialog.cpp
|
|
||||||
dialogs/AboutDialog.h
|
|
||||||
dialogs/ProfileSelectDialog.cpp
|
|
||||||
dialogs/ProfileSelectDialog.h
|
|
||||||
dialogs/CopyInstanceDialog.cpp
|
|
||||||
dialogs/CopyInstanceDialog.h
|
|
||||||
dialogs/CustomMessageBox.cpp
|
|
||||||
dialogs/CustomMessageBox.h
|
|
||||||
dialogs/EditAccountDialog.cpp
|
|
||||||
dialogs/EditAccountDialog.h
|
|
||||||
dialogs/ExportInstanceDialog.cpp
|
|
||||||
dialogs/ExportInstanceDialog.h
|
|
||||||
dialogs/IconPickerDialog.cpp
|
|
||||||
dialogs/IconPickerDialog.h
|
|
||||||
dialogs/LoginDialog.cpp
|
|
||||||
dialogs/LoginDialog.h
|
|
||||||
dialogs/NewComponentDialog.cpp
|
|
||||||
dialogs/NewComponentDialog.h
|
|
||||||
dialogs/NewInstanceDialog.cpp
|
|
||||||
dialogs/NewInstanceDialog.h
|
|
||||||
dialogs/NotificationDialog.cpp
|
|
||||||
dialogs/NotificationDialog.h
|
|
||||||
pagedialog/PageDialog.cpp
|
|
||||||
pagedialog/PageDialog.h
|
|
||||||
dialogs/ProgressDialog.cpp
|
|
||||||
dialogs/ProgressDialog.h
|
|
||||||
dialogs/UpdateDialog.cpp
|
|
||||||
dialogs/UpdateDialog.h
|
|
||||||
dialogs/VersionSelectDialog.cpp
|
|
||||||
dialogs/VersionSelectDialog.h
|
|
||||||
dialogs/SkinUploadDialog.cpp
|
|
||||||
dialogs/SkinUploadDialog.h
|
|
||||||
|
|
||||||
|
|
||||||
# GUI - widgets
|
|
||||||
widgets/Common.cpp
|
|
||||||
widgets/Common.h
|
|
||||||
widgets/CustomCommands.cpp
|
|
||||||
widgets/CustomCommands.h
|
|
||||||
widgets/DropLabel.cpp
|
|
||||||
widgets/DropLabel.h
|
|
||||||
widgets/FocusLineEdit.cpp
|
|
||||||
widgets/FocusLineEdit.h
|
|
||||||
widgets/IconLabel.cpp
|
|
||||||
widgets/IconLabel.h
|
|
||||||
widgets/JavaSettingsWidget.cpp
|
|
||||||
widgets/JavaSettingsWidget.h
|
|
||||||
widgets/LabeledToolButton.cpp
|
|
||||||
widgets/LabeledToolButton.h
|
|
||||||
widgets/LanguageSelectionWidget.cpp
|
|
||||||
widgets/LanguageSelectionWidget.h
|
|
||||||
widgets/LineSeparator.cpp
|
|
||||||
widgets/LineSeparator.h
|
|
||||||
widgets/LogView.cpp
|
|
||||||
widgets/LogView.h
|
|
||||||
widgets/MCModInfoFrame.cpp
|
|
||||||
widgets/MCModInfoFrame.h
|
|
||||||
widgets/ModListView.cpp
|
|
||||||
widgets/ModListView.h
|
|
||||||
widgets/PageContainer.cpp
|
|
||||||
widgets/PageContainer.h
|
|
||||||
widgets/PageContainer_p.h
|
|
||||||
widgets/ServerStatus.cpp
|
|
||||||
widgets/ServerStatus.h
|
|
||||||
widgets/VersionListView.cpp
|
|
||||||
widgets/VersionListView.h
|
|
||||||
widgets/VersionSelectWidget.cpp
|
|
||||||
widgets/VersionSelectWidget.h
|
|
||||||
widgets/ProgressWidget.h
|
|
||||||
widgets/ProgressWidget.cpp
|
|
||||||
widgets/WideBar.h
|
|
||||||
widgets/WideBar.cpp
|
|
||||||
|
|
||||||
# GUI - instance group view
|
|
||||||
groupview/GroupedProxyModel.cpp
|
|
||||||
groupview/GroupedProxyModel.h
|
|
||||||
groupview/AccessibleGroupView.cpp
|
|
||||||
groupview/AccessibleGroupView.h
|
|
||||||
groupview/AccessibleGroupView_p.h
|
|
||||||
groupview/GroupView.cpp
|
|
||||||
groupview/GroupView.h
|
|
||||||
groupview/InstanceDelegate.cpp
|
|
||||||
groupview/InstanceDelegate.h
|
|
||||||
groupview/VisualGroup.cpp
|
|
||||||
groupview/VisualGroup.h
|
|
||||||
)
|
|
||||||
|
|
||||||
######## UIs ########
|
|
||||||
SET(MULTIMC_UIS
|
|
||||||
# Instance pages
|
|
||||||
pages/instance/GameOptionsPage.ui
|
|
||||||
pages/instance/VersionPage.ui
|
|
||||||
pages/instance/ModFolderPage.ui
|
|
||||||
pages/instance/LogPage.ui
|
|
||||||
pages/instance/InstanceSettingsPage.ui
|
|
||||||
pages/instance/NotesPage.ui
|
|
||||||
pages/instance/ScreenshotsPage.ui
|
|
||||||
pages/instance/OtherLogsPage.ui
|
|
||||||
pages/instance/LegacyUpgradePage.ui
|
|
||||||
pages/instance/ServersPage.ui
|
|
||||||
pages/instance/WorldListPage.ui
|
|
||||||
|
|
||||||
# Global settings pages
|
|
||||||
pages/global/AccountListPage.ui
|
|
||||||
pages/global/ExternalToolsPage.ui
|
|
||||||
pages/global/JavaPage.ui
|
|
||||||
pages/global/MinecraftPage.ui
|
|
||||||
pages/global/MultiMCPage.ui
|
|
||||||
pages/global/ProxyPage.ui
|
|
||||||
pages/global/PasteEEPage.ui
|
|
||||||
|
|
||||||
# Platform pages
|
|
||||||
pages/modplatform/VanillaPage.ui
|
|
||||||
pages/modplatform/atlauncher/AtlPage.ui
|
|
||||||
pages/modplatform/ftb/FtbPage.ui
|
|
||||||
pages/modplatform/legacy_ftb/Page.ui
|
|
||||||
pages/modplatform/flame/FlamePage.ui
|
|
||||||
pages/modplatform/technic/TechnicPage.ui
|
|
||||||
pages/modplatform/ImportPage.ui
|
|
||||||
|
|
||||||
# Platform Dialogs
|
|
||||||
pages/modplatform/atlauncher/AtlOptionalModDialog.ui
|
|
||||||
|
|
||||||
# Dialogs
|
|
||||||
dialogs/CopyInstanceDialog.ui
|
|
||||||
dialogs/NewComponentDialog.ui
|
|
||||||
dialogs/NewInstanceDialog.ui
|
|
||||||
dialogs/AboutDialog.ui
|
|
||||||
dialogs/ProgressDialog.ui
|
|
||||||
dialogs/IconPickerDialog.ui
|
|
||||||
dialogs/ProfileSelectDialog.ui
|
|
||||||
dialogs/EditAccountDialog.ui
|
|
||||||
dialogs/ExportInstanceDialog.ui
|
|
||||||
dialogs/LoginDialog.ui
|
|
||||||
dialogs/UpdateDialog.ui
|
|
||||||
dialogs/NotificationDialog.ui
|
|
||||||
dialogs/SkinUploadDialog.ui
|
|
||||||
|
|
||||||
# Widgets/other
|
|
||||||
widgets/CustomCommands.ui
|
|
||||||
widgets/MCModInfoFrame.ui
|
|
||||||
)
|
|
||||||
|
|
||||||
set(MULTIMC_QRCS
|
|
||||||
resources/backgrounds/backgrounds.qrc
|
|
||||||
resources/multimc/multimc.qrc
|
|
||||||
resources/pe_dark/pe_dark.qrc
|
|
||||||
resources/pe_light/pe_light.qrc
|
|
||||||
resources/pe_colored/pe_colored.qrc
|
|
||||||
resources/pe_blue/pe_blue.qrc
|
|
||||||
resources/OSX/OSX.qrc
|
|
||||||
resources/iOS/iOS.qrc
|
|
||||||
resources/flat/flat.qrc
|
|
||||||
resources/documents/documents.qrc
|
|
||||||
)
|
|
||||||
|
|
||||||
######## Windows resource files ########
|
|
||||||
if(WIN32)
|
|
||||||
set(MULTIMC_RCS resources/multimc.rc)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Qt 5 stuff
|
|
||||||
qt5_wrap_ui(MULTIMC_UI ${MULTIMC_UIS})
|
|
||||||
qt5_add_resources(MULTIMC_RESOURCES ${MULTIMC_QRCS})
|
|
||||||
|
|
||||||
# Add executable
|
|
||||||
add_executable(MultiMC MACOSX_BUNDLE WIN32 ${MULTIMC_SOURCES} ${MULTIMC_UI} ${MULTIMC_RESOURCES} ${MULTIMC_RCS})
|
|
||||||
target_link_libraries(MultiMC MultiMC_gui ${QUAZIP_LIBRARIES} hoedown MultiMC_rainbow LocalPeer ganalytics)
|
|
||||||
if(DEFINED MultiMC_APP_BINARY_NAME)
|
|
||||||
set_target_properties(MultiMC PROPERTIES OUTPUT_NAME "${MultiMC_APP_BINARY_NAME}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED MultiMC_BINARY_RPATH)
|
|
||||||
SET_TARGET_PROPERTIES(MultiMC PROPERTIES INSTALL_RPATH "${MultiMC_BINARY_RPATH}")
|
|
||||||
endif()
|
|
||||||
if(DEFINED MultiMC_APP_BINARY_DEFS)
|
|
||||||
target_compile_definitions(MultiMC PRIVATE ${MultiMC_APP_BINARY_DEFS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(TARGETS MultiMC
|
|
||||||
BUNDLE DESTINATION ${BUNDLE_DEST_DIR} COMPONENT Runtime
|
|
||||||
LIBRARY DESTINATION ${LIBRARY_DEST_DIR} COMPONENT Runtime
|
|
||||||
RUNTIME DESTINATION ${BINARY_DEST_DIR} COMPONENT Runtime
|
|
||||||
)
|
|
||||||
|
|
||||||
#### The MultiMC bundle mess! ####
|
|
||||||
# Bundle utilities are used to complete the portable packages - they add all the libraries that would otherwise be missing on the target system.
|
|
||||||
# NOTE: it seems that this absolutely has to be here, and nowhere else.
|
|
||||||
if(INSTALL_BUNDLE STREQUAL "full")
|
|
||||||
# Add qt.conf - this makes Qt stop looking for things outside the bundle
|
|
||||||
install(
|
|
||||||
CODE "file(WRITE \"\${CMAKE_INSTALL_PREFIX}/${RESOURCES_DEST_DIR}/qt.conf\" \" \")"
|
|
||||||
COMPONENT Runtime
|
|
||||||
)
|
|
||||||
# Bundle plugins
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
|
||||||
# Image formats
|
|
||||||
install(
|
|
||||||
DIRECTORY "${QT_PLUGINS_DIR}/imageformats"
|
|
||||||
DESTINATION ${PLUGIN_DEST_DIR}
|
|
||||||
COMPONENT Runtime
|
|
||||||
REGEX "tga|tiff|mng|webp" EXCLUDE
|
|
||||||
)
|
|
||||||
# Icon engines
|
|
||||||
install(
|
|
||||||
DIRECTORY "${QT_PLUGINS_DIR}/iconengines"
|
|
||||||
DESTINATION ${PLUGIN_DEST_DIR}
|
|
||||||
COMPONENT Runtime
|
|
||||||
REGEX "fontawesome" EXCLUDE
|
|
||||||
)
|
|
||||||
# Platform plugins
|
|
||||||
install(
|
|
||||||
DIRECTORY "${QT_PLUGINS_DIR}/platforms"
|
|
||||||
DESTINATION ${PLUGIN_DEST_DIR}
|
|
||||||
COMPONENT Runtime
|
|
||||||
REGEX "minimal|linuxfb|offscreen" EXCLUDE
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
# Image formats
|
|
||||||
install(
|
|
||||||
DIRECTORY "${QT_PLUGINS_DIR}/imageformats"
|
|
||||||
DESTINATION ${PLUGIN_DEST_DIR}
|
|
||||||
COMPONENT Runtime
|
|
||||||
REGEX "tga|tiff|mng|webp" EXCLUDE
|
|
||||||
REGEX "d\\." EXCLUDE
|
|
||||||
REGEX "_debug\\." EXCLUDE
|
|
||||||
REGEX "\\.dSYM" EXCLUDE
|
|
||||||
)
|
|
||||||
# Icon engines
|
|
||||||
install(
|
|
||||||
DIRECTORY "${QT_PLUGINS_DIR}/iconengines"
|
|
||||||
DESTINATION ${PLUGIN_DEST_DIR}
|
|
||||||
COMPONENT Runtime
|
|
||||||
REGEX "fontawesome" EXCLUDE
|
|
||||||
REGEX "d\\." EXCLUDE
|
|
||||||
REGEX "_debug\\." EXCLUDE
|
|
||||||
REGEX "\\.dSYM" EXCLUDE
|
|
||||||
)
|
|
||||||
# Platform plugins
|
|
||||||
install(
|
|
||||||
DIRECTORY "${QT_PLUGINS_DIR}/platforms"
|
|
||||||
DESTINATION ${PLUGIN_DEST_DIR}
|
|
||||||
COMPONENT Runtime
|
|
||||||
REGEX "minimal|linuxfb|offscreen" EXCLUDE
|
|
||||||
REGEX "d\\." EXCLUDE
|
|
||||||
REGEX "_debug\\." EXCLUDE
|
|
||||||
REGEX "\\.dSYM" EXCLUDE
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
configure_file(
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/install_prereqs.cmake.in"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/install_prereqs.cmake"
|
|
||||||
@ONLY
|
|
||||||
)
|
|
||||||
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/install_prereqs.cmake" COMPONENT Runtime)
|
|
||||||
endif()
|
|
@ -17,8 +17,6 @@
|
|||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
class MinecraftInstance;
|
class MinecraftInstance;
|
||||||
class QDir;
|
class QDir;
|
||||||
class QString;
|
class QString;
|
||||||
@ -27,7 +25,7 @@ class Task;
|
|||||||
class BaseVersion;
|
class BaseVersion;
|
||||||
typedef std::shared_ptr<BaseVersion> BaseVersionPtr;
|
typedef std::shared_ptr<BaseVersion> BaseVersionPtr;
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT BaseInstaller
|
class BaseInstaller
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BaseInstaller();
|
BaseInstaller();
|
@ -32,8 +32,6 @@
|
|||||||
|
|
||||||
#include "net/Mode.h"
|
#include "net/Mode.h"
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
#include "minecraft/launch/MinecraftServerTarget.h"
|
#include "minecraft/launch/MinecraftServerTarget.h"
|
||||||
|
|
||||||
class QDir;
|
class QDir;
|
||||||
@ -52,7 +50,7 @@ typedef std::shared_ptr<BaseInstance> InstancePtr;
|
|||||||
* To create a new instance type, create a new class inheriting from this class
|
* To create a new instance type, create a new class inheriting from this class
|
||||||
* and implement the pure virtual functions.
|
* and implement the pure virtual functions.
|
||||||
*/
|
*/
|
||||||
class MULTIMC_LOGIC_EXPORT BaseInstance : public QObject, public std::enable_shared_from_this<BaseInstance>
|
class BaseInstance : public QObject, public std::enable_shared_from_this<BaseInstance>
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
protected:
|
protected:
|
@ -21,7 +21,6 @@
|
|||||||
|
|
||||||
#include "BaseVersion.h"
|
#include "BaseVersion.h"
|
||||||
#include "tasks/Task.h"
|
#include "tasks/Task.h"
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
#include "QObjectPtr.h"
|
#include "QObjectPtr.h"
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -36,7 +35,7 @@
|
|||||||
* all have a default implementation, but they can be overridden by plugins to
|
* all have a default implementation, but they can be overridden by plugins to
|
||||||
* change the behavior of the list.
|
* change the behavior of the list.
|
||||||
*/
|
*/
|
||||||
class MULTIMC_LOGIC_EXPORT BaseVersionList : public QAbstractListModel
|
class BaseVersionList : public QAbstractListModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
1001
launcher/CMakeLists.txt
Normal file
1001
launcher/CMakeLists.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -25,8 +25,6 @@
|
|||||||
#include <QHash>
|
#include <QHash>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file libutil/include/cmdutils.h
|
* @file libutil/include/cmdutils.h
|
||||||
* @brief commandline parsing and processing utilities
|
* @brief commandline parsing and processing utilities
|
||||||
@ -40,7 +38,7 @@ namespace Commandline
|
|||||||
* @param args the argument string
|
* @param args the argument string
|
||||||
* @return a QStringList containing all arguments
|
* @return a QStringList containing all arguments
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT QStringList splitArgs(QString args);
|
QStringList splitArgs(QString args);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The FlagStyle enum
|
* @brief The FlagStyle enum
|
||||||
@ -83,7 +81,7 @@ enum Enum
|
|||||||
/**
|
/**
|
||||||
* @brief The ParsingError class
|
* @brief The ParsingError class
|
||||||
*/
|
*/
|
||||||
class MULTIMC_LOGIC_EXPORT ParsingError : public std::runtime_error
|
class ParsingError : public std::runtime_error
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ParsingError(const QString &what);
|
ParsingError(const QString &what);
|
||||||
@ -92,7 +90,7 @@ public:
|
|||||||
/**
|
/**
|
||||||
* @brief The Parser class
|
* @brief The Parser class
|
||||||
*/
|
*/
|
||||||
class MULTIMC_LOGIC_EXPORT Parser
|
class Parser
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
36
launcher/DesktopServices.h
Normal file
36
launcher/DesktopServices.h
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QUrl>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This wraps around QDesktopServices and adds workarounds where needed
|
||||||
|
* Use this instead of QDesktopServices!
|
||||||
|
*/
|
||||||
|
namespace DesktopServices
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Open a file in whatever application is applicable
|
||||||
|
*/
|
||||||
|
bool openFile(const QString &path);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open a file in the specified application
|
||||||
|
*/
|
||||||
|
bool openFile(const QString &application, const QString &path, const QString & workingDirectory = QString(), qint64 *pid = 0);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Run an application
|
||||||
|
*/
|
||||||
|
bool run(const QString &application,const QStringList &args, const QString & workingDirectory = QString(), qint64 *pid = 0);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open a directory
|
||||||
|
*/
|
||||||
|
bool openDirectory(const QString &path, bool ensureExists = false);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open the URL, most likely in a browser. Maybe.
|
||||||
|
*/
|
||||||
|
bool openUrl(const QUrl &url);
|
||||||
|
}
|
@ -5,8 +5,6 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
#include "QObjectPtr.h"
|
#include "QObjectPtr.h"
|
||||||
|
|
||||||
class QNetworkAccessManager;
|
class QNetworkAccessManager;
|
||||||
@ -25,7 +23,7 @@ class Index;
|
|||||||
#define ENV (Env::getInstance())
|
#define ENV (Env::getInstance())
|
||||||
|
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT Env
|
class Env
|
||||||
{
|
{
|
||||||
friend class MultiMC;
|
friend class MultiMC;
|
||||||
private:
|
private:
|
@ -6,9 +6,7 @@
|
|||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
class Exception : public std::exception
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT Exception : public std::exception
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Exception(const QString &message) : std::exception(), m_message(message)
|
Exception(const QString &message) : std::exception(), m_message(message)
|
@ -5,14 +5,13 @@
|
|||||||
#include "Exception.h"
|
#include "Exception.h"
|
||||||
#include "pathmatcher/IPathMatcher.h"
|
#include "pathmatcher/IPathMatcher.h"
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFlags>
|
#include <QFlags>
|
||||||
|
|
||||||
namespace FS
|
namespace FS
|
||||||
{
|
{
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT FileSystemException : public ::Exception
|
class FileSystemException : public ::Exception
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FileSystemException(const QString &message) : Exception(message) {}
|
FileSystemException(const QString &message) : Exception(message) {}
|
||||||
@ -21,31 +20,31 @@ public:
|
|||||||
/**
|
/**
|
||||||
* write data to a file safely
|
* write data to a file safely
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT void write(const QString &filename, const QByteArray &data);
|
void write(const QString &filename, const QByteArray &data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* read data from a file safely\
|
* read data from a file safely\
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT QByteArray read(const QString &filename);
|
QByteArray read(const QString &filename);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the last changed timestamp of an existing file
|
* Update the last changed timestamp of an existing file
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT bool updateTimestamp(const QString & filename);
|
bool updateTimestamp(const QString & filename);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates all the folders in a path for the specified path
|
* Creates all the folders in a path for the specified path
|
||||||
* last segment of the path is treated as a file name and is ignored!
|
* last segment of the path is treated as a file name and is ignored!
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT bool ensureFilePathExists(QString filenamepath);
|
bool ensureFilePathExists(QString filenamepath);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates all the folders in a path for the specified path
|
* Creates all the folders in a path for the specified path
|
||||||
* last segment of the path is treated as a folder name and is created!
|
* last segment of the path is treated as a folder name and is created!
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT bool ensureFolderPathExists(QString filenamepath);
|
bool ensureFolderPathExists(QString filenamepath);
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT copy
|
class copy
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
copy(const QString & src, const QString & dst)
|
copy(const QString & src, const QString & dst)
|
||||||
@ -81,13 +80,13 @@ private:
|
|||||||
/**
|
/**
|
||||||
* Delete a folder recursively
|
* Delete a folder recursively
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT bool deletePath(QString path);
|
bool deletePath(QString path);
|
||||||
|
|
||||||
MULTIMC_LOGIC_EXPORT QString PathCombine(const QString &path1, const QString &path2);
|
QString PathCombine(const QString &path1, const QString &path2);
|
||||||
MULTIMC_LOGIC_EXPORT QString PathCombine(const QString &path1, const QString &path2, const QString &path3);
|
QString PathCombine(const QString &path1, const QString &path2, const QString &path3);
|
||||||
MULTIMC_LOGIC_EXPORT QString PathCombine(const QString &path1, const QString &path2, const QString &path3, const QString &path4);
|
QString PathCombine(const QString &path1, const QString &path2, const QString &path3, const QString &path4);
|
||||||
|
|
||||||
MULTIMC_LOGIC_EXPORT QString AbsolutePath(QString path);
|
QString AbsolutePath(QString path);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolve an executable
|
* Resolve an executable
|
||||||
@ -99,7 +98,7 @@ MULTIMC_LOGIC_EXPORT QString AbsolutePath(QString path);
|
|||||||
*
|
*
|
||||||
* @return absolute path to executable or null string
|
* @return absolute path to executable or null string
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT QString ResolveExecutable(QString path);
|
QString ResolveExecutable(QString path);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Normalize path
|
* Normalize path
|
||||||
@ -109,20 +108,20 @@ MULTIMC_LOGIC_EXPORT QString ResolveExecutable(QString path);
|
|||||||
*
|
*
|
||||||
* Returns false if the path logic somehow filed (and normalizedPath in invalid)
|
* Returns false if the path logic somehow filed (and normalizedPath in invalid)
|
||||||
*/
|
*/
|
||||||
MULTIMC_LOGIC_EXPORT QString NormalizePath(QString path);
|
QString NormalizePath(QString path);
|
||||||
|
|
||||||
MULTIMC_LOGIC_EXPORT QString RemoveInvalidFilenameChars(QString string, QChar replaceWith = '-');
|
QString RemoveInvalidFilenameChars(QString string, QChar replaceWith = '-');
|
||||||
|
|
||||||
MULTIMC_LOGIC_EXPORT QString DirNameFromString(QString string, QString inDir = ".");
|
QString DirNameFromString(QString string, QString inDir = ".");
|
||||||
|
|
||||||
/// Checks if the a given Path contains "!"
|
/// Checks if the a given Path contains "!"
|
||||||
MULTIMC_LOGIC_EXPORT bool checkProblemticPathJava(QDir folder);
|
bool checkProblemticPathJava(QDir folder);
|
||||||
|
|
||||||
// Get the Directory representing the User's Desktop
|
// Get the Directory representing the User's Desktop
|
||||||
MULTIMC_LOGIC_EXPORT QString getDesktopDir();
|
QString getDesktopDir();
|
||||||
|
|
||||||
// Create a shortcut at *location*, pointing to *dest* called with the arguments *args*
|
// Create a shortcut at *location*, pointing to *dest* called with the arguments *args*
|
||||||
// call it *name* and assign it the icon *icon*
|
// call it *name* and assign it the icon *icon*
|
||||||
// return true if operation succeeded
|
// return true if operation succeeded
|
||||||
MULTIMC_LOGIC_EXPORT bool createShortCut(QString location, QString dest, QStringList args, QString name, QString iconLocation);
|
bool createShortCut(QString location, QString dest, QStringList args, QString name, QString iconLocation);
|
||||||
}
|
}
|
@ -3,16 +3,14 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
class Filter
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT Filter
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~Filter();
|
virtual ~Filter();
|
||||||
virtual bool accepts(const QString & value) = 0;
|
virtual bool accepts(const QString & value) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT ContainsFilter: public Filter
|
class ContainsFilter: public Filter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ContainsFilter(const QString &pattern);
|
ContainsFilter(const QString &pattern);
|
||||||
@ -22,7 +20,7 @@ private:
|
|||||||
QString pattern;
|
QString pattern;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT ExactFilter: public Filter
|
class ExactFilter: public Filter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ExactFilter(const QString &pattern);
|
ExactFilter(const QString &pattern);
|
||||||
@ -32,7 +30,7 @@ private:
|
|||||||
QString pattern;
|
QString pattern;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT RegexpFilter: public Filter
|
class RegexpFilter: public Filter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
RegexpFilter(const QString ®exp, bool invert);
|
RegexpFilter(const QString ®exp, bool invert);
|
@ -1,9 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <QByteArray>
|
#include <QByteArray>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
class GZip
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT GZip
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static bool unzip(const QByteArray &compressedBytes, QByteArray &uncompressedBytes);
|
static bool unzip(const QByteArray &compressedBytes, QByteArray &uncompressedBytes);
|
@ -1,7 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "tasks/Task.h"
|
#include "tasks/Task.h"
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
#include "net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include <QFuture>
|
#include <QFuture>
|
||||||
@ -11,7 +10,7 @@
|
|||||||
#include "BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
#include "InstanceTask.h"
|
#include "InstanceTask.h"
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT InstanceCopyTask : public InstanceTask
|
class InstanceCopyTask : public InstanceTask
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
@ -1,14 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "tasks/Task.h"
|
#include "tasks/Task.h"
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
#include "net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include "settings/SettingsObject.h"
|
#include "settings/SettingsObject.h"
|
||||||
#include "BaseVersion.h"
|
#include "BaseVersion.h"
|
||||||
#include "InstanceTask.h"
|
#include "InstanceTask.h"
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT InstanceCreationTask : public InstanceTask
|
class InstanceCreationTask : public InstanceTask
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
@ -16,7 +16,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "InstanceTask.h"
|
#include "InstanceTask.h"
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
#include "net/NetJob.h"
|
#include "net/NetJob.h"
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include <QFuture>
|
#include <QFuture>
|
||||||
@ -32,7 +31,7 @@ namespace Flame
|
|||||||
class FileResolvingTask;
|
class FileResolvingTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT InstanceImportTask : public InstanceTask
|
class InstanceImportTask : public InstanceTask
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
@ -22,8 +22,6 @@
|
|||||||
|
|
||||||
#include "BaseInstance.h"
|
#include "BaseInstance.h"
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
#include "QObjectPtr.h"
|
#include "QObjectPtr.h"
|
||||||
|
|
||||||
class QFileSystemWatcher;
|
class QFileSystemWatcher;
|
||||||
@ -49,7 +47,7 @@ enum class GroupsState
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT InstanceList : public QAbstractListModel
|
class InstanceList : public QAbstractListModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
@ -1,10 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "tasks/Task.h"
|
#include "tasks/Task.h"
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
#include "settings/SettingsObject.h"
|
#include "settings/SettingsObject.h"
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT InstanceTask : public Task
|
class InstanceTask : public Task
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
@ -16,32 +16,32 @@
|
|||||||
|
|
||||||
namespace Json
|
namespace Json
|
||||||
{
|
{
|
||||||
class MULTIMC_LOGIC_EXPORT JsonException : public ::Exception
|
class JsonException : public ::Exception
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
JsonException(const QString &message) : Exception(message) {}
|
JsonException(const QString &message) : Exception(message) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
/// @throw FileSystemException
|
/// @throw FileSystemException
|
||||||
MULTIMC_LOGIC_EXPORT void write(const QJsonDocument &doc, const QString &filename);
|
void write(const QJsonDocument &doc, const QString &filename);
|
||||||
/// @throw FileSystemException
|
/// @throw FileSystemException
|
||||||
MULTIMC_LOGIC_EXPORT void write(const QJsonObject &object, const QString &filename);
|
void write(const QJsonObject &object, const QString &filename);
|
||||||
/// @throw FileSystemException
|
/// @throw FileSystemException
|
||||||
MULTIMC_LOGIC_EXPORT void write(const QJsonArray &array, const QString &filename);
|
void write(const QJsonArray &array, const QString &filename);
|
||||||
|
|
||||||
MULTIMC_LOGIC_EXPORT QByteArray toBinary(const QJsonObject &obj);
|
QByteArray toBinary(const QJsonObject &obj);
|
||||||
MULTIMC_LOGIC_EXPORT QByteArray toBinary(const QJsonArray &array);
|
QByteArray toBinary(const QJsonArray &array);
|
||||||
MULTIMC_LOGIC_EXPORT QByteArray toText(const QJsonObject &obj);
|
QByteArray toText(const QJsonObject &obj);
|
||||||
MULTIMC_LOGIC_EXPORT QByteArray toText(const QJsonArray &array);
|
QByteArray toText(const QJsonArray &array);
|
||||||
|
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
MULTIMC_LOGIC_EXPORT QJsonDocument requireDocument(const QByteArray &data, const QString &what = "Document");
|
QJsonDocument requireDocument(const QByteArray &data, const QString &what = "Document");
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
MULTIMC_LOGIC_EXPORT QJsonDocument requireDocument(const QString &filename, const QString &what = "Document");
|
QJsonDocument requireDocument(const QString &filename, const QString &what = "Document");
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
MULTIMC_LOGIC_EXPORT QJsonObject requireObject(const QJsonDocument &doc, const QString &what = "Document");
|
QJsonObject requireObject(const QJsonDocument &doc, const QString &what = "Document");
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
MULTIMC_LOGIC_EXPORT QJsonArray requireArray(const QJsonDocument &doc, const QString &what = "Document");
|
QJsonArray requireArray(const QJsonDocument &doc, const QString &what = "Document");
|
||||||
|
|
||||||
/////////////////// WRITING ////////////////////
|
/////////////////// WRITING ////////////////////
|
||||||
|
|
||||||
@ -84,31 +84,31 @@ template <typename T>
|
|||||||
T requireIsType(const QJsonValue &value, const QString &what = "Value");
|
T requireIsType(const QJsonValue &value, const QString &what = "Value");
|
||||||
|
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT double requireIsType<double>(const QJsonValue &value, const QString &what);
|
template<> double requireIsType<double>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT bool requireIsType<bool>(const QJsonValue &value, const QString &what);
|
template<> bool requireIsType<bool>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT int requireIsType<int>(const QJsonValue &value, const QString &what);
|
template<> int requireIsType<int>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QJsonObject requireIsType<QJsonObject>(const QJsonValue &value, const QString &what);
|
template<> QJsonObject requireIsType<QJsonObject>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QJsonArray requireIsType<QJsonArray>(const QJsonValue &value, const QString &what);
|
template<> QJsonArray requireIsType<QJsonArray>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QJsonValue requireIsType<QJsonValue>(const QJsonValue &value, const QString &what);
|
template<> QJsonValue requireIsType<QJsonValue>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QByteArray requireIsType<QByteArray>(const QJsonValue &value, const QString &what);
|
template<> QByteArray requireIsType<QByteArray>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QDateTime requireIsType<QDateTime>(const QJsonValue &value, const QString &what);
|
template<> QDateTime requireIsType<QDateTime>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QVariant requireIsType<QVariant>(const QJsonValue &value, const QString &what);
|
template<> QVariant requireIsType<QVariant>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QString requireIsType<QString>(const QJsonValue &value, const QString &what);
|
template<> QString requireIsType<QString>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QUuid requireIsType<QUuid>(const QJsonValue &value, const QString &what);
|
template<> QUuid requireIsType<QUuid>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QDir requireIsType<QDir>(const QJsonValue &value, const QString &what);
|
template<> QDir requireIsType<QDir>(const QJsonValue &value, const QString &what);
|
||||||
/// @throw JsonException
|
/// @throw JsonException
|
||||||
template<> MULTIMC_LOGIC_EXPORT QUrl requireIsType<QUrl>(const QJsonValue &value, const QString &what);
|
template<> QUrl requireIsType<QUrl>(const QJsonValue &value, const QString &what);
|
||||||
|
|
||||||
// the following functions are higher level functions, that make use of the above functions for
|
// the following functions are higher level functions, that make use of the above functions for
|
||||||
// type conversion
|
// type conversion
|
@ -17,13 +17,12 @@
|
|||||||
|
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include "MessageLevel.h"
|
#include "MessageLevel.h"
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is a basic process.
|
* This is a basic process.
|
||||||
* It has line-based logging support and hides some of the nasty bits.
|
* It has line-based logging support and hides some of the nasty bits.
|
||||||
*/
|
*/
|
||||||
class MULTIMC_LOGIC_EXPORT LoggedProcess : public QProcess
|
class LoggedProcess : public QProcess
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
8
launcher/MMCStrings.h
Normal file
8
launcher/MMCStrings.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
namespace Strings
|
||||||
|
{
|
||||||
|
int naturalCompare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs);
|
||||||
|
}
|
@ -21,8 +21,6 @@
|
|||||||
#include "minecraft/mod/Mod.h"
|
#include "minecraft/mod/Mod.h"
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
#include <JlCompress.h>
|
#include <JlCompress.h>
|
||||||
#include <nonstd/optional>
|
#include <nonstd/optional>
|
||||||
|
|
||||||
@ -32,20 +30,20 @@ namespace MMCZip
|
|||||||
/**
|
/**
|
||||||
* Merge two zip files, using a filter function
|
* Merge two zip files, using a filter function
|
||||||
*/
|
*/
|
||||||
bool MULTIMC_LOGIC_EXPORT mergeZipFiles(QuaZip *into, QFileInfo from, QSet<QString> &contained,
|
bool mergeZipFiles(QuaZip *into, QFileInfo from, QSet<QString> &contained,
|
||||||
const JlCompress::FilterFunction filter = nullptr);
|
const JlCompress::FilterFunction filter = nullptr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* take a source jar, add mods to it, resulting in target jar
|
* take a source jar, add mods to it, resulting in target jar
|
||||||
*/
|
*/
|
||||||
bool MULTIMC_LOGIC_EXPORT createModdedJar(QString sourceJarPath, QString targetJarPath, const QList<Mod>& mods);
|
bool createModdedJar(QString sourceJarPath, QString targetJarPath, const QList<Mod>& mods);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find a single file in archive by file name (not path)
|
* Find a single file in archive by file name (not path)
|
||||||
*
|
*
|
||||||
* \return the path prefix where the file is
|
* \return the path prefix where the file is
|
||||||
*/
|
*/
|
||||||
QString MULTIMC_LOGIC_EXPORT findFolderOfFileInZip(QuaZip * zip, const QString & what, const QString &root = QString(""));
|
QString findFolderOfFileInZip(QuaZip * zip, const QString & what, const QString &root = QString(""));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find a multiple files of the same name in archive by file name
|
* Find a multiple files of the same name in archive by file name
|
||||||
@ -53,14 +51,14 @@ namespace MMCZip
|
|||||||
*
|
*
|
||||||
* \return true if anything was found
|
* \return true if anything was found
|
||||||
*/
|
*/
|
||||||
bool MULTIMC_LOGIC_EXPORT findFilesInZip(QuaZip * zip, const QString & what, QStringList & result, const QString &root = QString());
|
bool findFilesInZip(QuaZip * zip, const QString & what, QStringList & result, const QString &root = QString());
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extract a subdirectory from an archive
|
* Extract a subdirectory from an archive
|
||||||
*/
|
*/
|
||||||
nonstd::optional<QStringList> MULTIMC_LOGIC_EXPORT extractSubDir(QuaZip *zip, const QString & subdir, const QString &target);
|
nonstd::optional<QStringList> extractSubDir(QuaZip *zip, const QString & subdir, const QString &target);
|
||||||
|
|
||||||
bool MULTIMC_LOGIC_EXPORT extractRelFile(QuaZip *zip, const QString & file, const QString &target);
|
bool extractRelFile(QuaZip *zip, const QString & file, const QString &target);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extract a whole archive.
|
* Extract a whole archive.
|
||||||
@ -69,7 +67,7 @@ namespace MMCZip
|
|||||||
* \param dir The directory to extract to, the current directory if left empty.
|
* \param dir The directory to extract to, the current directory if left empty.
|
||||||
* \return The list of the full paths of the files extracted, empty on failure.
|
* \return The list of the full paths of the files extracted, empty on failure.
|
||||||
*/
|
*/
|
||||||
nonstd::optional<QStringList> MULTIMC_LOGIC_EXPORT extractDir(QString fileCompressed, QString dir);
|
nonstd::optional<QStringList> extractDir(QString fileCompressed, QString dir);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extract a subdirectory from an archive
|
* Extract a subdirectory from an archive
|
||||||
@ -79,7 +77,7 @@ namespace MMCZip
|
|||||||
* \param dir The directory to extract to, the current directory if left empty.
|
* \param dir The directory to extract to, the current directory if left empty.
|
||||||
* \return The list of the full paths of the files extracted, empty on failure.
|
* \return The list of the full paths of the files extracted, empty on failure.
|
||||||
*/
|
*/
|
||||||
nonstd::optional<QStringList> MULTIMC_LOGIC_EXPORT extractDir(QString fileCompressed, QString subdir, QString dir);
|
nonstd::optional<QStringList> extractDir(QString fileCompressed, QString subdir, QString dir);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extract a single file from an archive into a directory
|
* Extract a single file from an archive into a directory
|
||||||
@ -89,6 +87,6 @@ namespace MMCZip
|
|||||||
* \param dir The directory to extract to, the current directory if left empty.
|
* \param dir The directory to extract to, the current directory if left empty.
|
||||||
* \return true for success or false for failure
|
* \return true for success or false for failure
|
||||||
*/
|
*/
|
||||||
bool MULTIMC_LOGIC_EXPORT extractFile(QString fileCompressed, QString file, QString dir);
|
bool extractFile(QString fileCompressed, QString file, QString dir);
|
||||||
|
|
||||||
}
|
}
|
@ -1,7 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
enum class ProblemSeverity
|
enum class ProblemSeverity
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
@ -15,7 +13,7 @@ struct PatchProblem
|
|||||||
QString m_description;
|
QString m_description;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT ProblemProvider
|
class ProblemProvider
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~ProblemProvider() {};
|
virtual ~ProblemProvider() {};
|
||||||
@ -23,7 +21,7 @@ public:
|
|||||||
virtual ProblemSeverity getProblemSeverity() const = 0;
|
virtual ProblemSeverity getProblemSeverity() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT ProblemContainer : public ProblemProvider
|
class ProblemContainer : public ProblemProvider
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
const QList<PatchProblem> getProblems() const override
|
const QList<PatchProblem> getProblems() const override
|
@ -4,9 +4,7 @@
|
|||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include "pathmatcher/IPathMatcher.h"
|
#include "pathmatcher/IPathMatcher.h"
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
class RecursiveFileSystemWatcher : public QObject
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT RecursiveFileSystemWatcher : public QObject
|
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
@ -17,9 +17,7 @@
|
|||||||
|
|
||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
|
|
||||||
#include "multimc_gui_export.h"
|
|
||||||
|
|
||||||
namespace SkinUtils
|
namespace SkinUtils
|
||||||
{
|
{
|
||||||
QPixmap MULTIMC_GUI_EXPORT getFaceFromCache(QString id, int height = 64, int width = 64);
|
QPixmap getFaceFromCache(QString id, int height = 64, int width = 64);
|
||||||
}
|
}
|
@ -3,11 +3,9 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QList>
|
#include <QList>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
|
||||||
|
|
||||||
class QUrl;
|
class QUrl;
|
||||||
|
|
||||||
class MULTIMC_LOGIC_EXPORT Version
|
class Version
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Version(const QString &str);
|
Version(const QString &str);
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user