RedPanda-CPP/RedPandaIDE/platform.h

38 lines
938 B
C
Raw Normal View History

#ifndef PLATFORM_H
#define PLATFORM_H
#include <QByteArray>
#include <QString>
2021-09-28 17:17:33 +08:00
#include <memory>
#include <QObject>
struct CharsetInfo{
int codepage;
QByteArray name;
QString language;
bool enabled;
explicit CharsetInfo(int codepage,
const QByteArray& name,
const QString& language,
bool enabled);
};
using PCharsetInfo = std::shared_ptr<CharsetInfo>;
class CharsetInfoManager: public QObject {
Q_OBJECT
2021-09-28 17:17:33 +08:00
public:
explicit CharsetInfoManager();
QByteArray getDefaultSystemEncoding();
PCharsetInfo findCharsetByCodepage(int codepage);
QStringList languageNames();
QList<PCharsetInfo> findCharsetsByLanguageName(const QString& languageName);
private:
QList<PCharsetInfo> mCodePages;
2021-09-28 17:17:33 +08:00
};
using PCharsetInfoManager = std::shared_ptr<CharsetInfo>;
extern CharsetInfoManager* pCharsetInfoManager;
#endif // PLATFORM_H