QTfrontend/ammoSchemeModel.cpp
author koda
Sat, 20 Mar 2010 15:16:59 +0000
changeset 3025 01682ec58eb0
parent 2948 3f21a9dc93d0
child 3172 ae5c7f97df44
permissions -rw-r--r--
update project for ipad target relocate objects (windbar, fps, timer) so that window size doesn't matter move touch input in its custom controller rather than hack sdl one
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
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     3
 * Copyright (c) 2009 Andrey Korotaev <unC0Rr@gmail.com>
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
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    43
        << QVariant(100)           // damage modfier 17
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    44
        << QVariant(45)            // turn time      18
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    45
        << QVariant(100)           // init health    19
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    46
        << QVariant(15)            // sudden death   20
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    47
        << QVariant(5)             // case prob      21
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    48
        << QVariant(3)             //  mines time    22
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    49
        << QVariant(4)             //  landadds      23
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    50
        << QVariant(0)             // mine dud pct   24
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    51
        << QVariant(2)             // explosives     25
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    52
        ;
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    53
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
    54
AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    55
    QAbstractTableModel(parent),
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    56
    numberOfDefaultSchemes(4),
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"
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    62
        << "Pro mode"
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"
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    65
        << "Minefield";
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
    66
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    67
    spNames = QStringList()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    68
        << "name"             //  0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    69
        << "fortsmode"        //  1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    70
        << "divteams"         //  2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    71
        << "solidland"        //  3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    72
        << "border"           //  4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    73
        << "lowgrav"          //  5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    74
        << "laser"            //  6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    75
        << "invulnerability"  //  7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    76
        << "mines"            //  8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    77
        << "vampiric"         //  9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    78
        << "karma"            // 10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    79
        << "artillery"        // 11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    80
        << "randomorder"      // 12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    81
        << "king"             // 13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    82
        << "placehog"         // 14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    83
        << "sharedammo"       // 15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    84
        << "disablegirders"   // 16
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    85
        << "damagefactor"     // 17
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    86
        << "turntime"         // 18
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    87
        << "health"           // 19
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    88
        << "suddendeath"      // 20
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    89
        << "caseprobability"  // 21
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    90
        << "minestime"        // 22
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    91
        << "landadds"         // 23
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    92
        << "minedudpct"       // 24
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    93
        << "explosives"       // 25
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    94
        ;
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
    95
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    96
    QList<QVariant> proMode;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    97
    proMode
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    98
        << predefSchemesNames[1]   // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
    99
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   100
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   101
        << QVariant(false)         // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   102
        << QVariant(false)         // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   103
        << QVariant(false)         // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   104
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   105
        << QVariant(false)         // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   106
        << QVariant(false)         // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   107
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   108
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   109
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   110
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   111
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   112
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   113
        << QVariant(true)          // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   114
        << QVariant(false)         //disable girders 16
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   115
        << QVariant(100)           // damage modfier 17
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   116
        << QVariant(15)            // turn time      18
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   117
        << QVariant(100)           // init health    19
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   118
        << QVariant(15)            // sudden death   20
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   119
        << QVariant(0)             // case prob      21
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   120
        << QVariant(3)             //  mines time    22
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   121
        << QVariant(4)             //  landadds      23
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   122
        << QVariant(0)             // mine dud pct   24
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   123
        << QVariant(2)             // explosives     25
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   124
        ;
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   125
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   126
    QList<QVariant> shoppa;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   127
    shoppa
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   128
        << predefSchemesNames[2]   // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   129
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   130
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   131
        << QVariant(true)          // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   132
        << QVariant(true)          // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   133
        << QVariant(false)         // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   134
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   135
        << QVariant(false)         // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   136
        << QVariant(false)         // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   137
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   138
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   139
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   140
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   141
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   142
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   143
        << QVariant(true)          // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   144
        << QVariant(true)          //disable girders 16
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   145
        << QVariant(100)           // damage modfier 17
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   146
        << QVariant(30)            // turn time      18
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   147
        << QVariant(100)           // init health    19
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   148
        << QVariant(50)            // sudden death   20
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   149
        << QVariant(1)             // case prob      21
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   150
        << QVariant(3)             //  mines time    22
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   151
        << QVariant(4)             //  landadds      23
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   152
        << QVariant(0)             // mine dud pct   24
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   153
        << QVariant(0)             // explosives     25
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   154
        ;
