diff options
Diffstat (limited to 'src/items/database/databasetable.cpp')
-rw-r--r-- | src/items/database/databasetable.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/items/database/databasetable.cpp b/src/items/database/databasetable.cpp index 8f36308..7f73b0d 100644 --- a/src/items/database/databasetable.cpp +++ b/src/items/database/databasetable.cpp @@ -31,6 +31,7 @@ DatabaseTable::DatabaseTable(DiagramItem *parent) setFlag(ItemIsMovable); setFlag(ItemIsSelectable); setHub(new BoxSideHub(this)); + m_color = Qt::white; m_columnList = new ColumnList(this); connect(m_columnList, SIGNAL(columnInserted(int)), this, SLOT(updateLayout())); connect(m_columnList, SIGNAL(columnRemoved(int)), this, SLOT(updateLayout())); @@ -67,8 +68,9 @@ DatabaseTable::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QPen pen(QPen(QColor(0, 0, 0))); pen.setJoinStyle(Qt::MiterJoin); + pen.setWidth(1); QPen borderPen(pen); - borderPen.setWidthF(1.5); + borderPen.setWidthF(1.3); if (!document()->isPrinting() && isSelected()) { borderPen.setColor(QColor(0, 96, 255)); } @@ -76,7 +78,7 @@ DatabaseTable::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, painter->setPen(pen); painter->setFont(font); - painter->fillRect(m_outerRect, QColor(255, 255, 255)); + painter->fillRect(m_outerRect, color()); // Draw the table name painter->fillRect(m_nameBgRect, QColor(205, 205, 205)); @@ -120,6 +122,14 @@ DatabaseTable::setName(const QString &name) } void +DatabaseTable::setColor(const QColor &color) +{ + m_color = color; + updateLayout(); + emit propertyChanged("color", color); +} + +void DatabaseTable::setInitialName(int counter) { setName(counter > 1 ? QString("table_%1").arg(counter) : "table"); @@ -217,6 +227,8 @@ DatabaseTable::loadFromXml(QDomElement element, DiagramDocument *document) QDomElement tableElement = element.firstChildElement("table"); if (!tableElement.isNull()) { setName(readStringElement(tableElement, "name")); + QColor color(readStringElement(tableElement, "color")); + setColor(color.isValid() ? color : Qt::white); QDomElement columnListElement = tableElement.firstChildElement("column-list"); QDomElement columnElement = columnListElement.firstChildElement("column"); while (!columnElement.isNull()) { @@ -239,6 +251,7 @@ DatabaseTable::saveToXml(QDomDocument doc, QDomElement element) QDomElement tableElement = doc.createElement("table"); element.appendChild(tableElement); appendStringElement(doc, tableElement, "name", name()); + appendStringElement(doc, tableElement, "color", color().name()); QDomElement columnListElement = doc.createElement("column-list"); tableElement.appendChild(columnListElement); foreach (Column *column, columnList()->columns()) { |