File indexing completed on 2024-03-24 04:51:00
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 "faacwidget.h" 0009 0010 #include <QDebug> 0011 0012 faacWidget::faacWidget(Parameters *parameters, QWidget *parent) 0013 : faacWidgetUI(parent) 0014 { 0015 Q_UNUSED(parent); 0016 0017 this->parameters = parameters; 0018 if (!parameters) { 0019 qDebug() << "ParameterString is NULL!"; 0020 return; 0021 } 0022 0023 horizontalSlider_quality->setValue(parameters->value(ENCODER_FAAC_QUALITY_KEY, ENCODER_FAAC_QUALITY).toInt()); 0024 kintspinbox_quality->setValue(parameters->value(ENCODER_FAAC_QUALITY_KEY, ENCODER_FAAC_QUALITY).toInt()); 0025 checkBox_embedcover->setChecked(parameters->value(ENCODER_FAAC_EMBED_COVER_KEY).toBool()); 0026 qlineedit_suffix->setText(parameters->value(ENCODER_FAAC_SUFFIX_KEY, ENCODER_FAAC_SUFFIX).toString()); 0027 0028 connect(horizontalSlider_quality, SIGNAL(valueChanged(int)), this, SLOT(quality_changed_by_slider(int))); 0029 connect(horizontalSlider_quality, SIGNAL(valueChanged(int)), this, SLOT(trigger_changed())); 0030 0031 connect(kintspinbox_quality, SIGNAL(valueChanged(int)), this, SLOT(quality_changed_by_spinbox(int))); 0032 connect(kintspinbox_quality, SIGNAL(valueChanged(int)), this, SLOT(trigger_changed())); 0033 0034 connect(checkBox_embedcover, SIGNAL(toggled(bool)), this, SLOT(trigger_changed())); 0035 0036 connect(qlineedit_suffix, SIGNAL(textEdited(const QString &)), this, SLOT(trigger_changed())); 0037 0038 changed = false; 0039 } 0040 0041 faacWidget::~faacWidget() 0042 { 0043 } 0044 0045 bool faacWidget::save() 0046 { 0047 bool success = true; 0048 0049 parameters->setValue(ENCODER_FAAC_QUALITY_KEY, horizontalSlider_quality->value()); 0050 parameters->setValue(ENCODER_FAAC_EMBED_COVER_KEY, checkBox_embedcover->isChecked()); 0051 parameters->setValue(ENCODER_FAAC_SUFFIX_KEY, qlineedit_suffix->text()); 0052 0053 changed = false; 0054 0055 return success; 0056 } 0057 0058 void faacWidget::quality_changed_by_slider(int quality) 0059 { 0060 kintspinbox_quality->blockSignals(true); 0061 kintspinbox_quality->setValue(quality); 0062 kintspinbox_quality->blockSignals(false); 0063 } 0064 0065 void faacWidget::quality_changed_by_spinbox(int quality) 0066 { 0067 horizontalSlider_quality->blockSignals(true); 0068 horizontalSlider_quality->setValue(quality); 0069 horizontalSlider_quality->blockSignals(false); 0070 } 0071 0072 void faacWidget::trigger_changed() 0073 { 0074 changed = (horizontalSlider_quality->value() != parameters->value(ENCODER_FAAC_QUALITY_KEY, ENCODER_FAAC_QUALITY).toInt() 0075 || checkBox_embedcover->isChecked() != parameters->value(ENCODER_FAAC_EMBED_COVER_KEY).toBool() 0076 || qlineedit_suffix->text() != parameters->value(ENCODER_FAAC_SUFFIX_KEY, ENCODER_FAAC_SUFFIX).toString()); 0077 0078 Q_EMIT triggerChanged(); 0079 }