diff options
author | Tobias Markmann <tm@ayena.de> | 2013-10-15 14:31:02 (GMT) |
---|---|---|
committer | Swift Review <review@swift.im> | 2013-10-17 08:03:37 (GMT) |
commit | 5f0eeca41f0559c5b416c78fd51445fd93cf61ff (patch) | |
tree | ad4b7bb586385be7916213999dfb4248dae2c437 /Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp | |
parent | 040ceccfc67ce41fdd836ae874da68e04e6ca944 (diff) | |
download | swift-5f0eeca41f0559c5b416c78fd51445fd93cf61ff.zip swift-5f0eeca41f0559c5b416c78fd51445fd93cf61ff.tar.bz2 |
VCard: Assert existence of field widgets instead of if-testing.
Change-Id: Ie92f4f1714b8fb6dc5c1e2729151c8e00c33215b
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Diffstat (limited to 'Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp')
-rw-r--r-- | Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp index 5b3ef87..f8b9247 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp @@ -4,17 +4,17 @@ * See Documentation/Licenses/BSD-simplified.txt for more information. */ -#include "QtVCardGeneralField.h" +#include <Swift/QtUI/QtVCardWidget/QtVCardGeneralField.h> + +#include <cassert> #include <QHBoxLayout> -#include <Swiften/Base/Log.h> namespace Swift { QtVCardGeneralField::QtVCardGeneralField(QWidget* parent, QGridLayout* layout, bool editable, int row, QString label, bool preferrable, bool taggable) : - QWidget(parent), preferrable(preferrable), taggable(taggable), layout(layout), row(row), preferredCheckBox(0), label(0), labelText(label), + QWidget(parent), editable(editable), preferrable(preferrable), taggable(taggable), layout(layout), row(row), preferredCheckBox(0), label(0), labelText(label), tagComboBox(0), closeButton(0) { - setEditable(editable); } QtVCardGeneralField::~QtVCardGeneralField() { @@ -54,6 +54,7 @@ void QtVCardGeneralField::initialize() { tagLabel->hide(); childWidgets << label << tagComboBox << tagLabel << closeButton; + setEditable(editable); } bool QtVCardGeneralField::isEditable() const { @@ -61,24 +62,22 @@ bool QtVCardGeneralField::isEditable() const { } void QtVCardGeneralField::setEditable(bool editable) { + assert(tagComboBox); + assert(closeButton); + this->editable = editable; - if (tagComboBox) { - if (taggable) { - tagLabel->setText(tagComboBox->itemText(0)); - tagComboBox->setVisible(editable); - tagLabel->setVisible(!editable); - } else { - tagLabel->hide(); - tagComboBox->hide(); - } + if (taggable) { + tagLabel->setText(tagComboBox->itemText(0)); + tagComboBox->setVisible(editable); + tagLabel->setVisible(!editable); + } else { + tagLabel->hide(); + tagComboBox->hide(); } - if (closeButton) closeButton->setVisible(editable); - if (preferredCheckBox) { - if (editable) { - preferredCheckBox->show(); - } else if (!preferredCheckBox->isChecked()) { - preferredCheckBox->hide(); - } + closeButton->setVisible(editable); + if (preferrable) { + assert(preferredCheckBox); + preferredCheckBox->setVisible(editable ? true : preferredCheckBox->isChecked()); preferredCheckBox->setEnabled(editable); } editableChanged(this->editable); |