QTfrontend/ammoSchemeModel.cpp
author nemo
Sun, 20 Jun 2010 22:35:10 -0400
changeset 3526 a1d2180fef42
parent 3494 208c5671b202
child 3743 234ce4da76d4
permissions -rw-r--r--
Replace SHA1 with adler32. For simple purposes of checking to see if players are playing the same map, this should be quite adequate and runs 15 times faster.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     1
/*
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
3236
4ab3917d7d44 Update (c) lines to 2010 as unc0rr requested - they all had varying values so I just took the first year mentioned, then tacked on -2010
nemo
parents: 3172
diff changeset
     3
 * Copyright (c) 2010 Andrey Korotaev <unC0Rr@gmail.com>
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     4
 *
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     8
 *
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    12
 * GNU General Public License for more details.
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    13
 *
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    17
 */
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    18
1885
75489216b5b0 Continue work on new schemes
unc0rr
parents: 1884
diff changeset
    19
#include <QDebug>
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    20
#include <QModelIndex>
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
    21
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    22
#include "ammoSchemeModel.h"
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
    23
#include "hwconsts.h"
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    24
1902
aeadb10c2d77 Add delete button and scheme selection combobox to scheme edit page
unc0rr
parents: 1899
diff changeset
    25
QList<QVariant> defaultScheme = QList<QVariant>()
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    26
        << QVariant("Default")     // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    27
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    28
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    29
        << QVariant(false)         // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    30
        << QVariant(false)         // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    31
        << QVariant(false)         // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    32
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    33
        << QVariant(false)         // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    34
        << QVariant(true)          // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    35
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    36
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    37
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    38
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    39
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    40
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    41
        << QVariant(false)         // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    42
        << QVariant(false)         //disable girders 16
3287
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    43
        << QVariant(false)         // disable land objects 17
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    44
        << QVariant(100)           // damage modfier 18
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    45
        << QVariant(45)            // turn time      19
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    46
        << QVariant(100)           // init health    20
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    47
        << QVariant(15)            // sudden death   21
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    48
        << QVariant(5)             // case prob      22
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    49
        << QVariant(3)             //  mines time    23
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    50
        << QVariant(4)             //  landadds      24
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    51
        << QVariant(0)             // mine dud pct   25
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    52
        << QVariant(2)             // explosives     26
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    53
        ;
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    54
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
    55
AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    56
    QAbstractTableModel(parent),
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    57
    fileConfig(fileName, QSettings::IniFormat)
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    58
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    59
    QStringList predefSchemesNames;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    60
    predefSchemesNames
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    61
        << "Default"
3172
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
    62
        << "Pro Mode"
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    63
        << "Shoppa"
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    64
        << "Basketball"
3172
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
    65
        << "Minefield"
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
    66
        << "Barrel Mayhem"
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
    67
        << "Tunnel Hogs";
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
    68
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
    69
    numberOfDefaultSchemes = predefSchemesNames.size();
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
    70
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    71
    spNames = QStringList()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    72
        << "name"             //  0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    73
        << "fortsmode"        //  1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    74
        << "divteams"         //  2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    75
        << "solidland"        //  3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    76
        << "border"           //  4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    77
        << "lowgrav"          //  5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    78
        << "laser"            //  6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    79
        << "invulnerability"  //  7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    80
        << "mines"            //  8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    81
        << "vampiric"         //  9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    82
        << "karma"            // 10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    83
        << "artillery"        // 11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    84
        << "randomorder"      // 12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    85
        << "king"             // 13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    86
        << "placehog"         // 14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    87
        << "sharedammo"       // 15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    88
        << "disablegirders"   // 16
3287
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    89
        << "disablelandobjects" // 17
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    90
        << "damagefactor"     // 18
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    91
        << "turntime"         // 19
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    92
        << "health"           // 20
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    93
        << "suddendeath"      // 21
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    94
        << "caseprobability"  // 22
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    95
        << "minestime"        // 23
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    96
        << "landadds"         // 24
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    97
        << "minedudpct"       // 25
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
    98
        << "explosives"       // 26
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    99
        ;
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   100
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   101
    QList<QVariant> proMode;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   102
    proMode
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   103
        << predefSchemesNames[1]   // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   104
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   105
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   106
        << QVariant(false)         // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   107
        << QVariant(false)         // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   108
        << QVariant(false)         // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   109
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   110
        << QVariant(false)         // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   111
        << QVariant(false)         // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   112
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   113
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   114
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   115
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   116
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   117
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   118
        << QVariant(true)          // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   119
        << QVariant(false)         //disable girders 16
