File indexing completed on 2024-05-12 16:01:43

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2011 Sven Langkamp <sven.langkamp@gmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #ifndef KIS_WORKSPACE_RESOURCE_H
0008 #define KIS_WORKSPACE_RESOURCE_H
0009 
0010 #include <KoResource.h>
0011 #include <kis_properties_configuration.h>
0012 #include "kritaui_export.h"
0013 
0014 /// Resource for storing of workspaces
0015 class KRITAUI_EXPORT KisWorkspaceResource : public KoResource , public KisPropertiesConfiguration
0016 {
0017 
0018 public:
0019     KisWorkspaceResource(const QString& filename);
0020     ~KisWorkspaceResource() override;
0021     KisWorkspaceResource(const KisWorkspaceResource &rhs);
0022     KisWorkspaceResource &operator=(const KisWorkspaceResource &rhs) = delete;
0023     KoResourceSP clone() const override;
0024 
0025     bool loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override;
0026     bool saveToDevice(QIODevice* dev) const override;
0027     QString defaultFileExtension() const override;
0028     QPair<QString, QString> resourceType() const override
0029     {
0030         return QPair<QString, QString>(ResourceType::Workspaces, "");
0031     }
0032 
0033     void setDockerState(const QByteArray& state);
0034     QByteArray dockerState();
0035 
0036 private:
0037     QByteArray m_dockerState;
0038 };
0039 
0040 typedef QSharedPointer<KisWorkspaceResource> KisWorkspaceResourceSP;
0041 
0042 #endif // KIS_WORKSPACE_RESOURCE_H