diff options
Diffstat (limited to 'Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp')
-rw-r--r-- | Swift/QtUI/QtVCardWidget/QtVCardGeneralField.cpp | 25 |
1 files changed, 12 insertions, 13 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 @@ -5,15 +5,15 @@ */ -#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); } @@ -55,4 +55,5 @@ void QtVCardGeneralField::initialize() { childWidgets << label << tagComboBox << tagLabel << closeButton; + setEditable(editable); } @@ -62,6 +63,8 @@ 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)); @@ -72,12 +75,8 @@ void QtVCardGeneralField::setEditable(bool editable) { 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); } |