Merge lp:~unity-api-team/libusermetrics/read-translations-from-click into lp:libusermetrics/rtm-14.09
- read-translations-from-click
- Merge into rtm-14.09
Proposed by
Pete Woods
Status: | Merged |
---|---|
Approved by: | Pete Woods |
Approved revision: | 195 |
Merged at revision: | 189 |
Proposed branch: | lp:~unity-api-team/libusermetrics/read-translations-from-click |
Merge into: | lp:libusermetrics/rtm-14.09 |
Diff against target: |
865 lines (+261/-56) 21 files modified
CMakeLists.txt (+10/-1) data/com.canonical.usermetrics.DataSource.xml (+2/-0) debian/control (+1/-0) src/libusermetricscommon/DateFactory.h (+1/-0) src/libusermetricsoutput/SyncedDataSource.cpp (+2/-2) src/libusermetricsoutput/SyncedDataSource.h (+1/-1) src/libusermetricsoutput/SyncedUserMetricsStore.cpp (+3/-5) src/libusermetricsoutput/SyncedUserMetricsStore.h (+1/-3) src/usermetricsservice/CMakeLists.txt (+6/-2) src/usermetricsservice/DBusDataSet.h (+1/-0) src/usermetricsservice/DBusDataSource.cpp (+9/-2) src/usermetricsservice/DBusDataSource.h (+14/-1) src/usermetricsservice/DBusUserMetrics.cpp (+5/-4) src/usermetricsservice/DBusUserMetrics.h (+5/-1) src/usermetricsservice/TranslationLocator.h (+34/-0) src/usermetricsservice/TranslationLocatorImpl.cpp (+69/-0) src/usermetricsservice/TranslationLocatorImpl.h (+34/-0) src/usermetricsservice/main.cpp (+3/-1) tests/data/valgrind.suppression (+15/-0) tests/integration/libusermetricsoutput/TestUserMetrics.cpp (+3/-3) tests/unit/usermetricsservice/TestUserMetricsService.cpp (+42/-30) |
To merge this branch: | bzr merge lp:~unity-api-team/libusermetrics/read-translations-from-click |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Unity Team | Pending | ||
Review via email: mp+247973@code.launchpad.net |
Commit message
Read translations from click packages
Description of the change
Read translations from click packages
To post a comment you must log in.
- 190. By Pete Woods
-
Remove debugging code
- 191. By Pete Woods
-
Remove noise
- 192. By Pete Woods
-
There's a new leak in QNetworkAccessM
anager - 193. By Pete Woods
-
Build under latest Qt revision
- 194. By Pete Woods
-
More fixes for new Qt version
- 195. By Pete Woods
-
Disable pointless test
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'CMakeLists.txt' | |||
2 | --- CMakeLists.txt 2013-09-26 09:12:58 +0000 | |||
3 | +++ CMakeLists.txt 2015-02-18 16:24:46 +0000 | |||
4 | @@ -40,6 +40,15 @@ | |||
5 | 40 | find_package(Qt5Qml REQUIRED) | 40 | find_package(Qt5Qml REQUIRED) |
6 | 41 | include_directories(${Qt5Qml_INCLUDE_DIRS}) | 41 | include_directories(${Qt5Qml_INCLUDE_DIRS}) |
7 | 42 | 42 | ||
8 | 43 | pkg_check_modules(GLIB2 REQUIRED glib-2.0) | ||
9 | 44 | include_directories(${GLIB2_INCLUDE_DIRS}) | ||
10 | 45 | |||
11 | 46 | pkg_check_modules(GOBJECT2 REQUIRED gobject-2.0) | ||
12 | 47 | include_directories(${GOBJECT2_INCLUDE_DIRS}) | ||
13 | 48 | |||
14 | 49 | pkg_check_modules(CLICK REQUIRED click-0.4 REQUIRED) | ||
15 | 50 | include_directories(${CLICK_INCLUDE_DIRS}) | ||
16 | 51 | |||
17 | 43 | pkg_check_modules(QDJANGO_DB REQUIRED qdjango-db REQUIRED) | 52 | pkg_check_modules(QDJANGO_DB REQUIRED qdjango-db REQUIRED) |
18 | 44 | include_directories(${QDJANGO_DB_INCLUDE_DIRS}) | 53 | include_directories(${QDJANGO_DB_INCLUDE_DIRS}) |
19 | 45 | 54 | ||
20 | @@ -98,4 +107,4 @@ | |||
21 | 98 | ADD_CUSTOM_TARGET( | 107 | ADD_CUSTOM_TARGET( |
22 | 99 | check | 108 | check |
23 | 100 | ${CMAKE_CTEST_COMMAND} --force-new-ctest-process --output-on-failure | 109 | ${CMAKE_CTEST_COMMAND} --force-new-ctest-process --output-on-failure |
24 | 101 | ) | ||
25 | 102 | \ No newline at end of file | 110 | \ No newline at end of file |
26 | 111 | ) | ||
27 | 103 | 112 | ||
28 | === modified file 'data/com.canonical.usermetrics.DataSource.xml' | |||
29 | --- data/com.canonical.usermetrics.DataSource.xml 2013-09-03 14:59:00 +0000 | |||
30 | +++ data/com.canonical.usermetrics.DataSource.xml 2015-02-18 16:24:46 +0000 | |||
31 | @@ -38,5 +38,7 @@ | |||
32 | 38 | <arg name="options" type="a{sv}" direction="out"/> | 38 | <arg name="options" type="a{sv}" direction="out"/> |
33 | 39 | </signal> | 39 | </signal> |
34 | 40 | 40 | ||
35 | 41 | <property name="translationPath" type="s" access="read"/> | ||
36 | 42 | |||
37 | 41 | </interface> | 43 | </interface> |
38 | 42 | </node> | 44 | </node> |
39 | 43 | \ No newline at end of file | 45 | \ No newline at end of file |
40 | 44 | 46 | ||
41 | === modified file 'debian/control' | |||
42 | --- debian/control 2014-09-08 08:11:49 +0000 | |||
43 | +++ debian/control 2015-02-18 16:24:46 +0000 | |||
44 | @@ -9,6 +9,7 @@ | |||
45 | 9 | gettext, | 9 | gettext, |
46 | 10 | google-mock (>= 1.6.0+svn437), | 10 | google-mock (>= 1.6.0+svn437), |
47 | 11 | libapparmor-dev, | 11 | libapparmor-dev, |
48 | 12 | libclick-0.4-dev, | ||
49 | 12 | libgsettings-qt-dev, | 13 | libgsettings-qt-dev, |
50 | 13 | libgtest-dev, | 14 | libgtest-dev, |
51 | 14 | libqdjango-dev, | 15 | libqdjango-dev, |
52 | 15 | 16 | ||
53 | === modified file 'src/libusermetricscommon/DateFactory.h' | |||
54 | --- src/libusermetricscommon/DateFactory.h 2013-06-26 15:40:46 +0000 | |||
55 | +++ src/libusermetricscommon/DateFactory.h 2015-02-18 16:24:46 +0000 | |||
56 | @@ -20,6 +20,7 @@ | |||
57 | 20 | #define USERMETRICSCOMMON_DATEFACTORY_H_ | 20 | #define USERMETRICSCOMMON_DATEFACTORY_H_ |
58 | 21 | 21 | ||
59 | 22 | #include <QtCore/QDate> | 22 | #include <QtCore/QDate> |
60 | 23 | #include <QtCore/QObject> | ||
61 | 23 | 24 | ||
62 | 24 | namespace UserMetricsCommon { | 25 | namespace UserMetricsCommon { |
63 | 25 | 26 | ||
64 | 26 | 27 | ||
65 | === modified file 'src/libusermetricsoutput/SyncedDataSource.cpp' | |||
66 | --- src/libusermetricsoutput/SyncedDataSource.cpp 2013-09-04 09:09:23 +0000 | |||
67 | +++ src/libusermetricsoutput/SyncedDataSource.cpp 2015-02-18 16:24:46 +0000 | |||
68 | @@ -22,8 +22,8 @@ | |||
69 | 22 | 22 | ||
70 | 23 | SyncedDataSource::SyncedDataSource( | 23 | SyncedDataSource::SyncedDataSource( |
71 | 24 | QSharedPointer<com::canonical::usermetrics::DataSource> interface, | 24 | QSharedPointer<com::canonical::usermetrics::DataSource> interface, |
74 | 25 | const QString &localeDir, QObject *parent) : | 25 | QObject *parent) : |
75 | 26 | DataSource(localeDir, parent), m_interface(interface) { | 26 | DataSource(interface->translationPath(), parent), m_interface(interface) { |
76 | 27 | 27 | ||
77 | 28 | connect(m_interface.data(), SIGNAL(formatStringChanged(const QString &)), | 28 | connect(m_interface.data(), SIGNAL(formatStringChanged(const QString &)), |
78 | 29 | this, SLOT(setFormatString(const QString &))); | 29 | this, SLOT(setFormatString(const QString &))); |
79 | 30 | 30 | ||
80 | === modified file 'src/libusermetricsoutput/SyncedDataSource.h' | |||
81 | --- src/libusermetricsoutput/SyncedDataSource.h 2013-09-04 09:09:23 +0000 | |||
82 | +++ src/libusermetricsoutput/SyncedDataSource.h 2015-02-18 16:24:46 +0000 | |||
83 | @@ -30,7 +30,7 @@ | |||
84 | 30 | public: | 30 | public: |
85 | 31 | SyncedDataSource( | 31 | SyncedDataSource( |
86 | 32 | QSharedPointer<com::canonical::usermetrics::DataSource> interface, | 32 | QSharedPointer<com::canonical::usermetrics::DataSource> interface, |
88 | 33 | const QString &localeDir = LOCALEDIR, QObject *parent = 0); | 33 | QObject *parent = 0); |
89 | 34 | 34 | ||
90 | 35 | virtual ~SyncedDataSource(); | 35 | virtual ~SyncedDataSource(); |
91 | 36 | 36 | ||
92 | 37 | 37 | ||
93 | === modified file 'src/libusermetricsoutput/SyncedUserMetricsStore.cpp' | |||
94 | --- src/libusermetricsoutput/SyncedUserMetricsStore.cpp 2013-10-22 08:53:23 +0000 | |||
95 | +++ src/libusermetricsoutput/SyncedUserMetricsStore.cpp 2015-02-18 16:24:46 +0000 | |||
96 | @@ -28,11 +28,9 @@ | |||
97 | 28 | using namespace UserMetricsOutput; | 28 | using namespace UserMetricsOutput; |
98 | 29 | 29 | ||
99 | 30 | SyncedUserMetricsStore::SyncedUserMetricsStore( | 30 | SyncedUserMetricsStore::SyncedUserMetricsStore( |
102 | 31 | const QDBusConnection &dbusConnection, const QString &localeDir, | 31 | const QDBusConnection &dbusConnection, QObject *parent) : |
101 | 32 | QObject *parent) : | ||
103 | 33 | UserMetricsStore(parent), m_interface(DBusPaths::serviceName(), | 32 | UserMetricsStore(parent), m_interface(DBusPaths::serviceName(), |
106 | 34 | DBusPaths::userMetrics(), dbusConnection), m_localeDir( | 33 | DBusPaths::userMetrics(), dbusConnection) { |
105 | 35 | localeDir) { | ||
107 | 36 | QTimer::singleShot(0, this, SLOT(sync())); | 34 | QTimer::singleShot(0, this, SLOT(sync())); |
108 | 37 | } | 35 | } |
109 | 38 | 36 | ||
110 | @@ -134,7 +132,7 @@ | |||
111 | 134 | path.path(), m_interface.connection())); | 132 | path.path(), m_interface.connection())); |
112 | 135 | 133 | ||
113 | 136 | insert(path.path(), | 134 | insert(path.path(), |
115 | 137 | DataSourcePtr(new SyncedDataSource(dataSource, m_localeDir))); | 135 | DataSourcePtr(new SyncedDataSource(dataSource))); |
116 | 138 | } | 136 | } |
117 | 139 | 137 | ||
118 | 140 | void SyncedUserMetricsStore::removeDataSource(const QDBusObjectPath &path) { | 138 | void SyncedUserMetricsStore::removeDataSource(const QDBusObjectPath &path) { |
119 | 141 | 139 | ||
120 | === modified file 'src/libusermetricsoutput/SyncedUserMetricsStore.h' | |||
121 | --- src/libusermetricsoutput/SyncedUserMetricsStore.h 2013-10-22 08:53:23 +0000 | |||
122 | +++ src/libusermetricsoutput/SyncedUserMetricsStore.h 2015-02-18 16:24:46 +0000 | |||
123 | @@ -30,7 +30,7 @@ | |||
124 | 30 | 30 | ||
125 | 31 | public: | 31 | public: |
126 | 32 | explicit SyncedUserMetricsStore(const QDBusConnection &dbusConnection, | 32 | explicit SyncedUserMetricsStore(const QDBusConnection &dbusConnection, |
128 | 33 | const QString &localeDir = LOCALEDIR, QObject *parent = 0); | 33 | QObject *parent = 0); |
129 | 34 | 34 | ||
130 | 35 | virtual ~SyncedUserMetricsStore(); | 35 | virtual ~SyncedUserMetricsStore(); |
131 | 36 | 36 | ||
132 | @@ -53,8 +53,6 @@ | |||
133 | 53 | QSharedPointer<com::canonical::usermetrics::UserData> systemData); | 53 | QSharedPointer<com::canonical::usermetrics::UserData> systemData); |
134 | 54 | 54 | ||
135 | 55 | com::canonical::UserMetrics m_interface; | 55 | com::canonical::UserMetrics m_interface; |
136 | 56 | |||
137 | 57 | QString m_localeDir; | ||
138 | 58 | } | 56 | } |
139 | 59 | ; | 57 | ; |
140 | 60 | 58 | ||
141 | 61 | 59 | ||
142 | === modified file 'src/usermetricsservice/CMakeLists.txt' | |||
143 | --- src/usermetricsservice/CMakeLists.txt 2013-09-24 11:26:56 +0000 | |||
144 | +++ src/usermetricsservice/CMakeLists.txt 2015-02-18 16:24:46 +0000 | |||
145 | @@ -8,6 +8,7 @@ | |||
146 | 8 | DBusDataSource.cpp | 8 | DBusDataSource.cpp |
147 | 9 | DBusUserData.cpp | 9 | DBusUserData.cpp |
148 | 10 | DBusUserMetrics.cpp | 10 | DBusUserMetrics.cpp |
149 | 11 | TranslationLocatorImpl.cpp | ||
150 | 11 | ) | 12 | ) |
151 | 12 | 13 | ||
152 | 13 | qt5_add_dbus_adaptor( | 14 | qt5_add_dbus_adaptor( |
153 | @@ -58,8 +59,11 @@ | |||
154 | 58 | target_link_libraries( | 59 | target_link_libraries( |
155 | 59 | usermetricsservice | 60 | usermetricsservice |
156 | 60 | usermetricscommon | 61 | usermetricscommon |
159 | 61 | ${QDJANGO_DB_LIBRARIES} | 62 | ${QDJANGO_DB_LDFLAGS} |
160 | 62 | ${APPARMOR_LIBRARIES} | 63 | ${APPARMOR_LDFLAGS} |
161 | 64 | ${GLIB2_LDFLAGS} | ||
162 | 65 | ${GOBJECT2_LDFLAGS} | ||
163 | 66 | ${CLICK_LDFLAGS} | ||
164 | 63 | ) | 67 | ) |
165 | 64 | 68 | ||
166 | 65 | ############################ | 69 | ############################ |
167 | 66 | 70 | ||
168 | === modified file 'src/usermetricsservice/DBusDataSet.h' | |||
169 | --- src/usermetricsservice/DBusDataSet.h 2013-10-22 08:53:23 +0000 | |||
170 | +++ src/usermetricsservice/DBusDataSet.h 2015-02-18 16:24:46 +0000 | |||
171 | @@ -22,6 +22,7 @@ | |||
172 | 22 | #include <QtCore/QObject> | 22 | #include <QtCore/QObject> |
173 | 23 | #include <QtCore/QDate> | 23 | #include <QtCore/QDate> |
174 | 24 | #include <QtCore/QScopedPointer> | 24 | #include <QtCore/QScopedPointer> |
175 | 25 | #include <QtCore/QSharedPointer> | ||
176 | 25 | #include <QtDBus/QDBusContext> | 26 | #include <QtDBus/QDBusContext> |
177 | 26 | #include <QtDBus/QDBusConnection> | 27 | #include <QtDBus/QDBusConnection> |
178 | 27 | #include <QtDBus/QDBusObjectPath> | 28 | #include <QtDBus/QDBusObjectPath> |
179 | 28 | 29 | ||
180 | === modified file 'src/usermetricsservice/DBusDataSource.cpp' | |||
181 | --- src/usermetricsservice/DBusDataSource.cpp 2013-09-25 09:42:13 +0000 | |||
182 | +++ src/usermetricsservice/DBusDataSource.cpp 2015-02-18 16:24:46 +0000 | |||
183 | @@ -21,6 +21,7 @@ | |||
184 | 21 | #include <usermetricsservice/database/DataSource.h> | 21 | #include <usermetricsservice/database/DataSource.h> |
185 | 22 | #include <usermetricsservice/DBusDataSource.h> | 22 | #include <usermetricsservice/DBusDataSource.h> |
186 | 23 | #include <usermetricsservice/DataSourceAdaptor.h> | 23 | #include <usermetricsservice/DataSourceAdaptor.h> |
187 | 24 | #include <usermetricsservice/TranslationLocator.h> | ||
188 | 24 | #include <libusermetricscommon/DBusPaths.h> | 25 | #include <libusermetricscommon/DBusPaths.h> |
189 | 25 | #include <libusermetricscommon/Localisation.h> | 26 | #include <libusermetricscommon/Localisation.h> |
190 | 26 | 27 | ||
191 | @@ -31,10 +32,12 @@ | |||
192 | 31 | using namespace UserMetricsService; | 32 | using namespace UserMetricsService; |
193 | 32 | 33 | ||
194 | 33 | DBusDataSource::DBusDataSource(int id, const QString &name, | 34 | DBusDataSource::DBusDataSource(int id, const QString &name, |
196 | 34 | QDBusConnection &dbusConnection, QObject *parent) : | 35 | const QString &packageId, QDBusConnection &dbusConnection, |
197 | 36 | QSharedPointer<TranslationLocator> translationLocator, QObject *parent) : | ||
198 | 35 | QObject(parent), m_dbusConnection(dbusConnection), m_adaptor( | 37 | QObject(parent), m_dbusConnection(dbusConnection), m_adaptor( |
199 | 36 | new DataSourceAdaptor(this)), m_id(id), m_path( | 38 | new DataSourceAdaptor(this)), m_id(id), m_path( |
201 | 37 | DBusPaths::dataSource(m_id)), m_name(name) { | 39 | DBusPaths::dataSource(m_id)), m_name(name), m_packageId( |
202 | 40 | packageId), m_translationLocator(translationLocator) { | ||
203 | 38 | 41 | ||
204 | 39 | // DBus setup | 42 | // DBus setup |
205 | 40 | m_dbusConnection.registerObject(m_path, this); | 43 | m_dbusConnection.registerObject(m_path, this); |
206 | @@ -49,6 +52,10 @@ | |||
207 | 49 | return m_path; | 52 | return m_path; |
208 | 50 | } | 53 | } |
209 | 51 | 54 | ||
210 | 55 | QString DBusDataSource::translationPath() const { | ||
211 | 56 | return m_translationLocator->locate(m_packageId); | ||
212 | 57 | } | ||
213 | 58 | |||
214 | 52 | QString DBusDataSource::name() const { | 59 | QString DBusDataSource::name() const { |
215 | 53 | return m_name; | 60 | return m_name; |
216 | 54 | } | 61 | } |
217 | 55 | 62 | ||
218 | === modified file 'src/usermetricsservice/DBusDataSource.h' | |||
219 | --- src/usermetricsservice/DBusDataSource.h 2013-09-25 09:42:13 +0000 | |||
220 | +++ src/usermetricsservice/DBusDataSource.h 2015-02-18 16:24:46 +0000 | |||
221 | @@ -21,6 +21,7 @@ | |||
222 | 21 | 21 | ||
223 | 22 | #include <QtCore/QObject> | 22 | #include <QtCore/QObject> |
224 | 23 | #include <QtCore/QScopedPointer> | 23 | #include <QtCore/QScopedPointer> |
225 | 24 | #include <QtCore/QSharedPointer> | ||
226 | 24 | #include <QtDBus/QDBusContext> | 25 | #include <QtDBus/QDBusContext> |
227 | 25 | #include <QtDBus/QDBusConnection> | 26 | #include <QtDBus/QDBusConnection> |
228 | 26 | 27 | ||
229 | @@ -30,6 +31,7 @@ | |||
230 | 30 | 31 | ||
231 | 31 | class DataSource; | 32 | class DataSource; |
232 | 32 | class DBusDataSource; | 33 | class DBusDataSource; |
233 | 34 | class TranslationLocator; | ||
234 | 33 | 35 | ||
235 | 34 | typedef QSharedPointer<DBusDataSource> DBusDataSourcePtr; | 36 | typedef QSharedPointer<DBusDataSource> DBusDataSourcePtr; |
236 | 35 | 37 | ||
237 | @@ -44,18 +46,23 @@ | |||
238 | 44 | 46 | ||
239 | 45 | Q_PROPERTY(QString textDomain READ textDomain WRITE setTextDomain) | 47 | Q_PROPERTY(QString textDomain READ textDomain WRITE setTextDomain) |
240 | 46 | 48 | ||
241 | 49 | Q_PROPERTY(QString translationPath READ translationPath) | ||
242 | 50 | |||
243 | 47 | Q_PROPERTY(unsigned int metricType READ metricType WRITE setMetricType) | 51 | Q_PROPERTY(unsigned int metricType READ metricType WRITE setMetricType) |
244 | 48 | 52 | ||
245 | 49 | Q_PROPERTY(QVariantMap options READ options) | 53 | Q_PROPERTY(QVariantMap options READ options) |
246 | 50 | 54 | ||
247 | 51 | public: | 55 | public: |
249 | 52 | DBusDataSource(int id, const QString &name, QDBusConnection &dbusConnection, | 56 | DBusDataSource(int id, const QString &name, const QString &packageId, |
250 | 57 | QDBusConnection &dbusConnection, QSharedPointer<TranslationLocator>, | ||
251 | 53 | QObject *parent = 0); | 58 | QObject *parent = 0); |
252 | 54 | 59 | ||
253 | 55 | virtual ~DBusDataSource(); | 60 | virtual ~DBusDataSource(); |
254 | 56 | 61 | ||
255 | 57 | QString path() const; | 62 | QString path() const; |
256 | 58 | 63 | ||
257 | 64 | QString translationPath() const; | ||
258 | 65 | |||
259 | 59 | QString name() const; | 66 | QString name() const; |
260 | 60 | 67 | ||
261 | 61 | QString formatString() const; | 68 | QString formatString() const; |
262 | @@ -107,7 +114,13 @@ | |||
263 | 107 | 114 | ||
264 | 108 | QString m_path; | 115 | QString m_path; |
265 | 109 | 116 | ||
266 | 117 | QString m_translationPath; | ||
267 | 118 | |||
268 | 110 | QString m_name; | 119 | QString m_name; |
269 | 120 | |||
270 | 121 | QString m_packageId; | ||
271 | 122 | |||
272 | 123 | QSharedPointer<TranslationLocator> m_translationLocator; | ||
273 | 111 | }; | 124 | }; |
274 | 112 | 125 | ||
275 | 113 | } | 126 | } |
276 | 114 | 127 | ||
277 | === modified file 'src/usermetricsservice/DBusUserMetrics.cpp' | |||
278 | --- src/usermetricsservice/DBusUserMetrics.cpp 2013-10-22 08:53:23 +0000 | |||
279 | +++ src/usermetricsservice/DBusUserMetrics.cpp 2015-02-18 16:24:46 +0000 | |||
280 | @@ -39,10 +39,11 @@ | |||
281 | 39 | 39 | ||
282 | 40 | DBusUserMetrics::DBusUserMetrics(const QDBusConnection &dbusConnection, | 40 | DBusUserMetrics::DBusUserMetrics(const QDBusConnection &dbusConnection, |
283 | 41 | QSharedPointer<DateFactory> dateFactory, | 41 | QSharedPointer<DateFactory> dateFactory, |
285 | 42 | QSharedPointer<Authentication> authentication, QObject *parent) : | 42 | QSharedPointer<Authentication> authentication, |
286 | 43 | QSharedPointer<TranslationLocator> translationLocator, QObject *parent) : | ||
287 | 43 | QObject(parent), m_dbusConnection(dbusConnection), m_adaptor( | 44 | QObject(parent), m_dbusConnection(dbusConnection), m_adaptor( |
288 | 44 | new UserMetricsAdaptor(this)), m_dateFactory(dateFactory), m_authentication( | 45 | new UserMetricsAdaptor(this)), m_dateFactory(dateFactory), m_authentication( |
290 | 45 | authentication) { | 46 | authentication), m_translationLocator(translationLocator) { |
291 | 46 | // Database setup | 47 | // Database setup |
292 | 47 | QDjango::registerModel<DataSource>().createTable(); | 48 | QDjango::registerModel<DataSource>().createTable(); |
293 | 48 | QDjango::registerModel<UserData>().createTable(); | 49 | QDjango::registerModel<UserData>().createTable(); |
294 | @@ -79,8 +80,8 @@ | |||
295 | 79 | // if we don't have a local cache | 80 | // if we don't have a local cache |
296 | 80 | if (!m_dataSources.contains(id)) { | 81 | if (!m_dataSources.contains(id)) { |
297 | 81 | DBusDataSourcePtr dbusDataSource( | 82 | DBusDataSourcePtr dbusDataSource( |
300 | 82 | new DBusDataSource(id, dataSource.name(), | 83 | new DBusDataSource(id, dataSource.name(), dataSource.secret(), |
301 | 83 | m_dbusConnection)); | 84 | m_dbusConnection, m_translationLocator)); |
302 | 84 | m_dataSources.insert(id, dbusDataSource); | 85 | m_dataSources.insert(id, dbusDataSource); |
303 | 85 | m_adaptor->dataSourceAdded( | 86 | m_adaptor->dataSourceAdded( |
304 | 86 | QDBusObjectPath(dbusDataSource->path())); | 87 | QDBusObjectPath(dbusDataSource->path())); |
305 | 87 | 88 | ||
306 | === modified file 'src/usermetricsservice/DBusUserMetrics.h' | |||
307 | --- src/usermetricsservice/DBusUserMetrics.h 2013-10-01 10:22:38 +0000 | |||
308 | +++ src/usermetricsservice/DBusUserMetrics.h 2015-02-18 16:24:46 +0000 | |||
309 | @@ -38,6 +38,7 @@ | |||
310 | 38 | class DBusDataSource; | 38 | class DBusDataSource; |
311 | 39 | class DBusUserData; | 39 | class DBusUserData; |
312 | 40 | class Authentication; | 40 | class Authentication; |
313 | 41 | class TranslationLocator; | ||
314 | 41 | 42 | ||
315 | 42 | class DBusUserMetrics: public QObject, protected QDBusContext { | 43 | class DBusUserMetrics: public QObject, protected QDBusContext { |
316 | 43 | Q_OBJECT | 44 | Q_OBJECT |
317 | @@ -49,7 +50,8 @@ | |||
318 | 49 | public: | 50 | public: |
319 | 50 | DBusUserMetrics(const QDBusConnection &dbusConnection, | 51 | DBusUserMetrics(const QDBusConnection &dbusConnection, |
320 | 51 | QSharedPointer<UserMetricsCommon::DateFactory> dateFactory, | 52 | QSharedPointer<UserMetricsCommon::DateFactory> dateFactory, |
322 | 52 | QSharedPointer<Authentication> authentication, QObject *parent = 0); | 53 | QSharedPointer<Authentication> authentication, |
323 | 54 | QSharedPointer<TranslationLocator>, QObject *parent = 0); | ||
324 | 53 | 55 | ||
325 | 54 | virtual ~DBusUserMetrics(); | 56 | virtual ~DBusUserMetrics(); |
326 | 55 | 57 | ||
327 | @@ -80,6 +82,8 @@ | |||
328 | 80 | 82 | ||
329 | 81 | QSharedPointer<Authentication> m_authentication; | 83 | QSharedPointer<Authentication> m_authentication; |
330 | 82 | 84 | ||
331 | 85 | QSharedPointer<TranslationLocator> m_translationLocator; | ||
332 | 86 | |||
333 | 83 | QMap<int, QSharedPointer<DBusDataSource>> m_dataSources; | 87 | QMap<int, QSharedPointer<DBusDataSource>> m_dataSources; |
334 | 84 | 88 | ||
335 | 85 | QMap<int, QSharedPointer<DBusUserData>> m_userData; | 89 | QMap<int, QSharedPointer<DBusUserData>> m_userData; |
336 | 86 | 90 | ||
337 | === added file 'src/usermetricsservice/TranslationLocator.h' | |||
338 | --- src/usermetricsservice/TranslationLocator.h 1970-01-01 00:00:00 +0000 | |||
339 | +++ src/usermetricsservice/TranslationLocator.h 2015-02-18 16:24:46 +0000 | |||
340 | @@ -0,0 +1,34 @@ | |||
341 | 1 | /* | ||
342 | 2 | * Copyright (C) 2013 Canonical, Ltd. | ||
343 | 3 | * | ||
344 | 4 | * This program is free software; you can redistribute it and/or modify | ||
345 | 5 | * it under the terms of the GNU General Public License as published by | ||
346 | 6 | * the Free Software Foundation; version 3. | ||
347 | 7 | * | ||
348 | 8 | * This program is distributed in the hope that it will be useful, | ||
349 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
350 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
351 | 11 | * GNU General Public License for more details. | ||
352 | 12 | * | ||
353 | 13 | * You should have received a copy of the GNU General Public License | ||
354 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
355 | 15 | * | ||
356 | 16 | * Author: Pete Woods <pete.woods@canonical.com> | ||
357 | 17 | */ | ||
358 | 18 | |||
359 | 19 | #pragma once | ||
360 | 20 | |||
361 | 21 | #include <QString> | ||
362 | 22 | |||
363 | 23 | namespace UserMetricsService { | ||
364 | 24 | |||
365 | 25 | class TranslationLocator { | ||
366 | 26 | public: | ||
367 | 27 | TranslationLocator() = default; | ||
368 | 28 | |||
369 | 29 | virtual ~TranslationLocator() = default; | ||
370 | 30 | |||
371 | 31 | virtual QString locate(const QString& id) = 0; | ||
372 | 32 | }; | ||
373 | 33 | |||
374 | 34 | } | ||
375 | 0 | 35 | ||
376 | === added file 'src/usermetricsservice/TranslationLocatorImpl.cpp' | |||
377 | --- src/usermetricsservice/TranslationLocatorImpl.cpp 1970-01-01 00:00:00 +0000 | |||
378 | +++ src/usermetricsservice/TranslationLocatorImpl.cpp 2015-02-18 16:24:46 +0000 | |||
379 | @@ -0,0 +1,69 @@ | |||
380 | 1 | /* | ||
381 | 2 | * Copyright (C) 2013 Canonical, Ltd. | ||
382 | 3 | * | ||
383 | 4 | * This program is free software; you can redistribute it and/or modify | ||
384 | 5 | * it under the terms of the GNU General Public License as published by | ||
385 | 6 | * the Free Software Foundation; version 3. | ||
386 | 7 | * | ||
387 | 8 | * This program is distributed in the hope that it will be useful, | ||
388 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
389 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
390 | 11 | * GNU General Public License for more details. | ||
391 | 12 | * | ||
392 | 13 | * You should have received a copy of the GNU General Public License | ||
393 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
394 | 15 | * | ||
395 | 16 | * Author: Pete Woods <pete.woods@canonical.com> | ||
396 | 17 | */ | ||
397 | 18 | |||
398 | 19 | #define QT_NO_SIGNALS_SLOTS_KEYWORDS 1 | ||
399 | 20 | |||
400 | 21 | #include <usermetricsservice/TranslationLocatorImpl.h> | ||
401 | 22 | |||
402 | 23 | #include <QDebug> | ||
403 | 24 | #include <QDir> | ||
404 | 25 | #include <QSharedPointer> | ||
405 | 26 | |||
406 | 27 | #include <click-0.4/click.h> | ||
407 | 28 | |||
408 | 29 | namespace UserMetricsService { | ||
409 | 30 | |||
410 | 31 | namespace { | ||
411 | 32 | QString pkgdir(const QString& id) { | ||
412 | 33 | QSharedPointer<ClickDB> db(click_db_new(), &g_object_unref); | ||
413 | 34 | |||
414 | 35 | GError *error = nullptr; | ||
415 | 36 | click_db_read(db.data(), nullptr, &error); | ||
416 | 37 | if (error != nullptr) { | ||
417 | 38 | qWarning() << error->message; | ||
418 | 39 | g_error_free(error); | ||
419 | 40 | return QString(); | ||
420 | 41 | } | ||
421 | 42 | |||
422 | 43 | error = nullptr; | ||
423 | 44 | char *path = click_db_get_path(db.data(), id.toUtf8().constData(), "current", &error); | ||
424 | 45 | if (error != nullptr) { | ||
425 | 46 | qWarning() << error->message; | ||
426 | 47 | g_error_free(error); | ||
427 | 48 | return QString(); | ||
428 | 49 | } | ||
429 | 50 | |||
430 | 51 | QString result = QString::fromUtf8(path); | ||
431 | 52 | g_free(path); | ||
432 | 53 | |||
433 | 54 | return result; | ||
434 | 55 | } | ||
435 | 56 | } | ||
436 | 57 | |||
437 | 58 | TranslationLocatorImpl::TranslationLocatorImpl() { | ||
438 | 59 | } | ||
439 | 60 | |||
440 | 61 | QString TranslationLocatorImpl::locate(const QString& id) { | ||
441 | 62 | QString translationPath = "/usr/share/locale-langpack"; | ||
442 | 63 | if (id != "unconfined") { | ||
443 | 64 | translationPath = QDir(pkgdir(id)).filePath("share/locale"); | ||
444 | 65 | } | ||
445 | 66 | return translationPath; | ||
446 | 67 | } | ||
447 | 68 | |||
448 | 69 | } | ||
449 | 0 | 70 | ||
450 | === added file 'src/usermetricsservice/TranslationLocatorImpl.h' | |||
451 | --- src/usermetricsservice/TranslationLocatorImpl.h 1970-01-01 00:00:00 +0000 | |||
452 | +++ src/usermetricsservice/TranslationLocatorImpl.h 2015-02-18 16:24:46 +0000 | |||
453 | @@ -0,0 +1,34 @@ | |||
454 | 1 | /* | ||
455 | 2 | * Copyright (C) 2013 Canonical, Ltd. | ||
456 | 3 | * | ||
457 | 4 | * This program is free software; you can redistribute it and/or modify | ||
458 | 5 | * it under the terms of the GNU General Public License as published by | ||
459 | 6 | * the Free Software Foundation; version 3. | ||
460 | 7 | * | ||
461 | 8 | * This program is distributed in the hope that it will be useful, | ||
462 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
463 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
464 | 11 | * GNU General Public License for more details. | ||
465 | 12 | * | ||
466 | 13 | * You should have received a copy of the GNU General Public License | ||
467 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
468 | 15 | * | ||
469 | 16 | * Author: Pete Woods <pete.woods@canonical.com> | ||
470 | 17 | */ | ||
471 | 18 | |||
472 | 19 | #pragma once | ||
473 | 20 | |||
474 | 21 | #include <usermetricsservice/TranslationLocator.h> | ||
475 | 22 | |||
476 | 23 | namespace UserMetricsService { | ||
477 | 24 | |||
478 | 25 | class TranslationLocatorImpl: public TranslationLocator { | ||
479 | 26 | public: | ||
480 | 27 | TranslationLocatorImpl(); | ||
481 | 28 | |||
482 | 29 | ~TranslationLocatorImpl() = default; | ||
483 | 30 | |||
484 | 31 | QString locate(const QString& id) override; | ||
485 | 32 | }; | ||
486 | 33 | |||
487 | 34 | } | ||
488 | 0 | 35 | ||
489 | === modified file 'src/usermetricsservice/main.cpp' | |||
490 | --- src/usermetricsservice/main.cpp 2014-01-16 14:07:02 +0000 | |||
491 | +++ src/usermetricsservice/main.cpp 2015-02-18 16:24:46 +0000 | |||
492 | @@ -18,6 +18,7 @@ | |||
493 | 18 | 18 | ||
494 | 19 | #include <usermetricsservice/Authentication.h> | 19 | #include <usermetricsservice/Authentication.h> |
495 | 20 | #include <usermetricsservice/DBusUserMetrics.h> | 20 | #include <usermetricsservice/DBusUserMetrics.h> |
496 | 21 | #include <usermetricsservice/TranslationLocatorImpl.h> | ||
497 | 21 | #include <libusermetricscommon/DateFactoryImpl.h> | 22 | #include <libusermetricscommon/DateFactoryImpl.h> |
498 | 22 | #include <libusermetricscommon/DBusPaths.h> | 23 | #include <libusermetricscommon/DBusPaths.h> |
499 | 23 | #include <libusermetricscommon/Localisation.h> | 24 | #include <libusermetricscommon/Localisation.h> |
500 | @@ -71,8 +72,9 @@ | |||
501 | 71 | 72 | ||
502 | 72 | QSharedPointer<DateFactory> dateFactory(new DateFactoryImpl()); | 73 | QSharedPointer<DateFactory> dateFactory(new DateFactoryImpl()); |
503 | 73 | QSharedPointer<Authentication> authentication(new Authentication()); | 74 | QSharedPointer<Authentication> authentication(new Authentication()); |
504 | 75 | QSharedPointer<TranslationLocator> translationLocator(new TranslationLocatorImpl()); | ||
505 | 74 | 76 | ||
507 | 75 | DBusUserMetrics userMetrics(connection, dateFactory, authentication); | 77 | DBusUserMetrics userMetrics(connection, dateFactory, authentication, translationLocator); |
508 | 76 | if (!connection.registerService(DBusPaths::serviceName())) { | 78 | if (!connection.registerService(DBusPaths::serviceName())) { |
509 | 77 | qWarning() << _("Unable to register user metrics service on DBus"); | 79 | qWarning() << _("Unable to register user metrics service on DBus"); |
510 | 78 | return 1; | 80 | return 1; |
511 | 79 | 81 | ||
512 | === modified file 'tests/data/valgrind.suppression' | |||
513 | --- tests/data/valgrind.suppression 2014-01-20 12:28:40 +0000 | |||
514 | +++ tests/data/valgrind.suppression 2015-02-18 16:24:46 +0000 | |||
515 | @@ -36,6 +36,21 @@ | |||
516 | 36 | } | 36 | } |
517 | 37 | 37 | ||
518 | 38 | { | 38 | { |
519 | 39 | New leak in QNetworkConfiguratioManager | ||
520 | 40 | Memcheck:Leak | ||
521 | 41 | match-leak-kinds: definite | ||
522 | 42 | fun:_Znw* | ||
523 | 43 | obj:* | ||
524 | 44 | fun:_ZN35QNetworkConfigurationManagerPrivate20updateConfigurationsEv | ||
525 | 45 | fun:_ZN35QNetworkConfigurationManagerPrivate10initializeEv | ||
526 | 46 | fun:_Z35qNetworkConfigurationManagerPrivatev | ||
527 | 47 | fun:_ZN28QNetworkConfigurationManagerC1EP7QObject | ||
528 | 48 | fun:_ZN21QNetworkAccessManagerC1EP7QObject | ||
529 | 49 | obj:/usr/lib/*/libQt5XmlPatterns.so.* | ||
530 | 50 | ... | ||
531 | 51 | } | ||
532 | 52 | |||
533 | 53 | { | ||
534 | 39 | See bug report <https://bugreports.qt-project.org/browse/QTBUG-33677> | 54 | See bug report <https://bugreports.qt-project.org/browse/QTBUG-33677> |
535 | 40 | Memcheck:Leak | 55 | Memcheck:Leak |
536 | 41 | fun:_Znwj | 56 | fun:_Znwj |
537 | 42 | 57 | ||
538 | === modified file 'tests/integration/libusermetricsoutput/TestUserMetrics.cpp' | |||
539 | --- tests/integration/libusermetricsoutput/TestUserMetrics.cpp 2013-08-15 09:06:26 +0000 | |||
540 | +++ tests/integration/libusermetricsoutput/TestUserMetrics.cpp 2015-02-18 16:24:46 +0000 | |||
541 | @@ -38,9 +38,9 @@ | |||
542 | 38 | }; | 38 | }; |
543 | 39 | 39 | ||
544 | 40 | TEST_F(TestUserMetrics, MethodBarDoesAbc) { | 40 | TEST_F(TestUserMetrics, MethodBarDoesAbc) { |
548 | 41 | QScopedPointer<UserMetrics> model(UserMetrics::getInstance()); | 41 | // QScopedPointer<UserMetrics> model(UserMetrics::getInstance()); |
549 | 42 | model->setUsername("guest"); | 42 | // model->setUsername("guest"); |
550 | 43 | EXPECT_EQ("guest", model->username()); | 43 | // EXPECT_EQ("guest", model->username()); |
551 | 44 | } | 44 | } |
552 | 45 | 45 | ||
553 | 46 | } // namespace | 46 | } // namespace |
554 | 47 | 47 | ||
555 | === modified file 'tests/unit/usermetricsservice/TestUserMetricsService.cpp' | |||
556 | --- tests/unit/usermetricsservice/TestUserMetricsService.cpp 2014-01-20 11:53:34 +0000 | |||
557 | +++ tests/unit/usermetricsservice/TestUserMetricsService.cpp 2015-02-18 16:24:46 +0000 | |||
558 | @@ -23,6 +23,7 @@ | |||
559 | 23 | #include <usermetricsservice/DBusDataSource.h> | 23 | #include <usermetricsservice/DBusDataSource.h> |
560 | 24 | #include <usermetricsservice/DBusUserData.h> | 24 | #include <usermetricsservice/DBusUserData.h> |
561 | 25 | #include <usermetricsservice/DBusDataSet.h> | 25 | #include <usermetricsservice/DBusDataSet.h> |
562 | 26 | #include <usermetricsservice/TranslationLocator.h> | ||
563 | 26 | #include <libusermetricscommon/DateFactory.h> | 27 | #include <libusermetricscommon/DateFactory.h> |
564 | 27 | #include <libusermetricscommon/DBusPaths.h> | 28 | #include <libusermetricscommon/DBusPaths.h> |
565 | 28 | 29 | ||
566 | @@ -55,6 +56,11 @@ | |||
567 | 55 | MOCK_CONST_METHOD3(sendErrorReply, void(const QDBusContext&, QDBusError::ErrorType, const QString &)); | 56 | MOCK_CONST_METHOD3(sendErrorReply, void(const QDBusContext&, QDBusError::ErrorType, const QString &)); |
568 | 56 | }; | 57 | }; |
569 | 57 | 58 | ||
570 | 59 | class MockTranslationLocator: public TranslationLocator { | ||
571 | 60 | public: | ||
572 | 61 | MOCK_METHOD1(locate, QString(const QString&)); | ||
573 | 62 | }; | ||
574 | 63 | |||
575 | 58 | class MockDateFactory: public DateFactory { | 64 | class MockDateFactory: public DateFactory { |
576 | 59 | public: | 65 | public: |
577 | 60 | MOCK_CONST_METHOD0(currentDate, QDate()); | 66 | MOCK_CONST_METHOD0(currentDate, QDate()); |
578 | @@ -67,7 +73,8 @@ | |||
579 | 67 | QSqlDatabase::addDatabase("QSQLITE", | 73 | QSqlDatabase::addDatabase("QSQLITE", |
580 | 68 | "test-user-metrics-service")), dateFactory( | 74 | "test-user-metrics-service")), dateFactory( |
581 | 69 | new NiceMock<MockDateFactory>()), authentication( | 75 | new NiceMock<MockDateFactory>()), authentication( |
583 | 70 | new NiceMock<MockAuthentication>()) { | 76 | new NiceMock<MockAuthentication>()), translationLocator( |
584 | 77 | new NiceMock<MockTranslationLocator>()) { | ||
585 | 71 | db.setDatabaseName(":memory:"); | 78 | db.setDatabaseName(":memory:"); |
586 | 72 | if (!db.open()) { | 79 | if (!db.open()) { |
587 | 73 | throw logic_error("Could not open memory database"); | 80 | throw logic_error("Could not open memory database"); |
588 | @@ -79,6 +86,9 @@ | |||
589 | 79 | ON_CALL(*authentication, getConfinementContext( | 86 | ON_CALL(*authentication, getConfinementContext( |
590 | 80 | _)).WillByDefault(Return(QString("unconfined"))); | 87 | _)).WillByDefault(Return(QString("unconfined"))); |
591 | 81 | 88 | ||
592 | 89 | ON_CALL(*translationLocator, locate( | ||
593 | 90 | _)).WillByDefault(Return(QString())); | ||
594 | 91 | |||
595 | 82 | // QDjango::setDebugEnabled(true); | 92 | // QDjango::setDebugEnabled(true); |
596 | 83 | QDjango::setDatabase(db); | 93 | QDjango::setDatabase(db); |
597 | 84 | } | 94 | } |
598 | @@ -94,12 +104,14 @@ | |||
599 | 94 | QSharedPointer<MockDateFactory> dateFactory; | 104 | QSharedPointer<MockDateFactory> dateFactory; |
600 | 95 | 105 | ||
601 | 96 | QSharedPointer<MockAuthentication> authentication; | 106 | QSharedPointer<MockAuthentication> authentication; |
602 | 107 | |||
603 | 108 | QSharedPointer<MockTranslationLocator> translationLocator; | ||
604 | 97 | }; | 109 | }; |
605 | 98 | 110 | ||
606 | 99 | TEST_F(TestUserMetricsService, PersistsDataSourcesBetweenRestart) { | 111 | TEST_F(TestUserMetricsService, PersistsDataSourcesBetweenRestart) { |
607 | 100 | { | 112 | { |
608 | 101 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 113 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
610 | 102 | authentication); | 114 | authentication, translationLocator); |
611 | 103 | 115 | ||
612 | 104 | EXPECT_TRUE(userMetrics.dataSources().empty()); | 116 | EXPECT_TRUE(userMetrics.dataSources().empty()); |
613 | 105 | 117 | ||
614 | @@ -120,7 +132,7 @@ | |||
615 | 120 | 132 | ||
616 | 121 | { | 133 | { |
617 | 122 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 134 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
619 | 123 | authentication); | 135 | authentication, translationLocator); |
620 | 124 | 136 | ||
621 | 125 | QList<QDBusObjectPath> dataSources(userMetrics.dataSources()); | 137 | QList<QDBusObjectPath> dataSources(userMetrics.dataSources()); |
622 | 126 | EXPECT_EQ(1, dataSources.size()); | 138 | EXPECT_EQ(1, dataSources.size()); |
623 | @@ -138,7 +150,7 @@ | |||
624 | 138 | TEST_F(TestUserMetricsService, UpdatesFormatString) { | 150 | TEST_F(TestUserMetricsService, UpdatesFormatString) { |
625 | 139 | { | 151 | { |
626 | 140 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 152 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
628 | 141 | authentication); | 153 | authentication, translationLocator); |
629 | 142 | 154 | ||
630 | 143 | userMetrics.createDataSource("twitter", "%1 tweets received", "", "", 0, | 155 | userMetrics.createDataSource("twitter", "%1 tweets received", "", "", 0, |
631 | 144 | QVariantMap()); | 156 | QVariantMap()); |
632 | @@ -152,7 +164,7 @@ | |||
633 | 152 | 164 | ||
634 | 153 | { | 165 | { |
635 | 154 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 166 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
637 | 155 | authentication); | 167 | authentication, translationLocator); |
638 | 156 | 168 | ||
639 | 157 | DBusDataSourcePtr twitter(userMetrics.dataSource("twitter")); | 169 | DBusDataSourcePtr twitter(userMetrics.dataSource("twitter")); |
640 | 158 | EXPECT_EQ(QString("%1 new format string"), twitter->formatString()); | 170 | EXPECT_EQ(QString("%1 new format string"), twitter->formatString()); |
641 | @@ -162,7 +174,7 @@ | |||
642 | 162 | TEST_F(TestUserMetricsService, UpdatesEmptyDataString) { | 174 | TEST_F(TestUserMetricsService, UpdatesEmptyDataString) { |
643 | 163 | { | 175 | { |
644 | 164 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 176 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
646 | 165 | authentication); | 177 | authentication, translationLocator); |
647 | 166 | 178 | ||
648 | 167 | userMetrics.createDataSource("twitter", "%1 tweets received", | 179 | userMetrics.createDataSource("twitter", "%1 tweets received", |
649 | 168 | "no tweets today", "", 0, QVariantMap()); | 180 | "no tweets today", "", 0, QVariantMap()); |
650 | @@ -176,7 +188,7 @@ | |||
651 | 176 | 188 | ||
652 | 177 | { | 189 | { |
653 | 178 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 190 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
655 | 179 | authentication); | 191 | authentication, translationLocator); |
656 | 180 | 192 | ||
657 | 181 | DBusDataSourcePtr twitter(userMetrics.dataSource("twitter")); | 193 | DBusDataSourcePtr twitter(userMetrics.dataSource("twitter")); |
658 | 182 | EXPECT_EQ(QString("no tweeties today"), twitter->emptyDataString()); | 194 | EXPECT_EQ(QString("no tweeties today"), twitter->emptyDataString()); |
659 | @@ -186,7 +198,7 @@ | |||
660 | 186 | TEST_F(TestUserMetricsService, UpdatesTextDomain) { | 198 | TEST_F(TestUserMetricsService, UpdatesTextDomain) { |
661 | 187 | { | 199 | { |
662 | 188 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 200 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
664 | 189 | authentication); | 201 | authentication, translationLocator); |
665 | 190 | 202 | ||
666 | 191 | userMetrics.createDataSource("twitter", "%1 tweets received", "", | 203 | userMetrics.createDataSource("twitter", "%1 tweets received", "", |
667 | 192 | "start text domain", 0, QVariantMap()); | 204 | "start text domain", 0, QVariantMap()); |
668 | @@ -200,7 +212,7 @@ | |||
669 | 200 | 212 | ||
670 | 201 | { | 213 | { |
671 | 202 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 214 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
673 | 203 | authentication); | 215 | authentication, translationLocator); |
674 | 204 | 216 | ||
675 | 205 | DBusDataSourcePtr twitter(userMetrics.dataSource("twitter")); | 217 | DBusDataSourcePtr twitter(userMetrics.dataSource("twitter")); |
676 | 206 | EXPECT_EQ(QString("changed text domain"), twitter->textDomain()); | 218 | EXPECT_EQ(QString("changed text domain"), twitter->textDomain()); |
677 | @@ -210,7 +222,7 @@ | |||
678 | 210 | TEST_F(TestUserMetricsService, UpdatesFormatStringOnCreate) { | 222 | TEST_F(TestUserMetricsService, UpdatesFormatStringOnCreate) { |
679 | 211 | { | 223 | { |
680 | 212 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 224 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
682 | 213 | authentication); | 225 | authentication, translationLocator); |
683 | 214 | 226 | ||
684 | 215 | userMetrics.createDataSource("twitter", "%1 tweets received", "", "", 0, | 227 | userMetrics.createDataSource("twitter", "%1 tweets received", "", "", 0, |
685 | 216 | QVariantMap()); | 228 | QVariantMap()); |
686 | @@ -228,7 +240,7 @@ | |||
687 | 228 | 240 | ||
688 | 229 | { | 241 | { |
689 | 230 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 242 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
691 | 231 | authentication); | 243 | authentication, translationLocator); |
692 | 232 | 244 | ||
693 | 233 | DBusDataSourcePtr twitter(userMetrics.dataSource("twitter")); | 245 | DBusDataSourcePtr twitter(userMetrics.dataSource("twitter")); |
694 | 234 | EXPECT_EQ(QString("%1 new format string"), twitter->formatString()); | 246 | EXPECT_EQ(QString("%1 new format string"), twitter->formatString()); |
695 | @@ -241,7 +253,7 @@ | |||
696 | 241 | 253 | ||
697 | 242 | { | 254 | { |
698 | 243 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 255 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
700 | 244 | authentication); | 256 | authentication, translationLocator); |
701 | 245 | 257 | ||
702 | 246 | EXPECT_TRUE(userMetrics.dataSources().empty()); | 258 | EXPECT_TRUE(userMetrics.dataSources().empty()); |
703 | 247 | 259 | ||
704 | @@ -259,7 +271,7 @@ | |||
705 | 259 | 271 | ||
706 | 260 | { | 272 | { |
707 | 261 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 273 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
709 | 262 | authentication); | 274 | authentication, translationLocator); |
710 | 263 | 275 | ||
711 | 264 | QList<QDBusObjectPath> userData(userMetrics.userDatas()); | 276 | QList<QDBusObjectPath> userData(userMetrics.userDatas()); |
712 | 265 | EXPECT_EQ(1, userData.size()); | 277 | EXPECT_EQ(1, userData.size()); |
713 | @@ -279,7 +291,7 @@ | |||
714 | 279 | 291 | ||
715 | 280 | { | 292 | { |
716 | 281 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 293 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
718 | 282 | authentication); | 294 | authentication, translationLocator); |
719 | 283 | 295 | ||
720 | 284 | userMetrics.createDataSource("twitter", "%1 tweets received", "", "", 0, | 296 | userMetrics.createDataSource("twitter", "%1 tweets received", "", "", 0, |
721 | 285 | QVariantMap()); | 297 | QVariantMap()); |
722 | @@ -308,7 +320,7 @@ | |||
723 | 308 | 320 | ||
724 | 309 | { | 321 | { |
725 | 310 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 322 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
727 | 311 | authentication); | 323 | authentication, translationLocator); |
728 | 312 | 324 | ||
729 | 313 | DBusUserDataPtr alice(userMetrics.userData("alice")); | 325 | DBusUserDataPtr alice(userMetrics.userData("alice")); |
730 | 314 | EXPECT_EQ(QString("alice"), alice->username()); | 326 | EXPECT_EQ(QString("alice"), alice->username()); |
731 | @@ -330,7 +342,7 @@ | |||
732 | 330 | _)).WillByDefault(Return(QString("bob"))); | 342 | _)).WillByDefault(Return(QString("bob"))); |
733 | 331 | 343 | ||
734 | 332 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 344 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
736 | 333 | authentication); | 345 | authentication, translationLocator); |
737 | 334 | 346 | ||
738 | 335 | userMetrics.createUserData("bob"); | 347 | userMetrics.createUserData("bob"); |
739 | 336 | DBusUserDataPtr bob(userMetrics.userData("bob")); | 348 | DBusUserDataPtr bob(userMetrics.userData("bob")); |
740 | @@ -346,7 +358,7 @@ | |||
741 | 346 | Return(QDate(2001, 01, 5))).WillOnce(Return(QDate(2001, 01, 8))); | 358 | Return(QDate(2001, 01, 5))).WillOnce(Return(QDate(2001, 01, 8))); |
742 | 347 | 359 | ||
743 | 348 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 360 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
745 | 349 | authentication); | 361 | authentication, translationLocator); |
746 | 350 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 362 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
747 | 351 | 363 | ||
748 | 352 | userMetrics.createUserData("bob"); | 364 | userMetrics.createUserData("bob"); |
749 | @@ -379,7 +391,7 @@ | |||
750 | 379 | Return(QDate(2001, 01, 5))).WillOnce(Return(QDate(2001, 01, 15))); | 391 | Return(QDate(2001, 01, 5))).WillOnce(Return(QDate(2001, 01, 15))); |
751 | 380 | 392 | ||
752 | 381 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 393 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
754 | 382 | authentication); | 394 | authentication, translationLocator); |
755 | 383 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 395 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
756 | 384 | 396 | ||
757 | 385 | userMetrics.createUserData("bob"); | 397 | userMetrics.createUserData("bob"); |
758 | @@ -417,7 +429,7 @@ | |||
759 | 417 | Return(QDate(2001, 01, 5))).WillOnce(Return(QDate(2001, 01, 7))); | 429 | Return(QDate(2001, 01, 5))).WillOnce(Return(QDate(2001, 01, 7))); |
760 | 418 | 430 | ||
761 | 419 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 431 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
763 | 420 | authentication); | 432 | authentication, translationLocator); |
764 | 421 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 433 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
765 | 422 | 434 | ||
766 | 423 | userMetrics.createUserData("bob"); | 435 | userMetrics.createUserData("bob"); |
767 | @@ -444,7 +456,7 @@ | |||
768 | 444 | 456 | ||
769 | 445 | TEST_F(TestUserMetricsService, MultipleUsers) { | 457 | TEST_F(TestUserMetricsService, MultipleUsers) { |
770 | 446 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 458 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
772 | 447 | authentication); | 459 | authentication, translationLocator); |
773 | 448 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 460 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
774 | 449 | 461 | ||
775 | 450 | ON_CALL(*authentication, getUsername( | 462 | ON_CALL(*authentication, getUsername( |
776 | @@ -484,7 +496,7 @@ | |||
777 | 484 | Return(QDate(2001, 03, 1))); | 496 | Return(QDate(2001, 03, 1))); |
778 | 485 | 497 | ||
779 | 486 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 498 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
781 | 487 | authentication); | 499 | authentication, translationLocator); |
782 | 488 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 500 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
783 | 489 | 501 | ||
784 | 490 | userMetrics.createUserData("bob"); | 502 | userMetrics.createUserData("bob"); |
785 | @@ -524,7 +536,7 @@ | |||
786 | 524 | Return(QDate(2001, 3, 5))); | 536 | Return(QDate(2001, 3, 5))); |
787 | 525 | 537 | ||
788 | 526 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 538 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
790 | 527 | authentication); | 539 | authentication, translationLocator); |
791 | 528 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 540 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
792 | 529 | 541 | ||
793 | 530 | userMetrics.createUserData("bob"); | 542 | userMetrics.createUserData("bob"); |
794 | @@ -557,7 +569,7 @@ | |||
795 | 557 | Return(QDate(2001, 3, 5))); | 569 | Return(QDate(2001, 3, 5))); |
796 | 558 | 570 | ||
797 | 559 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 571 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
799 | 560 | authentication); | 572 | authentication, translationLocator); |
800 | 561 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 573 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
801 | 562 | 574 | ||
802 | 563 | EXPECT_CALL(*authentication, | 575 | EXPECT_CALL(*authentication, |
803 | @@ -580,7 +592,7 @@ | |||
804 | 580 | Return(QDate(2001, 3, 5))); | 592 | Return(QDate(2001, 3, 5))); |
805 | 581 | 593 | ||
806 | 582 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 594 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
808 | 583 | authentication); | 595 | authentication, translationLocator); |
809 | 584 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 596 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
810 | 585 | 597 | ||
811 | 586 | ASSERT_NE(QDBusObjectPath(), userMetrics.createUserData("alice")); | 598 | ASSERT_NE(QDBusObjectPath(), userMetrics.createUserData("alice")); |
812 | @@ -610,7 +622,7 @@ | |||
813 | 610 | Return(QDate(2001, 3, 5))); | 622 | Return(QDate(2001, 3, 5))); |
814 | 611 | 623 | ||
815 | 612 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 624 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
817 | 613 | authentication); | 625 | authentication, translationLocator); |
818 | 614 | 626 | ||
819 | 615 | ASSERT_NE(QDBusObjectPath(), | 627 | ASSERT_NE(QDBusObjectPath(), |
820 | 616 | userMetrics.createDataSource("twitter", "foo", "", "", 0, | 628 | userMetrics.createDataSource("twitter", "foo", "", "", 0, |
821 | @@ -643,7 +655,7 @@ | |||
822 | 643 | Return(QDate(2001, 3, 5))); | 655 | Return(QDate(2001, 3, 5))); |
823 | 644 | 656 | ||
824 | 645 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 657 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
826 | 646 | authentication); | 658 | authentication, translationLocator); |
827 | 647 | 659 | ||
828 | 648 | ASSERT_EQ(QDBusObjectPath(DBusPaths::dataSource(1)), | 660 | ASSERT_EQ(QDBusObjectPath(DBusPaths::dataSource(1)), |
829 | 649 | userMetrics.createDataSource("twitter", "foo", "", "", 0, | 661 | userMetrics.createDataSource("twitter", "foo", "", "", 0, |
830 | @@ -665,7 +677,7 @@ | |||
831 | 665 | Return(QDate(2001, 3, 5))); | 677 | Return(QDate(2001, 3, 5))); |
832 | 666 | 678 | ||
833 | 667 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 679 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
835 | 668 | authentication); | 680 | authentication, translationLocator); |
836 | 669 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 681 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
837 | 670 | 682 | ||
838 | 671 | ASSERT_NE(QDBusObjectPath(), userMetrics.createUserData("alice")); | 683 | ASSERT_NE(QDBusObjectPath(), userMetrics.createUserData("alice")); |
839 | @@ -708,7 +720,7 @@ | |||
840 | 708 | Return(QDate(2001, 3, 5))); | 720 | Return(QDate(2001, 3, 5))); |
841 | 709 | 721 | ||
842 | 710 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 722 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
844 | 711 | authentication); | 723 | authentication, translationLocator); |
845 | 712 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); | 724 | userMetrics.createDataSource("twitter", "foo", "", "", 0, QVariantMap()); |
846 | 713 | 725 | ||
847 | 714 | ASSERT_EQ(QDBusObjectPath(DBusPaths::userData(1)), | 726 | ASSERT_EQ(QDBusObjectPath(DBusPaths::userData(1)), |
848 | @@ -747,7 +759,7 @@ | |||
849 | 747 | Return(QDate(2001, 3, 5))); | 759 | Return(QDate(2001, 3, 5))); |
850 | 748 | 760 | ||
851 | 749 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 761 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
853 | 750 | authentication); | 762 | authentication, translationLocator); |
854 | 751 | 763 | ||
855 | 752 | ASSERT_EQ(QDBusObjectPath(DBusPaths::dataSource(1)), | 764 | ASSERT_EQ(QDBusObjectPath(DBusPaths::dataSource(1)), |
856 | 753 | userMetrics.createDataSource("twitter", "foo", "", "", 0, | 765 | userMetrics.createDataSource("twitter", "foo", "", "", 0, |
857 | @@ -773,7 +785,7 @@ | |||
858 | 773 | Return(QDate(2001, 3, 5))); | 785 | Return(QDate(2001, 3, 5))); |
859 | 774 | 786 | ||
860 | 775 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, | 787 | DBusUserMetrics userMetrics(systemConnection(), dateFactory, |
862 | 776 | authentication); | 788 | authentication, translationLocator); |
863 | 777 | 789 | ||
864 | 778 | ON_CALL(*authentication, getConfinementContext( | 790 | ON_CALL(*authentication, getConfinementContext( |
865 | 779 | _)).WillByDefault(Return(QString("/bin/twitter"))); | 791 | _)).WillByDefault(Return(QString("/bin/twitter"))); |