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 #include "viewerpluginexternalscriptmanager.h"
0008 #include "viewerpluginexternalscriptsloadjob.h"
0009 
0010 #include <QStandardPaths>
0011 
0012 ViewerPluginExternalScriptManager::ViewerPluginExternalScriptManager(QObject *parent)
0013     : QObject(parent)
0014 {
0015     readExternalScriptInfo();
0016 }
0017 
0018 ViewerPluginExternalScriptManager::~ViewerPluginExternalScriptManager() = default;
0019 
0020 ViewerPluginExternalScriptManager *ViewerPluginExternalScriptManager::self()
0021 {
0022     static ViewerPluginExternalScriptManager s_self;
0023     return &s_self;
0024 }
0025 
0026 void ViewerPluginExternalScriptManager::readExternalScriptInfo()
0027 {
0028     ViewerPluginExternalScriptsLoadJob job;
0029     const QStringList lst =
0030         QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("messageviewerplugins/"), QStandardPaths::LocateDirectory);
0031     job.setExternalScriptsDirectories(lst);
0032     job.start();
0033     mScriptInfos = job.scriptInfos();
0034 }
0035 
0036 QList<ViewerPluginExternalScriptInfo> ViewerPluginExternalScriptManager::scriptInfos() const
0037 {
0038     return mScriptInfos;
0039 }
0040 
0041 #include "moc_viewerpluginexternalscriptmanager.cpp"