QTfrontend/util/DataManager.cpp
author nemo
Sun, 10 Jun 2012 14:36:40 -0400
changeset 7218 9ecd5bc9810b
parent 6959 fce378ee4191
child 7258 722e8a0d89dc
permissions -rw-r--r--
Ensure that Clan ammo always takes precedence over Per Hog Ammo in the flags. It'd be best for the user sake if these buttons acted more like radio buttons.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
     1
/*
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
6952
7f70f37bbf08 license header year range adjustments
sheepluva
parents: 6948
diff changeset
     3
 * Copyright (c) 2004-2012 Andrey Korotaev <unC0Rr@gmail.com>
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
     4
 *
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
     8
 *
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    12
 * GNU General Public License for more details.
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    13
 *
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    17
 */
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    18
6168
6f301dac12ff fix an include; fix/add comments
sheepluva
parents: 6167
diff changeset
    19
/**
6170
2b1748161278 fix multiplayer page layout, doc/comment fixes
sheepluva
parents: 6168
diff changeset
    20
 * @file
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6700
diff changeset
    21
 * @brief DataManager class implementation
6168
6f301dac12ff fix an include; fix/add comments
sheepluva
parents: 6167
diff changeset
    22
 */
6f301dac12ff fix an include; fix/add comments
sheepluva
parents: 6167
diff changeset
    23
6160
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    24
#include <QMap>
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    25
#include <QStringList>
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    26
6199
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
    27
#include <QFileInfo>
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
    28
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    29
#include "hwconsts.h"
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    30
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6700
diff changeset
    31
#include "DataManager.h"
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    32
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    33
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6700
diff changeset
    34
DataManager::DataManager()
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    35
{
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    36
    m_userData = new QDir(cfgdir->absolutePath());
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    37
    if (!m_userData->cd("Data"))
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    38
        m_userData = NULL;
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    39
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    40
    m_defaultData = new QDir(datadir->absolutePath());
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    41
6953
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
    42
    m_hatModel = NULL;
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
    43
    m_mapModel = NULL;
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    44
    m_themeModel = NULL;
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    45
}
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    46
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    47
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6700
diff changeset
    48
DataManager & DataManager::instance()
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    49
{
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6700
diff changeset
    50
    static DataManager instance;
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    51
    return instance;
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    52
}
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    53
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    54
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6700
diff changeset
    55
QStringList DataManager::entryList(
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6199
diff changeset
    56
    const QString & subDirectory,
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6199
diff changeset
    57
    QDir::Filters filters,
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6199
diff changeset
    58
    const QStringList & nameFilters
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6199
diff changeset
    59
) const
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    60
{
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    61
    QStringList result;
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    62
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    63
    if (m_userData != NULL)
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    64
    {
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    65
        QDir tmpDir(*m_userData);
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    66
        if (tmpDir.cd(subDirectory))
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    67
            result.append(tmpDir.entryList(nameFilters, filters));
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    68
    }
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    69
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    70
    QDir tmpDir(*m_defaultData);
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    71
    if (tmpDir.cd(subDirectory))
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    72
        result.append(tmpDir.entryList(nameFilters, filters));
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    73
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    74
    result.removeDuplicates();
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    75
6160
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    76
    // sort case-insensitive
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    77
    QMap<QString, QString> sortedFileNames;
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    78
    foreach ( QString fn, result)
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    79
    {
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    80
        sortedFileNames.insert(fn.toLower(), fn);
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    81
    }
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    82
    result = sortedFileNames.values();
863d3edf5690 cleaning up some more, also adding a WIP file. changes: hats in the hat selection are now sorted like this: NoHat, Reserved hats (alphabetically), All other hats (alphabeticall)
sheepluva
parents: 6159
diff changeset
    83
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    84
    return result;
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    85
}
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    86
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    87
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6700
diff changeset
    88
QString DataManager::findFileForRead(
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6199
diff changeset
    89
    const QString & relativeDataFilePath) const
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
    90
{
6196
c16e84558f71 minor cleanups, mostly in own code
sheepluva
parents: 6170
diff changeset
    91
    QString path;
6167
728cabee2c9f simplified some stuff I wrote
sheepluva
parents: 6160
diff changeset
    92
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    93
    if (m_userData != NULL)
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    94
        path = m_userData->absolutePath()+"/"+relativeDataFilePath;
6196
c16e84558f71 minor cleanups, mostly in own code
sheepluva
parents: 6170
diff changeset
    95
c16e84558f71 minor cleanups, mostly in own code
sheepluva
parents: 6170
diff changeset
    96
    if ((!path.isEmpty()) && (!QFile::exists(path)))
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
    97
        path = m_defaultData->absolutePath()+"/"+relativeDataFilePath;
6167
728cabee2c9f simplified some stuff I wrote
sheepluva
parents: 6160
diff changeset
    98
728cabee2c9f simplified some stuff I wrote
sheepluva
parents: 6160
diff changeset
    99
    return path;
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
   100
}
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
   101
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
   102
