]> ruin.nu Git - hbs.git/blobdiff - bs/fleetview.cpp
Roids/score for planets are now editable
[hbs.git] / bs / fleetview.cpp
index d40cfc53018bff1c4205e202e24b486e04a9d03b..b16c70fc309d660243241983e78b63d157369739 100644 (file)
@@ -55,7 +55,7 @@ FleetView::FleetView(const Fleet* fleet, bool friendly, QWidget *parent, const c
        m_UnitsLayout = new QGridLayout(m_MainLayout, rows, 6);
        buildUnitTable();
        //QSpacerItem* space = new QSpacerItem(1, 1);
-       fillTable();
+       
 
        m_MainLayout->addStretch(10);
 
@@ -63,10 +63,11 @@ FleetView::FleetView(const Fleet* fleet, bool friendly, QWidget *parent, const c
        {
                m_RoidsEditView = new RoidsEditView(this);
                m_MainLayout->addWidget(m_RoidsEditView);
+               connect(m_RoidsEditView, SIGNAL(changed(const QString&, int)), SLOT(slotRoidsChanged(const QString&, int)));
        }
        m_ResourceView = new ResourceView(this);
        m_MainLayout->addWidget(m_ResourceView);
-
+  fillTable();
 }
 
 FleetView::~FleetView(){
@@ -189,6 +190,31 @@ void FleetView::fillTable()
        {
                m_UnitsEdit[(*i)]->setText(QString("%1").arg(m_Fleet->fleet(i->latin1(), 0)));
        }
+       Planet* pl;
+       if ((pl = dynamic_cast<Planet*>(m_Fleet)) && m_bHome)
+       {
+               m_RoidsEditView->setValue(tr("score"),pl->planetScore());
+               m_RoidsEditView->setValue(tr("metal"),pl->roids(tr("metal").latin1()));
+               m_RoidsEditView->setValue(tr("crystal"),pl->roids(tr("crystal").latin1()));
+               m_RoidsEditView->setValue(tr("eonium"),pl->roids(tr("eonium").latin1()));
+               m_RoidsEditView->setValue(tr("uninit"),pl->roids(tr("uninit").latin1()));
+       }
+}
+
+/////////////////////////////////////////////////////////////////////
+//
+void FleetView::slotRoidsChanged(const QString& type, int value)
+{
+       Planet* pl;
+       if ((pl = dynamic_cast<Planet*>(m_Fleet)))
+       {
+               if (type == tr("score"))
+                       pl->setPlanetScore(value);
+               else
+               {
+                       pl->setRoids(type.latin1(), value);
+               }
+               emit fleetChanged(pl);
+       }
 }
 
-