QTfrontend/ui/widget/selectWeapon.cpp
changeset 15594 fdca2af677a9
parent 15542 3b0b6ce76303
child 15638 1ee7790caa0f
equal deleted inserted replaced
15593:f0ac916a0608 15594:fdca2af677a9
    82 void SelWeaponItem::setEnabled(bool value)
    82 void SelWeaponItem::setEnabled(bool value)
    83 {
    83 {
    84     item->setEnabled(value);
    84     item->setEnabled(value);
    85 }
    85 }
    86 
    86 
       
    87 int SelWeaponWidget::readWeaponValue(const QChar chr, int max)
       
    88 {
       
    89     int value = chr.digitValue();
       
    90     if (value == -1)
       
    91         value = 0;
       
    92     else if (value > max)
       
    93         value = max;
       
    94     return value;
       
    95 }
       
    96 
    87 SelWeaponWidget::SelWeaponWidget(int numItems, QWidget* parent) :
    97 SelWeaponWidget::SelWeaponWidget(int numItems, QWidget* parent) :
    88     QFrame(parent),
    98     QFrame(parent),
    89     m_numItems(numItems)
    99     m_numItems(numItems)
    90 {
   100 {
    91     wconf = new QMap<QString, QString>();
   101     wconf = new QMap<QString, QString>();
   185     {
   195     {
   186         // Hide amSkip (6) and amCreeper (57)
   196         // Hide amSkip (6) and amCreeper (57)
   187         // TODO: Unhide amCreeper when this weapon is done
   197         // TODO: Unhide amCreeper when this weapon is done
   188         if (i == 6 || i == 57) continue;
   198         if (i == 6 || i == 57) continue;
   189         if (k % 4 == 0) ++j;
   199         if (k % 4 == 0) ++j;
   190         SelWeaponItem * swi = new SelWeaponItem(true, i, currentState[i].digitValue(), QImage(":/res/ammopic.png"), QImage(":/res/ammopicgrey.png"), this);
   200         SelWeaponItem * swi = new SelWeaponItem(true, i, readWeaponValue(currentState[i], 9), QImage(":/res/ammopic.png"), QImage(":/res/ammopicgrey.png"), this);
   191         weaponItems[i].append(swi);
   201         weaponItems[i].append(swi);
   192         p1Layout->addWidget(swi, j, k % 4);
   202         p1Layout->addWidget(swi, j, k % 4);
   193 
   203 
   194         SelWeaponItem * pwi = new SelWeaponItem(false, i, currentState[numItems + i].digitValue(), QImage(":/res/ammopicbox.png"), QImage(":/res/ammopicboxgrey.png"), this);
   204         SelWeaponItem * pwi = new SelWeaponItem(false, i, readWeaponValue(currentState[numItems + i], 8), QImage(":/res/ammopicbox.png"), QImage(":/res/ammopicboxgrey.png"), this);
   195         weaponItems[i].append(pwi);
   205         weaponItems[i].append(pwi);
   196         p2Layout->addWidget(pwi, j, k % 4);
   206         p2Layout->addWidget(pwi, j, k % 4);
   197 
   207 
   198         SelWeaponItem * dwi = new SelWeaponItem(false, i, currentState[numItems*2 + i].digitValue(), QImage(":/res/ammopicdelay.png"), QImage(":/res/ammopicdelaygrey.png"), this);
   208         SelWeaponItem * dwi = new SelWeaponItem(false, i, readWeaponValue(currentState[numItems*2 + i], 8), QImage(":/res/ammopicdelay.png"), QImage(":/res/ammopicdelaygrey.png"), this);
   199         weaponItems[i].append(dwi);
   209         weaponItems[i].append(dwi);
   200         p3Layout->addWidget(dwi, j, k % 4);
   210         p3Layout->addWidget(dwi, j, k % 4);
   201 
   211 
   202         SelWeaponItem * awi = new SelWeaponItem(false, i, currentState[numItems*3 + i].digitValue(), QImage(":/res/ammopic.png"), QImage(":/res/ammopicgrey.png"), this);
   212         SelWeaponItem * awi = new SelWeaponItem(false, i, readWeaponValue(currentState[numItems*3 + i], 8), QImage(":/res/ammopic.png"), QImage(":/res/ammopicgrey.png"), this);
   203         weaponItems[i].append(awi);
   213         weaponItems[i].append(awi);
   204         p4Layout->addWidget(awi, j, k % 4);
   214         p4Layout->addWidget(awi, j, k % 4);
   205 
   215 
   206         ++k;
   216         ++k;
   207     }
   217     }
   227     }
   237     }
   228     for(int i = 0; i < m_numItems; ++i)
   238     for(int i = 0; i < m_numItems; ++i)
   229     {
   239     {
   230         twi::iterator it = weaponItems.find(i);
   240         twi::iterator it = weaponItems.find(i);
   231         if (it == weaponItems.end()) continue;
   241         if (it == weaponItems.end()) continue;
   232         it.value()[0]->setItemsNum(ammo[i].digitValue());
   242         it.value()[0]->setItemsNum(readWeaponValue(ammo[i], 9));
   233         it.value()[1]->setItemsNum(ammo[m_numItems + i].digitValue());
   243         it.value()[1]->setItemsNum(readWeaponValue(ammo[m_numItems + i], 8));
   234         it.value()[2]->setItemsNum(ammo[m_numItems*2 + i].digitValue());
   244         it.value()[2]->setItemsNum(readWeaponValue(ammo[m_numItems*2 + i], 8));
   235         it.value()[3]->setItemsNum(ammo[m_numItems*3 + i].digitValue());
   245         it.value()[3]->setItemsNum(readWeaponValue(ammo[m_numItems*3 + i], 8));
   236         it.value()[0]->setEnabled(enable);
   246         it.value()[0]->setEnabled(enable);
   237         it.value()[1]->setEnabled(enable);
   247         it.value()[1]->setEnabled(enable);
   238         it.value()[2]->setEnabled(enable);
   248         it.value()[2]->setEnabled(enable);
   239         it.value()[3]->setEnabled(enable);
   249         it.value()[3]->setEnabled(enable);
   240     }
   250     }