# HG changeset patch # User unc0rr # Date 1353177930 -14400 # Node ID 133e22b5c4103b6dff2bbdcfa6a46b816c7c361c # Parent 4d3415927d2cb8cfabc9f05fd14fe67ea19c7c9c Get rid of DataManager::findFileForRead diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/campaign.cpp --- a/QTfrontend/campaign.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/campaign.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -56,7 +56,7 @@ QStringList getCampMissionList(QString & campaign) { - QSettings campfile(DataManager::instance().findFileForRead("Missions/Campaign/" + campaign + "/campaign.ini"), QSettings::IniFormat, 0); + QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0); campfile.setIniCodec("UTF-8"); unsigned int mNum = campfile.value("MissionNum", 0).toInt(); @@ -77,7 +77,7 @@ QString getCampaignScript(QString campaign, unsigned int mNum) { - QSettings campfile(DataManager::instance().findFileForRead("Missions/Campaign/" + campaign + "/campaign.ini"), QSettings::IniFormat, 0); + QSettings campfile("physfs://Missions/Campaign/" + campaign + "/campaign.ini", QSettings::IniFormat, 0); campfile.setIniCodec("UTF-8"); return campfile.value(QString("Mission %1/Script").arg(mNum)).toString(); } diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/hwform.cpp --- a/QTfrontend/hwform.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/hwform.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -122,9 +122,7 @@ , hwnet(0) { // set music track - SDLInteraction::instance().setMusicTrack( - DataManager::instance().findFileForRead("Music/main_theme.ogg") - ); + SDLInteraction::instance().setMusicTrack("/Music/main_theme.ogg"); #ifdef USE_XFIRE xfire_init(); diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/main.cpp --- a/QTfrontend/main.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/main.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -227,8 +227,6 @@ engine.mount(cfgdir->absolutePath(), "/config"); engine.setWriteDir(cfgdir->absolutePath()); - DataManager & dataMgr = DataManager::instance(); - QTranslator Translator; { QSettings settings("physfs://config/hedgewars.ini", QSettings::IniFormat); @@ -280,7 +278,7 @@ } // load external stylesheet if there is any - QFile extFile(dataMgr.findFileForRead("css/" + fname)); + QFile extFile("physfs://css/" + fname); QFile resFile(":/res/css/" + fname); diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/model/GameStyleModel.cpp --- a/QTfrontend/model/GameStyleModel.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/model/GameStyleModel.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -55,8 +55,7 @@ { script = script.remove(".lua", Qt::CaseInsensitive); - QFile scriptCfgFile(DataManager::instance().findFileForRead( - QString("Scripts/Multiplayer/%2.cfg").arg(script))); + QFile scriptCfgFile(QString("physfs://Scripts/Multiplayer/%2.cfg").arg(script)); QString name = script; name = name.replace("_", " "); diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/model/HatModel.cpp --- a/QTfrontend/model/HatModel.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/model/HatModel.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -46,9 +46,7 @@ DataManager & dataMgr = DataManager::instance(); - QPixmap hhpix = QPixmap( - dataMgr.findFileForRead("Graphics/Hedgehog/Idle.png") - ).copy(0, 0, 32, 32); + QPixmap hhpix = QPixmap("physfs://Graphics/Hedgehog/Idle.png").copy(0, 0, 32, 32); // my reserved hats QStringList hatsList = dataMgr.entryList( @@ -76,11 +74,9 @@ QString str = hatsList.at(i); str = str.remove(QRegExp("\\.png$")); - QPixmap pix( - dataMgr.findFileForRead( - "Graphics/Hats/" + QString(isReserved?"Reserved/":"") + str + - ".png" - ) + QPixmap pix( + "physfs://Graphics/Hats/" + QString(isReserved?"Reserved/":"") + str + + ".png" ); // rename properly diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/model/MapModel.cpp --- a/QTfrontend/model/MapModel.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/model/MapModel.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -62,10 +62,8 @@ // add mission/static maps to lists foreach (QString map, maps) { - mapCfgFile.setFileName( - datamgr.findFileForRead(QString("Maps/%1/map.cfg").arg(map))); - mapLuaFile.setFileName( - datamgr.findFileForRead(QString("Maps/%1/map.lua").arg(map))); + mapCfgFile.setFileName(QString("physfs://Maps/%1/map.cfg").arg(map)); + mapLuaFile.setFileName(QString("physfs://Maps/%1/map.lua").arg(map)); if (mapCfgFile.open(QFile::ReadOnly)) diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/model/ThemeModel.cpp --- a/QTfrontend/model/ThemeModel.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/model/ThemeModel.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -66,8 +66,7 @@ foreach (QString theme, themes) { // themes without icon are supposed to be hidden - QString iconpath = - datamgr.findFileForRead(QString("Themes/%1/icon.png").arg(theme)); + QString iconpath = QString("physfs://Themes/%1/icon.png").arg(theme); if (!QFile::exists(iconpath)) continue; @@ -83,7 +82,7 @@ dataset.insert(Qt::DecorationRole, icon); // load and set preview icon - QIcon preview(datamgr.findFileForRead(QString("Themes/%1/icon@2x.png").arg(theme))); + QIcon preview(QString("physfs://Themes/%1/icon@2x.png").arg(theme)); dataset.insert(Qt::UserRole, preview); m_data.append(dataset); diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/ui/mouseoverfilter.cpp --- a/QTfrontend/ui/mouseoverfilter.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/ui/mouseoverfilter.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -41,8 +41,7 @@ QTabWidget * tab = dynamic_cast(dist); if (HWForm::config->isFrontendSoundEnabled() && (button || textfield || checkbox || droplist || slider || tab)) { - DataManager & dataMgr = DataManager::instance(); - SDLInteraction::instance().playSoundFile(dataMgr.findFileForRead("Sounds/steps.ogg")); + SDLInteraction::instance().playSoundFile("/Sounds/steps.ogg"); } return true; diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/ui/page/pageeditteam.cpp --- a/QTfrontend/ui/page/pageeditteam.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/ui/page/pageeditteam.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -270,7 +270,7 @@ foreach (QString file, list) { - QPixmap pix(dataMgr.findFileForRead("Graphics/Graves/" + file)); + QPixmap pix("physfs://Graphics/Graves/" + file); if ((pix.height() > 32) || pix.width() > 32) pix = pix.copy(0, 0, 32, 32); QIcon icon(pix); @@ -297,7 +297,7 @@ list.removeAt(idx); // add the default flag - QPixmap hwFlag(dataMgr.findFileForRead("Graphics/Flags/hedgewars.png")); + QPixmap hwFlag("physfs://Graphics/Flags/hedgewars.png"); CBFlag->addItem(QIcon(hwFlag.copy(0, 0, 22, 15)), "Hedgewars", "hedgewars"); // add seperator after @@ -308,7 +308,7 @@ // add all country flags foreach (const QString & file, list) { - QIcon icon(QPixmap(dataMgr.findFileForRead("Graphics/Flags/" + file))); + QIcon icon(QPixmap("physfs://Graphics/Flags/" + file)); QString flag = QString(file).remove(pngSuffix); @@ -337,8 +337,7 @@ void PageEditTeam::CBFort_activated(const QString & fortname) { - DataManager & dataMgr = DataManager::instance(); - QPixmap pix(dataMgr.findFileForRead("Forts/" + fortname + "L.png")); + QPixmap pix("physfs://Forts/" + fortname + "L.png"); FortPreview->setPixmap(pix); } @@ -360,10 +359,8 @@ ); if (!list.isEmpty()) - SDLInteraction::instance().playSoundFile( - dataMgr.findFileForRead(voiceDir + "/" + - list[rand() % list.size()]) - ); + SDLInteraction::instance().playSoundFile("physfs://" + voiceDir + "/" + + list[rand() % list.size()]); } void PageEditTeam::createTeam(const QString & name, const QString & playerHash) diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/ui/page/pagetraining.cpp --- a/QTfrontend/ui/page/pagetraining.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/ui/page/pagetraining.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -125,17 +125,15 @@ if (loc.isEmpty()) loc = QLocale::system().name(); - QString infoFile = dataMgr.findFileForRead( - QString("Locale/missions_" + loc + ".txt")); + QString infoFile = QString("physfs://Locale/missions_" + loc + ".txt"); // if file is non-existant try with language only if (!QFile::exists(infoFile)) - infoFile = dataMgr.findFileForRead(QString( - "Locale/missions_" + loc.remove(QRegExp("_.*$")) + ".txt")); + infoFile = QString("physfs://Locale/missions_" + loc.remove(QRegExp("_.*$")) + ".txt"); // fallback if file for current locale is non-existant if (!QFile::exists(infoFile)) - infoFile = dataMgr.findFileForRead(QString("Locale/missions_en.txt")); + infoFile = QString("physfs://Locale/missions_en.txt"); // preload mission info for current locale @@ -186,15 +184,12 @@ void PageTraining::updateInfo() { - DataManager & dataMgr = DataManager::instance(); - if (lstMissions->currentItem()) { // TODO also use .pngs in userdata folder - QString thumbFile = dataMgr.findFileForRead( - "Graphics/Missions/Training/" + + QString thumbFile = "physfs://Graphics/Missions/Training/" + lstMissions->currentItem()->data(Qt::UserRole).toString() + - "@2x.png"); + "@2x.png"; if (QFile::exists(thumbFile)) btnPreview->setIcon(QIcon(thumbFile)); diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/ui/widget/chatwidget.cpp --- a/QTfrontend/ui/widget/chatwidget.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/ui/widget/chatwidget.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -64,7 +64,7 @@ if (orgStyleSheet.isEmpty()) { // load external stylesheet if there is any - QFile extFile(DataManager::instance().findFileForRead("css/chat.css")); + QFile extFile("physfs://css/chat.css"); QFile resFile(":/res/css/chat.css"); @@ -194,12 +194,10 @@ foreach (QString vp, vpList) { - m_helloSounds.append(DataManager::instance().findFileForRead( - QString("Sounds/voices/%1/Hello.ogg").arg(vp))); + m_helloSounds.append(QString("physfs://Sounds/voices/%1/Hello.ogg").arg(vp)); } - m_hilightSound = DataManager::instance().findFileForRead( - "Sounds/beep.ogg"); + m_hilightSound = "physfs://Sounds/beep.ogg"; } @@ -762,8 +760,7 @@ void HWChatWidget::saveStyleSheet() { - QString dest = - DataManager::instance().findFileForWrite("css/chat.css"); + QString dest = "physfs://css/chat.css"; QFile file(dest); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/ui/widget/mapContainer.cpp --- a/QTfrontend/ui/widget/mapContainer.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/ui/widget/mapContainer.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -606,10 +606,7 @@ break; default: QPixmap mapImage; - bool success = mapImage.load( - DataManager::instance().findFileForRead( - "Maps/" + m_mapInfo.name + "/preview.png") - ); + bool success = mapImage.load("physfs://Maps/" + m_mapInfo.name + "/preview.png"); if(!success) { diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/ui/widget/qpushbuttonwithsound.cpp --- a/QTfrontend/ui/widget/qpushbuttonwithsound.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/ui/widget/qpushbuttonwithsound.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -36,8 +36,6 @@ if ( !isSoundEnabled || !HWForm::config->isFrontendSoundEnabled()) return; - DataManager & dataMgr = DataManager::instance(); - if (this->isEnabled()) - SDLInteraction::instance().playSoundFile(dataMgr.findFileForRead("Sounds/roperelease.ogg")); + SDLInteraction::instance().playSoundFile("/Sounds/roperelease.ogg"); } diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/util/DataManager.cpp --- a/QTfrontend/util/DataManager.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/util/DataManager.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -74,28 +74,6 @@ return result; } - -QString DataManager::findFileForRead( - const QString & relativeDataFilePath) const -{ - QString path("physfs://%1"); - - return path.arg(relativeDataFilePath); -} - - -QString DataManager::findFileForWrite( - const QString & relativeDataFilePath) const -{ - QString path("physfs://%1"); - - // create folders if needed - QDir tmp; - tmp.mkpath(QFileInfo(path.arg(relativeDataFilePath)).absolutePath()); - - return path; -} - GameStyleModel * DataManager::gameStyleModel() { if (m_gameStyleModel == NULL) { diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/util/DataManager.h --- a/QTfrontend/util/DataManager.h Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/util/DataManager.h Sat Nov 17 22:45:30 2012 +0400 @@ -70,28 +70,6 @@ ) const; /** - * @brief Returns the path for the desires data file. - * - * Use this method if you want to read an existing data file. - * - * @param relativeDataFilePath relative path of the data file. - * @return real path to the file. - */ - QString findFileForRead(const QString & relativeDataFilePath) const; - - - /** - * @brief Returns the path for the data file that is to be written. - * - * Use this method if you want to create or write into a data file. - * - * @param relativeDataFilePath relative path of data file write path. - * @return destination of path data file. - */ - QString findFileForWrite(const QString & relativeDataFilePath) const; - - - /** * @brief Returns pointer to a model of available game styles. * * The model is updated automatically on data reload. diff -r 4d3415927d2c -r 133e22b5c410 QTfrontend/util/namegen.cpp --- a/QTfrontend/util/namegen.cpp Sat Nov 17 22:07:17 2012 +0400 +++ b/QTfrontend/util/namegen.cpp Sat Nov 17 22:45:30 2012 +0400 @@ -125,8 +125,7 @@ QStringList list; // find .txt to load the names from - QFile * file = new QFile(DataManager::instance().findFileForRead(QString( - "Names/%1.txt").arg(filename))); + QFile * file = new QFile(QString("physfs://Names/%1.txt").arg(filename)); if (file->exists() && file->open(QIODevice::ReadOnly | QIODevice::Text)) { @@ -154,8 +153,7 @@ QStringList list; // find .cfg to load the dicts from - QFile * file = new QFile(DataManager::instance().findFileForRead(QString( - "Names/%1.cfg").arg(hatname))); + QFile * file = new QFile(QString("physfs://Names/%1.cfg").arg(hatname)); if (file->exists() && file->open(QIODevice::ReadOnly | QIODevice::Text)) { @@ -183,8 +181,7 @@ typesAvailable = false; // find .ini to load the names from - QFile * file = new QFile( - DataManager::instance().findFileForRead(QString("Names/types.ini"))); + QFile * file = new QFile(QString("physfs://Names/types.ini")); if (file->exists() && file->open(QIODevice::ReadOnly | QIODevice::Text))