]>
cloud.milkyroute.net Git - dolphin.git/blob - src/settings/viewmodes/dolphinfontrequester.cpp
cb66870afe83e722fc381bc7da51edfeabc2a2eb
2 * SPDX-FileCopyrightText: 2008 Peter Penz <peter.penz19@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #include "dolphinfontrequester.h"
9 #include <KLocalizedString>
12 #include <QFontDatabase>
13 #include <QFontDialog>
14 #include <QHBoxLayout>
15 #include <QPushButton>
17 DolphinFontRequester::DolphinFontRequester(QWidget
* parent
) :
20 m_chooseFontButton(nullptr),
24 QHBoxLayout
* topLayout
= new QHBoxLayout(this);
25 topLayout
->setContentsMargins(0, 0, 0, 0);
27 m_modeCombo
= new QComboBox(this);
28 m_modeCombo
->addItem(i18nc("@item:inlistbox Font", "System Font"));
29 m_modeCombo
->addItem(i18nc("@item:inlistbox Font", "Custom Font"));
30 connect(m_modeCombo
, QOverload
<int>::of(&QComboBox::activated
),
31 this, &DolphinFontRequester::changeMode
);
33 m_chooseFontButton
= new QPushButton(i18nc("@action:button Choose font", "Choose..."), this);
34 connect(m_chooseFontButton
, &QPushButton::clicked
,
35 this, &DolphinFontRequester::openFontDialog
);
37 changeMode(m_modeCombo
->currentIndex());
39 topLayout
->addWidget(m_modeCombo
);
40 topLayout
->addWidget(m_chooseFontButton
);
43 DolphinFontRequester::~DolphinFontRequester()
47 void DolphinFontRequester::setMode(Mode mode
)
50 m_modeCombo
->setCurrentIndex(m_mode
);
51 m_chooseFontButton
->setEnabled(m_mode
== CustomFont
);
54 DolphinFontRequester::Mode
DolphinFontRequester::mode() const
59 QFont
DolphinFontRequester::currentFont() const
61 return (m_mode
== CustomFont
) ? m_customFont
: QFontDatabase::systemFont(QFontDatabase::GeneralFont
);
64 void DolphinFontRequester::setCustomFont(const QFont
& font
)
69 QFont
DolphinFontRequester::customFont() const
74 void DolphinFontRequester::openFontDialog()
77 const QFont font
= QFontDialog::getFont(&ok
, this);
80 m_modeCombo
->setFont(m_customFont
);
85 void DolphinFontRequester::changeMode(int index
)
87 setMode((index
== CustomFont
) ? CustomFont
: SystemFont
);