File indexing completed on 2025-03-09 04:54:45

0001 /*
0002   SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
0003 
0004   SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "printingsettings.h"
0008 #include "settings/messageviewersettings.h"
0009 #include "ui_printingsettings.h"
0010 #include <PimCommon/ConfigureImmutableWidgetUtils>
0011 using namespace PimCommon::ConfigureImmutableWidgetUtils;
0012 
0013 using namespace MessageViewer;
0014 
0015 class MessageViewer::PrintingSettingsPrivate
0016 {
0017 public:
0018     PrintingSettingsPrivate()
0019         : mPrintingUi(new Ui_PrintingSettings)
0020     {
0021     }
0022 
0023     ~PrintingSettingsPrivate()
0024     {
0025         delete mPrintingUi;
0026     }
0027 
0028     Ui_PrintingSettings *const mPrintingUi;
0029 };
0030 
0031 PrintingSettings::PrintingSettings(QWidget *parent)
0032     : QWidget(parent)
0033     , d(new MessageViewer::PrintingSettingsPrivate)
0034 {
0035     d->mPrintingUi->setupUi(this);
0036     connect(d->mPrintingUi->mPrintEmptySelectedText, &QCheckBox::toggled, this, &PrintingSettings::changed);
0037     connect(d->mPrintingUi->respectExpandCollapseSettings, &QCheckBox::toggled, this, &PrintingSettings::changed);
0038     connect(d->mPrintingUi->printBackgroundColorAndImages, &QCheckBox::toggled, this, &PrintingSettings::changed);
0039     connect(d->mPrintingUi->alwaysShowEncryptionSignatureDetail, &QCheckBox::toggled, this, &PrintingSettings::changed);
0040 }
0041 
0042 PrintingSettings::~PrintingSettings() = default;
0043 
0044 void PrintingSettings::save()
0045 {
0046     saveCheckBox(d->mPrintingUi->mPrintEmptySelectedText, MessageViewer::MessageViewerSettings::self()->printSelectedTextItem());
0047     saveCheckBox(d->mPrintingUi->respectExpandCollapseSettings, MessageViewer::MessageViewerSettings::self()->respectExpandCollapseSettingsItem());
0048     saveCheckBox(d->mPrintingUi->printBackgroundColorAndImages, MessageViewer::MessageViewerSettings::self()->printBackgroundColorImagesItem());
0049     saveCheckBox(d->mPrintingUi->alwaysShowEncryptionSignatureDetail, MessageViewer::MessageViewerSettings::self()->alwaysShowEncryptionSignatureDetailsItem());
0050 }
0051 
0052 void PrintingSettings::doLoadFromGlobalSettings()
0053 {
0054     loadWidget(d->mPrintingUi->mPrintEmptySelectedText, MessageViewer::MessageViewerSettings::self()->printSelectedTextItem());
0055     loadWidget(d->mPrintingUi->respectExpandCollapseSettings, MessageViewer::MessageViewerSettings::self()->respectExpandCollapseSettingsItem());
0056     loadWidget(d->mPrintingUi->printBackgroundColorAndImages, MessageViewer::MessageViewerSettings::self()->printBackgroundColorImagesItem());
0057     loadWidget(d->mPrintingUi->alwaysShowEncryptionSignatureDetail, MessageViewer::MessageViewerSettings::self()->alwaysShowEncryptionSignatureDetailsItem());
0058 }
0059 
0060 void PrintingSettings::doResetToDefaultsOther()
0061 {
0062     const bool bUseDefaults = MessageViewer::MessageViewerSettings::self()->useDefaults(true);
0063     doLoadFromGlobalSettings();
0064     MessageViewer::MessageViewerSettings::self()->useDefaults(bUseDefaults);
0065 }
0066 
0067 #include "moc_printingsettings.cpp"