Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/qt/askpassphrasedialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ AskPassphraseDialog::AskPassphraseDialog(Mode _mode, QWidget *parent, SecureStri
{
ui->setupUi(this);

GUIUtil::setFont({ui->capsLabel}, {GUIUtil::g_font_registry.GetWeightBold()});
GUIUtil::setFont({ui->capsLabel}, {GUIUtil::FontWeight::Bold});

GUIUtil::updateFonts();

Expand Down
4 changes: 2 additions & 2 deletions src/qt/bitcoingui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,7 @@ void BitcoinGUI::createToolBars()
connect(tabGroup, qOverload<QAbstractButton *, bool>(&QButtonGroup::buttonToggled), this, &BitcoinGUI::highlightTabButton);

for (auto button : tabGroup->buttons()) {
GUIUtil::setFont({button}, {GUIUtil::g_font_registry.GetWeightNormal(), 16});
GUIUtil::setFont({button}, {GUIUtil::FontWeight::Normal, 16});
button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
button->setToolTip(button->statusTip());
button->setCheckable(true);
Expand Down Expand Up @@ -1242,7 +1242,7 @@ void BitcoinGUI::openClicked()

void BitcoinGUI::highlightTabButton(QAbstractButton *button, bool checked)
{
GUIUtil::setFont({button}, {checked ? GUIUtil::g_font_registry.GetWeightBold() : GUIUtil::g_font_registry.GetWeightNormal(), 16});
GUIUtil::setFont({button}, {checked ? GUIUtil::FontWeight::Bold : GUIUtil::FontWeight::Normal, 16});
GUIUtil::updateFonts();
}

Expand Down
2 changes: 1 addition & 1 deletion src/qt/coincontroldialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ CoinControlDialog::CoinControlDialog(CCoinControl& coin_control, WalletModel* _m
ui->labelCoinControlFeeText,
ui->labelCoinControlAfterFeeText,
ui->labelCoinControlChangeText
}, {GUIUtil::g_font_registry.GetWeightBold()});
}, {GUIUtil::FontWeight::Bold});

GUIUtil::updateFonts();

Expand Down
4 changes: 2 additions & 2 deletions src/qt/governancelist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -313,8 +313,8 @@ GovernanceList::GovernanceList(QWidget* parent) :
ui->setupUi(this);

GUIUtil::setFont({ui->label_count_2, ui->countLabel, ui->label_mn_count, ui->mnCountLabel},
{GUIUtil::g_font_registry.GetWeightBold(), 14});
GUIUtil::setFont({ui->label_filter_2}, {GUIUtil::g_font_registry.GetWeightNormal(), 15});
{GUIUtil::FontWeight::Bold, 14});
GUIUtil::setFont({ui->label_filter_2}, {GUIUtil::FontWeight::Normal, 15});

