Adjust most audio driver settings dialogs
Adjust the dialogs of most audio driver settings dialogs by showing them in a QGroupBox and adjusting their layouts. All dialogs now use `QFormLayout` to layout their labels and input widgets. Technical details ------------------ Introduce `AudioDeviceSetupGroupWidget` which is intended to functionally replace `AudioDeviceSetupWidget` in the long run. This is likely a temporary replacement in the sense that `AudioDeviceSetupGroupWidget` will be renamed to `AudioDeviceSetupWidget` once the latter has been replaced everywhere. Both classes are very similar and the only difference is that the former inherits from `QGroupBox` instead of `TabWidget`. Adjust the using of AswMap so that it is now defined as a map from `QString` to `AudioDeviceSetupGroupWidget`. Use `QFormLayout` to layout the widgets of the setup dialogs instead of hard coding geometries and placement. TODOs ------ Adjust the widgets for the SoundIO and SndIo cases. These will be a bit more effort as they are not compiled on my machine.
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
|
||||
#ifdef LMMS_HAVE_ALSA
|
||||
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
#include "AudioDeviceSetupGroupWidget.h"
|
||||
|
||||
#include "AudioAlsa.h"
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace lmms::gui
|
||||
|
||||
class LcdSpinBox;
|
||||
|
||||
class AudioAlsaSetupWidget : public AudioDeviceSetupWidget
|
||||
class AudioAlsaSetupWidget : public AudioDeviceSetupGroupWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
49
include/AudioDeviceSetupGroupWidget.h
Normal file
49
include/AudioDeviceSetupGroupWidget.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* 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
|
||||
@@ -26,7 +26,7 @@
|
||||
#define LMMS_AUDIO_DUMMY_H
|
||||
|
||||
#include "AudioDevice.h"
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
#include "AudioDeviceSetupGroupWidget.h"
|
||||
#include "AudioEngine.h"
|
||||
#include "MicroTimer.h"
|
||||
|
||||
@@ -54,11 +54,11 @@ public:
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public gui::AudioDeviceSetupWidget
|
||||
class setupWidget : public gui::AudioDeviceSetupGroupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent ) :
|
||||
gui::AudioDeviceSetupWidget( AudioDummy::name(), _parent )
|
||||
gui::AudioDeviceSetupGroupWidget( AudioDummy::name(), _parent )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
#include <QVector>
|
||||
|
||||
#include "AudioDevice.h"
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
#include "AudioDeviceSetupGroupWidget.h"
|
||||
|
||||
class QLineEdit;
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public gui::AudioDeviceSetupWidget
|
||||
class setupWidget : public gui::AudioDeviceSetupGroupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#include <QThread>
|
||||
|
||||
#include "AudioDevice.h"
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
#include "AudioDeviceSetupGroupWidget.h"
|
||||
|
||||
class QLineEdit;
|
||||
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
class setupWidget : public gui::AudioDeviceSetupWidget
|
||||
class setupWidget : public gui::AudioDeviceSetupGroupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
# include <portaudio.h>
|
||||
|
||||
# include "AudioDevice.h"
|
||||
# include "AudioDeviceSetupWidget.h"
|
||||
# include "AudioDeviceSetupGroupWidget.h"
|
||||
|
||||
# if defined paNeverDropInput || defined paNonInterleaved
|
||||
# define PORTAUDIO_V19
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
unsigned long _framesPerBuffer );
|
||||
|
||||
|
||||
class setupWidget : public gui::AudioDeviceSetupWidget
|
||||
class setupWidget : public gui::AudioDeviceSetupGroupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <QThread>
|
||||
|
||||
#include "AudioDevice.h"
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
#include "AudioDeviceSetupGroupWidget.h"
|
||||
|
||||
class QLineEdit;
|
||||
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
class setupWidget : public gui::AudioDeviceSetupWidget
|
||||
class setupWidget : public gui::AudioDeviceSetupGroupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#endif
|
||||
|
||||
#include "AudioDevice.h"
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
#include "AudioDeviceSetupGroupWidget.h"
|
||||
|
||||
class QLineEdit;
|
||||
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public gui::AudioDeviceSetupWidget
|
||||
class setupWidget : public gui::AudioDeviceSetupGroupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <QMap>
|
||||
|
||||
#include "AudioDevice.h"
|
||||
#include "AudioDeviceSetupWidget.h"
|
||||
#include "AudioDeviceSetupGroupWidget.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, AudioDeviceSetupWidget*>;
|
||||
using AswMap = QMap<QString, AudioDeviceSetupGroupWidget*>;
|
||||
using MswMap = QMap<QString, MidiSetupWidget*>;
|
||||
using trMap = QMap<QString, QString>;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user