/* * Copyright (c) 2012 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardJIDField.h" #include "ui_QtVCardJIDField.h" #include #include namespace Swift { QtVCardJIDField::QtVCardJIDField(QWidget* parent, bool editable) : QWidget(parent), ui(new Ui::QtVCardJIDField) { ui->setupUi(this); connect(ui->lineEditJID, SIGNAL(textChanged(QString)), SLOT(onTextChanged(QString))); setEditable(editable); } QtVCardJIDField::~QtVCardJIDField() { delete ui; } bool QtVCardJIDField::isEditable() const { return editable; } void QtVCardJIDField::setEditable(bool editable) { this->editable = editable; if (this->editable) { ui->lineEditJID->show(); ui->labelJID->hide(); } else { ui->lineEditJID->hide(); ui->labelJID->show(); } } bool QtVCardJIDField::isEmpty() const { return ui->lineEditJID->text().isEmpty(); } void QtVCardJIDField::setJID(const QString jid) { ui->lineEditJID->setText(jid); } QString QtVCardJIDField::getJID() const { return ui->lineEditJID->text(); } void QtVCardJIDField::onTextChanged(const QString& text) { if (text.isEmpty()) { ui->labelJID->setText(""); } else { if (JID(Q2PSTRING(text)).isValid()) { ui->labelJID->setText(QString("%1").arg(text)); } else { ui->labelJID->setText(text); } } } }