summaryrefslogtreecommitdiffstats
path: root/sigmodr/widgets/TrainerUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigmodr/widgets/TrainerUI.cpp')
-rw-r--r--sigmodr/widgets/TrainerUI.cpp117
1 files changed, 65 insertions, 52 deletions
diff --git a/sigmodr/widgets/TrainerUI.cpp b/sigmodr/widgets/TrainerUI.cpp
index 3da7bf02..33e70543 100644
--- a/sigmodr/widgets/TrainerUI.cpp
+++ b/sigmodr/widgets/TrainerUI.cpp
@@ -24,39 +24,50 @@
#include <sigmod/Skin.h>
#include <sigmod/Trainer.h>
+// KDE includes
+#include <KComboBox>
+#include <KIntNumInput>
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::TrainerUI::TrainerUI(Sigmod::Trainer* trainer, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(trainer, new Sigmod::Trainer(*trainer));
}
-Sigmodr::Widgets::TrainerUI::~TrainerUI()
-{
-}
-
void Sigmodr::Widgets::TrainerUI::initGui()
{
- varTeamIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varTeamIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varTeamIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varTeamIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
- varMoveIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varMoveIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varMoveIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varMoveIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
- varItemIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varItemIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varItemIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varItemIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
- varAbilityIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varAbilityIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varAbilityIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varAbilityIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
- varStatIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Ignorant], QVariant::fromValue(Sigmod::Trainer::Ignorant));
- varStatIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Determine], QVariant::fromValue(Sigmod::Trainer::Determine));
- varStatIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Remember], QVariant::fromValue(Sigmod::Trainer::Remember));
- varStatIntel->addItem(Sigmod::Trainer::IntelligenceStr[Sigmod::Trainer::Cheating], QVariant::fromValue(Sigmod::Trainer::Cheating));
+ QFile file(":/gui/trainer.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_moneyFactor = formWidget->findChild<KIntNumInput*>("varMoneyFactor");
+ ui_skin = formWidget->findChild<KComboBox*>("varSkin");
+ ui_depth = formWidget->findChild<KIntNumInput*>("varDepth");
+ ui_teamIntel = formWidget->findChild<KComboBox*>("varTeamIntel");
+ ui_moveIntel = formWidget->findChild<KComboBox*>("varMoveIntel");
+ ui_itemIntel = formWidget->findChild<KComboBox*>("varItemIntel");
+ ui_abilityIntel = formWidget->findChild<KComboBox*>("varAbilityIntel");
+ ui_statIntel = formWidget->findChild<KComboBox*>("varStatIntel");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_moneyFactor, SIGNAL(valueChanged(int)), this, SLOT(moneyFactorChanged(int)));
+ connect(ui_skin, SIGNAL(currentIndexChanged(int)), this, SLOT(skinChanged(int)));
+ connect(ui_depth, SIGNAL(valueChanged(int)), this, SLOT(depthChanged(int)));
+ connect(ui_teamIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(teamIntelChanged(int)));
+ connect(ui_moveIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(moveIntelChanged(int)));
+ connect(ui_itemIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(itemIntelChanged(int)));
+ connect(ui_abilityIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(abilityIntelChanged(int)));
+ connect(ui_statIntel, SIGNAL(currentIndexChanged(int)), this, SLOT(statIntelChanged(int)));
+ ui_teamIntel->addItems(Sigmod::Trainer::IntelligenceStr);
+ ui_moveIntel->addItems(Sigmod::Trainer::IntelligenceStr);
+ ui_itemIntel->addItems(Sigmod::Trainer::IntelligenceStr);
+ ui_abilityIntel->addItems(Sigmod::Trainer::IntelligenceStr);
+ ui_statIntel->addItems(Sigmod::Trainer::IntelligenceStr);
}
void Sigmodr::Widgets::TrainerUI::refreshGui()
@@ -64,23 +75,23 @@ void Sigmodr::Widgets::TrainerUI::refreshGui()
for (int i = 0; i < sigmod()->skinCount(); ++i)
{
const Sigmod::Skin* skin = sigmod()->skin(i);
- varSkin->addItem(skin->name(), skin->id());
+ ui_skin->addItem(skin->name(), skin->id());
}
- varItemIntel->setEnabled(sigmod()->rules()->maxHeldItems());
- varAbilityIntel->setEnabled(sigmod()->rules()->maxAbilities());
+ ui_itemIntel->setEnabled(sigmod()->rules()->maxHeldItems());
+ ui_abilityIntel->setEnabled(sigmod()->rules()->maxAbilities());
}
void Sigmodr::Widgets::TrainerUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::Trainer*>(modified())->name());
- varMoneyFactor->setValue(qobject_cast<Sigmod::Trainer*>(modified())->moneyFactor());
- varSkin->setCurrentIndex(varSkin->findData(qobject_cast<Sigmod::Trainer*>(modified())->skin()));
- varDepth->setValue(qobject_cast<Sigmod::Trainer*>(modified())->depth());
- varTeamIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->teamIntel());
- varMoveIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->moveIntel());
- varItemIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->itemIntel());
- varAbilityIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->abilityIntel());
- varStatIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->statIntel());
+ ui_name->setText(qobject_cast<Sigmod::Trainer*>(modified())->name());
+ ui_moneyFactor->setValue(qobject_cast<Sigmod::Trainer*>(modified())->moneyFactor());
+ ui_skin->setCurrentIndex(sigmod()->skinIndex(qobject_cast<Sigmod::Trainer*>(modified())->skin()));
+ ui_depth->setValue(qobject_cast<Sigmod::Trainer*>(modified())->depth());
+ ui_teamIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->teamIntel());
+ ui_moveIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->moveIntel());
+ ui_itemIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->itemIntel());
+ ui_abilityIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->abilityIntel());
+ ui_statIntel->setCurrentIndex(qobject_cast<Sigmod::Trainer*>(modified())->statIntel());
}
void Sigmodr::Widgets::TrainerUI::apply()
@@ -95,47 +106,49 @@ void Sigmodr::Widgets::TrainerUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::TrainerUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::TrainerUI::nameChanged(const QString& name)
{
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::Trainer*>(modified())->setName(name);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::TrainerUI::on_varMoneyFactor_valueChanged(const int moneyFactor)
+void Sigmodr::Widgets::TrainerUI::moneyFactorChanged(const int moneyFactor)
{
qobject_cast<Sigmod::Trainer*>(modified())->setMoneyFactor(moneyFactor);
}
-void Sigmodr::Widgets::TrainerUI::on_varSkin_currentIndexChanged(const int skin)
+void Sigmodr::Widgets::TrainerUI::skinChanged(const int skin)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setSkin(varSkin->itemData(skin).toInt());
+ qobject_cast<Sigmod::Trainer*>(modified())->setSkin(ui_skin->itemData(skin).toInt());
}
-void Sigmodr::Widgets::TrainerUI::on_varDepth_valueChanged(const int depth)
+void Sigmodr::Widgets::TrainerUI::depthChanged(const int depth)
{
qobject_cast<Sigmod::Trainer*>(modified())->setDepth(depth);
}
-void Sigmodr::Widgets::TrainerUI::on_varTeamIntel_activated(const int teamIntel)
+void Sigmodr::Widgets::TrainerUI::teamIntelChanged(const int teamIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setTeamIntel(varTeamIntel->itemData(teamIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setTeamIntel(static_cast<Sigmod::Trainer::Intelligence>(teamIntel));
}
-void Sigmodr::Widgets::TrainerUI::on_varMoveIntel_activated(const int moveIntel)
+void Sigmodr::Widgets::TrainerUI::moveIntelChanged(const int moveIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setMoveIntel(varMoveIntel->itemData(moveIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setMoveIntel(static_cast<Sigmod::Trainer::Intelligence>(moveIntel));
}
-void Sigmodr::Widgets::TrainerUI::on_varItemIntel_activated(const int itemIntel)
+void Sigmodr::Widgets::TrainerUI::itemIntelChanged(const int itemIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setItemIntel(varItemIntel->itemData(itemIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setItemIntel(static_cast<Sigmod::Trainer::Intelligence>(itemIntel));
}
-void Sigmodr::Widgets::TrainerUI::on_varAbilityIntel_activated(const int abilityIntel)
+void Sigmodr::Widgets::TrainerUI::abilityIntelChanged(const int abilityIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setAbilityIntel(varAbilityIntel->itemData(abilityIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setAbilityIntel(static_cast<Sigmod::Trainer::Intelligence>(abilityIntel));
}
-void Sigmodr::Widgets::TrainerUI::on_varStatIntel_activated(const int statIntel)
+void Sigmodr::Widgets::TrainerUI::statIntelChanged(const int statIntel)
{
- qobject_cast<Sigmod::Trainer*>(modified())->setStatIntel(varStatIntel->itemData(statIntel).value<Sigmod::Trainer::Intelligence>());
+ qobject_cast<Sigmod::Trainer*>(modified())->setStatIntel(static_cast<Sigmod::Trainer::Intelligence>(statIntel));
}