aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/common/utils.cpp')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/common/utils.cpp39
1 files changed, 35 insertions, 4 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp b/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp
index 0b95a85..a572330 100644
--- a/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp
+++ b/SQLiteStudio3/coreSQLiteStudio/common/utils.cpp
@@ -54,6 +54,7 @@ void initUtils()
{
qRegisterMetaType<QList<int>>("QList<int>");
qRegisterMetaType<DbObjectType>("DbObjectType");
+ qRegisterMetaType<QList<QPair<QString, QString>>>("QList<QPair<QString, QString>>");
}
bool isXDigit(const QChar& c)
@@ -805,7 +806,7 @@ QString getOsString()
DistributionType getDistributionType()
{
#if defined(Q_OS_OSX)
- return DistributionType::OSX_BOUNDLE;
+ return DistributionType::OSX_BUNDLE;
#elif defined(PORTABLE_CONFIG)
return DistributionType::PORTABLE;
#else
@@ -966,12 +967,14 @@ QStringList concat(const QList<QStringList>& list)
QString doubleToString(const QVariant& val)
{
QString str = val.toString();
- if (str.contains("e"))
+ if (str.contains("e") || str.midRef(str.indexOf('.') + 1).length() > 14)
+ {
str = QString::number(val.toDouble(), 'f', 14).remove(QRegExp("0*$"));
+ if (str.endsWith("."))
+ str += "0";
+ }
else if (!str.contains('.'))
str += ".0";
- else if (str.mid(str.indexOf('.') + 1).length() > 14)
- str = QString::number(val.toDouble(), 'f', 14).remove(QRegExp("0*$"));
return str;
}
@@ -1097,3 +1100,31 @@ uint qHash(const QVariant& var)
// could not generate a hash for the given variant
return -2;
}
+
+QString indentMultiline(const QString& str)
+{
+ QStringList lines = str.split("\n");
+ for (QString& line : lines)
+ line = line.prepend(" ");
+
+ return lines.join("\n");
+}
+
+QString toNativePath(const QString& path)
+{
+ return QDir::toNativeSeparators(path);
+}
+
+QStringList sharedLibFileFilters()
+{
+ static QStringList filters({
+#ifdef Q_OS_WIN
+ "*.dll"
+#elif defined Q_OS_MACOS
+ "*.dylib"
+#elif defined Q_OS_LINUX || Q_OS_BSD
+ "*.so"
+#endif
+ });
+ return filters;
+}