diff --git a/assets/ProfilePage.qml b/assets/ProfilePage.qml index 4894f57..1513122 100644 --- a/assets/ProfilePage.qml +++ b/assets/ProfilePage.qml @@ -170,8 +170,48 @@ Page { } } - + Divider {} + ListView { + id: threadView + dataModel: ArrayDataModel { + id: threadModel + } + listItemComponents: [ + ListItemComponent { + id: root + PostItem {} + } + ] + function sendReply(text, pid) { + pnut.sendReply(text, pid); + } + function getUserName() { + return _app.setting("username") + } + function viewProfile(userobj) { + var page = profilePage.createObject(); + page.user = userobj + page.follow.connect(follow) + page.unfollow.connect(unfollow) + page.block.connect(block) + page.unblock.connect(unblock) + page.mute.connect(mute) + page.unmute.connect(unmute) + nav.push(page); + } + function ccOnReply() { + if (_app.setting("cc") === "true") { + return true + } else { + return false + } + } } + } + } + + function loadThread(data) { + threadModel.append(data); } actions: [ diff --git a/assets/StreamTab.qml b/assets/StreamTab.qml index 82a8d29..16c2798 100644 --- a/assets/StreamTab.qml +++ b/assets/StreamTab.qml @@ -74,6 +74,8 @@ NavigationPane { function viewProfile(userobj) { var page = profilePage.createObject(); page.user = userobj + pnut.userStreamReceived.connect(page.loadThread) + pnut.getUserStream(userobj.id) page.follow.connect(pnut.followUser) page.unfollow.connect(pnut.unfollowUser) page.block.connect(pnut.blockUser) diff --git a/src/Pnut.cpp b/src/Pnut.cpp index 7e8b4a0..047d4f9 100644 --- a/src/Pnut.cpp +++ b/src/Pnut.cpp @@ -192,7 +192,7 @@ void Pnut::onAuthorizedRequestReady(QByteArray data, int id) qDebug() << "- onAuthorizedRequestReady"; qDebug() << "- id: " << id; qDebug() << "- endpoint: " << endpoint; -// qDebug() << data; + qDebug() << data; QVariant variant; bb::data::JsonDataAccess jda; @@ -223,6 +223,11 @@ void Pnut::onAuthorizedRequestReady(QByteArray data, int id) emit threadReceived(variant.toMap()["data"].toList()); req_map.remove(id); } + else if (endpoint == ":userstream") + { + emit userStreamReceived(variant.toMap()["data"].toList()); + req_map.remove(id); + } else if (endpoint == ":logout") { qDebug() << "Logout successful!"; @@ -485,3 +490,11 @@ void Pnut::getPost(QString pid) req_map[++req_id] = ":getpost:" + pid; getRequest(url, parameters, req_id); } + +void Pnut::getUserStream(QString uid) +{ + QUrl url(PNUT_API_ROOT + "/users/" + uid + "/posts"); + KQOAuthParameters parameters; + req_map[++req_id] = ":userstream"; + getRequest(url, parameters, req_id); +} diff --git a/src/Pnut.h b/src/Pnut.h index 3176981..12cbe1e 100644 --- a/src/Pnut.h +++ b/src/Pnut.h @@ -85,6 +85,7 @@ public: Q_INVOKABLE void logout(); Q_INVOKABLE void deletePost(QString pid); Q_INVOKABLE void getPost(QString pid); + Q_INVOKABLE void getUserStream(QString uid); public slots: void onRequestReady(QByteArray data); @@ -103,6 +104,7 @@ Q_SIGNALS: void muteSuccess(QVariantMap user); void unmuteSuccess(QVariantMap user); void postReceived(QVariantMap post); + void userStreamReceived(QVariantList stream); private: static const QString PNUT_API_ROOT; diff --git a/translations/Goober.ts b/translations/Goober.ts index aca0054..cf1ff4e 100644 --- a/translations/Goober.ts +++ b/translations/Goober.ts @@ -103,32 +103,32 @@ - + Unfollow - + Follow - + Unmute - + Mute - + Unblock - + Block @@ -172,22 +172,22 @@ StreamTab - + New Post - + To Top - + To Bottom - + Reload