1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
/*
SPDX-FileCopyrightText: 2023-2026 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "texttospeechvoicecombobox.h"
#include <QDebug>
using namespace TextEditTextToSpeech;
TextToSpeechVoiceComboBox::TextToSpeechVoiceComboBox(QWidget *parent)
: QComboBox(parent)
{
}
TextToSpeechVoiceComboBox::~TextToSpeechVoiceComboBox() = default;
QVoice TextToSpeechVoiceComboBox::currentVoice() const
{
return currentData().value<QVoice>();
}
void TextToSpeechVoiceComboBox::setCurrentVoice(const QVoice &voice)
{
const int index = findData(QVariant::fromValue(voice));
// qDebug() << " count " << count();
// qDebug() << " index " << index;
if (index != -1) {
setCurrentIndex(index);
}
}
void TextToSpeechVoiceComboBox::updateVoices(const QVector<QVoice> &voices)
{
clear();
for (const QVoice &voice : voices) {
addItem(voice.name(), QVariant::fromValue(voice));
}
setSizeAdjustPolicy(QComboBox::AdjustToContents);
// Sort it after loading list.
model()->sort(0, Qt::AscendingOrder);
}
#include "moc_texttospeechvoicecombobox.cpp"
|