QTfrontend/model/GameStyleModel.h
author S.D.
Tue, 27 Sep 2022 14:59:03 +0300
changeset 15878 fc3cb23fd26f
parent 11046 47a8c19ecb60
permissions -rw-r--r--
Allow to see rooms of incompatible versions in the lobby For the new clients the room version is shown in a separate column. There is also a hack for previous versions clients: the room vesion specifier is prepended to the room names for rooms of incompatible versions, and the server shows 'incompatible version' error if the client tries to join them.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6958
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
     1
/*
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10108
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
6958
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
     4
 *
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
     8
 *
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    12
 * GNU General Public License for more details.
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    13
 *
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 9998
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
6958
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    17
 */
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    18
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    19
/**
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    20
 * @file
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    21
 * @brief GameStyleModel class definition
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    22
 */
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    23
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    24
#ifndef HEDGEWARS_GAMESTYLEMODEL_H
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    25
#define HEDGEWARS_GAMESTYLEMODEL_H
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    26
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    27
#include <QStandardItemModel>
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    28
#include <QStringList>
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    29
#include <QMap>
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    30
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    31
#include "DataManager.h"
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    32
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    33
/**
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    34
 * @brief A model listing available game styles
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    35
 */
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    36
class GameStyleModel : public QStandardItemModel
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    37
{
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    38
        Q_OBJECT
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    39
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    40
    public:
8419
d99f46b676b5 Prepends an asterisk on maps, styles, and themes that are DLC. (Resolves issue 515)
dag10
parents: 6958
diff changeset
    41
        enum DataRoles { ScriptRole = Qt::UserRole+1, SchemeRole, WeaponsRole, IsDlcRole };
6958
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    42
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    43
    public slots:
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    44
        /// reloads the themes from the DataManager
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    45
        void loadGameStyles();
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    46
};
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    47
8230a516ba93 hello GameStyleModel
sheepluva
parents:
diff changeset
    48
#endif // HEDGEWARS_GAMESTYLEMODEL_H