1 /*
2     This file is part of Akregator.
3 
4     SPDX-FileCopyrightText: 2004 Stanislav Karchebny <Stanislav.Karchebny@kdemail.net>
5 
6     SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
7 */
8 
9 #pragma once
10 
11 #include "ui_addfeedwidgetbase.h"
12 
13 #include <QDialog>
14 
15 #include <QWidget>
16 class QPushButton;
17 namespace Akregator
18 {
19 class Feed;
20 
21 class AddFeedWidget : public QWidget, public Ui::AddFeedWidgetBase
22 {
23     Q_OBJECT
24 public:
25     explicit AddFeedWidget(QWidget *parent = nullptr);
26     ~AddFeedWidget() override;
27 };
28 
29 class AddFeedDialog : public QDialog
30 {
31     Q_OBJECT
32 public:
33     explicit AddFeedDialog(QWidget *parent = nullptr, const QString &name = QString());
34     ~AddFeedDialog() override;
35 
36     Q_REQUIRED_RESULT QSize sizeHint() const override;
37 
38     void setUrl(const QString &t);
39     Feed *feed() const;
40 
41 public Q_SLOTS:
42     void accept() override;
43 
44     void fetchCompleted(Akregator::Feed *);
45     void fetchDiscovery(Akregator::Feed *);
46     void fetchError(Akregator::Feed *);
47 
48 private:
49     void textChanged(const QString &);
50     QString mFeedUrl;
51     AddFeedWidget *widget = nullptr;
52     Feed *m_feed = nullptr;
53     QPushButton *mOkButton = nullptr;
54 };
55 } // namespace Akregator
56 
57