diff options
Diffstat (limited to 'sigmodr/widgets/MapUI.cpp')
| -rw-r--r-- | sigmodr/widgets/MapUI.cpp | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/sigmodr/widgets/MapUI.cpp b/sigmodr/widgets/MapUI.cpp index 799c4da8..d78bce10 100644 --- a/sigmodr/widgets/MapUI.cpp +++ b/sigmodr/widgets/MapUI.cpp @@ -25,6 +25,14 @@ #include <sigmod/Sprite.h> #include <sigmod/Tile.h> +// KDE includes +#include <KComboBox> +#include <KLineEdit> + +// Qt includes +#include <QtCore/QFile> +#include <QtUiTools/QUiLoader> + // FIXME: Update map editing to new collage map using namespace Sigmod; @@ -33,28 +41,29 @@ using namespace Sigmodr::Widgets; MapUI::MapUI(Map* map, QWidget* parent) : ObjectUI(parent) { - setupUi(this); setObjects(map, new Map(*map)); - varMap->setMap(map); - connect(varMap, SIGNAL(changed()), this, SIGNAL(changed())); -} - -MapUI::~MapUI() -{ +// varMap->setMap(map); +// connect(varMap, SIGNAL(changed()), this, SIGNAL(changed())); } void MapUI::initGui() { - varType->addItem(Map::TypeStr[Map::Outdoor], QVariant::fromValue(Map::Outdoor)); - varType->addItem(Map::TypeStr[Map::Dungeon], QVariant::fromValue(Map::Dungeon)); - varType->addItem(Map::TypeStr[Map::Building], QVariant::fromValue(Map::Building)); + QFile file(":/gui/map.ui"); + file.open(QFile::ReadOnly); + QWidget *formWidget = QUiLoader().load(&file, this); + file.close(); + ui_name = formWidget->findChild<KLineEdit*>("varName"); + ui_type = formWidget->findChild<KComboBox*>("varType"); + connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString))); + connect(ui_type, SIGNAL(currentIndexChanged(int)), this, SLOT(typeChanged(int))); + ui_type->addItems(Map::TypeStr); } void MapUI::setGui() { - varName->setText(qobject_cast<Map*>(modified())->name()); - varType->setCurrentIndex(qobject_cast<Map*>(modified())->type()); - varMap->reset(); + ui_name->setText(qobject_cast<Map*>(modified())->name()); + ui_type->setCurrentIndex(qobject_cast<Map*>(modified())->type()); +// varMap->reset(); } void MapUI::apply() @@ -70,14 +79,14 @@ void MapUI::discard() emit(changed(false)); } -void MapUI::on_varName_textChanged(const QString& name) +void MapUI::nameChanged(const QString& name) { - const int cursor = varName->cursorPosition(); + const int cursor = ui_name->cursorPosition(); qobject_cast<Map*>(modified())->setName(name); - varName->setCursorPosition(cursor); + ui_name->setCursorPosition(cursor); } -void MapUI::on_varType_activated(const int type) +void MapUI::typeChanged(const int type) { - qobject_cast<Map*>(modified())->setType(varType->itemData(type).value<Map::Type>()); + qobject_cast<Map*>(modified())->setType(static_cast<Map::Type>(type)); } |
