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