File indexing completed on 2024-05-12 16:01:26
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef __KIS_ASYNC_ACTION_FEEDBACK_H 0008 #define __KIS_ASYNC_ACTION_FEEDBACK_H 0009 0010 #include <QScopedPointer> 0011 #include <functional> 0012 #include "KisImportExportFilter.h" 0013 0014 class QWidget; 0015 class QMutex; 0016 0017 class KisAsyncActionFeedback 0018 { 0019 public: 0020 KisAsyncActionFeedback(const QString &message, QWidget *parent); 0021 ~KisAsyncActionFeedback(); 0022 0023 KisImportExportErrorCode runAction(std::function<KisImportExportErrorCode()> func); 0024 void runVoidAction(std::function<void()> func); 0025 void waitForMutex(QMutex *mutex); 0026 0027 private: 0028 struct Private; 0029 const QScopedPointer<Private> m_d; 0030 }; 0031 0032 #endif /* __KIS_ASYNC_ACTION_FEEDBACK_H */