3287
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   120
        << QVariant(false)         // disable land objects 17
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   121
        << QVariant(100)           // damage modfier 18
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   122
        << QVariant(15)            // turn time      19
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   123
        << QVariant(100)           // init health    20
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   124
        << QVariant(15)            // sudden death   21
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   125
        << QVariant(0)             // case prob      22
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   126
        << QVariant(3)             //  mines time    23
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   127
        << QVariant(4)             //  landadds      24
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   128
        << QVariant(0)             // mine dud pct   25
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   129
        << QVariant(2)             // explosives     26
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   130
        ;
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   131
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   132
    QList<QVariant> shoppa;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   133
    shoppa
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   134
        << predefSchemesNames[2]   // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   135
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   136
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   137
        << QVariant(true)          // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   138
        << QVariant(true)          // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   139
        << QVariant(false)         // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   140
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   141
        << QVariant(false)         // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   142
        << QVariant(false)         // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   143
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   144
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   145
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   146
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   147
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   148
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   149
        << QVariant(true)          // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   150
        << QVariant(true)          //disable girders 16
3287
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   151
        << QVariant(false)         // disable land objects 17
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   152
        << QVariant(100)           // damage modfier 18
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   153
        << QVariant(30)            // turn time      19
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   154
        << QVariant(100)           // init health    20
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   155
        << QVariant(50)            // sudden death   21
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   156
        << QVariant(1)             // case prob      22
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   157
        << QVariant(3)             //  mines time    23
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   158
        << QVariant(4)             //  landadds      24
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   159
        << QVariant(0)             // mine dud pct   25
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   160
        << QVariant(0)             // explosives     26
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   161
        ;
1974
77a9416ceead nemo's schemes patch
unc0rr
parents: 1968
diff changeset
   162
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   163
    QList<QVariant> basketball;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   164
    basketball
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   165
        << predefSchemesNames[3]   // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   166
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   167
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   168
        << QVariant(true)          // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   169
        << QVariant(true)          // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   170
        << QVariant(true)          // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   171
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   172
        << QVariant(true)          // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   173
        << QVariant(false)         // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   174
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   175
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   176
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   177
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   178
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   179
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   180
        << QVariant(true)          // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   181
        << QVariant(true)          //disable girders 16
3287
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   182
        << QVariant(false)         // disable land objects 17
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   183
        << QVariant(100)           // damage modfier 18
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   184
        << QVariant(30)            // turn time      19
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   185
        << QVariant(100)           // init health    20
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   186
        << QVariant(15)            // sudden death   21
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   187
        << QVariant(0)             // case prob      22
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   188
        << QVariant(3)             //  mines time    23
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   189
        << QVariant(4)             //  landadds      24
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   190
        << QVariant(0)             // mine dud pct   25
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   191
        << QVariant(0)             // explosives     26
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   192
        ;
1968
f32b18c5d495 Add Shoppa game scheme
unc0rr
parents: 1940
diff changeset
   193
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   194
    QList<QVariant> minefield;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   195
    minefield
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   196
        << predefSchemesNames[4]   // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   197
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   198
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   199
        << QVariant(false)         // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   200
        << QVariant(false)         // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   201
        << QVariant(false)         // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   202
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   203
        << QVariant(false)         // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   204
        << QVariant(true)          // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   205
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   206
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   207
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   208
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   209
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   210
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   211
        << QVariant(true)          // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   212
        << QVariant(true)          //disable girders 16
3287
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   213
        << QVariant(false)         // disable land objects 17
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   214
        << QVariant(150)           // damage modfier 18
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   215
        << QVariant(30)            // turn time      19
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   216
        << QVariant(50)            // init health    20
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   217
        << QVariant(15)            // sudden death   21
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   218
        << QVariant(0)             // case prob      22
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   219
        << QVariant(0)             //  mines time    23
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   220
        << QVariant(80)            //  landadds      24
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   221
        << QVariant(0)             // mine dud pct   25
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   222
        << QVariant(0)             // explosives     26
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   223
        ;
2093
485e084cedc4 Portugese (european) translation, Tiy's "minefield" scheme/wepset, disable vampirism, update translations
nemo
parents: 2031
diff changeset
   224
3172
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   225
    QList<QVariant> barrelmayhem;
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   226
    barrelmayhem
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   227
        << predefSchemesNames[5]   // name           0
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   228
        << QVariant(false)         // fortsmode      1
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   229
        << QVariant(false)         // team divide    2
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   230
        << QVariant(false)         // solid land     3
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   231
        << QVariant(false)         // border         4
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   232
        << QVariant(false)         // low gravity    5
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   233
        << QVariant(false)         // laser sight    6
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   234
        << QVariant(false)         // invulnerable   7
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   235
        << QVariant(false)         // add mines      8
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   236
        << QVariant(false)         // vampiric       9
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   237
        << QVariant(false)         // karma          10
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   238
        << QVariant(false)         // artillery      11
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   239
        << QVariant(true)          // random order   12
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   240
        << QVariant(false)         // king           13
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   241
        << QVariant(false)         // place hog      14
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   242
        << QVariant(true)          // shared ammo    15
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   243
        << QVariant(false)         //disable girders 16
