QTfrontend/model/ammoSchemeModel.cpp
branchsdl2transition
changeset 11342 ed5a6478e710
parent 11046 47a8c19ecb60
child 11822 5f21387edff1
equal deleted inserted replaced
11340:31570b766315 11342:ed5a6478e710
     1 /*
     1 /*
     2  * Hedgewars, a free turn based strategy game
     2  * Hedgewars, a free turn based strategy game
     3  * Copyright (c) 2004-2013 Andrey Korotaev <unC0Rr@gmail.com>
     3  * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
     4  *
     4  *
     5  * This program is free software; you can redistribute it and/or modify
     5  * This program is free software; you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License as published by
     6  * it under the terms of the GNU General Public License as published by
     7  * the Free Software Foundation; version 2 of the License
     7  * the Free Software Foundation; version 2 of the License
     8  *
     8  *
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    12  * GNU General Public License for more details.
    12  * GNU General Public License for more details.
    13  *
    13  *
    14  * You should have received a copy of the GNU General Public License
    14  * You should have received a copy of the GNU General Public License
    15  * along with this program; if not, write to the Free Software
    15  * along with this program; if not, write to the Free Software
    16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
    16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    17  */
    17  */
    18 
    18 
    19 #include <QDebug>
    19 #include <QDebug>
    20 #include <QModelIndex>
    20 #include <QModelIndex>
    21 
    21 
    56                                 << QVariant(5)             // case prob      30
    56                                 << QVariant(5)             // case prob      30
    57                                 << QVariant(3)             // mines time     31
    57                                 << QVariant(3)             // mines time     31
    58                                 << QVariant(4)             // mines number   32
    58                                 << QVariant(4)             // mines number   32
    59                                 << QVariant(0)             // mine dud pct   33
    59                                 << QVariant(0)             // mine dud pct   33
    60                                 << QVariant(2)             // explosives     34
    60                                 << QVariant(2)             // explosives     34
    61                                 << QVariant(35)            // health case pct 35
    61                                 << QVariant(0)             // air mines      35
    62                                 << QVariant(25)            // health case amt 36
    62                                 << QVariant(35)            // health case pct 36
    63                                 << QVariant(47)            // water rise amt 37
    63                                 << QVariant(25)            // health case amt 37
    64                                 << QVariant(5)             // health dec amt 38
    64                                 << QVariant(47)            // water rise amt 38
    65                                 << QVariant(100)           // rope modfier   39
    65                                 << QVariant(5)             // health dec amt 39
    66                                 << QVariant(100)           // get away time  40
    66                                 << QVariant(100)           // rope modfier   40
    67                                 << QVariant(0)             // world edge     41
    67                                 << QVariant(100)           // get away time  41
       
    68                                 << QVariant(0)             // world edge     42
       
    69                                 << QVariant()              // scriptparam    43
    68                                 ;
    70                                 ;
    69 
    71 
    70 AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
    72 AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) :
    71     QAbstractTableModel(parent),
    73     QAbstractTableModel(parent),
    72     fileConfig(fileName, QSettings::IniFormat)
    74     fileConfig(fileName, QSettings::IniFormat)
    81                          << "Tunnel Hogs"
    83                          << "Tunnel Hogs"
    82                          << "Fort Mode"
    84                          << "Fort Mode"
    83                          << "Timeless"
    85                          << "Timeless"
    84                          << "Thinking with Portals"
    86                          << "Thinking with Portals"
    85                          << "King Mode"
    87                          << "King Mode"
       
    88 						 << "Construction Mode"
    86                          ;
    89                          ;
    87 
    90 
    88     numberOfDefaultSchemes = predefSchemesNames.size();
    91     numberOfDefaultSchemes = predefSchemesNames.size();
    89 
    92 
    90     spNames = QStringList()
    93     spNames = QStringList()
   121               << "caseprobability"     // 30
   124               << "caseprobability"     // 30
   122               << "minestime"           // 31
   125               << "minestime"           // 31
   123               << "minesnum"            // 32
   126               << "minesnum"            // 32
   124               << "minedudpct"          // 33
   127               << "minedudpct"          // 33
   125               << "explosives"          // 34
   128               << "explosives"          // 34
   126               << "healthprobability"   // 35
   129               << "airmines"            // 35
   127               << "healthcaseamount"    // 36
   130               << "healthprobability"   // 36
   128               << "waterrise"           // 37
   131               << "healthcaseamount"    // 37
   129               << "healthdecrease"      // 38
   132               << "waterrise"           // 38
   130               << "ropepct"             // 39
   133               << "healthdecrease"      // 39
   131               << "getawaytime"         // 40
   134               << "ropepct"             // 40
   132               << "worldedge"           // 41
   135               << "getawaytime"         // 41
       
   136               << "worldedge"           // 42
       
   137               << "scriptparam"         // scriptparam    43
   133               ;
   138               ;
   134 
   139 
   135     QList<QVariant> proMode;
   140     QList<QVariant> proMode;
   136     proMode
   141     proMode
   137             << predefSchemesNames[1]   // name           0
   142             << predefSchemesNames[1]   // name           0
   167             << QVariant(0)             // case prob      30
   172             << QVariant(0)             // case prob      30
   168             << QVariant(3)             // mines time     31
   173             << QVariant(3)             // mines time     31
   169             << QVariant(0)             // mines number   32
   174             << QVariant(0)             // mines number   32
   170             << QVariant(0)             // mine dud pct   33
   175             << QVariant(0)             // mine dud pct   33
   171             << QVariant(2)             // explosives     34
   176             << QVariant(2)             // explosives     34
   172             << QVariant(35)            // health case pct 35
   177             << QVariant(0)             // air mines      35
   173             << QVariant(25)            // health case amt 36
   178             << QVariant(35)            // health case pct 36
   174             << QVariant(47)            // water rise amt 37
   179             << QVariant(25)            // health case amt 37
   175             << QVariant(5)             // health dec amt 38
   180             << QVariant(47)            // water rise amt 38
   176             << QVariant(100)           // rope modfier   39
   181             << QVariant(5)             // health dec amt 39
   177             << QVariant(100)           // get away time  40
   182             << QVariant(100)           // rope modfier   40
   178             << QVariant(0)             // world edge     41
   183             << QVariant(100)           // get away time  41
       
   184             << QVariant(0)             // world edge     42
       
   185             << QVariant()              // scriptparam    43
   179             ;
   186             ;
   180 
   187 
   181     QList<QVariant> shoppa;
   188     QList<QVariant> shoppa;
   182     shoppa
   189     shoppa
   183             << predefSchemesNames[2]   // name           0
   190             << predefSchemesNames[2]   // name           0
   209             << QVariant(100)           // damage modfier 26
   216             << QVariant(100)           // damage modfier 26
   210             << QVariant(30)            // turn time      27
   217             << QVariant(30)            // turn time      27
   211             << QVariant(100)           // init health    28
   218             << QVariant(100)           // init health    28
   212             << QVariant(50)            // sudden death   29
   219             << QVariant(50)            // sudden death   29
   213             << QVariant(1)             // case prob      30
   220             << QVariant(1)             // case prob      30
   214             << QVariant(3)             // mines time     31
   221             << QVariant(0)             // mines time     31
   215             << QVariant(0)             // mines number   32
   222             << QVariant(0)             // mines number   32
   216             << QVariant(0)             // mine dud pct   33
   223             << QVariant(0)             // mine dud pct   33
   217             << QVariant(0)             // explosives     34
   224             << QVariant(0)             // explosives     34
   218             << QVariant(0)             // health case pct 35
   225             << QVariant(8)             // air mines      35
   219             << QVariant(25)            // health case amt 36
   226             << QVariant(0)             // health case pct 36
   220             << QVariant(47)            // water rise amt 37
   227             << QVariant(25)            // health case amt 37
   221             << QVariant(5)             // health dec amt 38
   228             << QVariant(47)            // water rise amt 38
   222             << QVariant(100)           // rope modfier   39
   229             << QVariant(5)             // health dec amt 39
   223             << QVariant(100)           // get away time  40
   230             << QVariant(100)           // rope modfier   40
   224             << QVariant(0)             // world edge     41
   231             << QVariant(100)           // get away time  41
       
   232             << QVariant(0)             // world edge     42
       
   233             << QVariant()              // scriptparam    43
   225             ;
   234             ;
   226 
   235 
   227     QList<QVariant> cleanslate;
   236     QList<QVariant> cleanslate;
   228     cleanslate
   237     cleanslate
   229             << predefSchemesNames[3]   // name           0
   238             << predefSchemesNames[3]   // name           0
   259             << QVariant(5)             // case prob      30
   268             << QVariant(5)             // case prob      30
   260             << QVariant(3)             // mines time     31
   269             << QVariant(3)             // mines time     31
   261             << QVariant(4)             // mines number   32
   270             << QVariant(4)             // mines number   32
   262             << QVariant(0)             // mine dud pct   33
   271             << QVariant(0)             // mine dud pct   33
   263             << QVariant(2)             // explosives     34
   272             << QVariant(2)             // explosives     34
   264             << QVariant(35)            // health case pct 35
   273             << QVariant(0)             // air mines      35
   265             << QVariant(25)            // health case amt 36
   274             << QVariant(35)            // health case pct 36
   266             << QVariant(47)            // water rise amt 37
   275             << QVariant(25)            // health case amt 37
   267             << QVariant(5)             // health dec amt 38
   276             << QVariant(47)            // water rise amt 38
   268             << QVariant(100)           // rope modfier   39
   277             << QVariant(5)             // health dec amt 39
   269             << QVariant(100)           // get away time  40
   278             << QVariant(100)           // rope modfier   40
   270             << QVariant(0)             // world edge     41
   279             << QVariant(100)           // get away time  41
       
   280             << QVariant(0)             // world edge     42
       
   281             << QVariant()              // scriptparam    43
   271             ;
   282             ;
   272 
   283 
   273     QList<QVariant> minefield;
   284     QList<QVariant> minefield;
   274     minefield
   285     minefield
   275             << predefSchemesNames[4]   // name           0
   286             << predefSchemesNames[4]   // name           0
   302             << QVariant(30)            // turn time      27
   313             << QVariant(30)            // turn time      27
   303             << QVariant(50)            // init health    28
   314             << QVariant(50)            // init health    28
   304             << QVariant(15)            // sudden death   29
   315             << QVariant(15)            // sudden death   29
   305             << QVariant(0)             // case prob      30
   316             << QVariant(0)             // case prob      30
   306             << QVariant(0)             // mines time     31
   317             << QVariant(0)             // mines time     31
   307             << QVariant(80)            // mines number   32
   318             << QVariant(200)           // mines number   32
   308             << QVariant(0)             // mine dud pct   33
   319             << QVariant(0)             // mine dud pct   33
   309             << QVariant(0)             // explosives     34
   320             << QVariant(0)             // explosives     34
   310             << QVariant(35)            // health case pct 35
   321             << QVariant(0)             // air mines      35
   311             << QVariant(25)            // health case amt 36
   322             << QVariant(35)            // health case pct 36
   312             << QVariant(47)            // water rise amt 37
   323             << QVariant(25)            // health case amt 37
   313             << QVariant(5)             // health dec amt 38
   324             << QVariant(47)            // water rise amt 38
   314             << QVariant(100)           // rope modfier   39
   325             << QVariant(5)             // health dec amt 39
   315             << QVariant(100)           // get away time  40
   326             << QVariant(100)           // rope modfier   40
   316             << QVariant(0)             // world edge     41
   327             << QVariant(100)           // get away time  41
       
   328             << QVariant(0)             // world edge     42
       
   329             << QVariant()              // scriptparam    43
   317             ;
   330             ;
   318 
   331 
   319     QList<QVariant> barrelmayhem;
   332     QList<QVariant> barrelmayhem;
   320     barrelmayhem
   333     barrelmayhem
   321             << predefSchemesNames[5]   // name           0
   334             << predefSchemesNames[5]   // name           0
   350             << QVariant(15)            // sudden death   29
   363             << QVariant(15)            // sudden death   29
   351             << QVariant(0)             // case prob      30
   364             << QVariant(0)             // case prob      30
   352             << QVariant(0)             // mines time     31
   365             << QVariant(0)             // mines time     31
   353             << QVariant(0)             // mines number   32
   366             << QVariant(0)             // mines number   32
   354             << QVariant(0)             // mine dud pct   33
   367             << QVariant(0)             // mine dud pct   33
   355             << QVariant(80)            // explosives     34
   368             << QVariant(200)           // explosives     34
   356             << QVariant(35)            // health case pct 35
   369             << QVariant(0)             // air mines      35
   357             << QVariant(25)            // health case amt 36
   370             << QVariant(35)            // health case pct 36
   358             << QVariant(47)            // water rise amt 37
   371             << QVariant(25)            // health case amt 37
   359             << QVariant(5)             // health dec amt 38
   372             << QVariant(47)            // water rise amt 38
   360             << QVariant(100)           // rope modfier   39
   373             << QVariant(5)             // health dec amt 39
   361             << QVariant(100)           // get away time  40
   374             << QVariant(100)           // rope modfier   40
   362             << QVariant(0)             // world edge     41
   375             << QVariant(100)           // get away time  41
       
   376             << QVariant(0)             // world edge     42
       
   377             << QVariant()              // scriptparam    43
   363             ;
   378             ;
   364 
   379 
   365     QList<QVariant> tunnelhogs;
   380     QList<QVariant> tunnelhogs;
   366     tunnelhogs
   381     tunnelhogs
   367             << predefSchemesNames[6]   // name           0
   382             << predefSchemesNames[6]   // name           0
   397             << QVariant(5)             // case prob      30
   412             << QVariant(5)             // case prob      30
   398             << QVariant(3)             // mines time     31
   413             << QVariant(3)             // mines time     31
   399             << QVariant(10)            // mines number   32
   414             << QVariant(10)            // mines number   32
   400             << QVariant(10)            // mine dud pct   33
   415             << QVariant(10)            // mine dud pct   33
   401             << QVariant(10)            // explosives     34
   416             << QVariant(10)            // explosives     34
   402             << QVariant(35)            // health case pct 35
   417             << QVariant(4)             // air mines      35
   403             << QVariant(25)            // health case amt 36
   418             << QVariant(35)            // health case pct 36
   404             << QVariant(47)            // water rise amt 37
   419             << QVariant(25)            // health case amt 37
   405             << QVariant(5)             // health dec amt 38
   420             << QVariant(47)            // water rise amt 38
   406             << QVariant(100)           // rope modfier   39
   421             << QVariant(5)             // health dec amt 39
   407             << QVariant(100)           // get away time  40
   422             << QVariant(100)           // rope modfier   40
   408             << QVariant(0)             // world edge     41
   423             << QVariant(100)           // get away time  41
       
   424             << QVariant(0)             // world edge     42
       
   425             << QVariant()              // scriptparam    43
   409             ;
   426             ;
   410 
   427 
   411     QList<QVariant> forts;
   428     QList<QVariant> forts;
   412     forts
   429     forts
   413             << predefSchemesNames[7]   // name           0
   430             << predefSchemesNames[7]   // name           0
   443             << QVariant(5)             // case prob      30
   460             << QVariant(5)             // case prob      30
   444             << QVariant(3)             // mines time     31
   461             << QVariant(3)             // mines time     31
   445             << QVariant(0)             // mines number   32
   462             << QVariant(0)             // mines number   32
   446             << QVariant(0)             // mine dud pct   33
   463             << QVariant(0)             // mine dud pct   33
   447             << QVariant(0)             // explosives     34
   464             << QVariant(0)             // explosives     34
   448             << QVariant(35)            // health case pct 35
   465             << QVariant(0)             // air mines      35
   449             << QVariant(25)            // health case amt 36
   466             << QVariant(35)            // health case pct 36
   450             << QVariant(47)            // water rise amt 37
   467             << QVariant(25)            // health case amt 37
   451             << QVariant(5)             // health dec amt 38
   468             << QVariant(47)            // water rise amt 38
   452             << QVariant(100)           // rope modfier   39
   469             << QVariant(5)             // health dec amt 39
   453             << QVariant(100)           // get away time  40
   470             << QVariant(100)           // rope modfier   40
   454             << QVariant(0)             // world edge     41
   471             << QVariant(100)           // get away time  41
       
   472             << QVariant(0)             // world edge     42
       
   473             << QVariant()              // scriptparam    43
   455             ;
   474             ;
   456 
   475 
   457     QList<QVariant> timeless;
   476     QList<QVariant> timeless;
   458     timeless
   477     timeless
   459             << predefSchemesNames[8]   // name           0
   478             << predefSchemesNames[8]   // name           0
   489             << QVariant(5)             // case prob      30
   508             << QVariant(5)             // case prob      30
   490             << QVariant(3)             // mines time     31
   509             << QVariant(3)             // mines time     31
   491             << QVariant(5)             // mines number   32
   510             << QVariant(5)             // mines number   32
   492             << QVariant(10)            // mine dud pct   33
   511             << QVariant(10)            // mine dud pct   33
   493             << QVariant(2)             // explosives     34
   512             << QVariant(2)             // explosives     34
   494             << QVariant(35)            // health case pct 35
   513             << QVariant(0)             // air mines      35
   495             << QVariant(30)            // health case amt 36
   514             << QVariant(35)            // health case pct 36
   496             << QVariant(0)             // water rise amt 37
   515             << QVariant(30)            // health case amt 37
   497             << QVariant(0)             // health dec amt 38
   516             << QVariant(0)             // water rise amt 38
   498             << QVariant(100)           // rope modfier   39
   517             << QVariant(0)             // health dec amt 39
   499             << QVariant(100)           // get away time  40
   518             << QVariant(100)           // rope modfier   40
   500             << QVariant(0)             // world edge     41
   519             << QVariant(100)           // get away time  41
       
   520             << QVariant(0)             // world edge     42
       
   521             << QVariant()              // scriptparam    43
   501             ;
   522             ;
   502 
   523 
   503     QList<QVariant> thinkingportals;
   524     QList<QVariant> thinkingportals;
   504     thinkingportals
   525     thinkingportals
   505             << predefSchemesNames[9]   // name           0
   526             << predefSchemesNames[9]   // name           0
   535             << QVariant(2)             // case prob      30
   556             << QVariant(2)             // case prob      30
   536             << QVariant(3)             // mines time     31
   557             << QVariant(3)             // mines time     31
   537             << QVariant(5)             // mines number   32
   558             << QVariant(5)             // mines number   32
   538             << QVariant(0)             // mine dud pct   33
   559             << QVariant(0)             // mine dud pct   33
   539             << QVariant(5)             // explosives     34
   560             << QVariant(5)             // explosives     34
   540             << QVariant(25)            // health case pct 35
   561             << QVariant(4)             // air mines      35
   541             << QVariant(25)            // health case amt 36
   562             << QVariant(25)            // health case pct 36
   542             << QVariant(47)            // water rise amt 37
   563             << QVariant(25)            // health case amt 37
   543             << QVariant(5)             // health dec amt 38
   564             << QVariant(47)            // water rise amt 38
   544             << QVariant(100)           // rope modfier   39
   565             << QVariant(5)             // health dec amt 39
   545             << QVariant(100)           // get away time  40
   566             << QVariant(100)           // rope modfier   40
   546             << QVariant(0)             // world edge     41
   567             << QVariant(100)           // get away time  41
       
   568             << QVariant(0)             // world edge     42
       
   569             << QVariant()              // scriptparam    43
   547             ;
   570             ;
   548 
   571 
   549     QList<QVariant> kingmode;
   572     QList<QVariant> kingmode;
   550     kingmode
   573     kingmode
   551             << predefSchemesNames[10]  // name           0
   574             << predefSchemesNames[10]  // name           0
   581             << QVariant(5)             // case prob      30
   604             << QVariant(5)             // case prob      30
   582             << QVariant(3)             // mines time     31
   605             << QVariant(3)             // mines time     31
   583             << QVariant(4)             // mines number   32
   606             << QVariant(4)             // mines number   32
   584             << QVariant(0)             // mine dud pct   33
   607             << QVariant(0)             // mine dud pct   33
   585             << QVariant(2)             // explosives     34
   608             << QVariant(2)             // explosives     34
   586             << QVariant(35)            // health case pct 35
   609             << QVariant(0)             // air mines      35
   587             << QVariant(25)            // health case amt 36
   610             << QVariant(35)            // health case pct 36
   588             << QVariant(47)            // water rise amt 37
   611             << QVariant(25)            // health case amt 37
   589             << QVariant(5)             // health dec amt 38
   612             << QVariant(47)            // water rise amt 38
   590             << QVariant(100)           // rope modfier   39
   613             << QVariant(5)             // health dec amt 39
   591             << QVariant(100)           // get away time  40
   614             << QVariant(100)           // rope modfier   40
   592             << QVariant(0)             // world edge     41
   615             << QVariant(100)           // get away time  41
   593             ;
   616             << QVariant(0)             // world edge     42
   594 
   617             << QVariant()              // scriptparam    43
   595 
   618             ;
       
   619 
       
   620 	QList<QVariant> construction;
       
   621     construction
       
   622             << predefSchemesNames[11]  // name           0
       
   623             << QVariant(false)         // fortsmode      1
       
   624             << QVariant(false)         // team divide    2
       
   625             << QVariant(false)         // solid land     3
       
   626             << QVariant(false)         // border         4
       
   627             << QVariant(false)         // low gravity    5
       
   628             << QVariant(false)         // laser sight    6
       
   629             << QVariant(false)         // invulnerable   7
       
   630             << QVariant(false)         // reset health   8
       
   631             << QVariant(false)         // vampiric       9
       
   632             << QVariant(false)         // karma          10
       
   633             << QVariant(false)         // artillery      11
       
   634             << QVariant(true)          // random order   12
       
   635             << QVariant(false)          // king           13
       
   636             << QVariant(false)         // place hog      14
       
   637             << QVariant(false)         // shared ammo    15
       
   638             << QVariant(true)         // disable girders 16
       
   639             << QVariant(true)         // disable land objects 17
       
   640             << QVariant(false)         // AI survival    18
       
   641             << QVariant(true)         // inf. attack    19
       
   642             << QVariant(false)         // reset weps     20
       
   643             << QVariant(true)         // per hog ammo   21
       
   644             << QVariant(false)         // no wind        22
       
   645             << QVariant(false)         // more wind      23
       
   646             << QVariant(false)         // tag team       24
       
   647             << QVariant(false)         // bottom border  25
       
   648             << QVariant(100)           // damage modfier 26
       
   649             << QVariant(45)            // turn time      27
       
   650             << QVariant(100)           // init health    28
       
   651             << QVariant(15)            // sudden death   29
       
   652             << QVariant(5)             // case prob      30
       
   653             << QVariant(3)             // mines time     31
       
   654             << QVariant(0)             // mines number   32
       
   655             << QVariant(0)             // mine dud pct   33
       
   656             << QVariant(0)             // explosives     34
       
   657             << QVariant(0)             // air mines      35
       
   658             << QVariant(35)            // health case pct 36
       
   659             << QVariant(25)            // health case amt 37
       
   660             << QVariant(47)            // water rise amt 38
       
   661             << QVariant(5)             // health dec amt 39
       
   662             << QVariant(100)           // rope modfier   40
       
   663             << QVariant(100)           // get away time  41
       
   664             << QVariant(0)             // world edge     42
       
   665             << QVariant()              // scriptparam    43
       
   666             ;
       
   667 			
   596     schemes.append(defaultScheme);
   668     schemes.append(defaultScheme);
   597     schemes.append(proMode);
   669     schemes.append(proMode);
   598     schemes.append(shoppa);
   670     schemes.append(shoppa);
   599     schemes.append(cleanslate);
   671     schemes.append(cleanslate);
   600     schemes.append(minefield);
   672     schemes.append(minefield);
   602     schemes.append(tunnelhogs);
   674     schemes.append(tunnelhogs);
   603     schemes.append(forts);
   675     schemes.append(forts);
   604     schemes.append(timeless);
   676     schemes.append(timeless);
   605     schemes.append(thinkingportals);
   677     schemes.append(thinkingportals);
   606     schemes.append(kingmode);
   678     schemes.append(kingmode);
       
   679 	schemes.append(construction);
   607 
   680 
   608 
   681 
   609     int size = fileConfig.beginReadArray("schemes");
   682     int size = fileConfig.beginReadArray("schemes");
   610     for (int i = 0; i < size; ++i)
   683     for (int i = 0; i < size; ++i)
   611     {
   684     {
   686         schemes.insert(schemes.size(), newScheme);
   759         schemes.insert(schemes.size(), newScheme);
   687     }
   760     }
   688     else
   761     else
   689     {
   762     {
   690         QList<QVariant> newScheme = schemes[row];
   763         QList<QVariant> newScheme = schemes[row];
   691         newScheme[0] = QVariant(tr("copy of") + " " + newScheme[0].toString());
   764         newScheme[0] = QVariant(tr("copy of %1").arg(newScheme[0].toString()));
   692         schemes.insert(schemes.size(), newScheme);
   765         schemes.insert(schemes.size(), newScheme);
   693     }
   766     }
   694 
   767 
   695     endInsertRows();
   768     endInsertRows();
   696 
   769 
   783         return QVariant();
   856         return QVariant();
   784 
   857 
   785     return netScheme[index.column()];
   858     return netScheme[index.column()];
   786 }
   859 }
   787 
   860 
   788 void NetAmmoSchemeModel::setNetSchemeConfig(QStringList & cfg)
   861 void NetAmmoSchemeModel::setNetSchemeConfig(QStringList cfg)
   789 {
   862 {
   790     if(cfg.size() != netScheme.size())
   863     if(cfg.size() != netScheme.size())
   791     {
   864     {
   792         qWarning("Incorrect scheme cfg size");
   865         qWarning("Incorrect scheme cfg size");
   793         return;
   866         return;
   794     }
   867     }
   795 
   868 
       
   869     cfg[cfg.size()-1] = cfg[cfg.size()-1].mid(1);
       
   870 
   796     for(int i = 0; i < cfg.size(); ++i)
   871     for(int i = 0; i < cfg.size(); ++i)
   797         netScheme[i] = QVariant(cfg[i]);
   872         netScheme[i] = QVariant(cfg[i]);
   798 
   873 
   799     reset();
   874     reset();
   800 }
   875 }