summaryrefslogtreecommitdiff
path: root/app/pebblestoreview.cpp
diff options
context:
space:
mode:
authorPhilipp Andreas <github@smurfy.de>2015-04-24 22:57:17 +0200
committerPhilipp Andreas <github@smurfy.de>2015-04-24 22:57:17 +0200
commita3bbbfaf8b7c73ed4c57e7d535032e55963d501d (patch)
tree61f9c7aea09fb10872a5468e19bcf83fd38c42cd /app/pebblestoreview.cpp
parentc96d650eca0b43e7916e63581fd94420aa3b7146 (diff)
Added search, back button and busy indicator
Diffstat (limited to 'app/pebblestoreview.cpp')
-rw-r--r--app/pebblestoreview.cpp31
1 files changed, 28 insertions, 3 deletions
diff --git a/app/pebblestoreview.cpp b/app/pebblestoreview.cpp
index bd906a7..717eff3 100644
--- a/app/pebblestoreview.cpp
+++ b/app/pebblestoreview.cpp
@@ -57,6 +57,14 @@ void PebbleStoreView::gotoWatchApps()
setUrl(prepareUrl(this->storeConfigObject.value("webviews").toObject().value("appstore/watchapps").toString()));
}
+void PebbleStoreView::searchQuery(QString query)
+{
+ QString baseUrl = this->storeConfigObject.value("webviews").toObject().value("appstore/search/query").toString();
+ baseUrl = baseUrl.replace("?q", "?query"); //fix wrong param name
+ baseUrl = baseUrl.replace("$$query$$", query);
+ setUrl(prepareUrl(baseUrl));
+}
+
void PebbleStoreView::fetchData(QUrl url)
{
QNetworkRequest request;
@@ -98,6 +106,17 @@ void PebbleStoreView::showLocker()
this->m_networkManager->get(request);
}
+void PebbleStoreView::showMe()
+{
+ QUrl url(this->storeConfigObject.value("links").toObject().value("users/me").toString());
+ QString token("Bearer " + this->accessToken());
+ QNetworkRequest request;
+ request.setUrl(url);
+ request.setRawHeader("Cache-Control", "no-cache");
+ request.setRawHeader("Authorization", token.toUtf8());
+ this->m_networkManager->get(request);
+}
+
void PebbleStoreView::onNetworkReplyFinished(QNetworkReply* reply)
{
qDebug()<<"Download finished"<<reply->request().url();
@@ -134,6 +153,9 @@ void PebbleStoreView::onNetworkReplyFinished(QNetworkReply* reply)
//Locker
} else if (reply->request().url() == this->storeConfigObject.value("links").toObject().value("users/app_locker").toString()) {
qDebug()<<reply->readAll();
+ //Me
+ } else if (reply->request().url() == this->storeConfigObject.value("links").toObject().value("users/me").toString()) {
+ qDebug()<<reply->readAll();
} else {
qDebug()<<"Unknown download finished!";
}
@@ -174,10 +196,10 @@ void PebbleStoreView::onNavigationRequested(QWebNavigationRequest* request)
if (reg.indexIn(urlStr) > -1) {
QString methodStr = reg.cap(1);
QString argsStr = QUrl::fromPercentEncoding(reg.cap(2).toUtf8());
- emit call(methodStr, argsStr);
+ QJsonDocument jsonResponse = QJsonDocument::fromJson(argsStr.toUtf8());
+ QJsonObject jsonObject = jsonResponse.object();
+ qDebug()<<"Call"<<methodStr<<jsonObject;
if (methodStr == "loadAppToDeviceAndLocker") {
- QJsonDocument jsonResponse = QJsonDocument::fromJson(argsStr.toUtf8());
- QJsonObject jsonObject = jsonResponse.object();
QJsonObject data = jsonObject.value("data").toObject();
qDebug()<<"download"<<data.value("title").toString()<<data.value("pbw_file").toString();
this->downloadObject = data;;
@@ -185,6 +207,9 @@ void PebbleStoreView::onNavigationRequested(QWebNavigationRequest* request)
emit downloadInProgressChanged();
fetchData(QUrl(data.value("pbw_file").toString()));
emit downloadPebbleApp(data.value("title").toString(), data.value("pbw_file").toString());
+ } else if (methodStr == "setNavBarTitle") {
+ QJsonObject data = jsonObject.value("data").toObject();
+ emit titleChanged(data.value("title").toString());
}
}
}