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