diff options
| author | 2025-01-16 01:58:22 -0500 | |
|---|---|---|
| committer | 2025-01-16 01:58:22 -0500 | |
| commit | a5ae79be08125b31bb6b8d9703090a98c6fd2e30 (patch) | |
| tree | 569ee612c9de85b2bb423efa485688ef1d43852e /SQLiteStudio3/guiSQLiteStudio/windows/collationseditormodel.cpp | |
| parent | 21966b4f924b0a1933d9662e75ff253bd154fdb7 (diff) | |
| parent | 81a21e6ce040e7740de86340c8ea4dba30e69bc3 (diff) | |
Update upstream source from tag 'upstream/3.4.13+dfsg'
Update to upstream version '3.4.13+dfsg'
with Debian dir bf81ee0219cb8e4562a4751df17d75814772d2d6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/windows/collationseditormodel.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/windows/collationseditormodel.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/collationseditormodel.cpp b/SQLiteStudio3/guiSQLiteStudio/windows/collationseditormodel.cpp index f04e023..0587d76 100644 --- a/SQLiteStudio3/guiSQLiteStudio/windows/collationseditormodel.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/windows/collationseditormodel.cpp @@ -1,6 +1,7 @@ #include "collationseditormodel.h" #include "common/unused.h" #include "common/strhash.h" +#include "iconmanager.h" #include "services/pluginmanager.h" #include "plugins/scriptingplugin.h" #include "icon.h" @@ -69,6 +70,16 @@ QString CollationsEditorModel::getName(int row) const GETTER(collationList[row]->data->name, QString()); } +void CollationsEditorModel::setType(int row, CollationManager::CollationType type) +{ + SETTER(collationList[row]->data->type, type); +} + +CollationManager::CollationType CollationsEditorModel::getType(int row) const +{ + GETTER(collationList[row]->data->type, CollationManager::CollationType::FUNCTION_BASED); +} + void CollationsEditorModel::setLang(int row, const QString& lang) { SETTER(collationList[row]->data->lang, lang); @@ -248,13 +259,17 @@ QVariant CollationsEditorModel::data(const QModelIndex& index, int role) const if (role == Qt::DisplayRole) return collationList[index.row()]->data->name; - if (role == Qt::DecorationRole && langToIcon.contains(collationList[index.row()]->data->lang)) + if (role == Qt::DecorationRole) { - QIcon icon = langToIcon[collationList[index.row()]->data->lang]; - if (!collationList[index.row()]->valid) - icon = Icon::merge(icon, Icon::ERROR); - - return icon; + auto coll = collationList[index.row()]->data; + bool isExtension = coll->type == CollationManager::CollationType::EXTENSION_BASED; + if (isExtension || langToIcon.contains(coll->lang)) + { + QIcon icon = isExtension ? ICONS.EXTENSION : langToIcon[coll->lang]; + if (!collationList[index.row()]->valid) + icon = Icon::merge(icon, Icon::ERROR); + return icon; + } } return QVariant(); |
