replaced qt font scaling
remove the qt font scaling and added code that uses the actual scale/dpi value
This commit is contained in:
@@ -45,8 +45,8 @@ void EmotePopup::loadChannel(std::shared_ptr<Channel> _channel)
|
||||
// TITLE
|
||||
messages::MessageBuilder builder1;
|
||||
|
||||
builder1.appendWord(
|
||||
Word(title, Word::Type::Text, MessageColor(MessageColor::Text), QString(), QString()));
|
||||
builder1.appendWord(Word(title, Word::Flags::Text, MessageColor(MessageColor::Text),
|
||||
FontManager::Medium, QString(), QString()));
|
||||
|
||||
builder1.getMessage()->centered = true;
|
||||
emoteChannel->addMessage(builder1.getMessage());
|
||||
@@ -56,7 +56,7 @@ void EmotePopup::loadChannel(std::shared_ptr<Channel> _channel)
|
||||
builder2.getMessage()->centered = true;
|
||||
|
||||
map.each([&](const QString &key, const EmoteData &value) {
|
||||
builder2.appendWord(Word(value.image, Word::Type::AlwaysShow, key, emoteDesc,
|
||||
builder2.appendWord(Word(value.image, Word::Flags::AlwaysShow, key, emoteDesc,
|
||||
Link(Link::Type::InsertText, key)));
|
||||
});
|
||||
|
||||
@@ -85,8 +85,8 @@ void EmotePopup::loadEmojis()
|
||||
// title
|
||||
messages::MessageBuilder builder1;
|
||||
|
||||
builder1.appendWord(
|
||||
Word("emojis", Word::Type::Text, MessageColor(MessageColor::Text), QString(), QString()));
|
||||
builder1.appendWord(Word("emojis", Word::Flags::Text, MessageColor(MessageColor::Text),
|
||||
FontManager::Medium, QString(), QString()));
|
||||
|
||||
builder1.getMessage()->centered = true;
|
||||
emojiChannel->addMessage(builder1.getMessage());
|
||||
@@ -95,7 +95,7 @@ void EmotePopup::loadEmojis()
|
||||
messages::MessageBuilder builder;
|
||||
builder.getMessage()->centered = true;
|
||||
emojis.each([this, &builder](const QString &key, const EmoteData &value) {
|
||||
builder.appendWord(Word(value.image, Word::Type::AlwaysShow, key, "emoji",
|
||||
builder.appendWord(Word(value.image, Word::Flags::AlwaysShow, key, "emoji",
|
||||
Link(Link::Type::InsertText, key)));
|
||||
});
|
||||
emojiChannel->addMessage(builder.getMessage());
|
||||
|
||||
@@ -554,12 +554,14 @@ void ChannelView::updateMessageBuffer(messages::MessageRef *messageRef, QPixmap
|
||||
}
|
||||
// text
|
||||
else {
|
||||
QColor color = wordPart.getWord().getColor().getColor(this->colorScheme);
|
||||
QColor color = wordPart.getWord().getTextColor().getColor(this->colorScheme);
|
||||
|
||||
this->colorScheme.normalizeColor(color);
|
||||
|
||||
painter.setPen(color);
|
||||
painter.setFont(wordPart.getWord().getFont());
|
||||
painter.setFont(wordPart.getWord().getFont(this->getDpiMultiplier()));
|
||||
|
||||
qDebug() << wordPart.getWord().getFont(this->getDpiMultiplier()).pointSize();
|
||||
|
||||
painter.drawText(QRectF(wordPart.getX(), wordPart.getY(), 10000, 10000),
|
||||
wordPart.getText(), QTextOption(Qt::AlignLeft | Qt::AlignTop));
|
||||
@@ -626,7 +628,7 @@ void ChannelView::drawMessageSelection(QPainter &painter, messages::MessageRef *
|
||||
int offset = this->selection.min.charIndex - charIndex;
|
||||
|
||||
for (int j = 0; j < offset; j++) {
|
||||
rect.setLeft(rect.left() + part.getCharWidth(j));
|
||||
rect.setLeft(rect.left() + part.getCharWidth(j, this->getDpiMultiplier()));
|
||||
}
|
||||
|
||||
if (isSingleWord) {
|
||||
@@ -635,7 +637,7 @@ void ChannelView::drawMessageSelection(QPainter &painter, messages::MessageRef *
|
||||
rect.setRight(part.getX());
|
||||
|
||||
for (int j = 0; j < offset + length; j++) {
|
||||
rect.setRight(rect.right() + part.getCharWidth(j));
|
||||
rect.setRight(rect.right() + part.getCharWidth(j, this->getDpiMultiplier()));
|
||||
}
|
||||
|
||||
painter.fillRect(rect, selectionColor);
|
||||
@@ -692,7 +694,7 @@ void ChannelView::drawMessageSelection(QPainter &painter, messages::MessageRef *
|
||||
rect.setRight(part.getX());
|
||||
|
||||
for (int j = 0; j < offset + length; j++) {
|
||||
rect.setRight(rect.right() + part.getCharWidth(j));
|
||||
rect.setRight(rect.right() + part.getCharWidth(j, this->getDpiMultiplier()));
|
||||
}
|
||||
} else {
|
||||
if (this->selection.max.charIndex == charIndex) {
|
||||
|
||||
@@ -29,9 +29,11 @@ SplitInput::SplitInput(Split *_chatWidget)
|
||||
|
||||
auto &fontManager = FontManager::getInstance();
|
||||
|
||||
this->textInput.setFont(fontManager.getFont(FontManager::Type::Medium));
|
||||
this->textInput.setFont(
|
||||
fontManager.getFont(FontManager::Type::Medium, this->getDpiMultiplier()));
|
||||
this->managedConnections.emplace_back(fontManager.fontChanged.connect([this, &fontManager]() {
|
||||
this->textInput.setFont(fontManager.getFont(FontManager::Type::Medium));
|
||||
this->textInput.setFont(
|
||||
fontManager.getFont(FontManager::Type::Medium, this->getDpiMultiplier()));
|
||||
}));
|
||||
|
||||
this->editContainer.addWidget(&this->textInput);
|
||||
|
||||
@@ -180,7 +180,7 @@ QVBoxLayout *SettingsDialog::createAppearanceTab()
|
||||
|
||||
fontButton->connect(fontButton, &QPushButton::clicked, []() {
|
||||
auto &fontManager = FontManager::getInstance();
|
||||
QFontDialog dialog(fontManager.getFont(FontManager::Medium));
|
||||
QFontDialog dialog(fontManager.getFont(FontManager::Medium, 1.));
|
||||
|
||||
dialog.connect(&dialog, &QFontDialog::fontSelected, [](const QFont &font) {
|
||||
auto &fontManager = FontManager::getInstance();
|
||||
|
||||
Reference in New Issue
Block a user