From cd2fa6b503f08edfe0bff33aeb81235d66fb050f Mon Sep 17 00:00:00 2001 From: Lukáš Lalinský Date: Tue, 7 Apr 2009 18:42:40 +0200 Subject: Fix double updates of table properties --- src/items/database/databasetableproperties.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/items/database/databasetableproperties.cpp b/src/items/database/databasetableproperties.cpp index 8bce7b5..1f54fe6 100644 --- a/src/items/database/databasetableproperties.cpp +++ b/src/items/database/databasetableproperties.cpp @@ -39,11 +39,13 @@ public: QPushButton *moveColumnUpButton; QPushButton *moveColumnDownButton; QtColorPicker *colorPicker; + bool ignoreUpdates; }; DatabaseTableProperties::DatabaseTableProperties(QWidget *parent) : DiagramItemProperties(parent), d(new PrivateData) { + d->ignoreUpdates = false; addPage(tr("&Table"), createTablePage()); addPage(tr("&Columns"), createColumnsPage()); } @@ -140,6 +142,8 @@ DatabaseTableProperties::switchCurrentItem(DiagramItem *oldItem, DiagramItem *) void DatabaseTableProperties::updateProperty(const QString &name, const QVariant &value) { + if (d->ignoreUpdates) + return; if (name == "name") { d->nameEdit->setText(value.toString()); } @@ -152,14 +156,18 @@ void DatabaseTableProperties::setTableName(const QString &name) { DatabaseTable *table = currentTable(); + d->ignoreUpdates = true; table->document()->undoStack()->push(new SetObjectPropertyCommand(table, "name", name)); + d->ignoreUpdates = false; } void DatabaseTableProperties::setTableColor(const QColor &color) { DatabaseTable *table = currentTable(); + d->ignoreUpdates = true; table->document()->undoStack()->push(new SetObjectPropertyCommand(table, "color", color)); + d->ignoreUpdates = false; } void -- cgit v1.2.3-54-g00ecf