3287
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   244
        << QVariant(false)         // disable land objects 17
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   245
        << QVariant(100)           // damage modfier 18
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   246
        << QVariant(30)            // turn time      19
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   247
        << QVariant(100)           // init health    20
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   248
        << QVariant(15)            // sudden death   21
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   249
        << QVariant(0)             // case prob      22
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   250
        << QVariant(0)             // mines time     23
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   251
        << QVariant(0)             // landadds       24
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   252
        << QVariant(0)             // mine dud pct   25
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   253
        << QVariant(80)            // explosives     26
3172
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   254
        ;
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   255
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   256
    QList<QVariant> tunnelhogs;
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   257
    tunnelhogs
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   258
        << predefSchemesNames[6]   // name           0
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   259
        << QVariant(false)         // fortsmode      1
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   260
        << QVariant(false)         // team divide    2
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   261
        << QVariant(false)         // solid land     3
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   262
        << QVariant(true)          // border         4
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   263
        << QVariant(false)         // low gravity    5
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   264
        << QVariant(false)         // laser sight    6
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   265
        << QVariant(false)         // invulnerable   7
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   266
        << QVariant(true)          // add mines      8
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   267
        << QVariant(false)         // vampiric       9
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   268
        << QVariant(false)         // karma          10
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   269
        << QVariant(false)         // artillery      11
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   270
        << QVariant(true)          // random order   12
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   271
        << QVariant(false)         // king           13
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   272
        << QVariant(false)         // place hog      14
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   273
        << QVariant(true)          // shared ammo    15
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   274
        << QVariant(true)          //disable girders 16
3287
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   275
        << QVariant(true)          // disable land objects 17
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   276
        << QVariant(100)           // damage modfier 18
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   277
        << QVariant(30)            // turn time      19
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   278
        << QVariant(100)           // init health    20
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   279
        << QVariant(15)            // sudden death   21
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   280
        << QVariant(5)             // case prob      22
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   281
        << QVariant(3)             // mines time     23
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   282
        << QVariant(10)            // landadds       24
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   283
        << QVariant(10)            // mine dud pct   25
4f7b57ed18b6 New game scheme option to turn off land objects
nemo
parents: 3236
diff changeset
   284
        << QVariant(10)            // explosives     26
3172
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   285
        ;
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   286
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   287
    schemes.append(defaultScheme);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   288
    schemes.append(proMode);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   289
    schemes.append(shoppa);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   290
    schemes.append(basketball);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   291
    schemes.append(minefield);
3172
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   292
    schemes.append(barrelmayhem);
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
   293
    schemes.append(tunnelhogs);
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   294
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   295
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   296
    int size = fileConfig.beginReadArray("schemes");
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   297
    for (int i = 0; i < size; ++i) {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   298
        fileConfig.setArrayIndex(i);
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   299
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   300
        if (!predefSchemesNames.contains(fileConfig.value(spNames[0]).toString()))
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   301
        {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   302
            QList<QVariant> scheme;
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   303
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   304
            for (int k = 0; k < spNames.size(); ++k)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   305
                scheme << fileConfig.value(spNames[k], defaultScheme[k]);
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   306
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   307
            schemes.append(scheme);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   308
        }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   309
    }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   310
    fileConfig.endArray();
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   311
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   312
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   313
QVariant AmmoSchemeModel::headerData(int section, Qt::Orientation orientation, int role) const
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   314
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   315
    return QVariant();
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   316
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   317
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   318
int AmmoSchemeModel::rowCount(const QModelIndex &parent) const
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   319
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   320
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   321
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   322
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   323
        return schemes.size();
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   324
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   325
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   326
int AmmoSchemeModel::columnCount(const QModelIndex & parent) const
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   327
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   328
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   329
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   330
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   331
        return defaultScheme.size();
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   332
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   333
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   334
Qt::ItemFlags AmmoSchemeModel::flags(const QModelIndex & index) const
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   335
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   336
    return
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   337
        Qt::ItemIsEnabled
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   338
        | Qt::ItemIsSelectable
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   339
        | Qt::ItemIsEditable;
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   340
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   341
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   342
bool AmmoSchemeModel::setData(const QModelIndex & index, const QVariant & value, int role)
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   343
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   344
    if (!index.isValid() || index.row() < numberOfDefaultSchemes
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   345
        || index.row() >= schemes.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   346
        || index.column() >= defaultScheme.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   347
        || role != Qt::EditRole)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   348
        return false;
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   349
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   350
    schemes[index.row()][index.column()] = value;
