File indexing completed on 2024-05-05 05:49:28

0001 /*
0002     SPDX-FileCopyrightText: 2010 Volker Lanz <vl@fidra.de>
0003     SPDX-FileCopyrightText: 2014-2017 Andrius Štikonas <andrius@stikonas.eu>
0004 
0005     SPDX-License-Identifier: GPL-3.0-or-later
0006 */
0007 
0008 #include "config/advancedpagewidget.h"
0009 
0010 #include <backend/corebackendmanager.h>
0011 #include <util/helpers.h>
0012 
0013 #include <QComboBox>
0014 
0015 #include <KPluginMetaData>
0016 
0017 #include <config.h>
0018 
0019 AdvancedPageWidget::AdvancedPageWidget(QWidget* parent) :
0020     QWidget(parent)
0021 {
0022     setupUi(this);
0023     setupDialog();
0024 }
0025 
0026 QString AdvancedPageWidget::backend() const
0027 {
0028     const auto backends = CoreBackendManager::self()->list();
0029     for (const auto &backend : backends)
0030         if (backend.name() == comboBackend().currentText())
0031             return backend.pluginId();
0032 
0033     return QString();
0034 }
0035 
0036 void AdvancedPageWidget::setBackend(const QString& name)
0037 {
0038     const auto backends = CoreBackendManager::self()->list();
0039     for (const auto &backend : backends)
0040         if (backend.pluginId() == name)
0041             comboBackend().setCurrentIndex(comboBackend().findText(backend.name()));
0042 }
0043 
0044 void AdvancedPageWidget::setupDialog()
0045 {
0046     const auto backends = CoreBackendManager::self()->list();
0047     for (const auto &backend : backends)
0048         comboBackend().addItem(backend.name());
0049 
0050     setBackend(Config::backend());
0051 }