on xenial help sign in
export .indicators files from unity
331bab5Nick Dedekind
paths.h.in+9
@@ -20,6 +20,7 @@
20// Qt
20// Qt
21#include <QtCore/QCoreApplication>
21#include <QtCore/QCoreApplication>
22#include <QtCore/QDir>
22#include <QtCore/QDir>
23+#include <QStandardPaths>
23
24
24inline bool isRunningInstalled() {
25inline bool isRunningInstalled() {
25 static bool installed = (QCoreApplication::applicationDirPath() ==
26 static bool installed = (QCoreApplication::applicationDirPath() ==
@@ -59,6 +60,14 @@ inline QString fakePluginsImportPath() {
59 }
60 }
60}
61}
61
62
63+inline QStringList shellDataDirs() {
64+ QStringList dirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
65+ if (!isRunningInstalled()) {
66+ dirs.prepend("@CMAKE_BINARY_DIR@/share");
67+ }
68+ return dirs;
69+}
70+
62inline QString sourceDirectory() {
71inline QString sourceDirectory() {
63 return QString("@CMAKE_SOURCE_DIR@/");
72 return QString("@CMAKE_SOURCE_DIR@/");
64}
73}
plugins/IndicatorsClient/indicators/datetime/CMakeLists.txt+13
@@ -27,3 +27,16 @@ target_link_libraries(indicatorclient_datetime
27 ${QMENUMODEL_LDFLAGS}
27 ${QMENUMODEL_LDFLAGS}
28)
28)
29
29
30+set(INDICATOR_FILES
31+ ${CMAKE_CURRENT_SOURCE_DIR}/indicator-datetime.indicator
32+)
33+
34+# copy indicators file into build directory for shadow builds
35+file(COPY ${INDICATOR_FILES}
36+ DESTINATION ${CMAKE_BINARY_DIR}/share/unity/indicators
37+)
38+
39+# install indicator file
40+install(FILES ${INDICATOR_FILES}
41+ DESTINATION ${CMAKE_INSTALL_DATADIR}/unity/indicators
42+)
plugins/IndicatorsClient/indicators/datetime/indicator-datetime.indicatornew file+4
@@ -0,0 +1,4 @@
1+[Indicator Service]
2+Name=indicator-datetime
3+DBusName=com.canonical.indicator.time
4+ObjectPath=/com/canonical/indicator/time
plugins/IndicatorsClient/indicators/messaging/CMakeLists.txt+13
@@ -26,3 +26,16 @@ target_link_libraries(indicatorclient_messaging
26 ${QMENUMODEL_LDFLAGS}
26 ${QMENUMODEL_LDFLAGS}
27)
27)
28
28
29+set(INDICATOR_FILES
30+ ${CMAKE_CURRENT_SOURCE_DIR}/indicator-messaging.indicator
31+)
32+
33+# copy indicators file into build directory for shadow builds
34+file(COPY ${INDICATOR_FILES}
35+ DESTINATION ${CMAKE_BINARY_DIR}/share/unity/indicators
36+)
37+
38+# install indicator file
39+install(FILES ${INDICATOR_FILES}
40+ DESTINATION ${CMAKE_INSTALL_DATADIR}/unity/indicators
41+)
plugins/IndicatorsClient/indicators/messaging/indicator-messaging.indicatornew file+4
@@ -0,0 +1,4 @@
1+[Indicator Service]
2+Name=indicator-messaging
3+DBusName=com.canonical.indicator.messages
4+ObjectPath=/com/canonical/indicator/messages
plugins/IndicatorsClient/indicators/network/CMakeLists.txt+14
@@ -34,3 +34,17 @@ target_link_libraries(indicatorclient_network
34 ${LIBNM_UTIL_LIBRARIES}
34 ${LIBNM_UTIL_LIBRARIES}
35 ${QMENUMODEL_LDFLAGS}
35 ${QMENUMODEL_LDFLAGS}
36)
36)
37+
38+set(INDICATOR_FILES
39+ ${CMAKE_CURRENT_SOURCE_DIR}/indicator-network.indicator
40+)
41+
42+# copy indicators file into build directory for shadow builds
43+file(COPY ${INDICATOR_FILES}
44+ DESTINATION ${CMAKE_BINARY_DIR}/share/unity/indicators
45+)
46+
47+# install indicator file
48+install(FILES ${INDICATOR_FILES}
49+ DESTINATION ${CMAKE_INSTALL_DATADIR}/unity/indicators
50+)
plugins/IndicatorsClient/indicators/network/indicator-network.indicatornew file+4
@@ -0,0 +1,4 @@
1+[Indicator Service]
2+Name=indicator-network
3+DBusName=com.canonical.settings.network
4+ObjectPath=/com/canonical/settings/network
plugins/IndicatorsClient/indicators/power/CMakeLists.txt+13
@@ -26,3 +26,16 @@ target_link_libraries(indicatorclient_power
26 ${QMENUMODEL_LDFLAGS}
26 ${QMENUMODEL_LDFLAGS}
27)
27)
28
28
29+set(INDICATOR_FILES
30+ ${CMAKE_CURRENT_SOURCE_DIR}/indicator-power.indicator
31+)
32+
33+# copy indicators file into build directory for shadow builds
34+file(COPY ${INDICATOR_FILES}
35+ DESTINATION ${CMAKE_BINARY_DIR}/share/unity/indicators
36+)
37+
38+# install indicator file
39+install(FILES ${INDICATOR_FILES}
40+ DESTINATION ${CMAKE_INSTALL_DATADIR}/unity/indicators
41+)
plugins/IndicatorsClient/indicators/power/indicator-power.indicatornew file+4
@@ -0,0 +1,4 @@
1+[Indicator Service]
2+Name=indicator-power
3+DBusName=com.canonical.indicator.battery
4+ObjectPath=/com/canonical/indicator/battery
plugins/IndicatorsClient/indicators/sound/CMakeLists.txt+13
@@ -30,3 +30,16 @@ target_link_libraries(indicatorclient_sound
30 ${QMENUMODEL_LDFLAGS}
30 ${QMENUMODEL_LDFLAGS}
31)
31)
32
32
33+set(INDICATOR_FILES
34+ ${CMAKE_CURRENT_SOURCE_DIR}/indicator-sound.indicator
35+)
36+
37+# copy indicators file into build directory for shadow builds
38+file(COPY ${INDICATOR_FILES}
39+ DESTINATION ${CMAKE_BINARY_DIR}/share/unity/indicators
40+)
41+
42+# install indicator file
43+install(FILES ${INDICATOR_FILES}
44+ DESTINATION ${CMAKE_INSTALL_DATADIR}/unity/indicators
45+)
plugins/IndicatorsClient/indicators/sound/indicator-sound.indicatornew file+4
@@ -0,0 +1,4 @@
1+[Indicator Service]
2+Name=indicator-sound
3+DBusName=com.canonical.settings.sound
4+ObjectPath=/com/canonical/settings/sound
plugins/IndicatorsClient/indicatorsmanager.cpp+3−2
@@ -20,10 +20,11 @@
20#include "indicatorsmanager.h"
20#include "indicatorsmanager.h"
21#include "indicatorsfactory.h"
21#include "indicatorsfactory.h"
22
22
23−#include <QStandardPaths>
24#include <QSettings>
23#include <QSettings>
25#include <QDebug>
24#include <QDebug>
26
25
26+#include "paths.h"
27+
27
28
28class IndicatorsManager::IndicatorData
29class IndicatorsManager::IndicatorData
29{
30{
@@ -55,7 +56,7 @@ IndicatorsManager::~IndicatorsManager()
55void IndicatorsManager::load()
56void IndicatorsManager::load()
56{
57{
57 unload();
58 unload();
58− QStringList xdgLocations = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
59+ QStringList xdgLocations = shellDataDirs();//QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
59
60
60 m_fsWatcher.reset(new QFileSystemWatcher(this));
61 m_fsWatcher.reset(new QFileSystemWatcher(this));
61
62