File indexing completed on 2024-04-28 04:32:46

0001 /*
0002     SPDX-FileCopyrightText: 2013 Azat Khuzhin <a3at.mail@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "textdocumentsettings.h"
0008 #include "textdocumentsettings_p.h"
0009 #include "ui_textdocumentsettings.h"
0010 
0011 #include <KFontRequester>
0012 #include <KLocalizedString>
0013 
0014 using namespace Okular;
0015 
0016 /**
0017  * TextDocumentSettingsWidget
0018  */
0019 
0020 TextDocumentSettingsWidget::TextDocumentSettingsWidget(QWidget *parent)
0021     : QWidget(parent)
0022     , d_ptr(new TextDocumentSettingsWidgetPrivate(new Ui_TextDocumentSettings()))
0023 {
0024     Q_D(TextDocumentSettingsWidget);
0025 
0026     d->mUi->setupUi(this);
0027 
0028     // @notice I think this will be useful in future.
0029 #define ADD_WIDGET(property, widget, objectName, labelName)                                                                                                                                                                                    \
0030     d->property = new widget(this);                                                                                                                                                                                                            \
0031     d->property->setObjectName(QString::fromUtf8(objectName));                                                                                                                                                                                 \
0032     addRow(labelName, d->property);
0033 
0034     ADD_WIDGET(mFont, KFontRequester, "kcfg_Font", i18n("&Default Font:"));
0035 #undef ADD_WIDGET
0036 }
0037 
0038 TextDocumentSettingsWidget::~TextDocumentSettingsWidget()
0039 {
0040     Q_D(TextDocumentSettingsWidget);
0041 
0042     delete d->mUi;
0043     delete d;
0044 }
0045 
0046 void TextDocumentSettingsWidget::addRow(const QString &labelText, QWidget *widget)
0047 {
0048     Q_D(TextDocumentSettingsWidget);
0049 
0050     d->mUi->formLayout->addRow(labelText, widget);
0051 }
0052 
0053 /**
0054  * TextDocumentSettings
0055  */
0056 
0057 TextDocumentSettings::TextDocumentSettings(const QString &config, QObject *parent)
0058     : KConfigSkeleton(config, parent)
0059     , d_ptr(new TextDocumentSettingsPrivate(this))
0060 {
0061     Q_D(TextDocumentSettings);
0062 
0063     addItemFont(QStringLiteral("Font"), d->mFont);
0064 }
0065 
0066 QFont TextDocumentSettings::font() const
0067 {
0068     Q_D(const TextDocumentSettings);
0069     return d->mFont;
0070 }