proposalModelProxy->setSourceModel(proposalModel);
ui->govTableView->setModel(proposalModelProxy);
Expand Down
4 changes: 2 additions & 2 deletions src/qt/guiutil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,8 @@ void setupAppearance(QWidget* parent, OptionsModel* model)
layout.addWidget(&buttonBox);
dlg.setLayout(&layout);
// Adjust the headings
setFont({&lblHeading}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
setFont({&lblSubHeading}, {GUIUtil::g_font_registry.GetWeightNormal(), 14, true});
setFont({&lblHeading}, {GUIUtil::FontWeight::Bold, 16});
setFont({&lblSubHeading}, {GUIUtil::FontWeight::Normal, 14, true});
// Make sure the dialog closes and accepts the settings if save has been pressed
QObject::connect(&buttonBox, &QDialogButtonBox::accepted, [&]() {
QSettings().setValue("fAppearanceSetupDone", true);
Expand Down
64 changes: 50 additions & 14 deletions src/qt/guiutil_font.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,10 +186,42 @@ int weightToArg(const QFont::Weight weight)
return mapWeightArgs.second.find(weight)->second;
}

//! Internal helper to create a font with explicit weight (used for font detection)
static QFont getFontWithWeight(const QString& font_name, QFont::Weight weight, double point_size)
{
QFont font;
if (font_name == MONTSERRAT_FONT_STR) {
if (mapMontserrat.count(weight)) {
#ifdef Q_OS_MACOS
font.setFamily(font_name);
font.setStyleName(QString::fromStdString(mapMontserrat.at(weight).first));
#else
if (weight == QFont::Normal || weight == QFont::Bold) {
font.setFamily(font_name);
} else {
font.setFamily(qstrprintf("%s %s", font_name.toStdString(), mapMontserrat.at(weight).first));
}
#endif
}
} else if (font_name == OS_FONT_STR && g_default_font) {
font.setFamily(g_default_font->family());
} else {
font.setFamily(font_name);
}
#ifdef Q_OS_MACOS
if (font_name != MONTSERRAT_FONT_STR)
#endif
{
font.setWeight(weight);
}
font.setPointSizeF(point_size);
return font;
}

void FontInfo::CalcSupportedWeights(const QString& font_name)
{
auto getTestWidth = [](const QString& font_name, QFont::Weight weight) -> int {
QFont font = getFont({font_name, weight, FontRegistry::DEFAULT_FONT_SIZE, false});
QFont font = getFontWithWeight(font_name, weight, FontRegistry::DEFAULT_FONT_SIZE);
return TextWidth(QFontMetrics(font), ("Check the width of this text to see if the weight change has an impact!"));
};
QFont::Weight prevWeight = vecWeightConsider.front();
Expand Down Expand Up @@ -243,17 +275,17 @@ void FontInfo::CalcDefaultWeights(const QString& font_name)
}
}

FontAttrib::FontAttrib(QString font, QFont::Weight weight, double point_size, bool is_italic) :
FontAttrib::FontAttrib(QString font, FontWeight weight_type, double point_size, bool is_italic) :
m_font{font},
m_weight{weight},
m_weight_type{weight_type},
m_point_size{point_size},
m_is_italic{is_italic}
{
}

FontAttrib::FontAttrib(QFont::Weight weight, double point_size, bool is_italic) :
FontAttrib::FontAttrib(FontWeight weight_type, double point_size, bool is_italic) :
m_font{g_font_registry.GetFont()},
m_weight{weight},
m_weight_type{weight_type},
m_point_size{point_size},
m_is_italic{is_italic}
{
Expand Down Expand Up @@ -425,7 +457,7 @@ void updateFonts()
if (nSize == -1) {
nSize = itDefault.first->second;
}
font = getFont({it->second.m_font, it->second.m_weight, nSize, it->second.m_is_italic});
font = getFont({it->second.m_font, it->second.m_weight_type, nSize, it->second.m_is_italic});
} else {
font.setPointSizeF(g_font_registry.GetScaledFontSize(itDefault.first->second));
}
Expand Down Expand Up @@ -469,12 +501,16 @@ QFont getFont(const FontAttrib& font_attrib)
return font;
}

// Resolve weight from FontWeight type
const QFont::Weight weight = (font_attrib.m_weight_type == FontWeight::Bold) ? g_font_registry.GetWeightBold()
: g_font_registry.GetWeightNormal();

