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