File indexing completed on 2024-05-05 16:54:43

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 #ifndef OGGENCWIDGET_H
0009 #define OGGENCWIDGET_H
0010 
0011 #include <QDir>
0012 #include <QWidget>
0013 
0014 #include "utils/encoderassistant.h"
0015 #include "utils/error.h"
0016 #include "utils/parameters.h"
0017 
0018 #include "ui_oggencwidgetUI.h"
0019 
0020 class oggencWidgetUI : public QWidget, public Ui::OggEncWidgetUI
0021 {
0022 public:
0023     explicit oggencWidgetUI(QWidget *parent)
0024         : QWidget(parent)
0025     {
0026         setupUi(this);
0027     }
0028 };
0029 
0030 class oggencWidget : public oggencWidgetUI
0031 {
0032     Q_OBJECT
0033 public:
0034     explicit oggencWidget(Parameters *parameters, QWidget *parent = nullptr);
0035     ~oggencWidget() override;
0036     inline Error lastError() const
0037     {
0038         return error;
0039     }
0040     inline bool isChanged() const
0041     {
0042         return changed;
0043     }
0044 public Q_SLOTS:
0045     bool save();
0046 Q_SIGNALS:
0047     void triggerChanged();
0048 private Q_SLOTS:
0049     void quality_changed_by_slider(int quality);
0050     void quality_changed_by_spinbox(double quality);
0051     void set_bitrate(float quality);
0052     void enable_min_bitrate(bool enable);
0053     void set_minbitrate(int bitrate);
0054     void enable_max_bitrate(bool enable);
0055     void set_maxbitrate(int bitrate);
0056     void trigger_changed();
0057 
0058 private:
0059     Parameters *parameters;
0060     Error error;
0061     bool changed;
0062 };
0063 
0064 #endif