File indexing completed on 2024-05-12 05:35:41

0001 /*
0002     SPDX-FileCopyrightText: 2010 Andriy Rysin <rysin@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QMap>
0010 #include <QObject>
0011 #include <QString>
0012 #include <QIcon>
0013 
0014 class LayoutUnit;
0015 class KeyboardConfig;
0016 struct Rules;
0017 
0018 class Flags : public QObject
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     using QObject::QObject;
0024 
0025     Q_INVOKABLE QIcon getIcon(const QString &layout);
0026 
0027     static QString getLongText(const LayoutUnit &layoutUnit, const Rules *rules);
0028     static QString getShortText(const LayoutUnit &layoutUnit, const KeyboardConfig &keyboardConfig);
0029 
0030 private:
0031     QIcon createIcon(const QString &layout);
0032     QString getCountryFromLayoutName(const QString &fullLayoutName) const;
0033 
0034     QMap<QString, QIcon> iconMap;
0035 };