Remove temporary AudioDeviceSetupGroupWidget

Remove the temporary class `AudioDeviceSetupGroupWidget` and move its
functionality into `AudioDeviceSetupWidget`. This means to let
`AudioDeviceSetupWidget` inherit from `QGroupBox` instead of
`TabWidget`.

Adjust all inheriting classes accordingly. Adjust usages in SetupDialog.

The result should be that even the cases for `LMMS_HAVE_SOUNDIO` and
`LMMS_HAVE_SNDIO` should compile again. Although their layout might look
weird.
This commit is contained in:
Michael Gregorius
2023-07-25 18:03:18 +02:00
parent 095b206635
commit 9282e6c91b
20 changed files with 30 additions and 121 deletions

View File

@@ -29,7 +29,7 @@
#ifdef LMMS_HAVE_ALSA
#include "AudioDeviceSetupGroupWidget.h"
#include "AudioDeviceSetupWidget.h"
#include "AudioAlsa.h"
@@ -41,7 +41,7 @@ namespace lmms::gui
class LcdSpinBox;
class AudioAlsaSetupWidget : public AudioDeviceSetupGroupWidget
class AudioAlsaSetupWidget : public AudioDeviceSetupWidget
{
Q_OBJECT

View File

@@ -1,49 +0,0 @@
/*
* AudioDeviceSetupGroupWidget.h - Base class for audio device setup widgets using group box
*
* Copyright (c) 2004-2015 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2004-2015 Michael Gregorius
*
* This file is part of LMMS - https://lmms.io
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#ifndef LMMS_GUI_AUDIO_DEVICE_SETUP_GROUP_WIDGET_H
#define LMMS_GUI_AUDIO_DEVICE_SETUP_GROUP_WIDGET_H
#include <QGroupBox>
namespace lmms::gui
{
class AudioDeviceSetupGroupWidget : public QGroupBox
{
Q_OBJECT
public:
AudioDeviceSetupGroupWidget( const QString & _caption, QWidget * _parent );
~AudioDeviceSetupGroupWidget() override = default;
virtual void saveSettings() = 0;
virtual void show();
};
} // namespace lmms::gui
#endif // LMMS_GUI_AUDIO_DEVICE_SETUP_GROUP_WIDGET_H

View File

@@ -2,6 +2,7 @@
* AudioDeviceSetupWidget.h - Base class for audio device setup widgets
*
* Copyright (c) 2004-2015 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2023- Michael Gregorius
*
* This file is part of LMMS - https://lmms.io
*
@@ -25,12 +26,12 @@
#ifndef LMMS_GUI_AUDIO_DEVICE_SETUP_WIDGET_H
#define LMMS_GUI_AUDIO_DEVICE_SETUP_WIDGET_H
#include "TabWidget.h"
#include <QGroupBox>
namespace lmms::gui
{
class AudioDeviceSetupWidget : public TabWidget
class AudioDeviceSetupWidget : public QGroupBox
{
Q_OBJECT
public:

View File

@@ -26,7 +26,7 @@
#define LMMS_AUDIO_DUMMY_H
#include "AudioDevice.h"
#include "AudioDeviceSetupGroupWidget.h"
#include "AudioDeviceSetupWidget.h"
#include "AudioEngine.h"
#include "MicroTimer.h"
@@ -54,11 +54,11 @@ public:
}
class setupWidget : public gui::AudioDeviceSetupGroupWidget
class setupWidget : public gui::AudioDeviceSetupWidget
{
public:
setupWidget( QWidget * _parent ) :
gui::AudioDeviceSetupGroupWidget( AudioDummy::name(), _parent )
gui::AudioDeviceSetupWidget( AudioDummy::name(), _parent )
{
}

View File

@@ -38,7 +38,7 @@
#include <QVector>
#include "AudioDevice.h"
#include "AudioDeviceSetupGroupWidget.h"
#include "AudioDeviceSetupWidget.h"
class QLineEdit;
@@ -74,7 +74,7 @@ public:
}
class setupWidget : public gui::AudioDeviceSetupGroupWidget
class setupWidget : public gui::AudioDeviceSetupWidget
{
public:
setupWidget( QWidget * _parent );

View File

@@ -32,7 +32,7 @@
#include <QThread>
#include "AudioDevice.h"
#include "AudioDeviceSetupGroupWidget.h"
#include "AudioDeviceSetupWidget.h"
class QLineEdit;
@@ -61,7 +61,7 @@ public:
static QString probeDevice();
class setupWidget : public gui::AudioDeviceSetupGroupWidget
class setupWidget : public gui::AudioDeviceSetupWidget
{
public:
setupWidget( QWidget * _parent );

View File

@@ -35,7 +35,7 @@
# include <portaudio.h>
# include "AudioDevice.h"
# include "AudioDeviceSetupGroupWidget.h"
# include "AudioDeviceSetupWidget.h"
# if defined paNeverDropInput || defined paNonInterleaved
# define PORTAUDIO_V19
@@ -90,7 +90,7 @@ public:
unsigned long _framesPerBuffer );
class setupWidget : public gui::AudioDeviceSetupGroupWidget
class setupWidget : public gui::AudioDeviceSetupWidget
{
public:
setupWidget( QWidget * _parent );

View File

@@ -34,7 +34,7 @@
#include <QThread>
#include "AudioDevice.h"
#include "AudioDeviceSetupGroupWidget.h"
#include "AudioDeviceSetupWidget.h"
class QLineEdit;
@@ -62,7 +62,7 @@ public:
static QString probeDevice();
class setupWidget : public gui::AudioDeviceSetupGroupWidget
class setupWidget : public gui::AudioDeviceSetupWidget
{
public:
setupWidget( QWidget * _parent );

View File

@@ -37,7 +37,7 @@
#endif
#include "AudioDevice.h"
#include "AudioDeviceSetupGroupWidget.h"
#include "AudioDeviceSetupWidget.h"
class QLineEdit;
@@ -57,7 +57,7 @@ public:
}
class setupWidget : public gui::AudioDeviceSetupGroupWidget
class setupWidget : public gui::AudioDeviceSetupWidget
{
public:
setupWidget( QWidget * _parent );

View File

@@ -29,7 +29,7 @@
#include <QMap>
#include "AudioDevice.h"
#include "AudioDeviceSetupGroupWidget.h"
#include "AudioDeviceSetupWidget.h"
#include "lmmsconfig.h"
#include "MidiClient.h"
#include "MidiSetupWidget.h"
@@ -166,7 +166,7 @@ private:
bool m_vstAlwaysOnTop;
bool m_disableAutoQuit;
using AswMap = QMap<QString, AudioDeviceSetupGroupWidget*>;
using AswMap = QMap<QString, AudioDeviceSetupWidget*>;
using MswMap = QMap<QString, MidiSetupWidget*>;
using trMap = QMap<QString, QString>;

View File

@@ -452,7 +452,7 @@ void AudioJack::shutdownCallback( void * _udata )
AudioJack::setupWidget::setupWidget( QWidget * _parent ) :
AudioDeviceSetupGroupWidget( AudioJack::name(), _parent )
AudioDeviceSetupWidget( AudioJack::name(), _parent )
{
QFormLayout * form = new QFormLayout(this);

View File

@@ -318,7 +318,7 @@ void AudioOss::run()
AudioOss::setupWidget::setupWidget( QWidget * _parent ) :
AudioDeviceSetupGroupWidget( AudioOss::name(), _parent )
AudioDeviceSetupWidget( AudioOss::name(), _parent )
{
QFormLayout * form = new QFormLayout(this);

View File

@@ -415,7 +415,7 @@ void AudioPortAudioSetupUtil::updateChannels()
AudioPortAudio::setupWidget::setupWidget( QWidget * _parent ) :
AudioDeviceSetupGroupWidget( AudioPortAudio::name(), _parent )
AudioDeviceSetupWidget( AudioPortAudio::name(), _parent )
{
using gui::ComboBox;
@@ -499,7 +499,7 @@ void AudioPortAudio::setupWidget::show()
m_setupUtil.m_deviceModel.setValue( i );
}
AudioDeviceSetupGroupWidget::show();
AudioDeviceSetupWidget::show();
}
} // namespace lmms

View File

@@ -310,7 +310,7 @@ void AudioPulseAudio::signalConnected( bool connected )
AudioPulseAudio::setupWidget::setupWidget( QWidget * _parent ) :
AudioDeviceSetupGroupWidget( AudioPulseAudio::name(), _parent )
AudioDeviceSetupWidget( AudioPulseAudio::name(), _parent )
{
QFormLayout * form = new QFormLayout(this);

View File

@@ -325,7 +325,7 @@ void AudioSdl::sdlInputAudioCallback(Uint8 *_buf, int _len) {
#endif
AudioSdl::setupWidget::setupWidget( QWidget * _parent ) :
AudioDeviceSetupGroupWidget( AudioSdl::name(), _parent )
AudioDeviceSetupWidget( AudioSdl::name(), _parent )
{
QFormLayout * form = new QFormLayout(this);

View File

@@ -37,7 +37,7 @@ namespace lmms::gui
{
AudioAlsaSetupWidget::AudioAlsaSetupWidget( QWidget * _parent ) :
AudioDeviceSetupGroupWidget( AudioAlsa::name(), _parent ),
AudioDeviceSetupWidget( AudioAlsa::name(), _parent ),
m_selectedDevice(-1)
{
QFormLayout * form = new QFormLayout(this);

View File

@@ -1,42 +0,0 @@
/*
* AudioDeviceSetupGroupWidget.cpp - Base class for audio device setup widgets using group box
*
* Copyright (c) 2004-2015 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2004-2015 Michael Gregorius
*
* This file is part of LMMS - https://lmms.io
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#include "AudioDeviceSetupGroupWidget.h"
namespace lmms::gui
{
AudioDeviceSetupGroupWidget::AudioDeviceSetupGroupWidget(const QString & caption, QWidget * parent) :
QGroupBox(QGroupBox::tr("Settings for %1").arg(tr(caption.toUtf8())), parent)
{
}
void AudioDeviceSetupGroupWidget::show()
{
parentWidget()->show();
QWidget::show();
}
} // namespace lmms::gui

View File

@@ -28,7 +28,7 @@ namespace lmms::gui
{
AudioDeviceSetupWidget::AudioDeviceSetupWidget(const QString & caption, QWidget * parent) :
TabWidget(TabWidget::tr("Settings for %1").arg(tr(caption.toUtf8())), parent)
QGroupBox(QGroupBox::tr("Settings for %1").arg(tr(caption.toUtf8())), parent)
{
}
@@ -38,4 +38,4 @@ void AudioDeviceSetupWidget::show()
QWidget::show();
}
} // namespace lmms::gui
} // namespace lmms::gui

View File

@@ -3,7 +3,6 @@ SET(LMMS_SRCS
gui/ActionGroup.cpp
gui/AudioAlsaSetupWidget.cpp
gui/AudioDeviceSetupWidget.cpp
gui/AudioDeviceSetupGroupWidget.cpp
gui/AutomatableModelView.cpp
gui/ControlLayout.cpp
gui/ControllerDialog.cpp

View File

@@ -520,7 +520,7 @@ SetupDialog::SetupDialog(ConfigTabs tab_to_open) :
it != m_audioIfaceSetupWidgets.end(); ++it)
{
m_audioIfaceNames[
AudioDeviceSetupGroupWidget::tr(it.key().toUtf8())] = it.key();
AudioDeviceSetupWidget::tr(it.key().toUtf8())] = it.key();
}
for(trMap::iterator it = m_audioIfaceNames.begin();
it != m_audioIfaceNames.end(); ++it)