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