diff options
-rw-r--r-- | src/diagramdocument.cpp | 3 | ||||
-rw-r--r-- | src/items/database/databasetable.cpp | 7 | ||||
-rw-r--r-- | src/items/database/databasetable.h | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/diagramdocument.cpp b/src/diagramdocument.cpp index ced24bc..e5caf13 100644 --- a/src/diagramdocument.cpp +++ b/src/diagramdocument.cpp @@ -45,6 +45,8 @@ public: QPen gridPen; bool printing; Notation notation; + + QMap<QString, int> counters; }; DiagramDocument::DiagramDocument(QObject *parent) @@ -195,6 +197,7 @@ DiagramDocument::mousePressEvent(QGraphicsSceneMouseEvent *event) if (m_mode == AddTable && event->button() == Qt::LeftButton) { DatabaseTable *table = new DatabaseTable(); table->createId(); + table->setInitialName(1 + d->counters[table->typeName()]++); table->setPos(event->scenePos()); undoStack()->push(new AddItemCommand(this, table)); clearSelection(); diff --git a/src/items/database/databasetable.cpp b/src/items/database/databasetable.cpp index 5c80629..3a2387b 100644 --- a/src/items/database/databasetable.cpp +++ b/src/items/database/databasetable.cpp @@ -28,7 +28,6 @@ DatabaseTable::DatabaseTable(DiagramItem *parent) { setFlag(ItemIsMovable); setFlag(ItemIsSelectable); - m_name = "Table"; m_columnList = new ColumnList(this); connect(m_columnList, SIGNAL(columnInserted(int)), this, SLOT(updateLayout())); connect(m_columnList, SIGNAL(columnRemoved(int)), this, SLOT(updateLayout())); @@ -104,6 +103,12 @@ DatabaseTable::setName(const QString &name) emit propertyChanged("name", name); } +void +DatabaseTable::setInitialName(int counter) +{ + setName(counter > 1 ? QString("table_%1").arg(counter) : "table"); +} + QVariant DatabaseTable::itemChange(GraphicsItemChange change, const QVariant &value) { diff --git a/src/items/database/databasetable.h b/src/items/database/databasetable.h index 11d6005..b66eb91 100644 --- a/src/items/database/databasetable.h +++ b/src/items/database/databasetable.h @@ -38,6 +38,7 @@ public: QString name() const { return m_name; } void setName(const QString &name); + void setInitialName(int counter); ColumnList *columnList() { return m_columnList; } |