wip: remove warnings

This commit is contained in:
Hamed Masafi 2020-07-29 14:12:27 +04:30
parent 712c3dd866
commit 9871891772
4 changed files with 79 additions and 73 deletions

View File

@ -188,10 +188,10 @@ NUT_BEGIN_NAMESPACE
inline bool nutClassInfo(const QMetaClassInfo &classInfo, inline bool nutClassInfo(const QMetaClassInfo &classInfo,
QString &type, QString &name, QVariant &value) QString &type, QString &name, QVariant &value)
{ {
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX)) if (!QString::fromUtf8(classInfo.name()).startsWith(QStringLiteral(__nut_NAME_PERFIX)))
return false; return false;
QStringList parts = QString(classInfo.value()).split("\n"); QStringList parts = QString::fromUtf8(classInfo.value()).split(QStringLiteral("\n"));
if (parts.count() != 3) if (parts.count() != 3)
return false; return false;
@ -204,10 +204,10 @@ inline bool nutClassInfo(const QMetaClassInfo &classInfo,
inline bool nutClassInfoString(const QMetaClassInfo &classInfo, inline bool nutClassInfoString(const QMetaClassInfo &classInfo,
QString &type, QString &name, QString &value) QString &type, QString &name, QString &value)
{ {
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX)) if (!QString::fromUtf8(classInfo.name()).startsWith(QStringLiteral(__nut_NAME_PERFIX)))
return false; return false;
QStringList parts = QString(classInfo.value()).split("\n"); QStringList parts = QString::fromUtf8(classInfo.value()).split(QStringLiteral("\n"));
if (parts.count() != 3) if (parts.count() != 3)
return false; return false;
@ -220,30 +220,30 @@ inline bool nutClassInfoString(const QMetaClassInfo &classInfo,
inline bool nutClassInfoBool(const QMetaClassInfo &classInfo, inline bool nutClassInfoBool(const QMetaClassInfo &classInfo,
QString &type, QString &name, bool &value) QString &type, QString &name, bool &value)
{ {
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX)) if (!QString::fromUtf8(classInfo.name()).startsWith(QStringLiteral(__nut_NAME_PERFIX)))
return false; return false;
QStringList parts = QString(classInfo.value()).split("\n"); QStringList parts = QString::fromUtf8(classInfo.value()).split(QStringLiteral("\n"));
if (parts.count() != 3) if (parts.count() != 3)
return false; return false;
QString buffer = parts[2].toLower(); QString buffer = parts[2].toLower();
if (buffer != "true" && buffer != "false") if (buffer != QStringLiteral("true") && buffer != QStringLiteral("false"))
return false; return false;
type = parts[0]; type = parts[0];
name = parts[1]; name = parts[1];
value = (buffer == "true"); value = (buffer == QStringLiteral("true"));
return true; return true;
} }
inline bool nutClassInfoInt(const QMetaClassInfo &classInfo, inline bool nutClassInfoInt(const QMetaClassInfo &classInfo,
QString &type, QString &name, bool &value) QString &type, QString &name, bool &value)
{ {
if (!QString(classInfo.name()).startsWith(__nut_NAME_PERFIX)) if (!QString::fromUtf8(classInfo.name()).startsWith(QStringLiteral(__nut_NAME_PERFIX)))
return false; return false;
QStringList parts = QString(classInfo.value()).split("\n"); QStringList parts = QString::fromUtf8(classInfo.value()).split(QStringLiteral("\n"));
if (parts.count() != 3) if (parts.count() != 3)
return false; return false;
bool ok; bool ok;

View File

@ -117,8 +117,8 @@ QString SqlGeneratorBase::recordsPhrase(TableModel *table)
QString ret = QString(); QString ret = QString();
foreach (FieldModel *f, table->fields()) { foreach (FieldModel *f, table->fields()) {
if (!ret.isEmpty()) if (!ret.isEmpty())
ret.append(", "); ret.append(QLatin1String(", "));
ret.append(QString("%1.%2 AS \"%1.%2\"").arg(table->name(), f->name)); ret.append(QString::fromUtf8("%1.%2 AS \"%1.%2\"").arg(table->name(), f->name));
} }
return ret; return ret;
} }
@ -132,11 +132,11 @@ QString SqlGeneratorBase::insertBulk(const QString &tableName, const PhraseList
values.append(escapeValue(v)); values.append(escapeValue(v));
if (!sql.isEmpty()) if (!sql.isEmpty())
sql.append(", "); sql.append(QLatin1String(", "));
sql.append("(" + values.join(", ") + ")"); sql.append(QLatin1String("(") + values.join(QLatin1String(", ")) + QLatin1String(")"));
} }
sql = "INSERT INTO " + tableName + "(" + createFieldPhrase(ph) sql = QString::fromUtf8("INSERT INTO %1 (%2) VALUES %3")
+ ") VALUES" + sql; .arg(tableName, createFieldPhrase(ph), sql);
removeTableNames(sql); removeTableNames(sql);
return sql; return sql;
@ -147,9 +147,15 @@ QString SqlGeneratorBase::fieldDeclare(FieldModel *field)
QString type = fieldType(field); QString type = fieldType(field);
if (type.isEmpty()) if (type.isEmpty())
return type; return type;
return field->name + " " + type
+ (field->notNull ? " NOT NULL" : "") QString ret = field->name + QStringLiteral(" ") + type;
+ (field->isUnique ? " UNIQUE" : ""); if (field->notNull)
ret.append(QStringLiteral(" NOT NULL"));
if (field->isUnique)
ret.append(QStringLiteral(" UNIQUE"));
return ret;
} }
QStringList SqlGeneratorBase::constraints(TableModel *table) QStringList SqlGeneratorBase::constraints(TableModel *table)
@ -160,7 +166,7 @@ QStringList SqlGeneratorBase::constraints(TableModel *table)
QString SqlGeneratorBase::relationDeclare(const RelationModel *relation) QString SqlGeneratorBase::relationDeclare(const RelationModel *relation)
{ {
return QString("FOREIGN KEY (FK_%1) REFERENCES %2(%1)") return QString::fromUtf8("FOREIGN KEY (FK_%1) REFERENCES %2(%1)")
.arg(relation->localColumn, relation->slaveTable->name()); .arg(relation->localColumn, relation->slaveTable->name());
} }

