Move tones data to another file to workaround msvc bigobj issue

This commit is contained in:
Gary Wang
2022-12-06 23:18:48 +08:00
committed by Tobias Fella
parent e8824edfd4
commit 5cdfa086b2
7 changed files with 1817 additions and 1797 deletions

View File

@@ -7,6 +7,7 @@ add_library(neochat STATIC
controller.cpp controller.cpp
actionshandler.cpp actionshandler.cpp
emojimodel.cpp emojimodel.cpp
emojitones.cpp
customemojimodel.cpp customemojimodel.cpp
clipboard.cpp clipboard.cpp
matriximageprovider.cpp matriximageprovider.cpp

View File

@@ -4,6 +4,7 @@
#include <QVariant> #include <QVariant>
#include "emojimodel.h" #include "emojimodel.h"
#include "emojitones.h"
#include <QDebug> #include <QDebug>
#include <algorithm> #include <algorithm>
@@ -60,10 +61,6 @@ QHash<int, QByteArray> EmojiModel::roleNames() const
return {{ShortNameRole, "shortName"}, {UnicodeRole, "unicode"}}; return {{ShortNameRole, "shortName"}, {UnicodeRole, "unicode"}};
} }
QMultiHash<QString, QVariant> EmojiModel::_tones = {
#include "emojitones.h"
};
QVariantList EmojiModel::history() const QVariantList EmojiModel::history() const
{ {
return m_settings.value("Editor/emojis", QVariantList()).toList(); return m_settings.value("Editor/emojis", QVariantList()).toList();
@@ -137,9 +134,9 @@ QVariantList EmojiModel::emojis(Category category) const
QVariantList EmojiModel::tones(const QString &baseEmoji) const QVariantList EmojiModel::tones(const QString &baseEmoji) const
{ {
if (baseEmoji.endsWith("tone")) { if (baseEmoji.endsWith("tone")) {
return _tones.values(baseEmoji.split(":")[0]); return EmojiTones::_tones.values(baseEmoji.split(":")[0]);
} }
return _tones.values(baseEmoji); return EmojiTones::_tones.values(baseEmoji);
} }
QHash<EmojiModel::Category, QVariantList> EmojiModel::_emojis; QHash<EmojiModel::Category, QVariantList> EmojiModel::_emojis;

View File

@@ -8,16 +8,16 @@
#include <QSettings> #include <QSettings>
struct Emoji { struct Emoji {
Emoji(QString u, QString s, bool isCustom = false) Emoji(QString unicode, QString shortname, bool isCustom = false)
: unicode(std::move(std::move(u))) : unicode(std::move(unicode))
, shortName(std::move(std::move(s))) , shortName(std::move(shortname))
, isCustom(isCustom) , isCustom(isCustom)
{ {
} }
Emoji(QString u, QString s, QString d) Emoji(QString unicode, QString shortname, QString description)
: unicode(std::move(std::move(u))) : unicode(std::move(unicode))
, shortName(std::move(std::move(s))) , shortName(std::move(shortname))
, description(std::move(std::move(d))) , description(std::move(description))
{ {
} }
Emoji() = default; Emoji() = default;
@@ -118,7 +118,6 @@ public Q_SLOTS:
private: private:
static QHash<Category, QVariantList> _emojis; static QHash<Category, QVariantList> _emojis;
static QMultiHash<QString, QVariant> _tones;
// TODO: Port away from QSettings // TODO: Port away from QSettings
QSettings m_settings; QSettings m_settings;

9
src/emojitones.cpp Normal file
View File

@@ -0,0 +1,9 @@
// SPDX-FileCopyrightText: None
// SPDX-License-Identifier: LGPL-2.0-or-later
#include "emojitones.h"
#include "emojimodel.h"
QMultiHash<QString, QVariant> EmojiTones::_tones = {
#include "emojitones_data.h"
};

File diff suppressed because it is too large Load Diff

1784
src/emojitones_data.h Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -36,7 +36,7 @@ file.write("// SPDX-License-Identifier: LGPL-2.0-or-later\n")
file.write("// This file is auto-generated. All changes will be lost. See tools/update-emojis.py\n") file.write("// This file is auto-generated. All changes will be lost. See tools/update-emojis.py\n")
file.write("// clang-format off\n") file.write("// clang-format off\n")
tones_file = open("../src/emojitones.h", "w") tones_file = open("../src/emojitones_data.h", "w")
# REUSE-IgnoreStart # REUSE-IgnoreStart
tones_file.write("// SPDX-FileCopyrightText: None\n") tones_file.write("// SPDX-FileCopyrightText: None\n")
tones_file.write("// SPDX-License-Identifier: LGPL-2.0-or-later\n") tones_file.write("// SPDX-License-Identifier: LGPL-2.0-or-later\n")