X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=bs%2Ffleetview.cpp;h=e3290a62d7c4a39d0c25780a13a282cd30012f1f;hb=cb2fabf93c2f6ba8b57833309038adb972f58925;hp=da0714431b9573e89e817be9e4943379a3787ce8;hpb=d2305e5235e09fa536616f71c095e390fe8cbf8b;p=hbs.git diff --git a/bs/fleetview.cpp b/bs/fleetview.cpp index da07144..e3290a6 100644 --- a/bs/fleetview.cpp +++ b/bs/fleetview.cpp @@ -30,6 +30,10 @@ using namespace std; FleetView::FleetView(const Fleet* fleet, bool friendly, QWidget *parent, const char *name ) : QWidget(parent,name) { + m_iMinTick = 0; + m_iMaxTick = 0; + m_iResultMode = 0; + m_Modified = false; const Planet* planet = 0; if((planet = dynamic_cast(fleet))) @@ -68,7 +72,7 @@ FleetView::FleetView(const Fleet* fleet, bool friendly, QWidget *parent, const c } m_ResourceView = new ResourceView(this); m_MainLayout->addWidget(m_ResourceView); - fillTable(); + fillTable(); } FleetView::~FleetView(){ @@ -78,6 +82,7 @@ FleetView::~FleetView(){ // void FleetView::viewFleet(const Fleet* fleet, bool friendly) { + friendly = true; if (m_Fleet->race() != fleet->race()) { findNames(); @@ -201,6 +206,7 @@ void FleetView::fillTable() m_RoidsEditView->setValue(tr("eonium"),pl->roids(tr("eonium").latin1())); m_RoidsEditView->setValue(tr("uninit"),pl->roids(tr("uninit").latin1())); } + slotViewTickRange(); } ///////////////////////////////////////////////////////////////////// @@ -222,23 +228,36 @@ void FleetView::slotRoidsChanged(const QString& type, int value) ///////////////////////////////////////////////////////////////////// // -void FleetView::slotViewTickRange(int min = -1, int max = -1) +void FleetView::slotViewTickRange(int min, int max) { if (min > -1) m_iMinTick = min; if (max > -1) m_iMaxTick = max; - + + int before = 0; + int after = 0; for(vector::iterator i = m_Names.begin(); i != m_Names.end(); ++i) { - int before = m_Fleet->fleet(i->latin1(), m_iMinTick); - int after = m_Fleet->fleet(i->latin1(), m_iMaxTick); - m_UnitsLostSurvivedView[(*i)]->setText(QString("%1").arg(after - before)); + int show; + if (m_iResultMode == 1) //Blocked + { + show = m_Fleet->blockedFleet(i->latin1(), m_iMaxTick); + } + else if (m_iResultMode == 2) //Survived + { + show = m_Fleet->fleet(i->latin1(), m_iMaxTick); + } + else + { + before = m_Fleet->fleet(i->latin1(), m_iMinTick); + after = m_Fleet->fleet(i->latin1(), m_iMaxTick); + show = after - before; + } + m_UnitsLostSurvivedView[(*i)]->setText(QString("%1").arg( show )); } int lost; - int before; - int after; int init = 0; @@ -298,5 +317,21 @@ void FleetView::slotViewTickRange(int min = -1, int max = -1) after = pl->roids(tr("uninit").latin1(),m_iMaxTick); lost = after - before; m_RoidsEditView->slotSetLost(tr("uninit"),lost); + + before = pl->planetScore(m_iMinTick); + after = pl->planetScore(m_iMaxTick); + lost = after - before; + m_RoidsEditView->slotSetLost(tr("scorelost"),lost); + + m_RoidsEditView->slotSetLost(tr("capping"),pl->capping(m_iMaxTick)); + } } + +////////////////////////////////////////////////////////////////////////// +// +void FleetView::slotSetResultMode(int i) +{ + m_iResultMode = i; + slotViewTickRange(); +}