View File

@ -32,28 +32,28 @@ SqliteGenerator::SqliteGenerator(Database *parent) : SqlGeneratorBase(parent)
QString SqliteGenerator::fieldType(FieldModel *field) QString SqliteGenerator::fieldType(FieldModel *field)
{ {
switch (field->type) { switch (field->type) {
case QMetaType::Bool: return "BOOLEAN"; case QMetaType::Bool: return QStringLiteral("BOOLEAN");
case QMetaType::QBitArray: case QMetaType::QBitArray:
case QMetaType::QByteArray: return "BLOB"; case QMetaType::QByteArray: return QStringLiteral("BLOB");
case QMetaType::QDate: return "DATE"; case QMetaType::QDate: return QStringLiteral("DATE");
case QMetaType::QDateTime: return "DATETIME"; case QMetaType::QDateTime: return QStringLiteral("DATETIME");
case QMetaType::QTime: return "TIME"; case QMetaType::QTime: return QStringLiteral("TIME");
case QMetaType::Double: return "DOUBLE"; case QMetaType::Double: return QStringLiteral("DOUBLE");
case QMetaType::Float: return "FLOAT"; case QMetaType::Float: return QStringLiteral("FLOAT");
case QMetaType::SChar: case QMetaType::SChar:
case QMetaType::Char: return "TINYINT"; case QMetaType::Char: return QStringLiteral("TINYINT");
case QMetaType::UChar: return "TINYINT UNSIGNED"; case QMetaType::UChar: return QStringLiteral("TINYINT UNSIGNED");
case QMetaType::Short: return "SMALLINT"; case QMetaType::Short: return QStringLiteral("SMALLINT");
case QMetaType::UShort: return "SMALLINT UNSIGNED"; case QMetaType::UShort: return QStringLiteral("SMALLINT UNSIGNED");
case QMetaType::Int: return "INT"; case QMetaType::Int: return QStringLiteral("INT");
case QMetaType::UInt: return "INT UNSIGNED"; case QMetaType::UInt: return QStringLiteral("INT UNSIGNED");
case QMetaType::Long: return "MEDIUMINT"; case QMetaType::Long: return QStringLiteral("MEDIUMINT");
case QMetaType::ULong: return "MEDIUMINT UNSIGNED"; case QMetaType::ULong: return QStringLiteral("MEDIUMINT UNSIGNED");
case QMetaType::LongLong: return "BIGINT"; case QMetaType::LongLong: return QStringLiteral("BIGINT");
case QMetaType::ULongLong: return "BIGINT UNSIGNED"; case QMetaType::ULongLong: return QStringLiteral("BIGINT UNSIGNED");
case QMetaType::QChar: return "NCHAR(1)"; case QMetaType::QChar: return QStringLiteral("NCHAR(1)");
case QMetaType::QUrl: case QMetaType::QUrl:
case QMetaType::QJsonArray: case QMetaType::QJsonArray:
@ -72,16 +72,16 @@ QString SqliteGenerator::fieldType(FieldModel *field)
case QMetaType::QPolygonF: case QMetaType::QPolygonF:
case QMetaType::QStringList: case QMetaType::QStringList:
case QMetaType::QColor: case QMetaType::QColor:
case QMetaType::QUuid: return "TEXT"; case QMetaType::QUuid: return QStringLiteral("TEXT");
// if (field->isAutoIncrement) // if (field->isAutoIncrement)
// dbType.append(" PRIMARY KEY AUTOINCREMENT"); // dbType.append(" PRIMARY KEY AUTOINCREMENT");
case QMetaType::QString: case QMetaType::QString:
if(field->length) if(field->length)
return QString("VARCHAR(%1)").arg(field->length); return QString::fromUtf8("VARCHAR(%1)").arg(field->length);
else else
return "TEXT"; return QStringLiteral("TEXT");
default: default:
// qWarning("The type (%s) does not supported", // qWarning("The type (%s) does not supported",
// QMetaType::typeName(field->type)); // QMetaType::typeName(field->type));
@ -96,18 +96,18 @@ QString SqliteGenerator::fieldDeclare(FieldModel *field)
return type; return type;
if (isNumeric(field->type) && field->isPrimaryKey) { if (isNumeric(field->type) && field->isPrimaryKey) {
type = "INTEGER PRIMARY KEY"; type = QStringLiteral("INTEGER PRIMARY KEY");
if (field->isAutoIncrement) if (field->isAutoIncrement)
type.append(" AUTOINCREMENT"); type.append(QStringLiteral(" AUTOINCREMENT"));
} }
if (field->notNull) if (field->notNull)
type.append(" NOT NULL"); type.append(QStringLiteral(" NOT NULL"));
if (field->isUnique) if (field->isUnique)
type.append(" UNIQUE"); type.append(QStringLiteral(" UNIQUE"));
return field->name + " " + type; return field->name + QStringLiteral(" ") + type;
} }
bool SqliteGenerator::supportAutoIncrement(const QMetaType::Type &type) bool SqliteGenerator::supportAutoIncrement(const QMetaType::Type &type)
@ -127,7 +127,7 @@ QStringList SqliteGenerator::diff(TableModel *oldTable, TableModel *newTable)
QStringList newTableSql = SqlGeneratorBase::diff(nullptr, newTable); QStringList newTableSql = SqlGeneratorBase::diff(nullptr, newTable);
if (!newTable) if (!newTable)
return QStringList() << "DROP TABLE " + oldTable->name(); return QStringList() << QStringLiteral("DROP TABLE ") + oldTable->name();
if (!oldTable) if (!oldTable)
return newTableSql; return newTableSql;
@ -155,7 +155,7 @@ QStringList SqliteGenerator::diff(TableModel *oldTable, TableModel *newTable)
continue; continue;
if (!columns.isEmpty()) if (!columns.isEmpty())
columns.append(", "); columns.append(QStringLiteral(", "));
columns.append(f->name); columns.append(f->name);
} }
@ -181,21 +181,21 @@ QStringList SqliteGenerator::diff(TableModel *oldTable, TableModel *newTable)
DROP TABLE sqlitestudio_temp_table; DROP TABLE sqlitestudio_temp_table;
*/ */
ret.append("ALTER TABLE " + newTable->name() + " RENAME TO sqlitestudio_temp_table;"); ret.append(QStringLiteral("ALTER TABLE ") + newTable->name() + QStringLiteral(" RENAME TO sqlitestudio_temp_table;"));
ret.append(newTableSql); ret.append(newTableSql);
ret.append(QString("INSERT INTO %1 ( %2 ) SELECT %2 FROM sqlitestudio_temp_table;") ret.append(QString::fromUtf8("INSERT INTO %1 ( %2 ) SELECT %2 FROM sqlitestudio_temp_table;")
.arg(newTable->name(), columns)); .arg(newTable->name(), columns));
ret.append("DROP TABLE sqlitestudio_temp_table;"); ret.append(QStringLiteral("DROP TABLE sqlitestudio_temp_table;"));
return ret; return ret;
} }
void SqliteGenerator::appendSkipTake(QString &sql, int skip, int take) void SqliteGenerator::appendSkipTake(QString &sql, int skip, int take)
{ {
if (take > 0 && skip > 0) { if (take > 0 && skip > 0) {
sql.append(QString(" LIMIT %1 OFFSET %2") sql.append(QString::fromUtf8(" LIMIT %1 OFFSET %2")
.arg(take) .arg(take)
.arg(skip)); .arg(skip));
} else if (take > 0) { } else if (take > 0) {
sql.append(QString(" LIMIT %1").arg(take)); sql.append(QString::fromUtf8(" LIMIT %1").arg(take));
} }
} }
@ -229,9 +229,9 @@ QString SqliteGenerator::createConditionalPhrase(const PhraseData *d) const
case PhraseData::AddMonths: case PhraseData::AddMonths:
case PhraseData::AddDays: { case PhraseData::AddDays: {
int i = d->operand.toInt(); int i = d->operand.toInt();
return QString("DATE(%1,'%2 %3')") return QString::fromUtf8("DATE(%1,'%2 %3')")
.arg(createConditionalPhrase(d->left), .arg(createConditionalPhrase(d->left),
(i < 0 ? "" : "+") + QString::number(i), (i < 0 ? QStringLiteral("") : QStringLiteral("+")) + QString::number(i),
dateTimePartName(op)); dateTimePartName(op));
break; break;
} }
@ -239,9 +239,9 @@ QString SqliteGenerator::createConditionalPhrase(const PhraseData *d) const
case PhraseData::AddMinutes: case PhraseData::AddMinutes:
case PhraseData::AddSeconds: { case PhraseData::AddSeconds: {
int i = d->operand.toInt(); int i = d->operand.toInt();
return QString("TIME(%1,'%2 %3')") return QString::fromUtf8("TIME(%1,'%2 %3')")
.arg(createConditionalPhrase(d->left), .arg(createConditionalPhrase(d->left),
(i < 0 ? "" : "+") + QString::number(i), (i < 0 ? QStringLiteral("") : QStringLiteral("+")) + QString::number(i),
dateTimePartName(op)); dateTimePartName(op));
break; break;
} }
@ -252,9 +252,9 @@ QString SqliteGenerator::createConditionalPhrase(const PhraseData *d) const
case PhraseData::AddMinutesDateTime: case PhraseData::AddMinutesDateTime:
case PhraseData::AddSecondsDateTime: { case PhraseData::AddSecondsDateTime: {
int i = d->operand.toInt(); int i = d->operand.toInt();
return QString("DATETIME(%1,'%2 %3')") return QString::fromUtf8("DATETIME(%1,'%2 %3')")
.arg(createConditionalPhrase(d->left), .arg(createConditionalPhrase(d->left),
(i < 0 ? "" : "+") + QString::number(i), (i < 0 ? QStringLiteral("") : QStringLiteral("+")) + QString::number(i),
dateTimePartName(op)); dateTimePartName(op));
break; break;
} }
@ -265,27 +265,27 @@ QString SqliteGenerator::createConditionalPhrase(const PhraseData *d) const
if (d->type == PhraseData::WithoutOperand) { if (d->type == PhraseData::WithoutOperand) {
switch (op) { switch (op) {
case PhraseData::DatePartYear: case PhraseData::DatePartYear:
return QString("CAST(strftime('%Y', %1) AS INT)") return QString::fromUtf8("CAST(strftime('%Y', %1) AS INT)")
.arg(createConditionalPhrase(d->left)); .arg(createConditionalPhrase(d->left));
case PhraseData::DatePartMonth: case PhraseData::DatePartMonth:
return QString("CAST(strftime('%m', %1) AS INT)") return QString::fromUtf8("CAST(strftime('%m', %1) AS INT)")
.arg(createConditionalPhrase(d->left)); .arg(createConditionalPhrase(d->left));
case PhraseData::DatePartDay: case PhraseData::DatePartDay:
return QString("CAST(strftime('%d', %1) AS INT)") return QString::fromUtf8("CAST(strftime('%d', %1) AS INT)")
.arg(createConditionalPhrase(d->left)); .arg(createConditionalPhrase(d->left));
case PhraseData::DatePartHour: case PhraseData::DatePartHour:
return QString("CAST(strftime('%H', %1) AS INT)") return QString::fromUtf8("CAST(strftime('%H', %1) AS INT)")
.arg(createConditionalPhrase(d->left)); .arg(createConditionalPhrase(d->left));
case PhraseData::DatePartMinute: case PhraseData::DatePartMinute:
return QString("CAST(strftime('%M', %1) AS INT)") return QString::fromUtf8("CAST(strftime('%M', %1) AS INT)")
.arg(createConditionalPhrase(d->left)); .arg(createConditionalPhrase(d->left));
case PhraseData::DatePartSecond: case PhraseData::DatePartSecond:
return QString("CAST(strftime('%S', %1) AS INT)") return QString::fromUtf8("CAST(strftime('%S', %1) AS INT)")
.arg(createConditionalPhrase(d->left)); .arg(createConditionalPhrase(d->left));
// case PhraseData::DatePartMilisecond: // case PhraseData::DatePartMilisecond:
@ -302,13 +302,13 @@ QString SqliteGenerator::createConditionalPhrase(const PhraseData *d) const
QString SqliteGenerator::escapeValue(const QVariant &v) const QString SqliteGenerator::escapeValue(const QVariant &v) const
{ {
if (v.type() == QVariant::Time) if (v.type() == QVariant::Time)
return "'" + v.toTime().toString("HH:mm:ss") + "'"; return v.toTime().toString(QStringLiteral("'HH:mm:ss'"));
if (v.type() == QVariant::Date) if (v.type() == QVariant::Date)
return "'" + v.toDate().toString("yyyy-MM-dd") + "'"; return v.toDate().toString(QStringLiteral("'yyyy-MM-dd'"));
if (v.type() == QVariant::DateTime) if (v.type() == QVariant::DateTime)
return "'" + v.toDateTime().toString("yyyy-MM-dd HH:mm:ss") + "'"; return v.toDateTime().toString(QStringLiteral("'yyyy-MM-dd HH:mm:ss'"));
return SqlGeneratorBase::escapeValue(v); return SqlGeneratorBase::escapeValue(v);
} }

View File

@ -65,7 +65,7 @@ public:
} }
ConditionalPhrase contains(const QString &term) { ConditionalPhrase contains(const QString &term) {
return ConditionalPhrase(this, PhraseData::Like, "%" + term + "%"); return ConditionalPhrase(this, PhraseData::Like, QStringLiteral("%") + term + QStringLiteral("%"));
} }
AssignmentPhrase operator =(const QVariant &v) { AssignmentPhrase operator =(const QVariant &v) {