File indexing completed on 2024-04-28 16:06:20
0001 /* AUDEX CDDA EXTRACTOR 0002 * SPDX-FileCopyrightText: Copyright (C) 2007 Marco Nelles 0003 * <https://userbase.kde.org/Audex> 0004 * 0005 * SPDX-License-Identifier: GPL-3.0-or-later 0006 */ 0007 0008 #include "customwidget.h" 0009 0010 #include <QDebug> 0011 0012 customWidget::customWidget(Parameters *parameters, QWidget *parent) 0013 : customWidgetUI(parent) 0014 { 0015 Q_UNUSED(parent); 0016 0017 this->parameters = parameters; 0018 if (!parameters) { 0019 qDebug() << "ParameterString is NULL!"; 0020 return; 0021 } 0022 0023 qlineedit_scheme->setText(parameters->value(ENCODER_CUSTOM_COMMAND_SCHEME_KEY, ENCODER_CUSTOM_COMMAND_SCHEME).toString()); 0024 qlineedit_suffix->setText(parameters->value(ENCODER_CUSTOM_SUFFIX_KEY, ENCODER_CUSTOM_SUFFIX).toString()); 0025 0026 connect(qlineedit_suffix, SIGNAL(textEdited(const QString &)), this, SLOT(trigger_changed())); 0027 connect(qlineedit_scheme, SIGNAL(textEdited(const QString &)), this, SLOT(trigger_changed())); 0028 0029 connect(kpushbutton_scheme, SIGNAL(clicked()), this, SLOT(scheme_wizard())); 0030 0031 kpushbutton_scheme->setIcon(QIcon::fromTheme("tools-wizard")); 0032 0033 changed = false; 0034 } 0035 0036 customWidget::~customWidget() 0037 { 0038 } 0039 0040 bool customWidget::save() 0041 { 0042 bool success = true; 0043 0044 parameters->setValue(ENCODER_CUSTOM_COMMAND_SCHEME_KEY, qlineedit_scheme->text()); 0045 parameters->setValue(ENCODER_CUSTOM_SUFFIX_KEY, qlineedit_suffix->text()); 0046 0047 changed = false; 0048 0049 return success; 0050 } 0051 0052 void customWidget::scheme_wizard() 0053 { 0054 CommandWizardDialog *dialog = new CommandWizardDialog(qlineedit_scheme->text(), this); 0055 0056 if (dialog->exec() != QDialog::Accepted) { 0057 delete dialog; 0058 return; 0059 } 0060 0061 qlineedit_scheme->setText(dialog->command); 0062 0063 delete dialog; 0064 0065 trigger_changed(); 0066 } 0067 0068 void customWidget::trigger_changed() 0069 { 0070 changed = (qlineedit_scheme->text() != parameters->value(ENCODER_CUSTOM_COMMAND_SCHEME_KEY, ENCODER_CUSTOM_COMMAND_SCHEME) 0071 || qlineedit_suffix->text() != parameters->value(ENCODER_CUSTOM_SUFFIX_KEY, ENCODER_CUSTOM_SUFFIX)); 0072 0073 Q_EMIT triggerChanged(); 0074 }