Commit b566bf4a authored by Fabio Bas's avatar Fabio Bas
Browse files

Load additional xml sets from $userprofile/customsets/

parent 292d730c
...@@ -1053,6 +1053,18 @@ void CardDatabase::loadTokenDatabase() ...@@ -1053,6 +1053,18 @@ void CardDatabase::loadTokenDatabase()
loadCardDatabase(settingsCache->getTokenDatabasePath(), true); loadCardDatabase(settingsCache->getTokenDatabasePath(), true);
} }
void CardDatabase::loadCustomCardDatabases(const QString &path)
{
QDir dir(path);
if(!dir.exists())
return;
foreach(QString fileName, dir.entryList(QStringList("*.xml"), QDir::Files | QDir::Readable, QDir::Name))
{
loadCardDatabase(dir.absoluteFilePath(fileName), false);
}
}
QStringList CardDatabase::getAllColors() const QStringList CardDatabase::getAllColors() const
{ {
QSet<QString> colors; QSet<QString> colors;
......
...@@ -271,6 +271,7 @@ public: ...@@ -271,6 +271,7 @@ public:
public slots: public slots:
void clearPixmapCache(); void clearPixmapCache();
LoadStatus loadCardDatabase(const QString &path, bool tokens = false); LoadStatus loadCardDatabase(const QString &path, bool tokens = false);
void loadCustomCardDatabases(const QString &path);
void emitCardListChanged(); void emitCardListChanged();
private slots: private slots:
void imageLoaded(CardInfo *card, QImage image); void imageLoaded(CardInfo *card, QImage image);
......
...@@ -164,6 +164,13 @@ int main(int argc, char *argv[]) ...@@ -164,6 +164,13 @@ int main(int argc, char *argv[])
} }
if (!QDir().mkpath(settingsCache->getPicsPath() + "/CUSTOM")) if (!QDir().mkpath(settingsCache->getPicsPath() + "/CUSTOM"))
qDebug() << "Could not create " + settingsCache->getPicsPath().toUtf8() + "/CUSTOM. Will fall back on default card images."; qDebug() << "Could not create " + settingsCache->getPicsPath().toUtf8() + "/CUSTOM. Will fall back on default card images.";
if (QDir().mkpath(dataDir + "/customsets"))
{
// if the dir exists (or has just been created)
db->loadCustomCardDatabases(dataDir + "/customsets");
} else {
qDebug() << "Could not create " + dataDir + "/customsets folder.";
}
if(settingsCache->getSoundPath().isEmpty() || !QDir(settingsCache->getSoundPath()).exists()) if(settingsCache->getSoundPath().isEmpty() || !QDir(settingsCache->getSoundPath()).exists())
{ {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment