NOISSUE Flatten gui and logic libraries into MultiMC
This commit is contained in:
		| @@ -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
		Reference in New Issue
	
	Block a user
	 Petr Mrázek
					Petr Mrázek