mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core,tests: change qml register function
In order to address the C++ object directy in qml, a different registration is needed. qmlRegisterType, registers the C++ class, allowing qml code to inherit from it and make qml objects. This is needed for graphical elemnets like profile and map setContentProperty, registers the C++ object, thus allowing signals to be catched. Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
a71afd31ee
commit
d0edc29636
9 changed files with 62 additions and 59 deletions
|
@ -35,7 +35,6 @@ static void register_meta_types();
|
|||
void init_ui()
|
||||
{
|
||||
init_qt_late();
|
||||
register_qml_types();
|
||||
register_meta_types();
|
||||
#ifndef SUBSURFACE_MOBILE
|
||||
PluginManager::instance().loadPlugins();
|
||||
|
@ -60,11 +59,15 @@ double get_screen_dpi()
|
|||
return mydesk->physicalDpiX();
|
||||
}
|
||||
|
||||
// Forward declaration
|
||||
static void register_qml_types(QQmlEngine *);
|
||||
|
||||
void run_ui()
|
||||
{
|
||||
|
||||
#ifdef SUBSURFACE_MOBILE
|
||||
QQmlApplicationEngine engine;
|
||||
register_qml_types(&engine);
|
||||
LOG_STP("run_ui qml engine started");
|
||||
KirigamiPlugin::getInstance().registerTypes();
|
||||
#if defined(__APPLE__) && !defined(Q_OS_IOS)
|
||||
|
@ -135,6 +138,7 @@ void run_ui()
|
|||
qml_window->show();
|
||||
LOG_STP("run_ui running exec");
|
||||
#else
|
||||
register_qml_types(NULL);
|
||||
MainWindow::instance()->show();
|
||||
#endif // SUBSURFACE_MOBILE
|
||||
qApp->exec();
|
||||
|
@ -152,16 +156,14 @@ static void register_meta_types()
|
|||
if (rc < 0) \
|
||||
qWarning() << "ERROR: Cannot register " << useQML << ", QML will not work!!";
|
||||
|
||||
void register_qml_types()
|
||||
void register_qml_types(QQmlEngine *engine)
|
||||
{
|
||||
int rc;
|
||||
|
||||
(void)rc;
|
||||
|
||||
// register qPref*
|
||||
qPref::instance()->registerQML();
|
||||
qPref::instance()->registerQML(engine);
|
||||
|
||||
#ifndef SUBSURFACE_TEST_DATA
|
||||
int rc;
|
||||
|
||||
#ifdef SUBSURFACE_MOBILE
|
||||
REGISTER_TYPE(QMLManager, "QMLManager");
|
||||
REGISTER_TYPE(QMLPrefs, "QMLPrefs");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue