on xenial help sign in
Refactor FullLightDM
fbecf4eJosh Arenson
plugins/CMakeLists.txt+1−1
@@ -12,9 +12,9 @@ macro(add_unity8_plugin PLUGIN VERSION PATH)
12endmacro()
12endmacro()
13
13
14add_subdirectory(AccountsService)
14add_subdirectory(AccountsService)
15−add_subdirectory(FullLightDM)
16add_subdirectory(Greeter)
15add_subdirectory(Greeter)
17add_subdirectory(IntegratedLightDM)
16add_subdirectory(IntegratedLightDM)
17+add_subdirectory(LightDM)
18add_subdirectory(Lights)
18add_subdirectory(Lights)
19add_subdirectory(Dash)
19add_subdirectory(Dash)
20add_subdirectory(Powerd)
20add_subdirectory(Powerd)
plugins/LightDM/CMakeLists.txt+1−15
@@ -1,5 +1,4 @@
1pkg_check_modules(LIBUSERMETRICSOUTPUT REQUIRED libusermetricsoutput-1)
1pkg_check_modules(LIBUSERMETRICSOUTPUT REQUIRED libusermetricsoutput-1)
2−pkg_check_modules(LIBLIGHTDM REQUIRED liblightdm-qt5-3)
3
2
4include_directories(
3include_directories(
5 ${CMAKE_CURRENT_SOURCE_DIR}
4 ${CMAKE_CURRENT_SOURCE_DIR}
@@ -19,17 +18,4 @@ set(QMLPLUGIN_SRC
19 UsersModel.cpp
18 UsersModel.cpp
20 )
19 )
21
20
22−add_library(FullLightDM-qml MODULE
21+add_subdirectory(FullLightDM)
23− ${QMLPLUGIN_SRC}
24− )
25−
26−target_link_libraries(FullLightDM-qml
27− unity8-private
28− lightdm-qt5-3
29− ${LIBLIGHTDM_LDFLAGS}
30− ${LIBUSERMETRICSOUTPUT_LDFLAGS}
31− )
32−
33−qt5_use_modules(FullLightDM-qml DBus Gui Qml)
34−
35−add_unity8_plugin(FullLightDM 0.1 FullLightDM TARGETS FullLightDM-qml)
plugins/LightDM/FullLightDM/CMakeLists.txtnew file+26
@@ -0,0 +1,26 @@
1+pkg_check_modules(LIBLIGHTDM REQUIRED liblightdm-qt5-3)
2+
3+set(PLUGIN_CLASSNAME "FullLightDM")
4+configure_file(../qmldir.in ${CMAKE_CURRENT_BINARY_DIR}/qmldir)
5+
6+add_definitions(-DFULL_LIGHTDM)
7+
8+include_directories(../)
9+
10+foreach(l ${QMLPLUGIN_SRC})
11+ list(APPEND "${${QMLPLUGIN_SRC}_TMP}" ../${l})
12+endforeach()
13+
14+add_library(FullLightDM-qml MODULE
15+ ${QMLPLUGIN_SRC_TMP}
16+ )
17+
18+target_link_libraries(FullLightDM-qml
19+ unity8-private
20+ lightdm-qt5-3
21+ ${LIBLIGHTDM_LDFLAGS}
22+ ${LIBUSERMETRICSOUTPUT_LDFLAGS}
23+ )
24+
25+qt5_use_modules(FullLightDM-qml DBus Gui Qml)
26+add_unity8_plugin(FullLightDM 0.1 FullLightDM TARGETS FullLightDM-qml)
plugins/LightDM/plugin.cpp+1−1
@@ -54,7 +54,7 @@ static QObject *infographic_provider(QQmlEngine *engine, QJSEngine *scriptEngine
54 return UserMetricsOutput::UserMetrics::getInstance();
54 return UserMetricsOutput::UserMetrics::getInstance();
55}
55}
56
56
57−void FullLightDMPlugin::registerTypes(const char *uri)
57+void PLUGIN_CLASSNAME::registerTypes(const char *uri)
58{
58{
59 qmlRegisterType<QAbstractItemModel>();
59 qmlRegisterType<QAbstractItemModel>();
60 qmlRegisterType<UserMetricsOutput::ColorTheme>();
60 qmlRegisterType<UserMetricsOutput::ColorTheme>();
plugins/LightDM/plugin.h+13−4
@@ -15,13 +15,22 @@
15 *
15 *
16 */
16 */
17
17
18−#ifndef FULL_LIGHTDM_PLUGIN_H
18+#ifndef LIGHTDM_PLUGIN_H
19−#define FULL_LIGHTDM_PLUGIN_H
19+#define LIGHTDM_PLUGIN_H
20
20
21#include <QtQml/QQmlEngine>
21#include <QtQml/QQmlEngine>
22#include <QtQml/QQmlExtensionPlugin>
22#include <QtQml/QQmlExtensionPlugin>
23
23
24+#if defined INTEGRATED_LIGHTDM
25+ #define PLUGIN_CLASSNAME FullLightDMPlugin
26+#elif defined FULL_LIGHTDM
27+ #define PLUGIN_CLASSNAME IntegratedLightDMPlugin
28+#else
29+ #error No library defined in LightDM plugin
30+#endif
31+
32+
24−class FullLightDMPlugin : public QQmlExtensionPlugin
33+class PLUGIN_CLASSNAME : public QQmlExtensionPlugin
25{
34{
26 Q_OBJECT
35 Q_OBJECT
27 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
36 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
@@ -30,4 +39,4 @@ public:
30 void registerTypes(const char *uri) override;
39 void registerTypes(const char *uri) override;
31};
40};
32
41
33−#endif /* FULL_LIGHTDM_PLUGIN_H */
42+#endif /* LIGHTDM_PLUGIN_H */