89 lines
2.7 KiB
C++
89 lines
2.7 KiB
C++
|
#include "gtl_gui_config_hardware_dialog.h"
|
||
|
#include "ui_gtl_gui_config_hardware_dialog.h"
|
||
|
|
||
|
#include "gui/config/gtl_gui_config_hw_widget_audio.h"
|
||
|
#include "gui/config/gtl_gui_config_hw_widget_dac.h"
|
||
|
#include "gui/config/gtl_gui_config_hw_widget_generator.h"
|
||
|
|
||
|
|
||
|
namespace gtl
|
||
|
{
|
||
|
namespace gui
|
||
|
{
|
||
|
namespace config
|
||
|
{
|
||
|
hardware_dialog::hardware_dialog(QString plugins_path, QWidget *parent)
|
||
|
: QDialog(parent)
|
||
|
, _hw(plugins_path)
|
||
|
|
||
|
{
|
||
|
_ui.setupUi(this);
|
||
|
|
||
|
_ui.stacked_widget->addWidget(new hw_widget_dac(plugins_path, this));
|
||
|
_ui.stacked_widget->addWidget(new hw_widget_generator(this));
|
||
|
_ui.stacked_widget->addWidget(new hw_widget_audio(this));
|
||
|
}
|
||
|
|
||
|
hardware_dialog::~hardware_dialog()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
QString hardware_dialog::id() const
|
||
|
{
|
||
|
|
||
|
return static_cast<hw_widget*>(_ui.stacked_widget->currentWidget())->id();
|
||
|
}
|
||
|
|
||
|
qreal hardware_dialog::rate() const
|
||
|
{
|
||
|
return static_cast<hw_widget*>(_ui.stacked_widget->currentWidget())->rate();
|
||
|
}
|
||
|
|
||
|
QString hardware_dialog::type() const
|
||
|
{
|
||
|
|
||
|
if(_ui.stacked_widget->currentIndex() == 1)
|
||
|
return "generator";
|
||
|
else if(_ui.stacked_widget->currentIndex() == 2)
|
||
|
return "audio";
|
||
|
else if(_ui.stacked_widget->currentIndex() == 3)
|
||
|
return "player";
|
||
|
|
||
|
return static_cast<hw_widget_dac*>(_ui.stacked_widget->widget(0))->type();
|
||
|
}
|
||
|
|
||
|
hw::device* hardware_dialog::create_device()
|
||
|
{
|
||
|
return static_cast<hw_widget*>(_ui.stacked_widget->currentWidget())->create_device();
|
||
|
}
|
||
|
|
||
|
hw::device *hardware_dialog::create_device(QString type)
|
||
|
{
|
||
|
return static_cast<hw_widget*>(_ui.stacked_widget->widget(get_widget_idex(type)))->create_device();
|
||
|
}
|
||
|
|
||
|
int hardware_dialog::exec(QString type)
|
||
|
{
|
||
|
_ui.stacked_widget->setCurrentIndex(get_widget_idex(type));
|
||
|
|
||
|
return QDialog::exec();
|
||
|
}
|
||
|
|
||
|
int hardware_dialog::get_widget_idex(QString type)
|
||
|
{
|
||
|
if(type == "generator")
|
||
|
return 1;
|
||
|
else if(type == "audio")
|
||
|
return 2;
|
||
|
else if(type == "player")
|
||
|
return 3;
|
||
|
|
||
|
static_cast<hw_widget_dac*>(_ui.stacked_widget->widget(0))->set_type(type);
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|