File indexing completed on 2025-03-09 04:54:45

0001 /*
0002    SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <KMessageWidget>
0010 #include <QUrl>
0011 class QTimer;
0012 namespace MessageViewer
0013 {
0014 class OpenSavedFileFolderWidget : public KMessageWidget
0015 {
0016     Q_OBJECT
0017 public:
0018     enum class FileType {
0019         Attachment,
0020         Pdf,
0021     };
0022 
0023     explicit OpenSavedFileFolderWidget(QWidget *parent = nullptr);
0024     ~OpenSavedFileFolderWidget() override;
0025 
0026     void setUrls(const QList<QUrl> &urls, MessageViewer::OpenSavedFileFolderWidget::FileType fileType);
0027 
0028 public Q_SLOTS:
0029     void slotShowWarning();
0030     void slotHideWarning();
0031 
0032 private:
0033     void slotOpenSavedFileFolder();
0034     void slotTimeOut();
0035     void slotOpenFile();
0036     void slotExplicitlyClosed();
0037     QList<QUrl> mUrls;
0038     QTimer *const mTimer;
0039     QAction *const mShowFolderAction;
0040     QAction *const mOpenFileAction;
0041 };
0042 }