diff options
Diffstat (limited to 'Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp')
-rw-r--r-- | Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp | 72 |
1 files changed, 39 insertions, 33 deletions
diff --git a/Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp index 18241b4..153b897 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp @@ -4,68 +4,74 @@ * See Documentation/Licenses/BSD-simplified.txt for more information. */ -#include "QtVCardURLField.h" +/* + * Copyright (c) 2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + +#include <Swift/QtUI/QtVCardWidget/QtVCardURLField.h> + +#include <boost/algorithm/string.hpp> #include <QGridLayout> #include <QHBoxLayout> #include <QTextDocument> -#include <boost/algorithm/string.hpp> #include <Swift/QtUI/QtSwiftUtil.h> #include <Swift/QtUI/QtUtilities.h> - namespace Swift { QtVCardURLField::QtVCardURLField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("URL"), false, false), urlLabel(NULL), urlLineEdit(NULL) { - connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("URL"), false, false), urlLabel(nullptr), urlLineEdit(nullptr) { + connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardURLField::~QtVCardURLField() { - disconnect(this, SLOT(handleEditibleChanged(bool))); + disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardURLField::setupContentWidgets() { - urlLabel = new QLabel(this); - urlLabel->setOpenExternalLinks(true); - urlLabel->setTextInteractionFlags(Qt::LinksAccessibleByMouse | Qt::LinksAccessibleByKeyboard); - urlLineEdit = new QtResizableLineEdit(this); - - QHBoxLayout* urlLayout = new QHBoxLayout(); - urlLayout->addWidget(urlLabel); - urlLayout->addWidget(urlLineEdit); - - getGridLayout()->addLayout(urlLayout, getGridLayout()->rowCount()-1, 2, 1, 2, Qt::AlignVCenter); - getTagComboBox()->hide(); - urlLabel->hide(); - childWidgets << urlLabel << urlLineEdit; + urlLabel = new QLabel(this); + urlLabel->setOpenExternalLinks(true); + urlLabel->setTextInteractionFlags(Qt::LinksAccessibleByMouse | Qt::LinksAccessibleByKeyboard); + urlLineEdit = new QtResizableLineEdit(this); + + QHBoxLayout* urlLayout = new QHBoxLayout(); + urlLayout->addWidget(urlLabel); + urlLayout->addWidget(urlLineEdit); + + getGridLayout()->addLayout(urlLayout, getGridLayout()->rowCount()-1, 2, 1, 2, Qt::AlignVCenter); + getTagComboBox()->hide(); + urlLabel->hide(); + childWidgets << urlLabel << urlLineEdit; } bool QtVCardURLField::isEmpty() const { - return urlLineEdit->text().isEmpty(); + return urlLineEdit->text().isEmpty(); } void QtVCardURLField::setURL(const std::string& url) { - urlLineEdit->setText(P2QSTRING(url)); + urlLineEdit->setText(P2QSTRING(url)); } std::string QtVCardURLField::getURL() const { - return Q2PSTRING(urlLineEdit->text()); + return Q2PSTRING(urlLineEdit->text()); } void QtVCardURLField::handleEditibleChanged(bool isEditable) { - assert(urlLineEdit); - assert(urlLabel); - - if (isEditable) { - urlLineEdit->show(); - urlLabel->hide(); - } else { - urlLineEdit->hide(); - urlLabel->setText(QString("<a href=\"%1\">%1</a>").arg(QtUtilities::htmlEscape(urlLineEdit->text()))); - urlLabel->show(); - } + assert(urlLineEdit); + assert(urlLabel); + + if (isEditable) { + urlLineEdit->show(); + urlLabel->hide(); + } else { + urlLineEdit->hide(); + urlLabel->setText(QString("<a href=\"%1\">%1</a>").arg(QtUtilities::htmlEscape(urlLineEdit->text()))); + urlLabel->show(); + } } } |