@@ -31,22 +31,7 @@ LauncherBackend::LauncherBackend(QObject *parent):
31 QObject(parent)
31 QObject(parent)
33 m_accounts = new AccountsService(this);
33 m_accounts = new AccountsService(this);
34− syncFromAccounts();
34+ setUser(qgetenv("USER"));
36− // TODO: load default pinned ones from default config, instead of hardcoding here...
37− if (m_storedApps.isEmpty()) {
38− setStoredApplications(QStringList() <<
39− "phone-app.desktop" <<
40− "camera-app.desktop" <<
41− "gallery-app.desktop" <<
42− "facebook-webapp.desktop" <<
43− "webbrowser-app.desktop" <<
44− "twitter-webapp.desktop" <<
45− "gmail-webapp.desktop" <<
46− "ubuntu-weather-app.desktop" <<
47− "notes-app.desktop" <<
48− "calendar-app.desktop");
52LauncherBackend::~LauncherBackend()
37LauncherBackend::~LauncherBackend()
@@ -165,6 +150,12 @@ int LauncherBackend::count(const QString &appId) const
165 return 0;
150 return 0;
153+void LauncherBackend::setUser(const QString &username)
168void LauncherBackend::triggerQuickListAction(const QString &appId, const QString &quickListId)
159void LauncherBackend::triggerQuickListAction(const QString &appId, const QString &quickListId)
170 // TODO: execute the given quicklist action
161 // TODO: execute the given quicklist action
@@ -174,11 +165,28 @@ void LauncherBackend::triggerQuickListAction(const QString &appId, const QString
175void LauncherBackend::syncFromAccounts()
166void LauncherBackend::syncFromAccounts()
177− auto username = qgetenv("USER");
168+ auto appIds = QStringList();
178− if (username != "") {
169+
179− auto itemsVariant = m_accounts->getUserProperty(username, "launcher-items");
171+ appIds = m_accounts->getUserProperty(m_user, "launcher-items").toStringList();
180− setStoredApplications(itemsVariant.toStringList());
174+ // TODO: load default pinned ones from default config, instead of hardcoding here...
175+ if (appIds.isEmpty()) {
177+ "phone-app.desktop" <<
178+ "camera-app.desktop" <<
179+ "gallery-app.desktop" <<
180+ "facebook-webapp.desktop" <<
181+ "webbrowser-app.desktop" <<
182+ "twitter-webapp.desktop" <<
183+ "gmail-webapp.desktop" <<
184+ "ubuntu-weather-app.desktop" <<
185+ "notes-app.desktop" <<
186+ "calendar-app.desktop";
189+ setStoredApplications(appIds);
184void LauncherBackend::syncToAccounts()
192void LauncherBackend::syncToAccounts()
@@ -190,9 +198,8 @@ void LauncherBackend::syncToAccounts()
193− auto username = qgetenv("USER");
201+ if (m_user != "") {
194− if (username != "") {
195− m_accounts->setUserProperty(username, "launcher-items", QVariant(pinnedItems));
202+ m_accounts->setUserProperty(m_user, "launcher-items", QVariant(pinnedItems));