File indexing completed on 2024-05-12 16:01:54
0001 /* 0002 * kis_resourceserver.cc - part of KImageShop 0003 * 0004 * SPDX-FileCopyrightText: 1999 Matthias Elter <elter@kde.org> 0005 * SPDX-FileCopyrightText: 2003 Patrick Julien <freak@codepimps.org> 0006 * SPDX-FileCopyrightText: 2005 Sven Langkamp <sven.langkamp@gmail.com> 0007 * 0008 * SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #include "KisResourceServerProvider.h" 0012 0013 #include <QDir> 0014 #include <QApplication> 0015 #include <QGlobalStatic> 0016 0017 #include <kis_debug.h> 0018 0019 #include <KoResourcePaths.h> 0020 0021 #include <KoResource.h> 0022 #include <KoResourceServer.h> 0023 #include <KoResourceServerProvider.h> 0024 0025 #include <resources/KoPattern.h> 0026 #include <brushengine/kis_paintop_preset.h> 0027 #include <kis_workspace_resource.h> 0028 #include <KisWindowLayoutResource.h> 0029 #include <KisSessionResource.h> 0030 0031 #include <kis_psd_layer_style.h> 0032 0033 Q_GLOBAL_STATIC(KisResourceServerProvider, s_instance) 0034 0035 typedef KoResourceServer<KisPaintOpPreset> KisPaintOpPresetResourceServer; 0036 typedef KoResourceServer<KisPSDLayerStyle> KisPSDLayerStyleServer; 0037 0038 KisResourceServerProvider::KisResourceServerProvider() 0039 { 0040 m_paintOpPresetServer = new KisPaintOpPresetResourceServer(ResourceType::PaintOpPresets); 0041 m_workspaceServer = new KoResourceServer<KisWorkspaceResource>(ResourceType::Workspaces); 0042 m_windowLayoutServer = new KoResourceServer<KisWindowLayoutResource>(ResourceType::WindowLayouts); 0043 m_sessionServer = new KoResourceServer<KisSessionResource>(ResourceType::Sessions); 0044 m_layerStyleServer = new KisPSDLayerStyleServer(ResourceType::LayerStyles); 0045 } 0046 0047 KisResourceServerProvider::~KisResourceServerProvider() 0048 { 0049 delete m_paintOpPresetServer; 0050 delete m_workspaceServer; 0051 delete m_sessionServer; 0052 delete m_windowLayoutServer; 0053 delete m_layerStyleServer; 0054 } 0055 0056 KisResourceServerProvider* KisResourceServerProvider::instance() 0057 { 0058 return s_instance; 0059 } 0060 0061 0062 KisPaintOpPresetResourceServer* KisResourceServerProvider::paintOpPresetServer() 0063 { 0064 return m_paintOpPresetServer; 0065 } 0066 0067 KoResourceServer< KisWorkspaceResource >* KisResourceServerProvider::workspaceServer() 0068 { 0069 return m_workspaceServer; 0070 } 0071 0072 KoResourceServer< KisWindowLayoutResource >* KisResourceServerProvider::windowLayoutServer() 0073 { 0074 return m_windowLayoutServer; 0075 } 0076 0077 KoResourceServer< KisSessionResource >* KisResourceServerProvider::sessionServer() 0078 { 0079 return m_sessionServer; 0080 } 0081 0082 KoResourceServer<KisPSDLayerStyle> *KisResourceServerProvider::layerStyleServer() 0083 { 0084 return m_layerStyleServer; 0085 } 0086