summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-02-26 01:35:12 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-02-26 01:35:12 -0500
commite6061a847fd007f75d1ec22f2dfb8eed30c845c4 (patch)
treeee9eb3c87f019743a8fc9f297fa581d81f2666e2
parent8c531e2e7a0bb62e5d65bf8e394fac6cd960ed8b (diff)
downloadsigen-e6061a847fd007f75d1ec22f2dfb8eed30c845c4.tar.gz
sigen-e6061a847fd007f75d1ec22f2dfb8eed30c845c4.tar.xz
sigen-e6061a847fd007f75d1ec22f2dfb8eed30c845c4.zip
Fix up the Species default for egg species and the widget
-rw-r--r--sigmod/Species.cpp2
-rw-r--r--sigmodr/widgets/SpeciesUI.cpp25
-rw-r--r--sigmodr/widgets/gui/species.ui4
3 files changed, 18 insertions, 13 deletions
diff --git a/sigmod/Species.cpp b/sigmod/Species.cpp
index c07efdf9..3b61d2cd 100644
--- a/sigmod/Species.cpp
+++ b/sigmod/Species.cpp
@@ -62,7 +62,7 @@ Species::Species(const Game* parent, const int id) :
m_skin(-1),
m_encyclopediaEntry(""),
m_genderFactor(1, 2),
- m_eggSpecies(INT_MAX),
+ m_eggSpecies(id),
m_eggSteps(0),
m_evolution("", "")
{
diff --git a/sigmodr/widgets/SpeciesUI.cpp b/sigmodr/widgets/SpeciesUI.cpp
index 364e82aa..9268d8be 100644
--- a/sigmodr/widgets/SpeciesUI.cpp
+++ b/sigmodr/widgets/SpeciesUI.cpp
@@ -63,7 +63,7 @@ SpeciesUI::SpeciesUI(Species* species, QWidget* parent) :
void SpeciesUI::initGui()
{
- QFile file(":/gui/trainer.ui");
+ QFile file(":/gui/species.ui");
file.open(QFile::ReadOnly);
QWidget *formWidget = QUiLoader().load(&file, this);
file.close();
@@ -104,6 +104,7 @@ void SpeciesUI::initGui()
ui_boxItems = formWidget->findChild<QGroupBox*>("boxItems");
ui_items = formWidget->findChild<KActionSelector*>("varItems");
ui_itemWeight = formWidget->findChild<KIntNumInput*>("varItemWeight");
+ ui_growth->addItems(Species::StyleStr);
connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
connect(ui_baseStat, SIGNAL(currentCellChanged(int,int,int,int)), this, SLOT(baseStatChanged(int)));
connect(ui_baseStatValue, SIGNAL(valueChanged(int)), this, SLOT(baseStatValueChanged(int)));
@@ -140,14 +141,13 @@ void SpeciesUI::initGui()
connect(ui_items, SIGNAL(added(QListWidgetItem*)), this, SLOT(itemAdded(QListWidgetItem*)));
connect(ui_items, SIGNAL(removed(QListWidgetItem*)), this, SLOT(itemRemoved(QListWidgetItem*)));
connect(ui_itemWeight, SIGNAL(valueChanged(int)), this, SLOT(itemWeightChanged(int)));
- ui_growth->addItems(Species::StyleStr);
+ connect(ui_abilities->selectedListWidget(), SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(abilityChanged(QListWidgetItem*)));
+ connect(ui_items->selectedListWidget(), SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*)));
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(formWidget);
setLayout(layout);
ui_baseStat->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
ui_effortValue->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
- connect(ui_abilities->selectedListWidget(), SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(selectedAbilityChanged(QListWidgetItem*)));
- connect(ui_items->selectedListWidget(), SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(selectedItemChanged(QListWidgetItem*)));
}
void SpeciesUI::refreshGui()
@@ -282,8 +282,8 @@ void SpeciesUI::refreshGui()
ui_eggSpecies->clear();
for (int i = 0; i < game()->speciesCount(); ++i)
ui_eggSpecies->addItem(game()->species(i)->name());
- ui_eggSpecies->blockSignals(blockedEggSpecies);
ui_eggSpecies->setEnabled(game()->rules()->breedingAllowed());
+ ui_eggSpecies->blockSignals(blockedEggSpecies);
ui_eggSteps->setEnabled(game()->rules()->breedingAllowed());
const bool blockedEggGroups = ui_eggGroups->blockSignals(true);
ui_eggGroups->availableListWidget()->clear();
@@ -550,27 +550,32 @@ void SpeciesUI::encyclopediaEntryChanged(const QString& encyclopediaEntry)
void SpeciesUI::maleFrontChanged(const int maleFront)
{
- qobject_cast<Species*>(modified())->setFrontMaleSprite(game()->sprite(maleFront)->id());
+ if (0 <= maleFront)
+ qobject_cast<Species*>(modified())->setFrontMaleSprite(game()->sprite(maleFront)->id());
}
void SpeciesUI::maleBackChanged(const int maleBack)
{
- qobject_cast<Species*>(modified())->setBackMaleSprite(game()->sprite(maleBack)->id());
+ if (0 <= maleBack)
+ qobject_cast<Species*>(modified())->setBackMaleSprite(game()->sprite(maleBack)->id());
}
void SpeciesUI::femaleFrontChanged(const int femaleFront)
{
- qobject_cast<Species*>(modified())->setFrontFemaleSprite(game()->sprite(femaleFront)->id());
+ if (0 <= femaleFront)
+ qobject_cast<Species*>(modified())->setFrontFemaleSprite(game()->sprite(femaleFront)->id());
}
void SpeciesUI::femaleBackChanged(const int femaleBack)
{
- qobject_cast<Species*>(modified())->setBackFemaleSprite(game()->sprite(femaleBack)->id());
+ if (0 <= femaleBack)
+ qobject_cast<Species*>(modified())->setBackFemaleSprite(game()->sprite(femaleBack)->id());
}
void SpeciesUI::skinChanged(const int skin)
{
- qobject_cast<Species*>(modified())->setSkin(ui_skin->itemData(skin).toInt());
+ if (0 <= skin)
+ qobject_cast<Species*>(modified())->setSkin(game()->skin(skin)->id());
}
void SpeciesUI::hasGenderChanged(const bool hasGender)
diff --git a/sigmodr/widgets/gui/species.ui b/sigmodr/widgets/gui/species.ui
index 7af32f6a..a9228352 100644
--- a/sigmodr/widgets/gui/species.ui
+++ b/sigmodr/widgets/gui/species.ui
@@ -677,7 +677,7 @@
<item row="0" column="0" >
<widget class="QLabel" name="labelGenderChance" >
<property name="text" >
- <string>Gender chance:</string>
+ <string>Chance:</string>
</property>
<property name="alignment" >
<set>Qt::AlignRight|Qt::AlignVCenter</set>
@@ -907,7 +907,7 @@
<item row="3" column="0" >
<widget class="QLabel" name="labelFemaleBack" >
<property name="text" >
- <string>FemaleBack:</string>
+ <string>Female back:</string>
</property>
<property name="alignment" >
<set>Qt::AlignRight|Qt::AlignVCenter</set>