if (font_attrib.m_font == MONTSERRAT_FONT_STR) {
assert(mapMontserrat.count(font_attrib.m_weight));
assert(mapMontserrat.count(weight));
#ifdef Q_OS_MACOS
font.setFamily(font_attrib.m_font);
font.setStyleName([&]() {
std::string ret{mapMontserrat.at(font_attrib.m_weight).first};
std::string ret{mapMontserrat.at(weight).first};
if (font_attrib.m_is_italic) {
if (ret == "Regular") {
ret = "Italic";
Expand All @@ -485,10 +521,10 @@ QFont getFont(const FontAttrib& font_attrib)
return QString::fromStdString(ret);
}());
#else
if (font_attrib.m_weight == QFont::Normal || font_attrib.m_weight == QFont::Bold) {
if (weight == QFont::Normal || weight == QFont::Bold) {
font.setFamily(font_attrib.m_font);
} else {
font.setFamily(qstrprintf("%s %s", font_attrib.m_font.toStdString(), mapMontserrat.at(font_attrib.m_weight).first));
font.setFamily(qstrprintf("%s %s", font_attrib.m_font.toStdString(), mapMontserrat.at(weight).first));
}
#endif // Q_OS_MACOS
} else if (font_attrib.m_font == OS_FONT_STR) {
Expand All @@ -507,7 +543,7 @@ QFont getFont(const FontAttrib& font_attrib)
if (font_attrib.m_font != MONTSERRAT_FONT_STR)
#endif // Q_OS_MACOS
{
font.setWeight(font_attrib.m_weight);
font.setWeight(weight);
font.setStyle(font_attrib.m_is_italic ? QFont::StyleItalic : QFont::StyleNormal);
}

Expand Down Expand Up @@ -535,12 +571,12 @@ std::vector<QString> getFonts(bool selectable_only)

QFont getFontNormal()
{
return getFont({g_font_registry.GetWeightNormal()});
return getFont({FontWeight::Normal});
}

QFont getFontBold()
{
return getFont({g_font_registry.GetWeightBold()});
return getFont({FontWeight::Bold});
}

QFont::Weight FontRegistry::IdxToWeight(int index) const
Expand All @@ -565,7 +601,7 @@ QFont fixedPitchFont(bool use_embedded_font)
{
return getFont({
use_embedded_font ? ROBOTO_MONO_FONT_STR.toUtf8() : OS_MONO_FONT_STR.toUtf8(),
g_font_registry.GetWeightNormal()
FontWeight::Normal
});
}
} // namespace GUIUtil
6 changes: 3 additions & 3 deletions src/qt/guiutil_font.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,13 @@ extern FontRegistry g_font_registry;

struct FontAttrib {
QString m_font;
QFont::Weight m_weight;
FontWeight m_weight_type;
double m_point_size{-1};
bool m_is_italic{false};

FontAttrib(QString font, QFont::Weight weight, double point_size = -1, bool is_italic = false);
FontAttrib(QString font, FontWeight weight_type, double point_size = -1, bool is_italic = false);
// cppcheck-suppress noExplicitConstructor
FontAttrib(QFont::Weight weight, double point_size = -1, bool is_italic = false);
FontAttrib(FontWeight weight_type, double point_size = -1, bool is_italic = false);
~FontAttrib();
};

Expand Down
6 changes: 2 additions & 4 deletions src/qt/masternodelist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,8 @@ MasternodeList::MasternodeList(QWidget* parent) :
{
ui->setupUi(this);

GUIUtil::setFont({ui->label_count_2,
ui->countLabelDIP3
}, {GUIUtil::g_font_registry.GetWeightBold(), 14});
GUIUtil::setFont({ui->label_filter_2}, {GUIUtil::g_font_registry.GetWeightNormal(), 15});
GUIUtil::setFont({ui->label_count_2, ui->countLabelDIP3}, {GUIUtil::FontWeight::Bold, 14});
GUIUtil::setFont({ui->label_filter_2}, {GUIUtil::FontWeight::Normal, 15});

int columnAddressWidth = 200;
int columnTypeWidth = 160;
Expand Down
2 changes: 1 addition & 1 deletion src/qt/modaloverlay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ ModalOverlay::ModalOverlay(bool enable_wallet, QWidget* parent)
ui->labelSyncDone,
ui->labelProgressIncrease,
ui->labelEstimatedTimeLeft,
}, {GUIUtil::g_font_registry.GetWeightBold()});
}, {GUIUtil::FontWeight::Bold});

ui->warningIcon->setPixmap(GUIUtil::getIcon("warning", GUIUtil::ThemedColor::ORANGE).pixmap(48, 48));

