summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dblistmodel.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2015-04-04 14:41:04 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2015-04-04 14:41:04 -0400
commita5b034d4a9c44f9bc1e83b01de82530f8fc63013 (patch)
tree7a358206c4aff9c33df1752c92eafec97cee2244 /SQLiteStudio3/guiSQLiteStudio/dblistmodel.cpp
parent306d6d3ca9c9ad774d19135681a7f9805f77035f (diff)
Imported Upstream version 3.0.4upstream/3.0.4
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dblistmodel.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dblistmodel.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dblistmodel.cpp b/SQLiteStudio3/guiSQLiteStudio/dblistmodel.cpp
index af9da8f..8153fed 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dblistmodel.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dblistmodel.cpp
@@ -77,6 +77,8 @@ void DbListModel::setSortMode(const QString& sortMode)
this->sortMode = SortMode::LikeDbTree;
else if (sortMode == "Alphabetical")
this->sortMode = SortMode::Alphabetical;
+ else if (sortMode == "AlphabeticalCaseInsensitive")
+ this->sortMode = SortMode::AlphabeticalCaseInsensitive;
else
this->sortMode = SortMode::ConnectionOrder;
@@ -91,6 +93,8 @@ QString DbListModel::getSortModeString() const
return "LikeDbTree";
case DbListModel::SortMode::Alphabetical:
return "Alphabetical";
+ case DbListModel::SortMode::AlphabeticalCaseInsensitive:
+ return "AlphabeticalCaseInsensitive";
case DbListModel::SortMode::ConnectionOrder:
break;
}
@@ -119,6 +123,12 @@ void DbListModel::sort()
qSort(dbList.begin(), dbList.end(), comparer);
break;
}
+ case DbListModel::SortMode::AlphabeticalCaseInsensitive:
+ {
+ AlphaComparer comparer(Qt::CaseInsensitive);
+ qSort(dbList.begin(), dbList.end(), comparer);
+ break;
+ }
case DbListModel::SortMode::ConnectionOrder:
break;
}
@@ -183,7 +193,12 @@ bool DbListModel::DbTreeComparer::operator()(Db* db1, Db* db2)
return dbTreeOrder.indexOf(db1->getName()) < dbTreeOrder.indexOf(db2->getName());
}
+DbListModel::AlphaComparer::AlphaComparer(Qt::CaseSensitivity cs) :
+ cs(cs)
+{
+}
+
bool DbListModel::AlphaComparer::operator()(Db* db1, Db* db2)
{
- return db1->getName().compare(db2->getName()) < 0;
+ return db1->getName().compare(db2->getName(), cs) < 0;
}