File indexing completed on 2024-04-28 04:20:03

0001 /*
0002     SPDX-FileCopyrightText: 2022 Friedrich W. H. Kossebau <kossebau@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #ifndef KODASKANNA_FILEEXPORT_TOOL_HPP
0008 #define KODASKANNA_FILEEXPORT_TOOL_HPP
0009 
0010 // widgets
0011 #include <abstractexporttool.hpp>
0012 // core
0013 #include <scanresult.hpp>
0014 
0015 class QToolButton;
0016 class QMenu;
0017 class QAction;
0018 
0019 namespace Kodaskanna
0020 {
0021 namespace FileExport
0022 {
0023 
0024 class Tool : public AbstractExportTool
0025 {
0026     Q_OBJECT
0027 
0028 public:
0029     explicit Tool(QObject *parent = nullptr);
0030 
0031     ~Tool() override;
0032 
0033 public: // AbstractExportTool API
0034     void setupButtonBox(QDialogButtonBox *buttonBox) override;
0035     void setScanResult(const ScanResult &scanResult) override;
0036 
0037 private:
0038     void saveTextAs();
0039     void saveDataAs();
0040 
0041 private:
0042     QToolButton *m_saveAsButton;
0043     QMenu *m_saveAsMenu;
0044     QAction *m_saveTextAsAction;
0045     QAction *m_saveDataAsAction;
0046 
0047     ScanResult m_scanResult;
0048 };
0049 
0050 }
0051 }
0052 
0053 #endif