Expand Down
6 changes: 3 additions & 3 deletions src/qt/optionsdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
{
ui->setupUi(this);

GUIUtil::setFont({ui->statusLabel}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
GUIUtil::setFont({ui->statusLabel}, {GUIUtil::FontWeight::Bold, 16});

GUIUtil::updateFonts();

Expand Down Expand Up @@ -389,8 +389,8 @@ void OptionsDialog::showPage(int index)
}
}

GUIUtil::setFont({btnActive}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
GUIUtil::setFont(vecNormal, {GUIUtil::g_font_registry.GetWeightNormal(), 16});
GUIUtil::setFont({btnActive}, {GUIUtil::FontWeight::Bold, 16});
GUIUtil::setFont(vecNormal, {GUIUtil::FontWeight::Normal, 16});
GUIUtil::updateFonts();

ui->stackedWidgetOptions->setCurrentIndex(index);
Expand Down
14 changes: 7 additions & 7 deletions src/qt/overviewpage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class TxViewDelegate : public QAbstractItemDelegate

// Draw first line (with slightly bigger font than the second line will get)
// Content: Date/Time, Optional IS indicator, Amount
painter->setFont(GUIUtil::getFont({GUIUtil::g_font_registry.GetWeightNormal(), GUIUtil::g_font_registry.GetScaledFontSize(initialFontSize * 1.17), false}));
painter->setFont(GUIUtil::getFont({GUIUtil::FontWeight::Normal, GUIUtil::g_font_registry.GetScaledFontSize(initialFontSize * 1.17), false}));
// Date/Time
colorForeground = qvariant_cast<QColor>(indexDate.data(Qt::ForegroundRole));
QString strDate = indexDate.data(Qt::DisplayRole).toString();
Expand All @@ -92,7 +92,7 @@ class TxViewDelegate : public QAbstractItemDelegate

// Draw second line (with the initial font)
// Content: Address/label, Optional Watchonly indicator
painter->setFont(GUIUtil::getFont({GUIUtil::g_font_registry.GetWeightNormal(), GUIUtil::g_font_registry.GetScaledFontSize(initialFontSize), false}));
painter->setFont(GUIUtil::getFont({GUIUtil::FontWeight::Normal, GUIUtil::g_font_registry.GetScaledFontSize(initialFontSize), false}));
// Address/Label
colorForeground = qvariant_cast<QColor>(indexAddress.data(Qt::ForegroundRole));
QString address = indexAddress.data(Qt::DisplayRole).toString();
Expand Down Expand Up @@ -149,16 +149,16 @@ OverviewPage::OverviewPage(QWidget* parent) :
GUIUtil::setFont({ui->label_4,
ui->label_5,
ui->labelCoinJoinHeader
}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
}, {GUIUtil::FontWeight::Bold, 16});

GUIUtil::setFont({ui->labelTotalText}, {GUIUtil::g_font_registry.GetWeightBold(), 14});
GUIUtil::setFont({ui->labelTotalText}, {GUIUtil::FontWeight::Bold, 14});

GUIUtil::setFont({ui->labelBalanceText,
ui->labelPendingText,
ui->labelImmatureText,
ui->labelWatchonly,
ui->labelSpendable
}, {GUIUtil::g_font_registry.GetWeightBold()});
}, {GUIUtil::FontWeight::Bold});

GUIUtil::updateFonts();

Expand Down Expand Up @@ -379,7 +379,7 @@ void OverviewPage::setMonospacedFont(const QFont& f)
GUIUtil::setFont({
ui->labelTotal,
ui->labelWatchTotal,
}, {f.family(), GUIUtil::g_font_registry.GetWeightBold(), 14});
}, {f.family(), GUIUtil::FontWeight::Bold, 14});

GUIUtil::setFont({
ui->labelAmountRounds,
Expand All @@ -391,7 +391,7 @@ void OverviewPage::setMonospacedFont(const QFont& f)
ui->labelWatchAvailable,
ui->labelWatchPending,
ui->labelWatchImmature,
}, {f.family(), GUIUtil::g_font_registry.GetWeightBold()});
}, {f.family(), GUIUtil::FontWeight::Bold});

