[-]
[+]
|
Changed |
_service:tar_git:libglacierapp.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:libglacierapp.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -6,7 +6,7 @@
<service name="tar_git">
<param name="url">https://github.com/nemomobile-ux/libglacierapp.git</param>
<param name="branch">master</param>
- <param name="revision">f93e6493031026a15adee229f61235f4b86492d5</param>
+ <param name="revision">2eaf9d7eb323016e84c09933a125eec93b24e1a3</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:libglacierapp-0.3.tar.bz2/src/glacierapp.cpp
^
|
@@ -29,11 +29,19 @@
#include <QQmlContext>
#include <QDebug>
+#ifdef HAVE_CACHE
+#include <MDeclarativeCache>
+#endif
+
QGuiApplication *GlacierApp::app(int &argc, char **argv)
{
setenv("QT_QUICK_CONTROLS_STYLE", "Nemo", 1);
+#ifdef HAVE_CACHE
+ QGuiApplication *app = MDeclarativeCache::qApplication(argc, argv);
+#else
QGuiApplication *app = new QGuiApplication(argc, argv);
+#endif
QFileInfo exe = QFileInfo(app->applicationFilePath());
app->setApplicationName(exe.fileName());
@@ -45,23 +53,32 @@
return app;
}
+QQmlApplicationEngine *GlacierApp::engine(QObject *parent)
+{
+ static QQmlApplicationEngine* s_engine = nullptr;
+ if (!s_engine)
+ {
+ s_engine = new QQmlApplicationEngine(parent);
+ }
+ return s_engine;
+}
+
QQuickWindow *GlacierApp::showWindow()
{
- QQmlApplicationEngine* engine = new QQmlApplicationEngine(qApp);
+ QQmlApplicationEngine* engine = GlacierApp::engine(qApp);
engine->load(QUrl::fromLocalFile(QStringLiteral("/usr/share/%1/qml/%1.qml").arg(QCoreApplication::applicationName())));
if (engine->rootObjects().isEmpty())
{
qCritical() << "Root object is empty";
- engine->deleteLater();
- return nullptr;
}
QObject *topLevel = engine->rootObjects().first();
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
engine->rootContext()->setContextProperty("__window", window);
- if (!window) {
+
+ if (!window)
+ {
qCritical() << "Top object is not Window!";
- engine->deleteLater();
return nullptr;
}
if(QCoreApplication::arguments().contains("--prestart") || QCoreApplication::arguments().contains("-p"))
|
[-]
[+]
|
Changed |
_service:tar_git:libglacierapp-0.3.tar.bz2/src/glacierapp.h
^
|
@@ -23,12 +23,14 @@
#include <QObject>
class QGuiApplication;
+class QQmlApplicationEngine;
class QQuickWindow;
class GlacierApp : public QObject
{
Q_OBJECT
public:
static QGuiApplication* app(int &argc, char **argv);
+ static QQmlApplicationEngine* engine(QObject *parent = nullptr);
static QQuickWindow* showWindow();
};
|
[-]
[+]
|
Changed |
_service:tar_git:libglacierapp-0.3.tar.bz2/src/src.pro
^
|
@@ -3,6 +3,16 @@
QT += gui qml
CONFIG += qt link_pkgconfig
+packagesExist(qdeclarative5-boostable) {
+ message("Building with qdeclarative-boostable support")
+ LIBS += -rdynamic -lmdeclarativecache5
+ DEFINES += HAVE_CACHE=1
+ QMAKE_CXXFLAGS += -fPIC -I/usr/include/mdeclarativecache5
+ QMAKE_PKGCONFIG_REQUIRES += qdeclarative5-boostable
+} else {
+ warning("qdeclarative-boostable not available; startup times will be slower")
+}
+
VERSION = 0.1.0
# Input
|