+
+void Entry::markShared(bool mark_shared) {
+ /* Check if the shared flag differs from the requested state */
+ if(((flags & ENTRY_FLAG_SHARED) != 0) == mark_shared)
+ return;
+
+ QNetworkRequest request;
+ request.setUrl(feed->reader->edittag_url);
+
+ postshared.open(QBuffer::ReadWrite | QBuffer::Truncate);
+ postshared.write("i=");
+ postshared.write(QUrl::toPercentEncoding(id));
+ if(mark_shared)
+ postshared.write("&a=");
+ else
+ postshared.write("&r=");
+ postshared.write(QUrl::toPercentEncoding("user/-/state/com.google/broadcast"));
+ postshared.write("&ac=edit-tags&T=");
+ postshared.write(QUrl::toPercentEncoding(feed->reader->token));
+ postshared.seek(0);
+ feed->reader->manager.post(request, &postshared);
+
+ Feed *shared = feed->reader->feeds.value("user/-/state/com.google/broadcast");
+
+ if(mark_shared) {
+ shared->addEntry(this);
+ flags |= ENTRY_FLAG_SHARED;
+ }
+ else {
+ shared->delEntry(this);
+ flags &= ~ENTRY_FLAG_SHARED;
+ }
+}