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
actionshandler.cpp
emojimodel.cpp
emojitones.cpp
customemojimodel.cpp
clipboard.cpp
matriximageprovider.cpp

View File

@@ -4,6 +4,7 @@
#include <QVariant>
#include "emojimodel.h"
#include "emojitones.h"
#include <QDebug>
#include <algorithm>
@@ -60,10 +61,6 @@ QHash<int, QByteArray> EmojiModel::roleNames() const
return {{ShortNameRole, "shortName"}, {UnicodeRole, "unicode"}};
}
QMultiHash<QString, QVariant> EmojiModel::_tones = {
#include "emojitones.h"
};
QVariantList EmojiModel::history() const
{
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
{
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;

View File

@@ -8,16 +8,16 @@
#include <QSettings>
struct Emoji {
Emoji(QString u, QString s, bool isCustom = false)
: unicode(std::move(std::move(u)))
, shortName(std::move(std::move(s)))
Emoji(QString unicode, QString shortname, bool isCustom = false)
: unicode(std::move(unicode))
, shortName(std::move(shortname))
, isCustom(isCustom)
{
}
Emoji(QString u, QString s, QString d)
: unicode(std::move(std::move(u)))
, shortName(std::move(std::move(s)))
, description(std::move(std::move(d)))
Emoji(QString unicode, QString shortname, QString description)
: unicode(std::move(unicode))
, shortName(std::move(shortname))
, description(std::move(description))
{
}
Emoji() = default;
@@ -118,7 +118,6 @@ public Q_SLOTS:
private:
static QHash<Category, QVariantList> _emojis;
static QMultiHash<QString, QVariant> _tones;
// TODO: Port away from QSettings
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("// clang-format off\n")
tones_file = open("../src/emojitones.h", "w")
tones_file = open("../src/emojitones_data.h", "w")
# REUSE-IgnoreStart
tones_file.write("// SPDX-FileCopyrightText: None\n")
tones_file.write("// SPDX-License-Identifier: LGPL-2.0-or-later\n")