1974
77a9416ceead nemo's schemes patch
unc0rr
parents: 1968
diff changeset
   155
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   156
    QList<QVariant> basketball;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   157
    basketball
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   158
        << predefSchemesNames[3]   // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   159
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   160
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   161
        << QVariant(true)          // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   162
        << QVariant(true)          // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   163
        << QVariant(true)          // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   164
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   165
        << QVariant(true)          // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   166
        << QVariant(false)         // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   167
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   168
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   169
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   170
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   171
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   172
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   173
        << QVariant(true)          // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   174
        << QVariant(true)          //disable girders 16
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   175
        << QVariant(100)           // damage modfier 17
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   176
        << QVariant(30)            // turn time      18
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   177
        << QVariant(100)           // init health    19
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   178
        << QVariant(15)            // sudden death   20
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   179
        << QVariant(0)             // case prob      21
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   180
        << QVariant(3)             //  mines time    22
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   181
        << QVariant(4)             //  landadds      23
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   182
        << QVariant(0)             // mine dud pct   24
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   183
        << QVariant(0)             // explosives     25
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   184
        ;
1968
f32b18c5d495 Add Shoppa game scheme
unc0rr
parents: 1940
diff changeset
   185
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   186
    QList<QVariant> minefield;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   187
    minefield
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   188
        << predefSchemesNames[4]   // name           0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   189
        << QVariant(false)         // fortsmode      1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   190
        << QVariant(false)         // team divide    2
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   191
        << QVariant(false)         // solid land     3
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   192
        << QVariant(false)         // border         4
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   193
        << QVariant(false)         // low gravity    5
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   194
        << QVariant(false)         // laser sight    6
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   195
        << QVariant(false)         // invulnerable   7
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   196
        << QVariant(true)          // add mines      8
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   197
        << QVariant(false)         // vampiric       9
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   198
        << QVariant(false)         // karma          10
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   199
        << QVariant(false)         // artillery      11
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   200
        << QVariant(true)          // random order   12
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   201
        << QVariant(false)         // king           13
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   202
        << QVariant(false)         // place hog      14
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   203
        << QVariant(true)          // shared ammo    15
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   204
        << QVariant(true)          //disable girders 16
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   205
        << QVariant(150)           // damage modfier 17
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   206
        << QVariant(30)            // turn time      18
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   207
        << QVariant(50)            // init health    19
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   208
        << QVariant(15)            // sudden death   20
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   209
        << QVariant(0)             // case prob      21
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   210
        << QVariant(0)             //  mines time    22
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   211
        << QVariant(80)            //  landadds      23
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   212
        << QVariant(0)             // mine dud pct   24
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   213
        << QVariant(0)             // explosives     25
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   214
        ;
2093
485e084cedc4 Portugese (european) translation, Tiy's "minefield" scheme/wepset, disable vampirism, update translations
nemo
parents: 2031
diff changeset
   215
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   216
    schemes.append(defaultScheme);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   217
    schemes.append(proMode);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   218
    schemes.append(shoppa);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   219
    schemes.append(basketball);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   220
    schemes.append(minefield);
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   221
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   222
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   223
    int size = fileConfig.beginReadArray("schemes");
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   224
    for (int i = 0; i < size; ++i) {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   225
        fileConfig.setArrayIndex(i);
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   226
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   227
        if (!predefSchemesNames.contains(fileConfig.value(spNames[0]).toString()))
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   228
        {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   229
            QList<QVariant> scheme;
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   230
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   231
            for (int k = 0; k < spNames.size(); ++k)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   232
                scheme << fileConfig.value(spNames[k], defaultScheme[k]);
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   233
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   234
            schemes.append(scheme);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   235
        }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   236
    }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   237
    fileConfig.endArray();
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   238
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   239
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   240
QVariant AmmoSchemeModel::headerData(int section, Qt::Orientation orientation, int role) const
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   241
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   242
    return QVariant();
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   243
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   244
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   245
int AmmoSchemeModel::rowCount(const QModelIndex &parent) const
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   246
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   247
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   248
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   249
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   250
        return schemes.size();
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   251
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   252
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   253
int AmmoSchemeModel::columnCount(const QModelIndex & parent) const
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   254
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   255
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   256
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   257
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   258
        return defaultScheme.size();
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   259
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   260
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   261
Qt::ItemFlags AmmoSchemeModel::flags(const QModelIndex & index) const
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   262
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   263
    return
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   264
        Qt::ItemIsEnabled
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   265
        | Qt::ItemIsSelectable
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   266
        | Qt::ItemIsEditable;
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   267
}
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   268
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   269
bool AmmoSchemeModel::setData(const QModelIndex & index, const QVariant & value, int role)
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   270
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   271
    if (!index.isValid() || index.row() < numberOfDefaultSchemes
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   272
        || index.row() >= schemes.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   273
        || index.column() >= defaultScheme.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   274
        || role != Qt::EditRole)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   275
        return false;
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   276
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   277
    schemes[index.row()][index.column()] = value;
