diff options
Diffstat (limited to 'src/items/database/databasetableproperties.cpp')
-rw-r--r-- | src/items/database/databasetableproperties.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/items/database/databasetableproperties.cpp b/src/items/database/databasetableproperties.cpp index 9b92f13..8bce7b5 100644 --- a/src/items/database/databasetableproperties.cpp +++ b/src/items/database/databasetableproperties.cpp @@ -24,6 +24,7 @@ #include "databasetable.h" #include "databasetableproperties.h" #include "diagramdocument.h" +#include "utils/colorpicker/qtcolorpicker.h" class DatabaseTableProperties::PrivateData { @@ -37,6 +38,7 @@ public: QPushButton *removeColumnButton; QPushButton *moveColumnUpButton; QPushButton *moveColumnDownButton; + QtColorPicker *colorPicker; }; DatabaseTableProperties::DatabaseTableProperties(QWidget *parent) @@ -62,7 +64,25 @@ DatabaseTableProperties::createTablePage() connect(d->nameEdit, SIGNAL(textEdited(const QString &)), SLOT(setTableName(const QString &))); layout->addWidget(new QLabel(tr("Name:"), page), 0, 0); layout->addWidget(d->nameEdit, 0, 1); - layout->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding), 1, 0, 1, 2); + + d->colorPicker = new QtColorPicker(page); + d->colorPicker->insertColor(Qt::white, tr("White")); + d->colorPicker->insertColor(QColor("#AAAAAA"), tr("Gray")); + d->colorPicker->insertColor(QColor("#777777"), tr("Gray")); + d->colorPicker->insertColor(QColor("#333333"), tr("Gray")); + d->colorPicker->insertColor(QColor("#FFCCCC"), tr("Red")); + d->colorPicker->insertColor(QColor("#CC9900"), tr("Brown")); + d->colorPicker->insertColor(QColor("#FFCCFF"), tr("Pink")); + d->colorPicker->insertColor(QColor("#FFFFCC"), tr("Yellow")); + d->colorPicker->insertColor(QColor("#CCFFCC"), tr("Green")); + d->colorPicker->insertColor(QColor("#CCECFF"), tr("Blue")); + connect(d->colorPicker, SIGNAL(colorChanged(const QColor &)), SLOT(setTableColor(const QColor &))); + layout->addWidget(new QLabel(tr("Color:"), page), 1, 0); + QHBoxLayout *hbox = new QHBoxLayout(); + hbox->addWidget(d->colorPicker); + hbox->addStretch(); + layout->addLayout(hbox, 1, 1); + layout->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding), 2, 0, 2, 2); return page; } @@ -106,6 +126,7 @@ DatabaseTableProperties::switchCurrentItem(DiagramItem *oldItem, DiagramItem *) DatabaseTable *table = currentTable(); if (table) { d->nameEdit->setText(table->name()); + d->colorPicker->setCurrentColor(table->color()); d->columnListView->setColumnList(table->columnList()); connect(table, SIGNAL(propertyChanged(const QString &, const QVariant &)), SLOT(updateProperty(const QString &, const QVariant &))); } @@ -122,6 +143,9 @@ DatabaseTableProperties::updateProperty(const QString &name, const QVariant &val if (name == "name") { d->nameEdit->setText(value.toString()); } + else if (name == "color") { + d->colorPicker->setCurrentColor(qVariantValue<QColor>(value)); + } } void @@ -132,6 +156,13 @@ DatabaseTableProperties::setTableName(const QString &name) } void +DatabaseTableProperties::setTableColor(const QColor &color) +{ + DatabaseTable *table = currentTable(); + table->document()->undoStack()->push(new SetObjectPropertyCommand(table, "color", color)); +} + +void DatabaseTableProperties::updateColumnSelection() { QList<int> columns = d->columnListView->selectedColumns(); |