mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-25 23:49:35 -05:00
Get Republishing Pulses working
* Copy Original Pulse data for Republished Pulses * Add LHS | to indicate republish * Update Ref Icon in PulseTopLevel * Add FollowParent button in PulseTopLevel * display republished pulses as part of PulseFocus view
This commit is contained in:
parent
ca2da39167
commit
d0104e0364
@ -302,6 +302,18 @@ void PulseAddDialog::postReplyPulse()
|
|||||||
pPulse->mImage3 = mImage3;
|
pPulse->mImage3 = mImage3;
|
||||||
pPulse->mImage4 = mImage4;
|
pPulse->mImage4 = mImage4;
|
||||||
|
|
||||||
|
if (mReplyType & WIRE_PULSE_TYPE_REPUBLISH) {
|
||||||
|
// Copy details from parent, and override
|
||||||
|
pPulse->mSentiment = mReplyToPulse.mSentiment;
|
||||||
|
pPulse->mPulseText = mReplyToPulse.mPulseText;
|
||||||
|
|
||||||
|
// Copy images.
|
||||||
|
pPulse->mImage1 = mReplyToPulse.mImage1;
|
||||||
|
pPulse->mImage2 = mReplyToPulse.mImage2;
|
||||||
|
pPulse->mImage3 = mReplyToPulse.mImage3;
|
||||||
|
pPulse->mImage4 = mReplyToPulse.mImage4;
|
||||||
|
}
|
||||||
|
|
||||||
// this should be in async thread, so doesn't block UI thread.
|
// this should be in async thread, so doesn't block UI thread.
|
||||||
if (!rsWire->createReplyPulse(mReplyToPulse.mMeta.mGroupId,
|
if (!rsWire->createReplyPulse(mReplyToPulse.mMeta.mGroupId,
|
||||||
mReplyToPulse.mMeta.mOrigMsgId,
|
mReplyToPulse.mMeta.mOrigMsgId,
|
||||||
|
@ -36,6 +36,10 @@ void PulseMessage::setup(RsWirePulseSPtr pulse)
|
|||||||
|
|
||||||
setMessage(QString::fromStdString(pulse->mPulseText));
|
setMessage(QString::fromStdString(pulse->mPulseText));
|
||||||
|
|
||||||
|
// show indent if republish (both RESPONSE or REF)
|
||||||
|
bool showIndent = (pulse->mPulseType & WIRE_PULSE_TYPE_REPUBLISH);
|
||||||
|
widget_indent->setVisible(showIndent);
|
||||||
|
|
||||||
// setup images.
|
// setup images.
|
||||||
int width = 256;
|
int width = 256;
|
||||||
int height = 128;
|
int height = 128;
|
||||||
|
@ -13,11 +13,39 @@
|
|||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="0" rowspan="2">
|
||||||
|
<widget class="QWidget" name="widget_indent" native="true">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
<item>
|
<item>
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Plain</enum>
|
||||||
|
</property>
|
||||||
|
<property name="lineWidth">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
<widget class="QTextBrowser" name="textBrowser"/>
|
<widget class="QTextBrowser" name="textBrowser"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item row="1" column="1">
|
||||||
<widget class="QFrame" name="frame_expand">
|
<widget class="QFrame" name="frame_expand">
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::StyledPanel</enum>
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
@ -48,6 +48,7 @@ void PulseTopLevel::setup()
|
|||||||
connect(toolButton_viewGroup, SIGNAL(clicked()), this, SLOT(actionViewGroup()));
|
connect(toolButton_viewGroup, SIGNAL(clicked()), this, SLOT(actionViewGroup()));
|
||||||
connect(toolButton_viewParent, SIGNAL(clicked()), this, SLOT(actionViewParent()));
|
connect(toolButton_viewParent, SIGNAL(clicked()), this, SLOT(actionViewParent()));
|
||||||
connect(toolButton_follow, SIGNAL(clicked()), this, SLOT(actionFollow()));
|
connect(toolButton_follow, SIGNAL(clicked()), this, SLOT(actionFollow()));
|
||||||
|
connect(toolButton_followParent, SIGNAL(clicked()), this, SLOT(actionFollowParent()));
|
||||||
// connect(toolButton_rate, SIGNAL(clicked()), this, SLOT(rate()));
|
// connect(toolButton_rate, SIGNAL(clicked()), this, SLOT(rate()));
|
||||||
|
|
||||||
connect(toolButton_reply, SIGNAL(clicked()), this, SLOT(actionReply()));
|
connect(toolButton_reply, SIGNAL(clicked()), this, SLOT(actionReply()));
|
||||||
@ -122,12 +123,28 @@ void PulseTopLevel::setReferenceString(QString ref)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
label_reference->setText(ref);
|
label_reference->setText(ref);
|
||||||
|
|
||||||
|
// set ref icon
|
||||||
|
if (mPulse->mPulseType & WIRE_PULSE_TYPE_REPUBLISH) {
|
||||||
|
label_reficon->setPixmap(QPixmap(":/images/retweet.png"));
|
||||||
|
} else {
|
||||||
|
label_reficon->setPixmap(QPixmap(":/images/reply.png"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mPulse->mRefGroupPtr) {
|
if (mPulse->mRefGroupPtr) {
|
||||||
|
if (mPulse->mRefGroupPtr->mMeta.mSubscribeFlags &
|
||||||
|
(GXS_SERV::GROUP_SUBSCRIBE_ADMIN |
|
||||||
|
GXS_SERV::GROUP_SUBSCRIBE_SUBSCRIBED)) {
|
||||||
toolButton_viewParent->setVisible(true);
|
toolButton_viewParent->setVisible(true);
|
||||||
|
toolButton_followParent->setVisible(false);
|
||||||
} else {
|
} else {
|
||||||
toolButton_viewParent->setVisible(false);
|
toolButton_viewParent->setVisible(false);
|
||||||
|
toolButton_followParent->setVisible(true);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
toolButton_viewParent->setVisible(false);
|
||||||
|
toolButton_followParent->setVisible(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,8 +91,20 @@ border-radius: 10px}</string>
|
|||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>icn</string>
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="TheWire_images.qrc">:/images/reply.png</pixmap>
|
||||||
|
</property>
|
||||||
|
<property name="scaledContents">
|
||||||
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -123,6 +135,26 @@ border-radius: 10px}</string>
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="toolButton_followParent">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>follow Parent Group</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="TheWire_images.qrc">
|
||||||
|
<normaloff>:/images/invite.png</normaloff>:/images/invite.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_15">
|
<spacer name="horizontalSpacer_15">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -201,6 +201,29 @@ void PulseDataItem::actionFollow()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PulseDataItem::actionFollowParent()
|
||||||
|
{
|
||||||
|
std::cerr << "PulseDataItem::actionFollowParent()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
RsGxsGroupId groupId;
|
||||||
|
if (mPulse->mPulseType & WIRE_PULSE_TYPE_REFERENCE) {
|
||||||
|
std::cerr << "PulseDataItem::actionFollowParent() REF following Group: ";
|
||||||
|
std::cerr << mPulse->mMeta.mGroupId;
|
||||||
|
std::cerr << std::endl;
|
||||||
|
groupId = mPulse->mMeta.mGroupId;
|
||||||
|
} else {
|
||||||
|
std::cerr << "PulseDataItem::actionFollowParent() RESPONSE following RefGroup: ";
|
||||||
|
std::cerr << mPulse->mRefGroupId;
|
||||||
|
std::cerr << std::endl;
|
||||||
|
groupId = mPulse->mRefGroupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mHolder) {
|
||||||
|
mHolder->PVHfollow(groupId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void PulseDataItem::actionRate()
|
void PulseDataItem::actionRate()
|
||||||
{
|
{
|
||||||
std::cerr << "PulseDataItem::actionRate()";
|
std::cerr << "PulseDataItem::actionRate()";
|
||||||
|
@ -112,6 +112,7 @@ private slots:
|
|||||||
void actionViewPulse();
|
void actionViewPulse();
|
||||||
|
|
||||||
void actionFollow();
|
void actionFollow();
|
||||||
|
void actionFollowParent();
|
||||||
void actionRate();
|
void actionRate();
|
||||||
// Action interfaces --------------------------
|
// Action interfaces --------------------------
|
||||||
|
|
||||||
|
@ -819,6 +819,26 @@ void WireDialog::postPulseFocus(RsWirePulseSPtr pPulse)
|
|||||||
|
|
||||||
addTwitterView(new PulseReplySeperator());
|
addTwitterView(new PulseReplySeperator());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add big separator, and republishes.
|
||||||
|
if (pPulse->mReplies.size() > 0 && pPulse->mRepublishes.size() > 0)
|
||||||
|
{
|
||||||
|
addTwitterView(new PulseReplySeperator());
|
||||||
|
addTwitterView(new PulseReplySeperator());
|
||||||
|
}
|
||||||
|
|
||||||
|
for(it = pPulse->mRepublishes.begin(); it != pPulse->mRepublishes.end(); it++)
|
||||||
|
{
|
||||||
|
RsWirePulseSPtr repub = *it;
|
||||||
|
|
||||||
|
PulseReply *firstRepub = new PulseReply(this, repub);
|
||||||
|
firstRepub->showReplyLine(false);
|
||||||
|
|
||||||
|
addTwitterView(firstRepub);
|
||||||
|
addTwitterView(new PulseReplySeperator());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WireDialog::requestGroupFocus(const RsGxsGroupId groupId)
|
void WireDialog::requestGroupFocus(const RsGxsGroupId groupId)
|
||||||
|
Loading…
Reference in New Issue
Block a user