m_InfoView = new InfoView(m_LeftSplit);
+ connect(m_InfoView,SIGNAL(add()),SLOT(slotInfoNew()));
+ connect(m_InfoView,SIGNAL(apply()),SLOT(slotInfoApply()));
+ connect(m_InfoView,SIGNAL(cancel()),SLOT(slotInfoCancel()));
+ connect(m_InfoView,SIGNAL(remove()),SLOT(slotInfoRemove()));
+
vector<QString> raceNames;
const map<string, vector<int> >& races = Fleet::Races();
for(map<string, vector<int> >::const_iterator i = races.begin(); i != races.end(); ++i)
}
}
m_InfoView->setBattles(battlenames);
+ updateInfoView();
+ updateFleetView();
}
//////////////////////////////////////////////////////////////////////////////
//
void BSView::slotFleetSelection(QListViewItem *lvi)
{
- //cout << lvi->parent()->text(2).toLocal8bit() << endl;
-// for (int i = 0; i < 5; i++)
-// cout << lvi->text(i).local8Bit() << endl;
-
if (lvi->parent() == '\0')
{
}
else if (lvi->parent()->parent() == '\0')
{
-// m_FleetView->slotHomePlanet(false);
if (lvi->text(0) == tr("Friendly"))
{
// m_FleetView->slotAttacker(false);
}
else
{
- bool friendly = false;
- bool home = false;
m_sFleet = lvi->text(0);
m_sGroup = lvi->parent()->text(0);
m_sBattle = lvi->parent()->parent()->text(0);
- if ( m_sGroup == tr("Friendly"))
- {
- friendly = true;
- if(m_sFleet == tr("Home Planet"))
- home=true;
- }
-
- const Fleet* fl = m_doc->specificFleet(m_sBattle, m_sGroup, m_sFleet);
-
- m_InfoView->setRace(fl->race().c_str());
- m_InfoView->setFleetName(m_sFleet);
- m_InfoView->setEta(fl->ETA());
- m_InfoView->setGroup(m_sGroup);
- m_InfoView->setBattle(m_sBattle);
-
- if (fl->race() == tr("Generic").latin1())
- {
- m_GenericFleetView->viewFleet(fl, friendly);
- m_FleetViews->raiseWidget(2);
-
- }
- else
- {
- if (fl->race() == m_FleetView->fleet()->race() &&
- m_FleetView->isHome() == home)
- {
- m_FleetView->viewFleet(fl, friendly);
- }
- else
- {
- m_FleetViews->removeWidget(m_FleetView);
- delete m_FleetView;
- m_FleetView = new FleetView(fl, friendly);
- connect(m_FleetView, SIGNAL(fleetChanged(const Fleet*)), SLOT(slotFleetChanged(const Fleet*)));
- m_FleetViews->addWidget(m_FleetView, 1);
- }
- m_FleetViews->raiseWidget(1);
- }
+ updateInfoView();
+ updateFleetView();
}
}
m_doc->changeFleet(m_sBattle, m_sGroup, m_sFleet, fleet);
}
+//////////////////////////////////////////////////////////////////////////
+//
+void BSView::slotInfoApply()
+{
+}
+
+//////////////////////////////////////////////////////////////////////////
+//
+void BSView::slotInfoCancel()
+{
+ updateInfoView();
+}
+
+//////////////////////////////////////////////////////////////////////////
+//
+void BSView::slotInfoNew()
+{
+ Fleet* fl = new Fleet();
+
+ m_sBattle = m_InfoView->battle();
+ m_sGroup = m_InfoView->group();
+ m_sFleet = m_InfoView->fleetName();
+
+ fl->setETA(m_InfoView->eta());
+ fl->setName(m_sFleet.latin1());
+ fl->setRace(m_InfoView->race().latin1());
+
+ m_doc->newFleet(m_sBattle, m_sGroup, m_sFleet, fl);
+
+}
+
+//////////////////////////////////////////////////////////////////////////
+//
+void BSView::slotInfoRemove()
+{
+}
+
+//////////////////////////////////////////////////////////////////////////
+//
+void BSView::updateInfoView()
+{
+ const Fleet* fl = m_doc->specificFleet(m_sBattle, m_sGroup, m_sFleet);
+
+ if(!fl)
+ {
+ m_InfoView->setRace("");
+ m_InfoView->setFleetName("");
+ m_InfoView->setEta(0);
+ m_InfoView->setGroup("");
+ m_InfoView->setBattle("");
+ m_InfoView->enableNameChange(true);
+ m_InfoView->enableRemove(false);
+ return;
+ }
+
+ if(m_sFleet == tr("Home Planet"))
+ {
+ m_InfoView->enableNameChange(false);
+ m_InfoView->enableRemove(false);
+ }
+ else
+ {
+ m_InfoView->enableNameChange(true);
+ m_InfoView->enableRemove(true);
+ }
+
+ m_InfoView->setRace(fl->race().c_str());
+ m_InfoView->setFleetName(m_sFleet);
+ m_InfoView->setEta(fl->ETA());
+ m_InfoView->setGroup(m_sGroup);
+ m_InfoView->setBattle(m_sBattle);
+}
+
+//////////////////////////////////////////////////////////////////////////
+//
+void BSView::updateFleetView()
+{
+ bool friendly = false;
+ bool home = false;
+
+ const Fleet* fl = m_doc->specificFleet(m_sBattle, m_sGroup, m_sFleet);
+
+ if (!fl)
+ {
+ m_FleetViews->raiseWidget(2);
+ return;
+ }
+
+ if ( m_sGroup == tr("Friendly"))
+ {
+ friendly = true;
+ if(m_sFleet == tr("Home Planet"))
+ home=true;
+ }
+ if (fl->race() == tr("Generic").latin1())
+ {
+ m_GenericFleetView->viewFleet(fl, friendly);
+ m_FleetViews->raiseWidget(2);
+
+ }
+ else
+ {
+ if (fl->race() == m_FleetView->fleet()->race() &&
+ m_FleetView->isHome() == home)
+ {
+ m_FleetView->viewFleet(fl, friendly);
+ }
+ else
+ {
+ m_FleetViews->removeWidget(m_FleetView);
+ delete m_FleetView;
+ m_FleetView = new FleetView(fl, friendly);
+ connect(m_FleetView, SIGNAL(fleetChanged(const Fleet*)), SLOT(slotFleetChanged(const Fleet*)));
+ m_FleetViews->addWidget(m_FleetView, 1);
+ }
+ m_FleetViews->raiseWidget(1);
+ }
+}
<receiver>InfoView</receiver>
<slot>RemoveButton_clicked()</slot>
</connection>
+ <connection>
+ <sender>ApplyButton</sender>
+ <signal>clicked()</signal>
+ <receiver>InfoView</receiver>
+ <slot>ApplyButton_clicked()</slot>
+ </connection>
</connections>
<tabstops>
<tabstop>NameLine</tabstop>
<signal>add()</signal>
</signals>
<slots>
- <slot access="protected">init()</slot>
- <slot access="protected">destroy()</slot>
+ <slot>init()</slot>
+ <slot>destroy()</slot>
<slot>setRaces( std::vector<QString> races )</slot>
<slot>setEta( int eta )</slot>
<slot>setFleetName( QString name )</slot>
<slot>setGroup( QString s )</slot>
<slot>setBattles( std::vector<QString> battles )</slot>
<slot>setBattle( QString s )</slot>
+ <slot>enableNameChange( bool b )</slot>
+ <slot>enableRemove( bool b )</slot>
+ <slot>ApplyButton_clicked()</slot>
+ <slot returnType="QString">battle()</slot>
+ <slot returnType="int">eta()</slot>
+ <slot returnType="QString">fleetName()</slot>
+ <slot returnType="QString">group()</slot>
+ <slot returnType="QString">race()</slot>
</slots>
<layoutdefaults spacing="0" margin="0"/>
</UI>