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