Get the basics of TheWire service working

Added REF fields to Wire Msgs to allow replys to work well.
Added description of how the Message fields should be used.
Added WireGroupDialog for creation of WireGroups.
Updated PulseAddDialog to support publishing Pulses and Replies.
Added classes to display Pulses / Groups.
Added single selection point of WireGroup for publishing.
Added basic "refresh" to reload new GXS data.
This commit is contained in:
drbob 2020-02-29 11:47:00 +11:00
parent b1680bd591
commit 24fd4ae3e7
23 changed files with 2303 additions and 1110 deletions

View file

@ -1,7 +1,7 @@
/*******************************************************************************
* gui/TheWire/PulseAddDialog.h *
* *
* Copyright (c) 2012 Robert Fernie <retroshare.project@gmail.com> *
* Copyright (c) 2012-2020 Robert Fernie <retroshare.project@gmail.com> *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as *
@ -23,30 +23,46 @@
#include "ui_PulseAddDialog.h"
#include <inttypes.h>
#include <retroshare/rswire.h>
#include "util/TokenQueue.h"
class PhotoDetailsDialog;
class PulseAddDialog : public QWidget
class PulseAddDialog : public QWidget, public TokenResponse
{
Q_OBJECT
public:
PulseAddDialog(QWidget *parent = 0);
private slots:
void showPhotoDetails();
void updateMoveButtons(uint32_t status);
void setGroup(RsWireGroup &group);
void setReplyTo(RsWirePulse &pulse, std::string &groupName);
private slots:
void addURL();
void addTo();
void postPulse();
void cancelPulse();
void clearDialog();
private:
void postOriginalPulse();
void postReplyPulse();
void postRefPulse(RsWirePulse &pulse);
void acknowledgeMessage(const uint32_t &token);
void loadPulseData(const uint32_t &token);
void loadRequest(const TokenQueue *queue, const TokenRequest &req);
protected:
PhotoDetailsDialog *mPhotoDetails;
RsWireGroup mGroup; // where we want to post from.
// if this is a reply
bool mIsReply;
std::string mReplyGroupName;
RsWirePulse mReplyToPulse;
bool mWaitingRefMsg;
TokenQueue* mWireQueue;
Ui::PulseAddDialog ui;
};