File indexing completed on 2024-05-12 16:28:30

0001 /*  This file is part of the KDE libraries
0002     Copyright (C) 2002 Simon MacMullen <calligra@babysimon.co.uk>
0003     Copyright 2012 Friedrich W. H. Kossebau <kossebau@kde.org>
0004 
0005     This library is free software; you can redistribute it and/or
0006     modify it under the terms of the GNU Library General Public
0007     License as published by the Free Software Foundation; either
0008     version 2 of the License, or (at your option) any later version.
0009 
0010     This library is distributed in the hope that it will be useful,
0011     but WITHOUT ANY WARRANTY; without even the implied warranty of
0012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013     Library General Public License for more details.
0014 
0015     You should have received a copy of the GNU Library General Public License
0016     along with this library; see the file COPYING.LIB.  If not, write to
0017     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018  * Boston, MA 02110-1301, USA.
0019 */
0020 
0021 #ifndef _CALLIGRACREATOR_H_
0022 #define _CALLIGRACREATOR_H_
0023 
0024 // KF5
0025 #include <KIO/ThumbCreator>
0026 // Qt
0027 #include <QEventLoop>
0028 
0029 class KoPart;
0030 class KoDocument;
0031 
0032 
0033 class CalligraCreator : public QObject, public ThumbCreator
0034 {
0035     Q_OBJECT
0036 public:
0037     CalligraCreator();
0038     ~CalligraCreator() override;
0039     bool create(const QString &path, int width, int height, QImage &image) override;
0040     Flags flags() const override;
0041 
0042 private Q_SLOTS:
0043     void onLoadingCompleted();
0044 
0045 private:
0046     KoPart *m_part;
0047     KoDocument *m_doc;
0048 
0049     bool m_loadingCompleted :1;
0050     QEventLoop m_eventLoop;
0051 };
0052 
0053 #endif