/* SPDX-FileCopyrightText: 2002 Joseph Wenninger SPDX-FileCopyrightText: 2020 Méven Car SPDX-FileCopyrightText: 2020 Tobias Fella SPDX-FileCopyrightText: 2022 Méven Car SPDX-License-Identifier: GPL-2.0-or-later */ #include "componentchooserterminal.h" #include #include #include #include #include "terminal_settings.h" ComponentChooserTerminal::ComponentChooserTerminal(QObject *parent) : ComponentChooser(parent, QString(), QStringLiteral("TerminalEmulator"), QStringLiteral("org.kde.konsole.desktop"), i18n("Select default terminal emulator")) { } void ComponentChooserTerminal::load() { TerminalSettings terminalSettings; const auto preferredStorageId = terminalSettings.terminalService(); m_model->load(m_mimeType, m_applicationCategory, m_defaultApplication, KService::KService::serviceByStorageId(preferredStorageId)); m_index = m_model->currentIndex(); m_currentApplication = currentStorageId(); Q_EMIT indexChanged(); Q_EMIT isDefaultsChanged(); } void ComponentChooserTerminal::save() { const auto modelIndex = m_model->index(m_index, 0); const auto storageId = m_model->data(modelIndex, ApplicationModel::StorageId).toString(); const auto execLine = m_model->data(modelIndex, ApplicationModel::ExecLine).toString(); TerminalSettings terminalSettings; terminalSettings.setTerminalApplication(execLine); terminalSettings.setTerminalService(storageId); terminalSettings.save(); m_currentApplication = storageId; }