QortalOS Brooklyn for Raspberry Pi 4
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

32 lines
1.0 KiB

// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
// SPDX-FileCopyrightText: 2021 Harald Sitter <[email protected]>
#pragma once
#include <QObject>
class Language : public QObject
{
Q_OBJECT
Q_PROPERTY(State state MEMBER state NOTIFY stateChanged)
public:
enum class State {
Complete, // already complete, mustn't call complete()
Incomplete, // the language is installed but lacks packages to be considered complete
Installing, // the language is currently installing associated packages to complete itself
};
Q_ENUM(State);
explicit Language(const QString &code_, QObject *parent = nullptr);
explicit Language(const QString &code_, State state_, QObject *parent = nullptr);
const QString code;
State state = State::Complete;
QStringList packages = {};
void reloadCompleteness(); // only used by model, not invokable from qml
Q_INVOKABLE void complete(); // called by qml when completion is requested
Q_SIGNALS:
void stateChanged();
};