File indexing completed on 2024-04-21 05:10:33

0001 /*
0002     This file is part of Akregator.
0003 
0004     SPDX-FileCopyrightText: 2004 Stanislav Karchebny <Stanislav.Karchebny@kdemail.net>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
0007 */
0008 
0009 #pragma once
0010 
0011 #include "ui_addfeedwidgetbase.h"
0012 
0013 #include <QDialog>
0014 
0015 #include <QWidget>
0016 class QPushButton;
0017 namespace Akregator
0018 {
0019 class Feed;
0020 
0021 class AddFeedWidget : public QWidget, public Ui::AddFeedWidgetBase
0022 {
0023     Q_OBJECT
0024 public:
0025     explicit AddFeedWidget(QWidget *parent = nullptr);
0026     ~AddFeedWidget() override;
0027 };
0028 
0029 class AddFeedDialog : public QDialog
0030 {
0031     Q_OBJECT
0032 public:
0033     explicit AddFeedDialog(QWidget *parent = nullptr, const QString &name = QString());
0034     ~AddFeedDialog() override;
0035 
0036     [[nodiscard]] QSize sizeHint() const override;
0037 
0038     void setUrl(const QString &t);
0039     Feed *feed() const;
0040 
0041 public Q_SLOTS:
0042     void accept() override;
0043 
0044     void fetchCompleted(Akregator::Feed *);
0045     void fetchDiscovery(Akregator::Feed *);
0046     void fetchError(Akregator::Feed *);
0047 
0048 private:
0049     void textChanged(const QString &);
0050     QString mFeedUrl;
0051     AddFeedWidget *widget = nullptr;
0052     Feed *m_feed = nullptr;
0053     QPushButton *mOkButton = nullptr;
0054 };
0055 } // namespace Akregator