File indexing completed on 2024-04-21 04:48:17
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 "flacwidget.h" 0009 0010 #include <QDebug> 0011 0012 flacWidget::flacWidget(Parameters *parameters, QWidget *parent) 0013 : flacWidgetUI(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_compression->setValue(parameters->value(ENCODER_FLAC_COMPRESSION_KEY, ENCODER_FLAC_COMPRESSION).toInt()); 0024 kintspinbox_compression->setValue(parameters->value(ENCODER_FLAC_COMPRESSION_KEY, ENCODER_FLAC_COMPRESSION).toInt()); 0025 0026 checkBox_embedcover->setChecked(parameters->value(ENCODER_FLAC_EMBED_COVER_KEY).toBool()); 0027 qlineedit_suffix->setText(parameters->value(ENCODER_FLAC_SUFFIX_KEY, ENCODER_FLAC_SUFFIX).toString()); 0028 0029 connect(horizontalSlider_compression, SIGNAL(valueChanged(int)), this, SLOT(compression_changed_by_slider(int))); 0030 connect(horizontalSlider_compression, SIGNAL(valueChanged(int)), this, SLOT(trigger_changed())); 0031 0032 connect(kintspinbox_compression, SIGNAL(valueChanged(int)), this, SLOT(compression_changed_by_spinbox(int))); 0033 connect(kintspinbox_compression, SIGNAL(valueChanged(int)), this, SLOT(trigger_changed())); 0034 0035 connect(checkBox_embedcover, SIGNAL(toggled(bool)), this, SLOT(trigger_changed())); 0036 connect(qlineedit_suffix, SIGNAL(textEdited(const QString &)), this, SLOT(trigger_changed())); 0037 0038 changed = false; 0039 } 0040 0041 flacWidget::~flacWidget() 0042 { 0043 } 0044 0045 bool flacWidget::save() 0046 { 0047 bool success = true; 0048 0049 parameters->setValue(ENCODER_FLAC_COMPRESSION_KEY, horizontalSlider_compression->value()); 0050 parameters->setValue(ENCODER_FLAC_EMBED_COVER_KEY, checkBox_embedcover->isChecked()); 0051 parameters->setValue(ENCODER_FLAC_SUFFIX_KEY, qlineedit_suffix->text()); 0052 0053 changed = false; 0054 0055 return success; 0056 } 0057 0058 void flacWidget::compression_changed_by_slider(int compression) 0059 { 0060 kintspinbox_compression->blockSignals(true); 0061 kintspinbox_compression->setValue(compression); 0062 kintspinbox_compression->blockSignals(false); 0063 } 0064 0065 void flacWidget::compression_changed_by_spinbox(int compression) 0066 { 0067 horizontalSlider_compression->blockSignals(true); 0068 horizontalSlider_compression->setValue(compression); 0069 horizontalSlider_compression->blockSignals(false); 0070 } 0071 0072 void flacWidget::trigger_changed() 0073 { 0074 changed = (horizontalSlider_compression->value() != parameters->value(ENCODER_FLAC_COMPRESSION_KEY, ENCODER_FLAC_COMPRESSION).toInt() 0075 || checkBox_embedcover->isChecked() != parameters->value(ENCODER_LAME_EMBED_COVER_KEY).toBool() 0076 || qlineedit_suffix->text() != parameters->value(ENCODER_FLAC_SUFFIX_KEY, ENCODER_FLAC_SUFFIX).toString()); 0077 0078 Q_EMIT triggerChanged(); 0079 }