File: autocorrectionlanguage.cpp

package info (click to toggle)
ktextaddons 1.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 16,360 kB
  • sloc: cpp: 54,647; ansic: 6,591; xml: 2,630; sh: 11; makefile: 7
file content (42 lines) | stat: -rw-r--r-- 1,238 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
/*
  SPDX-FileCopyrightText: 2012-2025 Laurent Montel <montel@kde.org>

  SPDX-License-Identifier: GPL-2.0-or-later
*/

#include "autocorrectionlanguage.h"
#include "autocorrectionlanguagemodel.h"
#include <QSortFilterProxyModel>

using namespace TextAutoCorrectionWidgets;

AutoCorrectionLanguage::AutoCorrectionLanguage(QWidget *parent)
    : QComboBox(parent)
    , mAutoCorrectionLanguageModel(new AutoCorrectionLanguageModel(this))
{
    auto sortFilterModel = new QSortFilterProxyModel(this);
    sortFilterModel->setSourceModel(mAutoCorrectionLanguageModel);
    sortFilterModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
    sortFilterModel->setFilterRole(AutoCorrectionLanguageModel::LocaleI18n);
    sortFilterModel->sort(0);

    setModel(sortFilterModel);
}

QString AutoCorrectionLanguage::language(int index) const
{
    return mAutoCorrectionLanguageModel->language(index);
}

AutoCorrectionLanguage::~AutoCorrectionLanguage() = default;

QString AutoCorrectionLanguage::language() const
{
    return itemData(currentIndex(), AutoCorrectionLanguageModel::Locale).toString();
}

void AutoCorrectionLanguage::setLanguage(const QString &language)
{
    const int index = findData(language);
    setCurrentIndex(index);
}