File indexing completed on 2024-05-12 11:32:22
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2009 Alexander Rieder <alexanderrieder@gmail.com> 0004 */ 0005 0006 #include "runscriptassistant.h" 0007 0008 #include <QAction> 0009 #include <QIcon> 0010 0011 #include <QDialog> 0012 #include <KActionCollection> 0013 #include <QFileDialog> 0014 #include <KLocalizedString> 0015 #include <QUrl> 0016 #include "cantor_macros.h" 0017 #include "backend.h" 0018 #include "extension.h" 0019 0020 RunScriptAssistant::RunScriptAssistant(QObject* parent, QList<QVariant> args) : Assistant(parent) 0021 { 0022 Q_UNUSED(args) 0023 } 0024 0025 void RunScriptAssistant::initActions() 0026 { 0027 setXMLFile(QLatin1String("cantor_runscript_assistant.rc")); 0028 QAction* runscript=new QAction(i18n("Run Script"), actionCollection()); 0029 runscript->setIcon(QIcon::fromTheme(icon())); 0030 actionCollection()->addAction(QLatin1String("runscript_assistant"), runscript); 0031 connect(runscript, &QAction::triggered, this, &RunScriptAssistant::requested); 0032 } 0033 0034 QStringList RunScriptAssistant::run(QWidget* parent) 0035 { 0036 Cantor::ScriptExtension* ext= 0037 dynamic_cast<Cantor::ScriptExtension*>(backend()->extension(QLatin1String("ScriptExtension"))); 0038 0039 QString file = QFileDialog::getOpenFileName(parent, QString(), QLatin1String("qfiledialog://cantor_script"), ext->scriptFileFilter()); 0040 0041 if(file.isNull()) 0042 { 0043 return QStringList(); 0044 }else 0045 { 0046 return QStringList()<<ext->runExternalScript(file); 0047 } 0048 } 0049 0050 K_PLUGIN_FACTORY_WITH_JSON(runscriptassistant, "runscriptassistant.json", registerPlugin<RunScriptAssistant>();) 0051 #include "runscriptassistant.moc"