1/*
2 Copyright (c) 2006 - 2007 Volker Krause <vkrause@kde.org>
3 Copyright (c) 2009 Constantin Berzan <exit3219@gmail.com>
4
5 Based on KMail code by:
6 Copyright (c) 2001-2002 Michael Haeckel <haeckel@kde.org>
7
8 This library is free software; you can redistribute it and/or modify it
9 under the terms of the GNU Library General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or (at your
11 option) any later version.
12
13 This library is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
16 License for more details.
17
18 You should have received a copy of the GNU Library General Public License
19 along with this library; see the file COPYING.LIB. If not, write to the
20 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 02110-1301, USA.
22*/
23
24#ifndef MAILTRANSPORT_TRANSPORTCONFIGDIALOG_H
25#define MAILTRANSPORT_TRANSPORTCONFIGDIALOG_H
26
27#include <mailtransport/mailtransport_export.h>
28
29#include <KDE/KDialog>
30
31namespace MailTransport {
32
33class Transport;
34
35/**
36 * @short Configuration dialog for a mail transport.
37 *
38 * @deprecated Use TransportManager::configureTransport() instead.
39 */
40class MAILTRANSPORT_DEPRECATED_EXPORT TransportConfigDialog : public KDialog
41{
42 Q_OBJECT
43
44 public:
45 /**
46 * Creates a new mail transport configuration dialog for the given
47 * Transport object.
48 * The config dialog does not delete @p transport, you have to delete it
49 * yourself.
50 *
51 * Note that this class only works for transports that are handled directly
52 * by MailTransport, i.e. SMTP and Sendmail. This class cannot be used to
53 * configure an Akonadi transport.
54 *
55 * @param transport The Transport object to configure. This must be a deep
56 * copy of a Transport object or a newly created one, which hasn't been
57 * added to the TransportManager yet.
58 * @param parent The parent widget.
59 */
60 explicit TransportConfigDialog( Transport *transport, QWidget *parent = 0 );
61
62 /**
63 * Destroys the transport config dialog.
64 */
65 virtual ~TransportConfigDialog();
66
67 private:
68 //@cond PRIVATE
69 class Private;
70 Private *const d;
71
72 Q_PRIVATE_SLOT( d, void okClicked() )
73 Q_PRIVATE_SLOT( d, void slotTextChanged(const QString &) )
74 //@endcond
75};
76
77} // namespace MailTransport
78
79#endif // MAILTRANSPORT_TRANSPORTCONFIGDIALOG_H
80