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

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 
0007     Based on KMail code by:
0008     SPDX-FileCopyrightText: 2001-2002 Michael Haeckel <haeckel@kde.org>
0009 
0010     SPDX-License-Identifier: LGPL-2.0-or-later
0011 */
0012 
0013 #pragma once
0014 
0015 #include "widgets/transportconfigwidget.h"
0016 class QAbstractButton;
0017 namespace MailTransport
0018 {
0019 class Transport;
0020 
0021 /**
0022   @internal
0023 */
0024 class SMTPConfigWidgetPrivate;
0025 
0026 /**
0027   @internal
0028   Configuration widget for a SMTP transport.
0029 */
0030 class SMTPConfigWidget : public TransportConfigWidget
0031 {
0032     Q_OBJECT
0033 
0034 public:
0035     explicit SMTPConfigWidget(Transport *transport, QWidget *parent = nullptr);
0036 
0037 public Q_SLOTS:
0038     /** reimpl */
0039     void apply() override;
0040 
0041 private Q_SLOTS:
0042     void checkSmtpCapabilities();
0043     void passwordsLoaded();
0044     void slotFinished(const QList<int> &results);
0045     void hostNameChanged(const QString &text);
0046     void encryptionChanged(int enc);
0047     void ensureValidAuthSelection();
0048 
0049 private:
0050     void encryptionAbstractButtonChanged(QAbstractButton *button);
0051     Q_DECLARE_PRIVATE(SMTPConfigWidget)
0052 
0053     void init();
0054     void enablePasswordLine();
0055 };
0056 } // namespace MailTransport