WWidget *RegistrationWidget::createFormWidget(WFormModel::Field field) { WFormWidget *result = 0; if (field == RegistrationModel::LoginNameField) { result = new WLineEdit(); result->changed().connect (boost::bind(&RegistrationWidget::checkLoginName, this)); } else if (field == RegistrationModel::EmailField) { result = new WLineEdit(); } else if (field == RegistrationModel::ChoosePasswordField) { WLineEdit *p = new WLineEdit(); p->setEchoMode(WLineEdit::Password); p->keyWentUp().connect (boost::bind(&RegistrationWidget::checkPassword, this)); p->changed().connect (boost::bind(&RegistrationWidget::checkPassword, this)); result = p; } else if (field == RegistrationModel::RepeatPasswordField) { WLineEdit *p = new WLineEdit(); p->setEchoMode(WLineEdit::Password); p->changed().connect (boost::bind(&RegistrationWidget::checkPassword2, this)); result = p; } return result; }
void WSuggestionPopup::doActivate(std::string itemId, std::string editId) { WFormWidget *edit = 0; for (unsigned i = 0; i < edits_.size(); ++i) if (edits_[i]->id() == editId) { edit = edits_[i]; break; } if (edit == 0) { LOG_ERROR("activate from bogus editor"); currentItem_ = -1; return; } for (int i = 0; i < impl_->count(); ++i) if (impl_->widget(i)->id() == itemId) { currentItem_ = i; activated_.emit(i, edit); if(edit) edit->changed().emit(); return; } currentItem_ = -1; LOG_ERROR("activate for bogus item"); }