6930
d187ea93fc4f renaming HWDataManager -> DataManager
sheepluva
parents: 6700
diff changeset
   103
QString DataManager::findFileForWrite(
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6199
diff changeset
   104
    const QString & relativeDataFilePath) const
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
   105
{
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   106
    if (m_userData != NULL)
6199
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
   107
    {
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   108
        QString path = m_userData->absolutePath()+"/"+relativeDataFilePath;
6199
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
   109
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
   110
        // create folders if needed
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
   111
        QDir tmp;
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
   112
        tmp.mkpath(QFileInfo(path).absolutePath());
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
   113
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
   114
        return path;
582e85254110 on file save: create parent directories if needed
sheepluva
parents: 6196
diff changeset
   115
    }
6196
c16e84558f71 minor cleanups, mostly in own code
sheepluva
parents: 6170
diff changeset
   116
c16e84558f71 minor cleanups, mostly in own code
sheepluva
parents: 6170
diff changeset
   117
c16e84558f71 minor cleanups, mostly in own code
sheepluva
parents: 6170
diff changeset
   118
    return "";
6159
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
   119
}
c780b8cf4d75 introduce HWDataManager util for transparent access to [user-]data files
sheepluva
parents:
diff changeset
   120
6958
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   121
GameStyleModel * DataManager::gameStyleModel()
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   122
{
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   123
    if (m_gameStyleModel == NULL) {
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   124
        m_gameStyleModel = new GameStyleModel();
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   125
        m_gameStyleModel->loadGameStyles();
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   126
    }
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   127
    return m_gameStyleModel;
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   128
}
8230a516ba93 hello GameStyleModel
sheepluva
parents: 6953
diff changeset
   129
6953
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   130
HatModel * DataManager::hatModel()
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   131
{
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   132
    if (m_hatModel == NULL) {
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   133
        m_hatModel = new HatModel();
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   134
        m_hatModel->loadHats();
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   135
    }
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   136
    return m_hatModel;
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   137
}
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   138
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   139
MapModel * DataManager::mapModel()
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   140
{
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   141
    if (m_mapModel == NULL) {
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   142
        m_mapModel = new MapModel();
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   143
        m_mapModel->loadMaps();
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   144
    }
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   145
    return m_mapModel;
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   146
}
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   147
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   148
ThemeModel * DataManager::themeModel()
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   149
{
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   150
    if (m_themeModel == NULL) {
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   151
        m_themeModel = new ThemeModel();
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   152
        m_themeModel->loadThemes();
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   153
    }
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   154
    return m_themeModel;
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   155
}
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   156
6931
86c951cd0f3f make DataManager a QObject with reload() slot that emits signal updated()
sheepluva
parents: 6930
diff changeset
   157
void DataManager::reload()
86c951cd0f3f make DataManager a QObject with reload() slot that emits signal updated()
sheepluva
parents: 6930
diff changeset
   158
{
6959
fce378ee4191 make it auto-update (whoops,forgot)
sheepluva
parents: 6958
diff changeset
   159
    m_gameStyleModel->loadGameStyles();
6953
4c2dd25630a7 * make HatModel update automatically (also renamed class and files)
sheepluva
parents: 6952
diff changeset
   160
    m_hatModel->loadHats();
6938
217ed62e872c MapModel, various cleanups. TODO/FIXME: QComboBox separator not working with custom models
sheepluva
parents: 6937
diff changeset
   161
    m_mapModel->loadMaps();
6937
7f77fa908a4e messing with the theme model a bit (gets now auto-updated after DLC download too)
sheepluva
parents: 6931
diff changeset
   162
    m_themeModel->loadThemes();
6931
86c951cd0f3f make DataManager a QObject with reload() slot that emits signal updated()
sheepluva
parents: 6930
diff changeset
   163
    emit updated();
86c951cd0f3f make DataManager a QObject with reload() slot that emits signal updated()
sheepluva
parents: 6930
diff changeset
   164
}