void TimelineWidget::addNewPosts( QList< Choqok::Post* >& postList) { kDebug()<<d->currentAccount->alias()<<' '<<d->timelineName<<' '<<postList.count(); QList<Post*>::const_iterator it, endIt = postList.constEnd(); int unread = 0; for(it = postList.constBegin(); it!= endIt; ++it){ if(d->posts.keys().contains((*it)->postId)) continue; PostWidget *pw = d->currentAccount->microblog()->createPostWidget(d->currentAccount, *it, this); if(pw) { addPostWidgetToUi(pw); if( !pw->isRead() ) ++unread; } } removeOldPosts(); if(unread){ d->unreadCount += unread; Choqok::NotifyManager::newPostArrived( i18np( "1 new post in %2(%3)", "%1 new posts in %2(%3)", unread, currentAccount()->alias(), d->timelineName ) ); emit updateUnreadCount(unread); showMarkAllAsReadButton(); } }
void TwitterApiShowThread::slotAddNewPost(Choqok::Account* theAccount, Choqok::Post* post) { kDebug(); if(theAccount == d->account && post->postId == d->desiredPostId) { Choqok::UI::PostWidget *widget = d->account->microblog()->createPostWidget(d->account, *post, this); if(widget) { addPostWidgetToUi(widget); Choqok::Post *ps = new Choqok::Post; ps->postId = post->replyToPostId; d->desiredPostId = ps->postId; d->account->microblog()->fetchPost(d->account, ps); } } }
TwitterApiShowThread::TwitterApiShowThread(Choqok::Account* account, const Choqok::Post& finalPost, QWidget* parent) : QWidget(parent), d(new Private(account)) { kDebug(); setupUi(); setWindowTitle(i18n("Conversation")); connect( account->microblog(), SIGNAL(postFetched(Choqok::Account*,Choqok::Post*)), this, SLOT(slotAddNewPost(Choqok::Account*,Choqok::Post*)) ); Choqok::UI::PostWidget *widget = d->account->microblog()->createPostWidget(d->account, finalPost, this); if(widget) { addPostWidgetToUi(widget); Choqok::Post *ps = new Choqok::Post; ps->postId = finalPost.replyToPostId; d->desiredPostId = finalPost.replyToPostId; d->account->microblog()->fetchPost(d->account, ps); } }