File: texttospeechvoicecombobox.cpp

package info (click to toggle)
ktextaddons 1.9.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,856 kB
  • sloc: cpp: 62,045; ansic: 6,520; xml: 2,630; sh: 11; makefile: 7
file content (44 lines) | stat: -rw-r--r-- 1,139 bytes parent folder | download
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"