File indexing completed on 2024-05-12 05:12:55

0001 /*
0002    SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "frame.h"
0010 
0011 namespace Akregator
0012 {
0013 class ArticleViewerWidget;
0014 class AKREGATOR_EXPORT MainFrame : public Frame
0015 {
0016     Q_OBJECT
0017 
0018 public:
0019     explicit MainFrame(QWidget *parent, QWidget *widget);
0020     ~MainFrame() override;
0021 
0022     [[nodiscard]] QUrl url() const override;
0023 
0024     [[nodiscard]] bool openUrl(const OpenUrlRequest &) override
0025     {
0026         return false;
0027     }
0028 
0029     void setArticleViewer(Akregator::ArticleViewerWidget *articleViewer);
0030 
0031     [[nodiscard]] qreal zoomFactor() const override;
0032 
0033 public Q_SLOTS:
0034     void slotCopyLinkAsInFrame(int frameId);
0035     void slotSaveLinkAsInFrame(int frameId);
0036     void slotZoomChangeInFrame(int frameId, qreal value);
0037     void slotCopyInFrame(int frameId);
0038     void slotPrintInFrame(int frameId);
0039     void slotPrintPreviewInFrame(int frameId);
0040     void slotTextToSpeechInFrame(int frameId);
0041     void slotFindTextInFrame(int frameId);
0042     void slotCopyImageLocationInFrame(int frameId);
0043     void slotSaveImageOnDiskInFrame(int frameId);
0044     void slotMute(int frameId, bool mute);
0045 
0046 private:
0047     Akregator::ArticleViewerWidget *mArticleViewer = nullptr;
0048 };
0049 } // namespace Akregator