diff options
13 files changed, 26 insertions, 25 deletions
diff --git a/Swift/QtUI/QtVCardWidget/QtVCardAddressField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardAddressField.cpp index f394af0..af17d97 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardAddressField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardAddressField.cpp @@ -1,51 +1,51 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardAddressField.h" #include <QGridLayout> #include <Swift/QtUI/QtSwiftUtil.h> namespace Swift { QtVCardAddressField::QtVCardAddressField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Address")) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Address")), streetLineEdit(NULL), poboxLineEdit(NULL), addressextLineEdit(NULL), cityLineEdit(NULL), pocodeLineEdit(NULL), regionLineEdit(NULL), countryLineEdit(NULL), textFieldGridLayout(NULL), textFieldGridLayoutItem(NULL), deliveryTypeLabel(NULL), domesticRadioButton(NULL), internationalRadioButton(NULL), buttonGroup(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardAddressField::~QtVCardAddressField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardAddressField::setupContentWidgets() { textFieldGridLayout = new QGridLayout(); streetLineEdit = new QtResizableLineEdit(this); textFieldGridLayout->addWidget(streetLineEdit, 0, 0, Qt::AlignVCenter); poboxLineEdit = new QtResizableLineEdit(this); textFieldGridLayout->addWidget(poboxLineEdit, 0, 1, Qt::AlignVCenter); addressextLineEdit = new QtResizableLineEdit(this); textFieldGridLayout->addWidget(addressextLineEdit, 1, 0, Qt::AlignVCenter); cityLineEdit = new QtResizableLineEdit(this); textFieldGridLayout->addWidget(cityLineEdit, 2, 0, Qt::AlignVCenter); pocodeLineEdit = new QtResizableLineEdit(this); textFieldGridLayout->addWidget(pocodeLineEdit, 2, 1, Qt::AlignVCenter); regionLineEdit = new QtResizableLineEdit(this); textFieldGridLayout->addWidget(regionLineEdit, 3, 0, Qt::AlignVCenter); countryLineEdit = new QtResizableLineEdit(this); textFieldGridLayout->addWidget(countryLineEdit, 4, 0, Qt::AlignVCenter); textFieldGridLayout->setVerticalSpacing(2); getGridLayout()->addLayout(textFieldGridLayout, getGridLayout()->rowCount()-1, 2, 5, 2, Qt::AlignVCenter); textFieldGridLayoutItem = getGridLayout()->itemAtPosition(getGridLayout()->rowCount()-1, 2); #if QT_VERSION >= 0x040700 diff --git a/Swift/QtUI/QtVCardWidget/QtVCardAddressLabelField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardAddressLabelField.cpp index 98e313f..ba3d25f 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardAddressLabelField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardAddressLabelField.cpp @@ -1,52 +1,52 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardAddressLabelField.h" #include <QGridLayout> #include <boost/algorithm/string.hpp> #include <Swift/QtUI/QtSwiftUtil.h> namespace Swift { QtVCardAddressLabelField::QtVCardAddressLabelField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Address Label")) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Address Label")), addressLabelPlainTextEdit(NULL), deliveryTypeLabel(NULL), domesticRadioButton(NULL), internationalRadioButton(NULL), buttonGroup(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardAddressLabelField::~QtVCardAddressLabelField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardAddressLabelField::setupContentWidgets() { addressLabelPlainTextEdit = new QPlainTextEdit(this); addressLabelPlainTextEdit->setTabChangesFocus(true); getGridLayout()->addWidget(addressLabelPlainTextEdit, getGridLayout()->rowCount()-1, 2, 3, 2, Qt::AlignVCenter); deliveryTypeLabel = new QLabel(this); deliveryTypeLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); getGridLayout()->addWidget(deliveryTypeLabel, getGridLayout()->rowCount()-2, 4, Qt::AlignVCenter); domesticRadioButton = new QRadioButton(tr("Domestic Delivery"), this); getGridLayout()->addWidget(domesticRadioButton, getGridLayout()->rowCount()-2, 4, Qt::AlignVCenter); internationalRadioButton = new QRadioButton(tr("International Delivery"), this); getGridLayout()->addWidget(internationalRadioButton, getGridLayout()->rowCount()-1, 4, Qt::AlignVCenter); buttonGroup = new QButtonGroup(this); buttonGroup->addButton(domesticRadioButton); buttonGroup->addButton(internationalRadioButton); setTabOrder(internationalRadioButton, getTagComboBox()); getTagComboBox()->addTag("postal", tr("Postal")); getTagComboBox()->addTag("parcel", tr("Parcel")); QtVCardHomeWork::setTagComboBox(getTagComboBox()); deliveryTypeLabel->hide(); childWidgets << addressLabelPlainTextEdit << deliveryTypeLabel << domesticRadioButton << internationalRadioButton; } diff --git a/Swift/QtUI/QtVCardWidget/QtVCardBirthdayField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardBirthdayField.cpp index 2afc2f6..7b0d02e 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardBirthdayField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardBirthdayField.cpp @@ -1,53 +1,53 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardBirthdayField.h" #include <QGridLayout> #include <QHBoxLayout> #include <boost/algorithm/string.hpp> #include <Swift/QtUI/QtSwiftUtil.h> namespace Swift { QtVCardBirthdayField::QtVCardBirthdayField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Birthday"), false, false) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Birthday"), false, false), birthdayLabel(NULL), birthdayDateEdit(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardBirthdayField::~QtVCardBirthdayField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardBirthdayField::setupContentWidgets() { birthdayLabel = new QLabel(this); birthdayLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); birthdayDateEdit = new QDateEdit(this); birthdayDateEdit->setCalendarPopup(true); QHBoxLayout* birthdayLayout = new QHBoxLayout(); birthdayLayout->addWidget(birthdayLabel); birthdayLayout->addWidget(birthdayDateEdit); getGridLayout()->addLayout(birthdayLayout, getGridLayout()->rowCount()-1, 2, Qt::AlignVCenter); getTagComboBox()->hide(); birthdayLabel->hide(); childWidgets << birthdayLabel << birthdayDateEdit; } bool QtVCardBirthdayField::isEmpty() const { return false; } void QtVCardBirthdayField::setBirthday(const boost::posix_time::ptime& birthday) { birthdayDateEdit->setDate(B2QDATE(birthday).date()); } boost::posix_time::ptime QtVCardBirthdayField::getBirthday() const { return boost::posix_time::from_time_t(QDateTime(birthdayDateEdit->date()).toTime_t()); } diff --git a/Swift/QtUI/QtVCardWidget/QtVCardDescriptionField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardDescriptionField.cpp index f16c351..183e64d 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardDescriptionField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardDescriptionField.cpp @@ -1,53 +1,53 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardDescriptionField.h" #include <boost/algorithm/string.hpp> #include <QFontMetrics> #include <QGridLayout> #include <Swift/QtUI/QtSwiftUtil.h> namespace Swift { QtVCardDescriptionField::QtVCardDescriptionField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Description"), false, false) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Description"), false, false), descriptionPlainTextEdit(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardDescriptionField::~QtVCardDescriptionField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardDescriptionField::setupContentWidgets() { descriptionPlainTextEdit = new QPlainTextEdit(this); descriptionPlainTextEdit->setMinimumHeight(70); getGridLayout()->addWidget(descriptionPlainTextEdit, getGridLayout()->rowCount()-1, 2, 2, 2, Qt::AlignVCenter); getTagComboBox()->hide(); childWidgets << descriptionPlainTextEdit; } bool QtVCardDescriptionField::isEmpty() const { return descriptionPlainTextEdit->toPlainText().isEmpty(); } void QtVCardDescriptionField::setDescription(const std::string& description) { descriptionPlainTextEdit->setPlainText(P2QSTRING(description)); } std::string QtVCardDescriptionField::getDescription() const { return Q2PSTRING(descriptionPlainTextEdit->toPlainText()); } void QtVCardDescriptionField::handleEditibleChanged(bool isEditable) { assert(descriptionPlainTextEdit); if (isEditable) { descriptionPlainTextEdit->setMinimumHeight(70); } else { QFontMetrics inputMetrics(descriptionPlainTextEdit->document()->defaultFont()); QRect horizontalBounds = contentsRect().adjusted(0,0,0,9999); diff --git a/Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp index f8b9247..afe5d88 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp @@ -1,52 +1,52 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include <Swift/QtUI/QtVCardWidget/QtVCardGeneralField.h> #include <cassert> #include <QHBoxLayout> namespace Swift { QtVCardGeneralField::QtVCardGeneralField(QWidget* parent, QGridLayout* layout, bool editable, int row, QString label, bool preferrable, bool taggable) : QWidget(parent), editable(editable), preferrable(preferrable), taggable(taggable), layout(layout), row(row), preferredCheckBox(0), label(0), labelText(label), - tagComboBox(0), closeButton(0) { + tagComboBox(0), tagLabel(NULL), closeButton(0) { } QtVCardGeneralField::~QtVCardGeneralField() { } void QtVCardGeneralField::initialize() { if (preferrable) { preferredCheckBox = new QCheckBox(this); preferredCheckBox->setStyleSheet( "QCheckBox::indicator { width: 18px; height: 18px; }" "QCheckBox::indicator:checked { image: url(:/icons/star-checked.png); }" "QCheckBox::indicator:unchecked { image: url(:/icons/star-unchecked); }" ); layout->addWidget(preferredCheckBox, row, 0, Qt::AlignVCenter); childWidgets << preferredCheckBox; } label = new QLabel(this); label->setText(labelText); layout->addWidget(label, row, 1, Qt::AlignVCenter | Qt::AlignRight); tagLabel = new QLabel(this); tagLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); tagComboBox = new QtTagComboBox(this); closeButton = new QtCloseButton(this); connect(closeButton, SIGNAL(clicked()), SLOT(handleCloseButtonClicked())); QHBoxLayout* tagLayout = new QHBoxLayout(); tagLayout->addWidget(tagLabel); tagLayout->addWidget(tagComboBox); setupContentWidgets(); layout->addLayout(tagLayout, row, 4, Qt::AlignTop); layout->addWidget(closeButton, row, 5, Qt::AlignCenter); diff --git a/Swift/QtUI/QtVCardWidget/QtVCardInternetEMailField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardInternetEMailField.cpp index e6f8298..bae9771 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardInternetEMailField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardInternetEMailField.cpp @@ -1,55 +1,55 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardInternetEMailField.h" #include <QGridLayout> #include <QHBoxLayout> #include <QTextDocument> #include <Swiften/Base/Log.h> #include <Swift/QtUI/QtSwiftUtil.h> #include <Swift/QtUI/QtUtilities.h> namespace Swift { QtVCardInternetEMailField::QtVCardInternetEMailField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("E-Mail")) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("E-Mail")), emailLineEdit(NULL), emailLabel(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardInternetEMailField::~QtVCardInternetEMailField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardInternetEMailField::setupContentWidgets() { emailLabel = new QLabel(this); emailLabel->setOpenExternalLinks(true); emailLabel->setTextInteractionFlags(Qt::LinksAccessibleByMouse | Qt::LinksAccessibleByKeyboard); emailLineEdit = new QtResizableLineEdit(this); #if QT_VERSION >= 0x040700 emailLineEdit->setPlaceholderText(tr("alice@wonderland.lit")); #endif QHBoxLayout* emailLayout = new QHBoxLayout(); emailLayout->addWidget(emailLabel); emailLayout->addWidget(emailLineEdit); getGridLayout()->addLayout(emailLayout, getGridLayout()->rowCount()-1, 2, 1, 2, Qt::AlignVCenter); setTabOrder(emailLineEdit, getTagComboBox()); QtVCardHomeWork::setTagComboBox(getTagComboBox()); emailLabel->hide(); childWidgets << emailLabel << emailLineEdit; } bool QtVCardInternetEMailField::isEmpty() const { return emailLineEdit->text().isEmpty(); } void QtVCardInternetEMailField::setInternetEMailAddress(const VCard::EMailAddress& address) { assert(address.isInternet); setPreferred(address.isPreferred); setHome(address.isHome); setWork(address.isWork); emailLineEdit->setText(P2QSTRING(address.address)); diff --git a/Swift/QtUI/QtVCardWidget/QtVCardJIDField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardJIDField.cpp index 23a2b5d..28a4438 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardJIDField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardJIDField.cpp @@ -1,54 +1,54 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardJIDField.h" #include <QGridLayout> #include <QTextDocument> #include <boost/algorithm/string.hpp> #include <Swift/QtUI/QtSwiftUtil.h> #include <Swift/QtUI/QtUtilities.h> namespace Swift { QtVCardJIDField::QtVCardJIDField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("JID"), false, false) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("JID"), false, false), jidLabel(NULL), jidLineEdit(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardJIDField::~QtVCardJIDField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardJIDField::setupContentWidgets() { jidLabel = new QLabel(this); jidLabel->setOpenExternalLinks(true); jidLabel->setTextInteractionFlags(Qt::LinksAccessibleByMouse | Qt::LinksAccessibleByKeyboard); jidLineEdit = new QtResizableLineEdit(this); #if QT_VERSION >= 0x040700 jidLineEdit->setPlaceholderText(tr("alice@wonderland.lit")); #endif QHBoxLayout* jidLayout = new QHBoxLayout(); jidLayout->addWidget(jidLabel); jidLayout->addWidget(jidLineEdit); getGridLayout()->addLayout(jidLayout, getGridLayout()->rowCount()-1, 2, 1, 2, Qt::AlignVCenter); jidLabel->hide(); getTagComboBox()->hide(); childWidgets << jidLabel << jidLineEdit; } bool QtVCardJIDField::isEmpty() const { return jidLineEdit->text().isEmpty(); } void QtVCardJIDField::setJID(const JID& jid) { std::string jidStr = jid.toBare().toString(); jidLineEdit->setText(P2QSTRING(jidStr)); } diff --git a/Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp index 98c8e8e..d5a7262 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp @@ -1,55 +1,55 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include <Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.h> #include <boost/algorithm/string.hpp> #include <QGridLayout> #include <QHBoxLayout> #include <QHeaderView> #include <Swift/QtUI/QtSwiftUtil.h> namespace Swift { QtVCardOrganizationField::QtVCardOrganizationField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Organisation"), false, false) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Organisation"), false, false), organizationLabel(NULL), organizationLineEdit(NULL), unitsTreeWidget(NULL), itemDelegate(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardOrganizationField::~QtVCardOrganizationField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardOrganizationField::setupContentWidgets() { organizationLabel = new QLabel(this); organizationLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); organizationLineEdit = new QtResizableLineEdit(this); QHBoxLayout* organizationLayout = new QHBoxLayout(); organizationLayout->addWidget(organizationLabel); organizationLayout->addWidget(organizationLineEdit); getGridLayout()->addLayout(organizationLayout, getGridLayout()->rowCount()-1, 2, 1, 2, Qt::AlignVCenter); itemDelegate = new QtRemovableItemDelegate(style()); unitsTreeWidget = new QTreeWidget(this); connect(unitsTreeWidget->model(), SIGNAL(rowsRemoved(QModelIndex, int, int)), SLOT(handleRowsRemoved(QModelIndex,int,int))); unitsTreeWidget->setColumnCount(2); unitsTreeWidget->header()->setStretchLastSection(false); unitsTreeWidget->header()->resizeSection(1, itemDelegate->sizeHint(QStyleOptionViewItem(), QModelIndex()).width()); #if QT_VERSION >= 0x050000 unitsTreeWidget->header()->setSectionResizeMode(0, QHeaderView::Stretch); #else unitsTreeWidget->header()->setResizeMode(0, QHeaderView::Stretch); #endif unitsTreeWidget->setHeaderHidden(true); unitsTreeWidget->setRootIsDecorated(false); unitsTreeWidget->setEditTriggers(QAbstractItemView::DoubleClicked); unitsTreeWidget->setItemDelegateForColumn(1, itemDelegate); diff --git a/Swift/QtUI/QtVCardWidget/QtVCardPhotoAndNameFields.cpp b/Swift/QtUI/QtVCardWidget/QtVCardPhotoAndNameFields.cpp index aaea194..9140a6d 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardPhotoAndNameFields.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardPhotoAndNameFields.cpp @@ -1,70 +1,71 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include <Swift/QtUI/QtVCardWidget/QtVCardPhotoAndNameFields.h> #include <Swift/QtUI/QtVCardWidget/ui_QtVCardPhotoAndNameFields.h> #include <QMenu> namespace Swift { QtVCardPhotoAndNameFields::QtVCardPhotoAndNameFields(QWidget* parent) : QWidget(parent), ui(new Ui::QtVCardPhotoAndNameFields) { ui->setupUi(this); ui->lineEditPREFIX->hide(); ui->lineEditMIDDLE->hide(); ui->lineEditSUFFIX->hide(); ui->lineEditFN->hide(); ui->lineEditNICKNAME->hide(); ui->labelFULLNAME->hide(); #if QT_VERSION >= 0x040700 ui->lineEditFN->setPlaceholderText(tr("Formatted Name")); ui->lineEditNICKNAME->setPlaceholderText(tr("Nickname")); ui->lineEditPREFIX->setPlaceholderText(tr("Prefix")); ui->lineEditGIVEN->setPlaceholderText(tr("Given Name")); ui->lineEditMIDDLE->setPlaceholderText(tr("Middle Name")); ui->lineEditFAMILY->setPlaceholderText(tr("Last Name")); ui->lineEditSUFFIX->setPlaceholderText(tr("Suffix")); #endif + setEditable(false); } QtVCardPhotoAndNameFields::~QtVCardPhotoAndNameFields() { delete ui; } bool QtVCardPhotoAndNameFields::isEditable() const { return editable; } void QtVCardPhotoAndNameFields::setEditable(bool editable) { this->editable = editable; ui->avatarWidget->setEditable(editable); ui->lineEditFN->setVisible(editable ? true : !ui->lineEditFN->text().isEmpty()); ui->lineEditFN->setEditable(editable); ui->lineEditFN->setStyleSheet(editable ? "" : "QLineEdit {border: none; background-color: transparent;}"); ui->lineEditNICKNAME->setVisible(editable ? true : !ui->lineEditNICKNAME->text().isEmpty()); ui->lineEditNICKNAME->setEditable(editable); ui->lineEditNICKNAME->setStyleSheet(editable ? "" : "QLineEdit {border: none; background-color: transparent;}"); // prefix given middle last suffix ui->lineEditPREFIX->setVisible(editable); ui->lineEditGIVEN->setVisible(editable); ui->lineEditMIDDLE->setVisible(editable); ui->lineEditFAMILY->setVisible(editable); ui->lineEditSUFFIX->setVisible(editable); ui->labelFULLNAME->setVisible(!editable); QStringList fullname; fullname << ui->lineEditPREFIX->text() << ui->lineEditGIVEN->text() << ui->lineEditMIDDLE->text(); fullname << ui->lineEditFAMILY->text() << ui->lineEditSUFFIX->text(); fullname = fullname.filter(".*\\S.*"); ui->labelFULLNAME->setText(fullname.join(" ")); diff --git a/Swift/QtUI/QtVCardWidget/QtVCardRoleField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardRoleField.cpp index b9da767..af28d28 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardRoleField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardRoleField.cpp @@ -1,50 +1,50 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardRoleField.h" #include <QGridLayout> #include <boost/algorithm/string.hpp> #include <Swift/QtUI/QtSwiftUtil.h> namespace Swift { QtVCardRoleField::QtVCardRoleField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Role"), false, false) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Role"), false, false), roleLineEdit(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardRoleField::~QtVCardRoleField() { } void QtVCardRoleField::setupContentWidgets() { roleLineEdit = new QtResizableLineEdit(this); getGridLayout()->addWidget(roleLineEdit, getGridLayout()->rowCount()-1, 2, 1, 2, Qt::AlignVCenter); getTagComboBox()->hide(); childWidgets << roleLineEdit; } bool QtVCardRoleField::isEmpty() const { return roleLineEdit->text().isEmpty(); } void QtVCardRoleField::setRole(const std::string& role) { roleLineEdit->setText(P2QSTRING(role)); } std::string QtVCardRoleField::getRole() const { return Q2PSTRING(roleLineEdit->text()); } void QtVCardRoleField::handleEditibleChanged(bool isEditable) { assert(roleLineEdit); roleLineEdit->setEditable(isEditable); roleLineEdit->setStyleSheet(isEditable ? "" : "QLineEdit { border: none; background: transparent; }"); } } diff --git a/Swift/QtUI/QtVCardWidget/QtVCardTelephoneField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardTelephoneField.cpp index 063319e..401d0a0 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardTelephoneField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardTelephoneField.cpp @@ -1,51 +1,51 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardTelephoneField.h" #include <QGridLayout> #include <Swift/QtUI/QtSwiftUtil.h> namespace Swift { QtVCardTelephoneField::QtVCardTelephoneField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Telephone")) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Telephone")), telephoneLineEdit(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardTelephoneField::~QtVCardTelephoneField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardTelephoneField::setupContentWidgets() { telephoneLineEdit = new QtResizableLineEdit(this); #if QT_VERSION >= 0x040700 telephoneLineEdit->setPlaceholderText(tr("0118 999 881 999 119 7253")); #endif getGridLayout()->addWidget(telephoneLineEdit, getGridLayout()->rowCount()-1, 2, 1, 2, Qt::AlignVCenter); setTabOrder(telephoneLineEdit, getTagComboBox()); QtVCardHomeWork::setTagComboBox(getTagComboBox()); getTagComboBox()->addTag("voice", QObject::tr("Voice")); getTagComboBox()->addTag("fax", QObject::tr("Fax")); getTagComboBox()->addTag("pager", QObject::tr("Pager")); getTagComboBox()->addTag("msg", QObject::tr("Voice Messaging")); getTagComboBox()->addTag("cell", QObject::tr("Cell")); getTagComboBox()->addTag("video", QObject::tr("Video")); getTagComboBox()->addTag("bbs", QObject::tr("Bulletin Board System")); getTagComboBox()->addTag("modem", QObject::tr("Modem")); getTagComboBox()->addTag("isdn", QObject::tr("ISDN")); getTagComboBox()->addTag("pcs", QObject::tr("Personal Communication Services")); childWidgets << telephoneLineEdit; } bool QtVCardTelephoneField::isEmpty() const { return telephoneLineEdit->text().isEmpty(); } void QtVCardTelephoneField::setTelephone(const VCard::Telephone& telephone) { diff --git a/Swift/QtUI/QtVCardWidget/QtVCardTitleField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardTitleField.cpp index 43972d0..64b05c0 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardTitleField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardTitleField.cpp @@ -1,51 +1,51 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardTitleField.h" #include <QGridLayout> #include <boost/algorithm/string.hpp> #include <Swift/QtUI/QtSwiftUtil.h> namespace Swift { QtVCardTitleField::QtVCardTitleField(QWidget* parent, QGridLayout *layout, bool editable) : - QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Title"), false, false) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("Title"), false, false), titleLineEdit(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardTitleField::~QtVCardTitleField() { disconnect(this, SLOT(handleEditibleChanged(bool))); } void QtVCardTitleField::setupContentWidgets() { titleLineEdit = new QtResizableLineEdit(this); getGridLayout()->addWidget(titleLineEdit, getGridLayout()->rowCount()-1, 2, 1, 2, Qt::AlignVCenter); getTagComboBox()->hide(); childWidgets << titleLineEdit; } bool QtVCardTitleField::isEmpty() const { return titleLineEdit->text().isEmpty(); } void QtVCardTitleField::setTitle(const std::string& title) { titleLineEdit->setText(P2QSTRING(title)); } std::string QtVCardTitleField::getTitle() const { return Q2PSTRING(titleLineEdit->text()); } void QtVCardTitleField::handleEditibleChanged(bool isEditable) { assert(titleLineEdit); titleLineEdit->setEditable(isEditable); titleLineEdit->setStyleSheet(isEditable ? "" : "QLineEdit { border: none; background: transparent; }"); } } diff --git a/Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp index b39eeaa..18241b4 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardURLField.cpp @@ -1,56 +1,56 @@ /* - * Copyright (c) 2012 Tobias Markmann + * Copyright (c) 2012-2014 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include "QtVCardURLField.h" #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) { + QtVCardGeneralField(parent, layout, editable, layout->rowCount(), tr("URL"), false, false), urlLabel(NULL), urlLineEdit(NULL) { connect(this, SIGNAL(editableChanged(bool)), SLOT(handleEditibleChanged(bool))); } QtVCardURLField::~QtVCardURLField() { 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; } bool QtVCardURLField::isEmpty() const { return urlLineEdit->text().isEmpty(); } void QtVCardURLField::setURL(const std::string& url) { urlLineEdit->setText(P2QSTRING(url)); } std::string QtVCardURLField::getURL() const { return Q2PSTRING(urlLineEdit->text()); } |
Swift