on xenial help sign in
If not running in Mir load the "fake" application manager
commita566d716c55c0c33c5db06db111df8946ace135e authorAlbert Astals <albert.astals@canonical.com> dateWed 2 Apr 2014, 12:19 (13 years ago) parent67dedce
3 files changed+27
include/paths.h.in+10 src/main.cpp+3 tests/mocks/Unity/Application/CMakeLists.txt+14
include/paths.h.in+10
@@ -57,6 +57,16 @@ inline QStringList overrideImportPaths() {
5757 return paths;
5858}
5959
60+inline QStringList nonMirImportPaths() {
61+ QStringList paths;
62+ if (isRunningInstalled()) {
63+ paths << QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/nonmirplugins");
64+ } else {
65+ paths << QString("@CMAKE_BINARY_DIR@/nonmirplugins");
66+ }
67+ return paths;
68+}
69+
6070inline QStringList fallbackImportPaths() {
6171 QStringList paths;
6272 if (isRunningInstalled()) {
src/main.cpp+3
@@ -117,6 +117,9 @@ int startShell(int argc, const char** argv, void* server)
117117
118118 QUrl source(::qmlDirectory()+"Shell.qml");
119119 prependImportPaths(view->engine(), ::overrideImportPaths());
120+ if (!isUbuntuMirServer) {
121+ prependImportPaths(view->engine(), ::nonMirImportPaths());
122+ }
120123 appendImportPaths(view->engine(), ::fallbackImportPaths());
121124
122125 view->setSource(source);
tests/mocks/Unity/Application/CMakeLists.txt+14
@@ -35,3 +35,17 @@ install(TARGETS FakeUnityApplicationQml
3535install(FILES qmldir InputFilterArea.qml OSKController.qml
3636 DESTINATION ${SHELL_INSTALL_QML}/mocks/Unity/Application
3737 )
38+
39+# Duplicate the mock to nonmirplugins
40+# In shadow builds we just link it, in real installs we also install it to the other path
41+add_custom_target(OSKControllerQmlFile2 ALL
42+ COMMAND mkdir -p ${CMAKE_BINARY_DIR}/nonmirplugins/Unity && rm -f ${CMAKE_BINARY_DIR}/nonmirplugins/Unity/Application && ln -s ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR}/nonmirplugins/Unity
43+ DEPENDS qmldir
44+)
45+install(TARGETS FakeUnityApplicationQml
46+ DESTINATION ${SHELL_INSTALL_QML}/nonmirplugins/Unity/Application
47+ )
48+
49+install(FILES qmldir InputFilterArea.qml OSKController.qml
50+ DESTINATION ${SHELL_INSTALL_QML}/nonmirplugins/Unity/Application
51+ )