GUIUtil::updateFonts();
}
Expand Down
2 changes: 1 addition & 1 deletion src/qt/proposalwizard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ ProposalWizard::ProposalWizard(interfaces::Node& node, WalletModel* walletModel,
{
m_ui->setupUi(this);

GUIUtil::setFont({m_ui->labelHeader}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
GUIUtil::setFont({m_ui->labelHeader}, {GUIUtil::FontWeight::Bold, 16});
GUIUtil::disableMacFocusRect(this);
GUIUtil::updateFonts();

Expand Down
2 changes: 1 addition & 1 deletion src/qt/qrdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ QRDialog::QRDialog(QWidget *parent) :
{
ui->setupUi(this);

GUIUtil::setFont({ui->labelQRCodeTitle}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
GUIUtil::setFont({ui->labelQRCodeTitle}, {GUIUtil::FontWeight::Bold, 16});

GUIUtil::updateFonts();

Expand Down
4 changes: 2 additions & 2 deletions src/qt/receivecoinsdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ ReceiveCoinsDialog::ReceiveCoinsDialog(QWidget* parent) :
{
ui->setupUi(this);

GUIUtil::setFont({ui->label_6}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
GUIUtil::setFont({ui->label_6}, {GUIUtil::FontWeight::Bold, 16});
GUIUtil::setFont({ui->label,
ui->label_2,
ui->label_3}, {GUIUtil::g_font_registry.GetWeightNormal(), 15});
ui->label_3}, {GUIUtil::FontWeight::Normal, 15});
GUIUtil::updateFonts();

// context menu
Expand Down
6 changes: 3 additions & 3 deletions src/qt/rpcconsole.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ RPCConsole::RPCConsole(interfaces::Node& node, QWidget* parent, Qt::WindowFlags
ui->peerHeading,
ui->label_repair_header,
ui->banHeading
}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
}, {GUIUtil::FontWeight::Bold, 16});

GUIUtil::updateFonts();

Expand Down Expand Up @@ -1165,8 +1165,8 @@ void RPCConsole::showPage(int index)
}
}

GUIUtil::setFont({btnActive}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
GUIUtil::setFont(vecNormal, {GUIUtil::g_font_registry.GetWeightNormal(), 16});
GUIUtil::setFont({btnActive}, {GUIUtil::FontWeight::Bold, 16});
GUIUtil::setFont(vecNormal, {GUIUtil::FontWeight::Normal, 16});
GUIUtil::updateFonts();

ui->stackedWidgetRPC->setCurrentIndex(index);
Expand Down
6 changes: 3 additions & 3 deletions src/qt/sendcoinsdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,14 +77,14 @@ SendCoinsDialog::SendCoinsDialog(bool _fCoinJoin, QWidget* parent) :
ui->labelCoinControlChangeText,
ui->labelFeeHeadline,
ui->fallbackFeeWarningLabel
}, {GUIUtil::g_font_registry.GetWeightBold()});
}, {GUIUtil::FontWeight::Bold});

GUIUtil::setFont({ui->labelBalance,
ui->labelBalanceName,
}, {GUIUtil::g_font_registry.GetWeightBold(), 14});
}, {GUIUtil::FontWeight::Bold, 14});

GUIUtil::setFont({ui->labelCoinControlFeatures
}, {GUIUtil::g_font_registry.GetWeightBold(), 16});
}, {GUIUtil::FontWeight::Bold, 16});

ui->checkBoxCoinControlChange->setEnabled(!_fCoinJoin);
GUIUtil::setupAddressWidget(ui->lineEditCoinControlChange, this);
Expand Down
2 changes: 1 addition & 1 deletion src/qt/sendcoinsentry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ SendCoinsEntry::SendCoinsEntry(QWidget* parent) :
GUIUtil::setFont({ui->payToLabel,
ui->labellLabel,
ui->amountLabel,
ui->messageLabel}, {GUIUtil::g_font_registry.GetWeightNormal(), 15});
ui->messageLabel}, {GUIUtil::FontWeight::Normal, 15});

GUIUtil::updateFonts();

Expand Down
Loading
Loading