summaryrefslogtreecommitdiffstats
path: root/sigmodr/widgets/AuthorUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigmodr/widgets/AuthorUI.cpp')
-rw-r--r--sigmodr/widgets/AuthorUI.cpp44
1 files changed, 30 insertions, 14 deletions
diff --git a/sigmodr/widgets/AuthorUI.cpp b/sigmodr/widgets/AuthorUI.cpp
index 0cad47bd..b0d39f8d 100644
--- a/sigmodr/widgets/AuthorUI.cpp
+++ b/sigmodr/widgets/AuthorUI.cpp
@@ -21,22 +21,38 @@
// Sigmod includes
#include <sigmod/Author.h>
+// KDE includes
+#include <KLineEdit>
+
+// Qt includes
+#include <QtCore/QFile>
+#include <QtUiTools/QUiLoader>
+
Sigmodr::Widgets::AuthorUI::AuthorUI(Sigmod::Author* author, QWidget* parent) :
ObjectUI(parent)
{
- setupUi(this);
setObjects(author, new Sigmod::Author(*author));
}
-Sigmodr::Widgets::AuthorUI::~AuthorUI()
+void Sigmodr::Widgets::AuthorUI::initGui()
{
+ QFile file(":/gui/author.ui");
+ file.open(QFile::ReadOnly);
+ QWidget *formWidget = QUiLoader().load(&file, this);
+ file.close();
+ ui_name = formWidget->findChild<KLineEdit*>("varName");
+ ui_email= formWidget->findChild<KLineEdit*>("varEmail");
+ ui_role = formWidget->findChild<KLineEdit*>("varRole");
+ connect(ui_name, SIGNAL(textChanged(QString)), this, SLOT(nameChanged(QString)));
+ connect(ui_email, SIGNAL(textChanged(QString)), this, SLOT(emailChanged(QString)));
+ connect(ui_role, SIGNAL(textChanged(QString)), this, SLOT(roleChanged(QString)));
}
void Sigmodr::Widgets::AuthorUI::setGui()
{
- varName->setText(qobject_cast<Sigmod::Author*>(modified())->name());
- varEmail->setText(qobject_cast<Sigmod::Author*>(modified())->email());
- varRole->setText(qobject_cast<Sigmod::Author*>(modified())->role());
+ ui_name->setText(qobject_cast<Sigmod::Author*>(modified())->name());
+ ui_email->setText(qobject_cast<Sigmod::Author*>(modified())->email());
+ ui_role->setText(qobject_cast<Sigmod::Author*>(modified())->role());
}
void Sigmodr::Widgets::AuthorUI::apply()
@@ -52,23 +68,23 @@ void Sigmodr::Widgets::AuthorUI::discard()
emit(changed(false));
}
-void Sigmodr::Widgets::AuthorUI::on_varName_textChanged(const QString& name)
+void Sigmodr::Widgets::AuthorUI::nameChanged(const QString& name)
{
- const int cursor = varName->cursorPosition();
+ const int cursor = ui_name->cursorPosition();
qobject_cast<Sigmod::Author*>(modified())->setName(name);
- varName->setCursorPosition(cursor);
+ ui_name->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::AuthorUI::on_varEmail_textChanged(const QString& email)
+void Sigmodr::Widgets::AuthorUI::emailChanged(const QString& email)
{
- const int cursor = varEmail->cursorPosition();
+ const int cursor = ui_email->cursorPosition();
qobject_cast<Sigmod::Author*>(modified())->setEmail(email);
- varEmail->setCursorPosition(cursor);
+ ui_email->setCursorPosition(cursor);
}
-void Sigmodr::Widgets::AuthorUI::on_varRole_textChanged(const QString& role)
+void Sigmodr::Widgets::AuthorUI::roleChanged(const QString& role)
{
- const int cursor = varRole->cursorPosition();
+ const int cursor = ui_role->cursorPosition();
qobject_cast<Sigmod::Author*>(modified())->setRole(role);
- varRole->setCursorPosition(cursor);
+ ui_role->setCursorPosition(cursor);
}