author | sheepluva |
Sun, 18 Jan 2015 20:59:37 +0100 | |
changeset 10797 | 6458fd2f5636 |
parent 10721 | 9b789de8e5df |
child 10727 | 5f34d3341fc1 |
permissions | -rw-r--r-- |
1881 | 1 |
/* |
2 |
* Hedgewars, a free turn based strategy game |
|
9998 | 3 |
* Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com> |
1881 | 4 |
* |
5 |
* This program is free software; you can redistribute it and/or modify |
|
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; version 2 of the License |
|
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, |
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
13 |
* |
|
14 |
* You should have received a copy of the GNU General Public License |
|
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 |
1881 | 17 |
*/ |
18 |
||
19 |
#ifndef _AMMO_SCHEME_MODEL_INCLUDED |
|
20 |
#define _AMMO_SCHEME_MODEL_INCLUDED |
|
21 |
||
1897 | 22 |
#include <QSettings> |
1881 | 23 |
#include <QAbstractTableModel> |
1897 | 24 |
#include <QStringList> |
1890 | 25 |
#include <QList> |
1881 | 26 |
|
27 |
class AmmoSchemeModel : public QAbstractTableModel |
|
28 |
{ |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
29 |
Q_OBJECT |
1881 | 30 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
31 |
public: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
32 |
AmmoSchemeModel(QObject * parent, const QString & fileName); |
1881 | 33 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
34 |
QVariant headerData(int section, Qt::Orientation orientation, int role) const; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
35 |
int rowCount(const QModelIndex & parent) const; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
36 |
int columnCount(const QModelIndex & parent) const; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
37 |
Qt::ItemFlags flags(const QModelIndex & index) const; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
38 |
bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole); |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
39 |
bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex()); |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
40 |
bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex()); |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
41 |
QVariant data(const QModelIndex &index, int role) const; |
1881 | 42 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
43 |
int numberOfDefaultSchemes; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
44 |
QStringList predefSchemesNames; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
45 |
QStringList spNames; |
1940 | 46 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
47 |
public slots: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
48 |
void Save(); |
1897 | 49 |
|
7421 | 50 |
// signals: |
51 |
// void dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight); |
|
1881 | 52 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
53 |
protected: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
54 |
QList< QList<QVariant> > schemes; |
1884 | 55 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
56 |
private: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
57 |
QSettings fileConfig; |
1881 | 58 |
}; |
59 |
||
1899
5763f46d7486
Sync schemes config over net should work now (untested)
unc0rr
parents:
1897
diff
changeset
|
60 |
class NetAmmoSchemeModel : public QAbstractTableModel |
5763f46d7486
Sync schemes config over net should work now (untested)
unc0rr
parents:
1897
diff
changeset
|
61 |
{ |
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
62 |
Q_OBJECT |
1899
5763f46d7486
Sync schemes config over net should work now (untested)
unc0rr
parents:
1897
diff
changeset
|
63 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
64 |
public: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
65 |
NetAmmoSchemeModel(QObject * parent); |
1899
5763f46d7486
Sync schemes config over net should work now (untested)
unc0rr
parents:
1897
diff
changeset
|
66 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
67 |
QVariant headerData(int section, Qt::Orientation orientation, int role) const; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
68 |
int rowCount(const QModelIndex & parent) const; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
69 |
int columnCount(const QModelIndex & parent) const; |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
70 |
QVariant data(const QModelIndex &index, int role) const; |
1899
5763f46d7486
Sync schemes config over net should work now (untested)
unc0rr
parents:
1897
diff
changeset
|
71 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
72 |
public slots: |
10721
9b789de8e5df
Workaround bug (each time losing room master status, even when joining mutliple rooms, new instance of NetAmmoSchemeModel created, receiving schemeConfig and modifying its 43rd member, thus the last model which accepts this signal has the string cut down several times, workaround creates copy of qstringlist to avoid modifying shared message instance. Proper fix would delete unneeded instances of NetAmmoSchemeModel, but who cares)
unc0rr
parents:
10108
diff
changeset
|
73 |
void setNetSchemeConfig(QStringList cfg); |
1899
5763f46d7486
Sync schemes config over net should work now (untested)
unc0rr
parents:
1897
diff
changeset
|
74 |
|
6616
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
75 |
private: |
f77bb02b669f
astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents:
6061
diff
changeset
|
76 |
QList<QVariant> netScheme; |
1899
5763f46d7486
Sync schemes config over net should work now (untested)
unc0rr
parents:
1897
diff
changeset
|
77 |
}; |
5763f46d7486
Sync schemes config over net should work now (untested)
unc0rr
parents:
1897
diff
changeset
|
78 |
|
1881 | 79 |
#endif // _AMMO_SCHEME_MODEL_INCLUDED |