File indexing completed on 2024-05-12 11:32:22
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2013 Filipe Saraiva <filipe@kde.org> 0004 */ 0005 0006 #include "importpackageassistant.h" 0007 0008 #include <QAction> 0009 #include <QDialog> 0010 #include <QPushButton> 0011 #include <QStyle> 0012 0013 #include <KActionCollection> 0014 #include <KConfigGroup> 0015 #include "cantor_macros.h" 0016 #include "backend.h" 0017 #include "extension.h" 0018 #include "ui_importpackagedlg.h" 0019 0020 ImportPackageAssistant::ImportPackageAssistant(QObject* parent, QList<QVariant> args) : Assistant(parent) 0021 { 0022 Q_UNUSED(args) 0023 } 0024 0025 void ImportPackageAssistant::initActions() 0026 { 0027 setXMLFile(QLatin1String("cantor_import_package_assistant.rc")); 0028 0029 QAction* importpackage = new QAction(i18n("Import Package"), actionCollection()); 0030 actionCollection()->addAction(QLatin1String("importpackage_assistant"), importpackage); 0031 connect(importpackage, &QAction::triggered, this, &ImportPackageAssistant::requested); 0032 } 0033 0034 QStringList ImportPackageAssistant::run(QWidget* parent) 0035 { 0036 QPointer<QDialog> dlg=new QDialog(parent); 0037 0038 QWidget* widget=new QWidget(dlg); 0039 0040 Ui::ImportPackageAssistantBase base; 0041 base.setupUi(widget); 0042 0043 base.buttonBox->button(QDialogButtonBox::Ok)->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogOkButton)); 0044 base.buttonBox->button(QDialogButtonBox::Cancel)->setIcon(QApplication::style()->standardIcon(QStyle::SP_DialogCancelButton)); 0045 connect(base.buttonBox, SIGNAL(accepted()), dlg, SLOT(accept())); 0046 connect(base.buttonBox, SIGNAL(rejected()), dlg, SLOT(reject())); 0047 0048 QVBoxLayout *mainLayout = new QVBoxLayout; 0049 dlg->setLayout(mainLayout); 0050 mainLayout->addWidget(widget); 0051 0052 QStringList result; 0053 if( dlg->exec()) 0054 { 0055 const QString& m = base.package->text(); 0056 0057 Cantor::PackagingExtension* ext = 0058 dynamic_cast<Cantor::PackagingExtension*>(backend()->extension(QLatin1String("PackagingExtension"))); 0059 result << ext->importPackage(m); 0060 } 0061 0062 delete dlg; 0063 return result; 0064 } 0065 0066 K_PLUGIN_FACTORY_WITH_JSON(importpackageassistant, "importpackageassistant.json", registerPlugin<ImportPackageAssistant>();) 0067 #include "importpackageassistant.moc"