1885
75489216b5b0 Continue work on new schemes
unc0rr
parents: 1884
diff changeset
   278
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   279
    emit dataChanged(index, index);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   280
    return true;
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
   281
}
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   282
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   283
bool AmmoSchemeModel::insertRows(int row, int count, const QModelIndex & parent)
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   284
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   285
    beginInsertRows(parent, row, row);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   286
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   287
    QList<QVariant> newScheme = defaultScheme;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   288
    newScheme[0] = QVariant(tr("new"));
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   289
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   290
    schemes.insert(row, newScheme);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   291
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   292
    endInsertRows();
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   293
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   294
    return true;
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   295
}
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   296
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   297
bool AmmoSchemeModel::removeRows(int row, int count, const QModelIndex & parent)
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   298
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   299
    if(count != 1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   300
        || row < numberOfDefaultSchemes
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   301
        || row >= schemes.size())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   302
        return false;
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   303
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   304
    beginRemoveRows(parent, row, row);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   305
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   306
    schemes.removeAt(row);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   307
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   308
    endRemoveRows();
1902
aeadb10c2d77 Add delete button and scheme selection combobox to scheme edit page
unc0rr
parents: 1899
diff changeset
   309
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   310
    return true;
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   311
}
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   312
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   313
QVariant AmmoSchemeModel::data(const QModelIndex &index, int role) const
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   314
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   315
    if (!index.isValid() || index.row() < 0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   316
        || index.row() >= schemes.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   317
        || index.column() >= defaultScheme.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   318
        || (role != Qt::EditRole && role != Qt::DisplayRole)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   319
        )
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   320
        return QVariant();
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   321
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   322
    return schemes[index.row()][index.column()];
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
   323
}
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   324
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   325
void AmmoSchemeModel::Save()
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   326
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   327
    fileConfig.beginWriteArray("schemes", schemes.size());
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   328
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   329
    for (int i = 0; i < schemes.size(); ++i) {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   330
        fileConfig.setArrayIndex(i);
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   331
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   332
        QList<QVariant> scheme = schemes[i];
2377
f3fab2b09e0c And in frontend
nemo
parents: 2096
diff changeset
   333
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   334
        for (int k = 0; k < scheme.size(); ++k)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   335
            fileConfig.setValue(spNames[k], scheme[k]);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   336
    }
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   337
    fileConfig.endArray();
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1895
diff changeset
   338
}
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   339
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   340
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   341
NetAmmoSchemeModel::NetAmmoSchemeModel(QObject * parent) :
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   342
    QAbstractTableModel(parent)
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   343
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   344
    netScheme = defaultScheme;
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   345
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   346
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   347
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
   348
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   349
    return QVariant();
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   350
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   351
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   352
int NetAmmoSchemeModel::rowCount(const QModelIndex & parent) const
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   353
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   354
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   355
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   356
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   357
        return 1;
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   358
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   359
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   360
int NetAmmoSchemeModel::columnCount(const QModelIndex & parent) const
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   361
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   362
    if (parent.isValid())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   363
        return 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   364
    else
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   365
        return defaultScheme.size();
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   366
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   367
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   368
QVariant NetAmmoSchemeModel::data(const QModelIndex &index, int role) const
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   369
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   370
    if (!index.isValid() || index.row() < 0
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   371
        || index.row() > 1
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   372
        || index.column() >= defaultScheme.size()
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   373
        || (role != Qt::EditRole && role != Qt::DisplayRole)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   374
        )
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   375
        return QVariant();
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   376
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   377
    return netScheme[index.column()];
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   378
}
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   379
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   380
void NetAmmoSchemeModel::setNetSchemeConfig(QStringList & cfg)
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   381
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   382
    if(cfg.size() != netScheme.size())
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   383
    {
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   384
        qWarning("Incorrect scheme cfg size");
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   385
        return;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   386
    }
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   387
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   388
    for(int i = 0; i < cfg.size(); ++i)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   389
        netScheme[i] = QVariant(cfg[i]);
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   390
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2915
diff changeset
   391
    reset();
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
   392
}