27 lines
785 B
Rust
27 lines
785 B
Rust
use cpp::{cpp, cpp_class};
|
|
use qmetaobject::prelude::*;
|
|
use qmetaobject::QObjectPinned;
|
|
|
|
cpp! {{
|
|
#include <KLocalizedContext>
|
|
#include <QtCore/QObject>
|
|
#include <QtQml/QQmlEngine>
|
|
#include <QtQuick/QtQuick>
|
|
|
|
struct KLocalizedContextHolder {
|
|
std::unique_ptr<KLocalizedContext> klocalized;
|
|
|
|
KLocalizedContextHolder(QObject *parent) : klocalized(new KLocalizedContext(parent)) {}
|
|
};
|
|
}}
|
|
|
|
cpp_class!(pub unsafe struct KLocalizedContext as "KLocalizedContextHolder");
|
|
|
|
impl KLocalizedContext {
|
|
pub fn init_from_engine(engine: &QmlEngine) {
|
|
let engine_ptr = engine.cpp_ptr();
|
|
cpp!(unsafe [engine_ptr as "QQmlEngine*"] {
|
|
engine_ptr->rootContext()->setContextObject(new KLocalizedContext(engine_ptr));
|
|
});
|
|
}
|
|
}
|