on xenial help sign in
Refactor FullLightDM
commitfbecf4e320890f9a929d537c1cfac0d08ceb001e authorJosh Arenson <joshua.arenson@canonical.com> dateWed 26 Aug 2015, 20:07 (11 years ago) parent74769a8
5 files changed+42−21
plugins/CMakeLists.txt+1−1 plugins/LightDM/CMakeLists.txt+1−15 plugins/LightDM/FullLightDM/CMakeLists.txt+26 plugins/LightDM/plugin.cpp+1−1 plugins/LightDM/plugin.h+13−4
plugins/CMakeLists.txt+1−1
@@ -12,9 +12,9 @@ macro(add_unity8_plugin PLUGIN VERSION PATH)
1212endmacro()
1313
1414add_subdirectory(AccountsService)
15−add_subdirectory(FullLightDM)
1615add_subdirectory(Greeter)
1716add_subdirectory(IntegratedLightDM)
17+add_subdirectory(LightDM)
1818add_subdirectory(Lights)
1919add_subdirectory(Dash)
2020add_subdirectory(Powerd)
plugins/LightDM/CMakeLists.txt+1−15
@@ -1,5 +1,4 @@
11pkg_check_modules(LIBUSERMETRICSOUTPUT REQUIRED libusermetricsoutput-1)
2−pkg_check_modules(LIBLIGHTDM REQUIRED liblightdm-qt5-3)
32
43include_directories(
54 ${CMAKE_CURRENT_SOURCE_DIR}
@@ -19,17 +18,4 @@ set(QMLPLUGIN_SRC
1918 UsersModel.cpp
2019 )
2120
22−add_library(FullLightDM-qml MODULE
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)
21+add_subdirectory(FullLightDM)
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
5454 return UserMetricsOutput::UserMetrics::getInstance();
5555}
5656
57−void FullLightDMPlugin::registerTypes(const char *uri)
57+void PLUGIN_CLASSNAME::registerTypes(const char *uri)
5858{
5959 qmlRegisterType<QAbstractItemModel>();
6060 qmlRegisterType<UserMetricsOutput::ColorTheme>();
plugins/LightDM/plugin.h+13−4
@@ -15,13 +15,22 @@
1515 *
1616 */
1717
18−#ifndef FULL_LIGHTDM_PLUGIN_H
19−#define FULL_LIGHTDM_PLUGIN_H
18+#ifndef LIGHTDM_PLUGIN_H
19+#define LIGHTDM_PLUGIN_H
2020
2121#include <QtQml/QQmlEngine>
2222#include <QtQml/QQmlExtensionPlugin>
2323
24−class FullLightDMPlugin : public QQmlExtensionPlugin
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+
33+class PLUGIN_CLASSNAME : public QQmlExtensionPlugin
2534{
2635 Q_OBJECT
2736 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
@@ -30,4 +39,4 @@ public:
3039 void registerTypes(const char *uri) override;
3140};
3241
33−#endif /* FULL_LIGHTDM_PLUGIN_H */
42+#endif /* LIGHTDM_PLUGIN_H */