7#include "speechtotextselectdevicewidget.h"
9#include <KLocalizedString>
10#include <KSharedConfig>
11#include <QAudioDevice>
12#include <QMediaDevices>
18using namespace TextSpeechToText;
21const char mySoundGroupName[] =
"Speech To Text";
23SpeechToTextSelectDeviceWidget::SpeechToTextSelectDeviceWidget(
QWidget *parent)
28 mainLayout->setObjectName(QStringLiteral(
"mainLayout"));
29 mainLayout->setContentsMargins({});
32 label->setObjectName(QStringLiteral(
"label"));
34 mainLayout->addWidget(label);
36 mDeviceComboBox->setObjectName(QStringLiteral(
"mDeviceComboBox"));
37 mainLayout->addWidget(mDeviceComboBox);
41SpeechToTextSelectDeviceWidget::~SpeechToTextSelectDeviceWidget() =
default;
43void SpeechToTextSelectDeviceWidget::loadSettings()
46 const QByteArray deviceIdentifier = group.readEntry(
"SoundDevice", QByteArray());
47 if (!deviceIdentifier.
isEmpty()) {
48 const int nbDevice{mDeviceComboBox->count()};
49 for (
int i = 0; i < nbDevice; ++i) {
50 const QAudioDevice audioDevice = mDeviceComboBox->itemData(i).value<QAudioDevice>();
51 if (audioDevice.id() == deviceIdentifier) {
52 mDeviceComboBox->setCurrentIndex(i);
59void SpeechToTextSelectDeviceWidget::saveSettings()
62 const auto device = mDeviceComboBox->itemData(mDeviceComboBox->currentIndex()).value<QAudioDevice>();
63 if (!device.isNull()) {
64 const QByteArray deviceIdentifier = device.id();
65 group.writeEntry(
"SoundDevice", deviceIdentifier);
69void SpeechToTextSelectDeviceWidget::initializeInput()
71 mDeviceComboBox->addItem(
i18n(
"Default"), QVariant(QString()));
72 for (
const auto &device : QMediaDevices::audioInputs()) {
73 const auto name = device.description();
78#include "moc_speechtotextselectdevicewidget.cpp"
static KSharedConfig::Ptr openConfig(const QString &fileName=QString(), OpenFlags mode=FullConfig, QStandardPaths::StandardLocation type=QStandardPaths::GenericConfigLocation)
QString i18nc(const char *context, const char *text, const TYPE &arg...)
QString i18n(const char *text, const TYPE &arg...)
QString name(const QVariant &location)
QString label(StandardShortcut id)
bool isEmpty() const const
QVariant fromValue(T &&value)