X-Git-Url: https://ruin.nu/git/?p=hbs.git;a=blobdiff_plain;f=bs%2Fbsview.cpp;h=f7f3aa8a771b30783c4058810d2f987a7fa14f75;hp=78f8340fe185bcc7568415518b190a0784e5cc7c;hb=15d92b3097a80faf26b8ce4cb4a6b957d17bc092;hpb=56b09bf912d2965744e2e78a30fc68d73ebe401c diff --git a/bs/bsview.cpp b/bs/bsview.cpp index 78f8340..f7f3aa8 100644 --- a/bs/bsview.cpp +++ b/bs/bsview.cpp @@ -64,7 +64,7 @@ BSView::BSView(QWidget *parent, BSDoc *doc) : QSplitter(parent) //the widget stack m_BattleSum = new BattleSum(); m_FleetViews->addWidget(m_BattleSum, 0); - m_FleetView = new FleetView(); + m_FleetView = new FleetView(Fleet(), true, true); m_FleetViews->addWidget(m_FleetView, 1); //m_FleetViews->raiseWidget(0); @@ -94,7 +94,7 @@ void BSView::slotDocumentChanged() { m_NumberView->clear(); - const map > >& battles = m_doc->Battles(); + const map > >& battles = m_doc->battles(); for (map > >::const_iterator i = battles.begin(); i != battles.end(); ++i) { @@ -147,22 +147,32 @@ void BSView::slotFleetSelection(QListViewItem *lvi) } else { - if (lvi->parent()->text(0) == tr("Friendly")) + bool home = false; + bool friendly = false; + QString fleet = lvi->text(0); + QString group = lvi->parent()->text(0); + QString battle = lvi->parent()->parent()->text(0); + if ( group == tr("Friendly")) { -// m_FleetView->slotAttacker(false); -// m_FleetView->slotHomePlanet(false); - if (lvi->text(0) == tr("Home Planet")) + friendly = true; + if ( fleet == tr("Home Planet")) { -// m_FleetView->slotHomePlanet(true); + home = true; } } + Fleet fl = m_doc->specificFleet(battle, group, fleet); + if (fl.Race() == m_FleetView->fleet().Race() && + m_FleetView->isHome() == home) + { + m_FleetView->viewFleet(fl, friendly); + } else { -// m_FleetView->slotAttacker(true); -// m_FleetView->slotHomePlanet(false); + m_FleetViews->removeWidget(m_FleetView); + m_FleetView = new FleetView(fl, friendly, home); + m_FleetViews->addWidget(m_FleetView, 1); } m_FleetViews->raiseWidget(1); - }