void BasicmLearningEditor::onAuthorChanged(const QString& new_author) { Q_UNUSED(new_author) checkAuthor(); launch(); emit changed(); }
BasicmLearningEditor::BasicmLearningEditor(TemplateCore *core, QWidget *parent) : TemplateEditor(core, parent), m_ui(new Ui::BasicmLearningEditor) { m_ui->setupUi(this); // Set validators. QRegExpValidator *author_validator = new QRegExpValidator(this); QRegExpValidator *title_validator = new QRegExpValidator(this); author_validator->setRegExp(QRegExp(".{,50}")); title_validator->setRegExp(QRegExp(".{,100}")); m_ui->m_txtAuthor->lineEdit()->setValidator(author_validator); m_ui->m_txtName->lineEdit()->setValidator(title_validator); // Set tab order. QList<QWidget*> tab_order_widgets; tab_order_widgets << m_ui->m_txtTitle->lineEdit() << m_ui->m_txtDescription << m_ui->m_txtAuthor->lineEdit() << m_ui->m_txtName->lineEdit() << m_ui->m_listItems << m_ui->m_btnItemAdd << m_ui->m_btnItemRemove << m_ui->m_btnItemUp << m_ui->m_btnItemDown; for (int i = 1; i < tab_order_widgets.size(); i++) { setTabOrder(tab_order_widgets.at(i - 1), tab_order_widgets.at(i)); } m_ui->m_txtTitle->lineEdit()->setPlaceholderText(tr("Title of the item")); m_ui->m_txtNumberOfItems->lineEdit()->setEnabled(false); m_ui->m_txtAuthor->lineEdit()->setPlaceholderText(tr("Author of this collection")); m_ui->m_txtName->lineEdit()->setPlaceholderText(tr("Name of this collection")); IconFactory *factory = IconFactory::instance(); m_ui->m_btnItemAdd->setIcon(factory->fromTheme("item-add")); m_ui->m_btnItemRemove->setIcon(factory->fromTheme("item-remove")); m_ui->m_btnItemUp->setIcon(factory->fromTheme("move-up")); m_ui->m_btnItemDown->setIcon(factory->fromTheme("move-down")); connect(m_ui->m_txtTitle->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(checkTitle(QString))); connect(m_ui->m_btnItemAdd, SIGNAL(clicked()), this, SLOT(addNewItem())); connect(m_ui->m_btnItemRemove, SIGNAL(clicked()), this, SLOT(removeSelectedItem())); connect(m_ui->m_txtDescription, SIGNAL(textChanged()), this, SLOT(saveItem())); connect(m_ui->m_txtTitle->lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(saveItem())); connect(m_ui->m_listItems, SIGNAL(currentRowChanged(int)), this, SLOT(displayItem(int))); connect(m_ui->m_btnItemUp, SIGNAL(clicked()), this, SLOT(moveItemUp())); connect(m_ui->m_btnItemDown, SIGNAL(clicked()), this, SLOT(moveItemDown())); connect(m_ui->m_txtAuthor->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(onAuthorChanged(QString))); connect(m_ui->m_txtName->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(onNameChanged(QString))); checkTitle(m_ui->m_txtTitle->lineEdit()->text()); checkAuthor(); checkName(); setEditorsEnabled(false); updateItemCount(); }
void Book::edit() { Article::edit(); std::cout << "Do you want to edit the name of the author? j/n?"; bool tmpChoice = Article::checkAnswer(); if (tmpChoice) { checkAuthor(); } }
FlashCardEditor::FlashCardEditor(TemplateCore *core, QWidget *parent) : TemplateEditor(core, parent), m_ui(new Ui::FlashCardEditor) { m_ui->setupUi(this); // Set validators. QRegExpValidator *author_validator = new QRegExpValidator(this); QRegExpValidator *title_validator = new QRegExpValidator(this); author_validator->setRegExp(QRegExp(".{,50}")); title_validator->setRegExp(QRegExp(".{,100}")); m_ui->m_txtAuthor->lineEdit()->setValidator(author_validator); m_ui->m_txtName->lineEdit()->setValidator(title_validator); // Set validators. QRegExpValidator *question_validator = new QRegExpValidator(this); QRegExpValidator *hint_validator = new QRegExpValidator(this); question_validator->setRegExp(QRegExp(".{,100}")); hint_validator->setRegExp(QRegExp(".{,30}")); m_ui->m_txtQuestion->lineEdit()->setValidator(question_validator); m_ui->m_txtHint->lineEdit()->setValidator(hint_validator); // Set tab order. QList<QWidget*> tab_order_widgets; tab_order_widgets << m_ui->m_txtQuestion->lineEdit() << m_ui->m_btnPictureSelect << m_ui->m_txtAnswer->lineEdit() << m_ui->m_txtHint->lineEdit() << m_ui->m_txtAuthor->lineEdit() << m_ui->m_txtName->lineEdit() << m_ui->m_listQuestions << m_ui->m_btnQuestionAdd << m_ui->m_btnQuestionRemove << m_ui->m_btnQuestionUp << m_ui->m_btnQuestionDown; for (int i = 1; i < tab_order_widgets.size(); i++) { setTabOrder(tab_order_widgets.at(i - 1), tab_order_widgets.at(i)); } m_ui->m_txtNumberOfQuestions->lineEdit()->setEnabled(false); m_ui->m_lblPictureFile->label()->setWordWrap(true); m_ui->m_txtAnswer->lineEdit()->setPlaceholderText(tr("Answer for the answer")); m_ui->m_txtHint->lineEdit()->setPlaceholderText(tr("Hint for the answer")); m_ui->m_lblPictureFile->setStatus(WidgetWithStatus::Error, QString(), tr("No picture selected")); m_ui->m_txtAuthor->lineEdit()->setPlaceholderText(tr("Author of this quiz")); m_ui->m_txtName->lineEdit()->setPlaceholderText(tr("Name of this quiz")); IconFactory *factory = IconFactory::instance(); m_ui->m_btnQuestionAdd->setIcon(factory->fromTheme("item-add")); m_ui->m_btnQuestionRemove->setIcon(factory->fromTheme("item-remove")); m_ui->m_btnQuestionUp->setIcon(factory->fromTheme("move-up")); m_ui->m_btnQuestionDown->setIcon(factory->fromTheme("move-down")); connect(m_ui->m_btnPictureSelect, SIGNAL(clicked()), this, SLOT(selectPicture())); connect(m_ui->m_txtAuthor->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(onAuthorChanged(QString))); connect(m_ui->m_txtQuestion->lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(saveQuestion())); connect(m_ui->m_txtName->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(onNameChanged(QString))); connect(m_ui->m_txtAnswer->lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(onAnswerChanged(QString))); connect(m_ui->m_txtHint->lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(onHintChanged(QString))); connect(m_ui->m_btnQuestionAdd, SIGNAL(clicked()), this, SLOT(addQuestion())); connect(m_ui->m_btnQuestionRemove, SIGNAL(clicked()), this, SLOT(removeQuestion())); connect(m_ui->m_listQuestions, SIGNAL(currentRowChanged(int)), this, SLOT(loadQuestion(int))); connect(m_ui->m_btnQuestionUp, SIGNAL(clicked()), this, SLOT(moveQuestionUp())); connect(m_ui->m_btnQuestionDown, SIGNAL(clicked()), this, SLOT(moveQuestionDown())); setEditorsEnabled(false); updateQuestionCount(); qRegisterMetaType<FlashCardQuestion>("FlashCardQuestion"); checkAuthor(); checkName(); loadQuestion(-1); }