VCMIDirs::VCMIDirs() { // initialize local directory and create folders to which VCMI needs write access boost::filesystem::create_directory(userDataPath()); boost::filesystem::create_directory(userCachePath()); boost::filesystem::create_directory(userConfigPath()); boost::filesystem::create_directory(userSavePath()); }
SqlDatabase::SqlDatabase() : QSqlDatabase("QSQLITE") { QString path = QStandardPaths::writableLocation(QStandardPaths::DataLocation); QString dbPath = QDir::toNativeSeparators(path + "/mmmmp.db"); QDir userDataPath(path); // Init a new database file for settings QFile db(dbPath); if (!userDataPath.exists(path)) { userDataPath.mkpath(path); } db.open(QIODevice::ReadWrite); db.close(); setDatabaseName(dbPath); if (open()) { exec("CREATE TABLE IF NOT EXISTS playlists (absPath varchar(255), name varchar(255), hash varchar(255))"); exec("CREATE INDEX indexPlaylists ON playlists (absPath)"); close(); } }
std::string VCMIDirs::serverPath() const { return userDataPath() + "\\" + "VCMI_server.exe"; }
std::string VCMIDirs::libraryPath() const { return userDataPath(); }
std::string VCMIDirs::userSavePath() const { return userDataPath() + "/Games"; }
std::string VCMIDirs::userConfigPath() const { return userDataPath() + "/config"; }
std::string VCMIDirs::userCachePath() const { return userDataPath(); }