diff options
Diffstat (limited to 'sigmodr/widgets/TrainerUI.cpp')
| -rw-r--r-- | sigmodr/widgets/TrainerUI.cpp | 117 |
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)); } |