1885
75489216b5b0 Continue work on new schemes
unc0rr
parents: 1884
diff changeset
   351
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   352
    emit dataChanged(index, index);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   353
    return true;
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   354
}
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   355
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   356
bool AmmoSchemeModel::insertRows(int row, int count, const QModelIndex & parent)
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   357
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   358
    beginInsertRows(parent, row, row);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   359
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   360
    QList<QVariant> newScheme = defaultScheme;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   361
    newScheme[0] = QVariant(tr("new"));
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   362
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   363
    schemes.insert(row, newScheme);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   364
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   365
    endInsertRows();
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   366
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   367
    return true;
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   368
}
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   369
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   370
bool AmmoSchemeModel::removeRows(int row, int count, const QModelIndex & parent)
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   371
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   372
    if(count != 1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   373
        || row < numberOfDefaultSchemes
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   374
        || row >= schemes.size())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   375
        return false;
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   376
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   377
    beginRemoveRows(parent, row, row);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   378
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   379
    schemes.removeAt(row);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   380
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   381
    endRemoveRows();
1902
aeadb10c2d77 Add delete button and scheme selection combobox to scheme edit page
unc0rr
parents: 1899
diff changeset
   382
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   383
    return true;
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   384
}
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   385
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   386
QVariant AmmoSchemeModel::data(const QModelIndex &index, int role) const
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   387
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   388
    if (!index.isValid() || index.row() < 0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   389
        || index.row() >= schemes.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   390
        || index.column() >= defaultScheme.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   391
        || (role != Qt::EditRole && role != Qt::DisplayRole)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   392
        )
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   393
        return QVariant();
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   394
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   395
    return schemes[index.row()][index.column()];
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   396
}
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   397
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   398
void AmmoSchemeModel::Save()
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   399
{
3494
208c5671b202 Frontend:
smxx
parents: 3287
diff changeset
   400
    fileConfig.beginWriteArray("schemes", schemes.size() - numberOfDefaultSchemes);
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   401
3494
208c5671b202 Frontend:
smxx
parents: 3287
diff changeset
   402
    for (int i = 0; i < schemes.size() - numberOfDefaultSchemes; ++i) {
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   403
        fileConfig.setArrayIndex(i);
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   404
3494
208c5671b202 Frontend:
smxx
parents: 3287
diff changeset
   405
        QList<QVariant> scheme = schemes[i + numberOfDefaultSchemes];
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   406
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   407
        for (int k = 0; k < scheme.size(); ++k)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   408
            fileConfig.setValue(spNames[k], scheme[k]);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   409
    }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   410
    fileConfig.endArray();
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   411
}
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   412
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   413
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   414
NetAmmoSchemeModel::NetAmmoSchemeModel(QObject * parent) :
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   415
    QAbstractTableModel(parent)
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   416
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   417
    netScheme = defaultScheme;
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   418
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   419
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   420
QVariant NetAmmoSchemeModel::headerData(int section, Qt::Orientation orientation, int role) const
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   421
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   422
    return QVariant();
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   423
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   424
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   425
int NetAmmoSchemeModel::rowCount(const QModelIndex & parent) const
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   426
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   427
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   428
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   429
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   430
        return 1;
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   431
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   432
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   433
int NetAmmoSchemeModel::columnCount(const QModelIndex & parent) const
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   434
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   435
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   436
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   437
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   438
        return defaultScheme.size();
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   439
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   440
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   441
QVariant NetAmmoSchemeModel::data(const QModelIndex &index, int role) const
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   442
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   443
    if (!index.isValid() || index.row() < 0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   444
        || index.row() > 1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   445
        || index.column() >= defaultScheme.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   446
        || (role != Qt::EditRole && role != Qt::DisplayRole)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   447
        )
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   448
        return QVariant();
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   449
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   450
    return netScheme[index.column()];
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   451
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   452
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   453
void NetAmmoSchemeModel::setNetSchemeConfig(QStringList & cfg)
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   454
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   455
    if(cfg.size() != netScheme.size())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   456
    {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   457
        qWarning("Incorrect scheme cfg size");
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   458
        return;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   459
    }
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   460
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   461
    for(int i = 0; i < cfg.size(); ++i)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   462
        netScheme[i] = QVariant(cfg[i]);
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   463
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   464
    reset();
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   465
}