qTox
Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
src
chatlog
customtextdocument.cpp
Go to the documentation of this file.
1
/*
2
Copyright © 2014-2019 by The qTox Project Contributors
3
4
This file is part of qTox, a Qt-based graphical interface for Tox.
5
6
qTox is libre software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
qTox is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with qTox. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include "
customtextdocument.h
"
21
#include "
src/persistence/settings.h
"
22
#include "
src/persistence/smileypack.h
"
23
#include "
src/widget/style.h
"
24
25
#include <QDebug>
26
#include <QIcon>
27
#include <QUrl>
28
29
CustomTextDocument::CustomTextDocument
(QObject* parent)
30
: QTextDocument(parent)
31
{
32
setUndoRedoEnabled(
false
);
33
setUseDesignMetrics(
false
);
34
}
35
36
QVariant
CustomTextDocument::loadResource
(
int
type,
const
QUrl& name)
37
{
38
if
(type == QTextDocument::ImageResource && name.scheme() ==
"key"
) {
39
QSize size = QSize(
Settings::getInstance
().getEmojiFontPointSize(),
40
Settings::getInstance
().getEmojiFontPointSize());
41
QString fileName = QUrl::fromPercentEncoding(name.toEncoded()).mid(4).toHtmlEscaped();
42
43
std::shared_ptr<QIcon> icon =
SmileyPack::getInstance
().
getAsIcon
(fileName);
44
emoticonIcons
.append(icon);
45
return
icon->pixmap(size);
46
}
47
48
return
QTextDocument::loadResource(type, name);
49
}
SmileyPack::getAsIcon
std::shared_ptr< QIcon > getAsIcon(const QString &key) const
Gets icon accoring to passed emoticon.
Definition:
smileypack.cpp:336
style.h
settings.h
customtextdocument.h
CustomTextDocument::loadResource
virtual QVariant loadResource(int type, const QUrl &name)
Definition:
customtextdocument.cpp:36
smileypack.h
SmileyPack::getInstance
static SmileyPack & getInstance()
Returns the singleton instance.
Definition:
smileypack.cpp:147
CustomTextDocument::emoticonIcons
QList< std::shared_ptr< QIcon > > emoticonIcons
Definition:
customtextdocument.h:39
Settings::getInstance
static Settings & getInstance()
Returns the singleton instance.
Definition:
settings.cpp:88
CustomTextDocument::CustomTextDocument
CustomTextDocument(QObject *parent=nullptr)
Definition:
customtextdocument.cpp:29
Generated by
1.8.17