diff options
| author | 2018-07-27 23:54:15 -0400 | |
|---|---|---|
| committer | 2018-07-27 23:54:15 -0400 | |
| commit | 6d3d39356473078c6b47e03b8a7616e4b34de928 (patch) | |
| tree | fe5be2e6a08e4cfc73207746aba4c9fccfecfa10 /SQLiteStudio3/guiSQLiteStudio/constraints | |
| parent | f98e49169a40876bcf1df832de6e908d1b350193 (diff) | |
| parent | feda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (diff) | |
Update upstream source from tag 'upstream/3.2.1+dfsg1'
Update to upstream version '3.2.1+dfsg1'
with Debian dir 5ea0333565de4dc898c062cc0ff4ba1153e2c1e4
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/constraints')
6 files changed, 25 insertions, 27 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.cpp b/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.cpp index 9322117..5759f76 100644 --- a/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.cpp @@ -61,9 +61,9 @@ bool ColumnDefaultPanel::validate() if (exprOk) { // Everything looks fine, so lets do the final check - if the value is considered constant by SQLite. - static QString tempDdlLiteralTpl = QStringLiteral("CREATE TABLE temp.%1 (col DEFAULT %2);"); - static QString tempDdlExprTpl = QStringLiteral("CREATE TABLE temp.%1 (col DEFAULT (%2));"); - static QString dropTempDdl = QStringLiteral("DROP TABLE IF EXISTS temp.%1;"); + static QString tempDdlLiteralTpl = QStringLiteral("CREATE TEMP TABLE %1 (col DEFAULT %2);"); + static QString tempDdlExprTpl = QStringLiteral("CREATE TEMP TABLE %1 (col DEFAULT (%2));"); + static QString dropTempDdl = QStringLiteral("DROP TABLE %1;"); QString tableName = getTempTable(); QString tempDdl = tempDdlExprTpl.arg(tableName, ui->exprEdit->toPlainText()); @@ -75,7 +75,8 @@ bool ColumnDefaultPanel::validate() if (res->isError()) { exprOk = false; - exprError = tr("Invalid default value expression: %1").arg(res->getErrorText()); + exprError = tr("Invalid default value expression: %1. If you want to use simple string as value, remember to surround it with quote characters.") + .arg(res->getErrorText()); } else currentMode = Mode::LITERAL; @@ -84,7 +85,8 @@ bool ColumnDefaultPanel::validate() currentMode = Mode::EXPR; db->exec(dropTempDdl.arg(tableName)); - } + } else + exprError = tr("Invalid default value expression. If you want to use simple string as value, remember to surround it with quote characters."); setValidState(ui->exprEdit, exprOk, exprError); setValidState(ui->namedEdit, nameOk, tr("Enter a name of the constraint.")); @@ -269,7 +271,7 @@ void ColumnDefaultPanel::updateVirtualSql() QString ColumnDefaultPanel::getTempTable() { SchemaResolver resolver(db); - return resolver.getUniqueName("temp", "sqlitestudio_temp_table"); + return resolver.getUniqueName("sqlitestudio_temp_table"); } void ColumnDefaultPanel::updateState() diff --git a/SQLiteStudio3/guiSQLiteStudio/constraints/columnforeignkeypanel.cpp b/SQLiteStudio3/guiSQLiteStudio/constraints/columnforeignkeypanel.cpp index f4eb3eb..af79331 100644 --- a/SQLiteStudio3/guiSQLiteStudio/constraints/columnforeignkeypanel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/constraints/columnforeignkeypanel.cpp @@ -138,7 +138,7 @@ void ColumnForeignKeyPanel::readConstraint() ui->fkTableCombo->setCurrentText(constr->foreignKey->foreignTable); // Conditions - foreach (SqliteForeignKey::Condition* condition, constr->foreignKey->conditions) + for (SqliteForeignKey::Condition* condition : constr->foreignKey->conditions) readCondition(condition); // Initially, Deferrable diff --git a/SQLiteStudio3/guiSQLiteStudio/constraints/columnprimarykeypanel.cpp b/SQLiteStudio3/guiSQLiteStudio/constraints/columnprimarykeypanel.cpp index d10b223..f8975d8 100644 --- a/SQLiteStudio3/guiSQLiteStudio/constraints/columnprimarykeypanel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/constraints/columnprimarykeypanel.cpp @@ -94,13 +94,7 @@ void ColumnPrimaryKeyPanel::constraintAvailable() if (constraint.isNull()) return; - SqliteCreateTable::Column* column = dynamic_cast<SqliteCreateTable::Column*>(constraint->parent()); ui->autoIncrCheck->setVisible(constraint->dialect == Dialect::Sqlite3); - ui->autoIncrCheck->setEnabled(column->type && - DataType::fromString(column->type->detokenize().trimmed(), Qt::CaseInsensitive) == DataType::INTEGER); - - if (!ui->autoIncrCheck->isEnabled()) - ui->autoIncrCheck->setText(tr("Autoincrement (only for %1 type columns)", "column primary key").arg("INTEGER")); readConstraint(); } diff --git a/SQLiteStudio3/guiSQLiteStudio/constraints/tableforeignkeypanel.cpp b/SQLiteStudio3/guiSQLiteStudio/constraints/tableforeignkeypanel.cpp index f8390a1..8bc7926 100644 --- a/SQLiteStudio3/guiSQLiteStudio/constraints/tableforeignkeypanel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/constraints/tableforeignkeypanel.cpp @@ -156,7 +156,7 @@ void TableForeignKeyPanel::updateColumnState(int rowIdx, bool tableSelected) if (!wasEnabled && check->isEnabled()) { // Automatically set matching column - int idx = fkColumnsModel.stringList().indexOf(check->text()); + int idx = fkColumnsModel.stringList().indexOf(check->property(UI_PROP_COLUMN).toString()); if (idx > -1) combo->setCurrentIndex(idx); } @@ -191,7 +191,7 @@ void TableForeignKeyPanel::buildColumns() SqliteCreateTable* createTable = dynamic_cast<SqliteCreateTable*>(constraint->parentStatement()); int row = 0; - foreach (SqliteCreateTable::Column* column, createTable->columns) + for (SqliteCreateTable::Column* column : createTable->columns) buildColumn(column, row++); } @@ -200,6 +200,7 @@ void TableForeignKeyPanel::buildColumn(SqliteCreateTable::Column* column, int ro int col = 0; QCheckBox* check = new QCheckBox(column->name); + check->setProperty(UI_PROP_COLUMN, column->name); columnsLayout->addWidget(check, row, col++); columnSignalMapping->setMapping(check, row); connect(check, SIGNAL(toggled(bool)), columnSignalMapping, SLOT(map())); @@ -228,7 +229,7 @@ void TableForeignKeyPanel::readConstraint() if (!constr->foreignKey->foreignTable.isNull()) ui->fkTableCombo->setCurrentText(constr->foreignKey->foreignTable); - foreach (SqliteForeignKey::Condition* condition, constr->foreignKey->conditions) + for (SqliteForeignKey::Condition* condition : constr->foreignKey->conditions) readCondition(condition); ui->deferrableCombo->setCurrentText(sqliteDeferrable(constr->foreignKey->deferrable)); @@ -245,10 +246,9 @@ void TableForeignKeyPanel::readConstraint() int idx; QCheckBox* check = nullptr; QComboBox* combo = nullptr; - SqliteIndexedColumn* localCol = nullptr; SqliteIndexedColumn* foreignCol = nullptr; int i = 0; - foreach (localCol, constr->indexedColumns) + for (SqliteIndexedColumn* localCol : constr->indexedColumns) { // Foreign col if (i < constr->foreignKey->indexedColumns.size()) @@ -312,7 +312,7 @@ void TableForeignKeyPanel::storeConfiguration() if (constr->foreignKey) delete constr->foreignKey; - foreach (SqliteIndexedColumn* idxCol, constr->indexedColumns) + for (SqliteIndexedColumn* idxCol : constr->indexedColumns) delete idxCol; constr->indexedColumns.clear(); @@ -334,7 +334,7 @@ void TableForeignKeyPanel::storeConfiguration() if (!check->isChecked()) continue; - idxCol = new SqliteIndexedColumn(check->text()); + idxCol = new SqliteIndexedColumn(check->property(UI_PROP_COLUMN).toString()); idxCol->setParent(constr); constr->indexedColumns << idxCol; @@ -407,7 +407,7 @@ int TableForeignKeyPanel::getColumnIndex(const QString& colName) { item = columnsLayout->itemAtPosition(i, 0)->widget(); cb = qobject_cast<QCheckBox*>(item); - if (cb->text().compare(colName, Qt::CaseInsensitive) == 0) + if (cb->property(UI_PROP_COLUMN).toString().compare(colName, Qt::CaseInsensitive) == 0) return i; } return -1; diff --git a/SQLiteStudio3/guiSQLiteStudio/constraints/tablepkanduniquepanel.cpp b/SQLiteStudio3/guiSQLiteStudio/constraints/tablepkanduniquepanel.cpp index f2a0ada..7c1c359 100644 --- a/SQLiteStudio3/guiSQLiteStudio/constraints/tablepkanduniquepanel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/constraints/tablepkanduniquepanel.cpp @@ -71,6 +71,7 @@ void TablePrimaryKeyAndUniquePanel::buildColumn(SqliteCreateTable::Column* colum int col = 0; QCheckBox* check = new QCheckBox(column->name); + check->setProperty(UI_PROP_COLUMN, column->name); columnsLayout->addWidget(check, row, col++); columnSignalMapping->setMapping(check, row); connect(check, SIGNAL(toggled(bool)), columnSignalMapping, SLOT(map())); @@ -109,7 +110,7 @@ int TablePrimaryKeyAndUniquePanel::getColumnIndex(const QString& colName) { item = columnsLayout->itemAtPosition(i, 0)->widget(); cb = qobject_cast<QCheckBox*>(item); - if (cb->text().compare(colName, Qt::CaseInsensitive) == 0) + if (cb->property(UI_PROP_COLUMN).toString().compare(colName, Qt::CaseInsensitive) == 0) return i; } return -1; @@ -190,7 +191,7 @@ void TablePrimaryKeyAndUniquePanel::storeConfiguration() constr->onConflict = sqliteConflictAlgo(ui->conflictComboBox->currentText()); // Columns - foreach (SqliteIndexedColumn* idxCol, constr->indexedColumns) + for (SqliteIndexedColumn* idxCol : constr->indexedColumns) delete idxCol; constr->indexedColumns.clear(); @@ -207,7 +208,7 @@ void TablePrimaryKeyAndUniquePanel::storeConfiguration() if (!check->isChecked()) continue; - name = check->text(); + name = check->property(UI_PROP_COLUMN).toString(); if (constr->dialect == Dialect::Sqlite3) { @@ -256,7 +257,7 @@ void TablePrimaryKeyAndUniquePanel::readConstraint() int idx; QCheckBox* check = nullptr; QComboBox* combo = nullptr; - foreach (SqliteIndexedColumn* idxCol, constr->indexedColumns) + for (SqliteIndexedColumn* idxCol : constr->indexedColumns) { idx = getColumnIndex(idxCol->name); if (idx < 0) @@ -294,6 +295,6 @@ void TablePrimaryKeyAndUniquePanel::buildColumns() SqliteCreateTable* createTable = dynamic_cast<SqliteCreateTable*>(constraint->parentStatement()); int row = 0; - foreach (SqliteCreateTable::Column* column, createTable->columns) + for (SqliteCreateTable::Column* column : createTable->columns) buildColumn(column, row++); } diff --git a/SQLiteStudio3/guiSQLiteStudio/constraints/tableprimarykeypanel.cpp b/SQLiteStudio3/guiSQLiteStudio/constraints/tableprimarykeypanel.cpp index c538990..bad4910 100644 --- a/SQLiteStudio3/guiSQLiteStudio/constraints/tableprimarykeypanel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/constraints/tableprimarykeypanel.cpp @@ -1,5 +1,6 @@ #include "tableprimarykeypanel.h" #include "ui_tablepkanduniquepanel.h" +#include "uiutils.h" #include <QDebug> TablePrimaryKeyPanel::TablePrimaryKeyPanel(QWidget *parent) : @@ -50,7 +51,7 @@ void TablePrimaryKeyPanel::updateState() item = columnsLayout->itemAtPosition(i, 0)->widget(); cb = qobject_cast<QCheckBox*>(item); if (cb->isChecked()) - columns << cb->text(); + columns << cb->property(UI_PROP_COLUMN).toString(); } if (columns.size() != 1) |
