File indexing completed on 2024-09-22 04:47:57

0001 /*
0002     SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
0003 
0004     Based on MailTransport code by:
0005     SPDX-FileCopyrightText: 2006-2007 Volker Krause <vkrause@kde.org>
0006     SPDX-FileCopyrightText: 2007 KovoKs <kovoks@kovoks.nl>
0007 
0008     Based on KMail code by:
0009     SPDX-FileCopyrightText: 2001-2002 Michael Haeckel <haeckel@kde.org>
0010 
0011     SPDX-License-Identifier: LGPL-2.0-or-later
0012 */
0013 
0014 #include "transportconfigwidget.h"
0015 #include "transport.h"
0016 #include "transportconfigwidget_p.h"
0017 
0018 #include "mailtransport_debug.h"
0019 #include <KConfigDialogManager>
0020 
0021 using namespace MailTransport;
0022 
0023 TransportConfigWidget::TransportConfigWidget(Transport *transport, QWidget *parent)
0024     : QWidget(parent)
0025     , d_ptr(new TransportConfigWidgetPrivate)
0026 {
0027     init(transport);
0028 }
0029 
0030 TransportConfigWidget::TransportConfigWidget(TransportConfigWidgetPrivate &dd, Transport *transport, QWidget *parent)
0031     : QWidget(parent)
0032     , d_ptr(&dd)
0033 {
0034     init(transport);
0035 }
0036 
0037 TransportConfigWidget::~TransportConfigWidget() = default;
0038 
0039 void TransportConfigWidget::init(Transport *transport)
0040 {
0041     Q_D(TransportConfigWidget);
0042     qCDebug(MAILTRANSPORT_LOG) << "this" << this << "d" << d;
0043     Q_ASSERT(transport);
0044     d->transport = transport;
0045 
0046     d->manager = new KConfigDialogManager(this, transport);
0047 }
0048 
0049 KConfigDialogManager *TransportConfigWidget::configManager() const
0050 {
0051     Q_D(const TransportConfigWidget);
0052     Q_ASSERT(d->manager);
0053     return d->manager;
0054 }
0055 
0056 void TransportConfigWidget::apply()
0057 {
0058     Q_D(TransportConfigWidget);
0059     d->manager->updateSettings();
0060     d->transport->forceUniqueName();
0061     d->transport->save();
0062     qCDebug(MAILTRANSPORT_LOG) << "Config written.";
0063 }
0064 
0065 #include "moc_transportconfigwidget.cpp"