summaryrefslogtreecommitdiff
path: root/src/items/database/databasetable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/items/database/databasetable.cpp')
-rw-r--r--src/items/database/databasetable.cpp17
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()) {