MassManager: move some fields to SaveTool.
This commit is contained in:
parent
241f5b754d
commit
688e61b9ae
6 changed files with 21 additions and 24 deletions
|
@ -24,11 +24,11 @@
|
|||
|
||||
static const std::string empty_string = "";
|
||||
|
||||
MassManager::MassManager(const std::string& save_path, const std::string& steam_id, bool demo):
|
||||
MassManager::MassManager(const std::string& save_path, const std::string& steam_id, bool demo, const std::string& staging_dir):
|
||||
_saveDirectory{save_path},
|
||||
_steamId{steam_id},
|
||||
_demo{demo},
|
||||
_stagingAreaDirectory{Utility::Directory::join(Utility::Directory::path(Utility::Directory::executableLocation()), "staging")}
|
||||
_stagingAreaDirectory{staging_dir}
|
||||
{
|
||||
Containers::arrayReserve(_hangars, 32);
|
||||
|
||||
|
@ -45,14 +45,6 @@ MassManager::MassManager(const std::string& save_path, const std::string& steam_
|
|||
refreshStagedMasses();
|
||||
}
|
||||
|
||||
auto MassManager::saveDirectory() -> std::string const& {
|
||||
return _saveDirectory;
|
||||
}
|
||||
|
||||
auto MassManager::stagingAreaDirectory() -> std::string const& {
|
||||
return _stagingAreaDirectory;
|
||||
}
|
||||
|
||||
auto MassManager::lastError() -> std::string const& {
|
||||
return _lastError;
|
||||
}
|
||||
|
|
|
@ -27,10 +27,7 @@ using namespace Corrade;
|
|||
|
||||
class MassManager {
|
||||
public:
|
||||
MassManager(const std::string& save_path, const std::string& steam_id, bool demo);
|
||||
|
||||
auto saveDirectory() -> std::string const&;
|
||||
auto stagingAreaDirectory() -> std::string const&;
|
||||
MassManager(const std::string& save_path, const std::string& steam_id, bool demo, const std::string& staging_dir);
|
||||
|
||||
auto lastError() -> std::string const&;
|
||||
|
||||
|
@ -50,15 +47,15 @@ class MassManager {
|
|||
auto deleteStagedMass(const std::string& filename) -> bool;
|
||||
|
||||
private:
|
||||
std::string _saveDirectory;
|
||||
std::string _steamId;
|
||||
const std::string& _saveDirectory;
|
||||
const std::string& _steamId;
|
||||
bool _demo;
|
||||
|
||||
std::string _lastError;
|
||||
|
||||
Containers::Array<Mass> _hangars;
|
||||
|
||||
const std::string _stagingAreaDirectory;
|
||||
const std::string& _stagingAreaDirectory;
|
||||
|
||||
std::map<std::string, std::string> _stagedMasses;
|
||||
};
|
||||
|
|
|
@ -88,11 +88,16 @@ SaveTool::SaveTool(const Arguments& arguments):
|
|||
}
|
||||
|
||||
_backupsDir = Utility::Directory::join(Utility::Directory::path(Utility::Directory::executableLocation()), "backups");
|
||||
_stagingDir = Utility::Directory::join(Utility::Directory::path(Utility::Directory::executableLocation()), "staging");
|
||||
|
||||
if(!Utility::Directory::exists(_backupsDir)) {
|
||||
Utility::Directory::mkpath(_backupsDir);
|
||||
}
|
||||
|
||||
if(!Utility::Directory::exists(_stagingDir)) {
|
||||
Utility::Directory::mkpath(_stagingDir);
|
||||
}
|
||||
|
||||
if(!findGameDataDirectory()) {
|
||||
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error initialising the app", _lastError.c_str(), window());
|
||||
exit(EXIT_FAILURE);
|
||||
|
@ -345,7 +350,8 @@ void SaveTool::initialiseMassManager() {
|
|||
|
||||
_massManager.emplace(_saveDir,
|
||||
_currentProfile->steamId(),
|
||||
_currentProfile->type() == ProfileType::Demo);
|
||||
_currentProfile->type() == ProfileType::Demo,
|
||||
_stagingDir);
|
||||
|
||||
initialiseFileWatcher();
|
||||
}
|
||||
|
@ -353,7 +359,7 @@ void SaveTool::initialiseMassManager() {
|
|||
void SaveTool::initialiseFileWatcher() {
|
||||
_fileWatcher.emplace();
|
||||
_watchIDs[SaveDir] = _fileWatcher->addWatch(_saveDir, this, false);
|
||||
_watchIDs[StagingDir] = _fileWatcher->addWatch(_massManager->stagingAreaDirectory(), this, false);
|
||||
_watchIDs[StagingDir] = _fileWatcher->addWatch(_stagingDir, this, false);
|
||||
_fileWatcher->watch();
|
||||
}
|
||||
|
||||
|
|
|
@ -166,6 +166,7 @@ class SaveTool: public Platform::Sdl2Application, public efsw::FileWatchListener
|
|||
std::string _screenshotsDir;
|
||||
|
||||
std::string _backupsDir;
|
||||
std::string _stagingDir;
|
||||
|
||||
enum class GameState : UnsignedByte {
|
||||
Unknown, NotRunning, Running
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <algorithm>
|
||||
|
||||
#include <Corrade/Containers/Reference.h>
|
||||
#include <Corrade/Utility/Directory.h>
|
||||
#include <Corrade/Utility/FormatStl.h>
|
||||
#include <Corrade/Utility/String.h>
|
||||
|
||||
|
@ -528,7 +529,7 @@ void SaveTool::drawMassManager() {
|
|||
ImGui::TextUnformatted("Staging area");
|
||||
ImGui::SameLine();
|
||||
if(ImGui::SmallButton(ICON_FA_FOLDER_OPEN " Open staging folder")) {
|
||||
openUri(_massManager->stagingAreaDirectory());
|
||||
openUri(Utility::Directory::toNativeSeparators(_stagingDir));
|
||||
}
|
||||
|
||||
for(const auto& pair : _massManager->stagedMasses()) {
|
||||
|
|
|
@ -41,14 +41,14 @@ void SaveTool::drawMainMenu() {
|
|||
}
|
||||
|
||||
if(ImGui::BeginMenu(ICON_FA_FOLDER_OPEN " Open manager directory")) {
|
||||
if(ImGui::MenuItem(ICON_FA_EXCHANGE_ALT " Staging area", nullptr, false, _massManager != nullptr)) {
|
||||
openUri(Utility::Directory::toNativeSeparators(_massManager->stagingAreaDirectory()));
|
||||
}
|
||||
|
||||
if(ImGui::MenuItem(ICON_FA_FILE_ARCHIVE " Profile backups", nullptr, false, _profileManager != nullptr)) {
|
||||
openUri(Utility::Directory::toNativeSeparators(_backupsDir));
|
||||
}
|
||||
|
||||
if(ImGui::MenuItem(ICON_FA_EXCHANGE_ALT " Staging area", nullptr, false, _massManager != nullptr)) {
|
||||
openUri(Utility::Directory::toNativeSeparators(_stagingDir));
|
||||
}
|
||||
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue