File indexing completed on 2025-05-04 04:51:07

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 <QObject>
0010 #include <QString>
0011 class ViewerPluginExternalScriptInfo
0012 {
0013 public:
0014     ViewerPluginExternalScriptInfo();
0015     [[nodiscard]] QString name() const;
0016     void setName(const QString &name);
0017 
0018     [[nodiscard]] QString commandLine() const;
0019     void setCommandLine(const QString &commandLine);
0020 
0021     [[nodiscard]] QString executable() const;
0022     void setExecutable(const QString &executable);
0023 
0024     [[nodiscard]] QString description() const;
0025     void setDescription(const QString &description);
0026 
0027     [[nodiscard]] QString icon() const;
0028     void setIcon(const QString &icon);
0029 
0030     [[nodiscard]] bool isValid() const;
0031 
0032     [[nodiscard]] bool isReadOnly() const;
0033     void setIsReadOnly(bool isReadOnly);
0034 
0035     [[nodiscard]] QString fileName() const;
0036     void setFileName(const QString &fileName);
0037 
0038     [[nodiscard]] bool operator==(const ViewerPluginExternalScriptInfo &other) const;
0039 
0040 private:
0041     QString mCommandLine;
0042     QString mName;
0043     QString mExecutable;
0044     QString mDescription;
0045     QString mIcon;
0046     QString mFileName;
0047     bool mIsReadOnly = false;
0048 };
0049 Q_DECLARE_TYPEINFO(ViewerPluginExternalScriptInfo, Q_RELOCATABLE_TYPE);
0050 Q_DECLARE_METATYPE(ViewerPluginExternalScriptInfo)