diff options
Diffstat (limited to 'Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp')
-rw-r--r-- | Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp b/Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp index 7f6c23d..99e5f0b 100644 --- a/Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp +++ b/Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.cpp @@ -5,10 +5,11 @@ */ -#include "QtVCardOrganizationField.h" +#include <Swift/QtUI/QtVCardWidget/QtVCardOrganizationField.h> + +#include <boost/algorithm/string.hpp> #include <QGridLayout> #include <QHBoxLayout> #include <QHeaderView> -#include <boost/algorithm/string.hpp> #include <Swift/QtUI/QtSwiftUtil.h> @@ -38,4 +39,5 @@ void QtVCardOrganizationField::setupContentWidgets() { unitsTreeWidget = new QTreeWidget(this); + connect(unitsTreeWidget->model(), SIGNAL(rowsRemoved(QModelIndex, int, int)), SLOT(handleRowsRemoved(QModelIndex,int,int))); unitsTreeWidget->setColumnCount(2); unitsTreeWidget->header()->setStretchLastSection(false); @@ -118,4 +120,12 @@ void QtVCardOrganizationField::handleEditibleChanged(bool isEditable) { void QtVCardOrganizationField::handleItemChanged(QTreeWidgetItem *, int) { + guaranteeEmptyRow(); +} + +void QtVCardOrganizationField::handleRowsRemoved(const QModelIndex&, int, int) { + guaranteeEmptyRow(); +} + +void QtVCardOrganizationField::guaranteeEmptyRow() { bool hasEmptyRow = false; QList<QTreeWidgetItem*> rows = unitsTreeWidget->findItems("", Qt::MatchFixedString); @@ -130,6 +140,6 @@ void QtVCardOrganizationField::handleItemChanged(QTreeWidgetItem *, int) { item->setFlags(item->flags() | Qt::ItemIsEditable); unitsTreeWidget->addTopLevelItem(item); + unitsTreeWidget->setCurrentItem(item); } - getTagComboBox()->hide(); } |