completely removed TokenQueue from GxsGroupDialog and GxsGroupFrameDialog

This commit is contained in:
csoler 2020-03-22 21:47:14 +01:00
parent 7ba83272cf
commit 6c1f09a53b
No known key found for this signature in database
GPG key ID: 7BCA522266C0804C
26 changed files with 423 additions and 217 deletions

View file

@ -181,14 +181,14 @@ QString GxsChannelDialog::icon(IconType type)
return "";
}
GxsGroupDialog *GxsChannelDialog::createNewGroupDialog(TokenQueue *tokenQueue)
GxsGroupDialog *GxsChannelDialog::createNewGroupDialog()
{
return new GxsChannelGroupDialog(tokenQueue, this);
return new GxsChannelGroupDialog(this);
}
GxsGroupDialog *GxsChannelDialog::createGroupDialog(TokenQueue *tokenQueue, RsTokenService *tokenService, GxsGroupDialog::Mode mode, RsGxsGroupId groupId)
GxsGroupDialog *GxsChannelDialog::createGroupDialog(GxsGroupDialog::Mode mode, RsGxsGroupId groupId)
{
return new GxsChannelGroupDialog(tokenQueue, tokenService, mode, groupId, this);
return new GxsChannelGroupDialog(mode, groupId, this);
}
int GxsChannelDialog::shareKeyType()
@ -344,6 +344,11 @@ void GxsChannelDialog::toggleAutoDownload()
});
}
bool GxsChannelDialog::getGroupStatistics(const RsGxsGroupId& groupId,GxsGroupStatistic& stat)
{
return rsGxsChannels->getChannelStatistics(groupId,stat);
}
bool GxsChannelDialog::getGroupData(std::list<RsGxsGenericGroupData*>& groupInfo)
{
std::vector<RsGxsChannelGroup> groups;

View file

@ -43,18 +43,21 @@ public:
protected:
/* GxsGroupFrameDialog */
virtual RetroShareLink::enumType getLinkType() { return RetroShareLink::TYPE_CHANNEL; }
virtual GroupFrameSettings::Type groupFrameSettingsType() { return GroupFrameSettings::Channel; }
virtual QString getHelpString() const ;
virtual bool getDistantSearchResults(TurtleRequestId id, std::map<RsGxsGroupId,RsGxsGroupSummary>& group_infos);
virtual TurtleRequestId distantSearch(const QString& search_string) ;
virtual void checkRequestGroup(const RsGxsGroupId& grpId) ;
// Implementation of some abstract methods in GxsGroupFrameDialog
virtual QString getHelpString() const override;
GroupFrameSettings::Type groupFrameSettingsType() override { return GroupFrameSettings::Channel; }
RetroShareLink::enumType getLinkType() override { return RetroShareLink::TYPE_CHANNEL; }
void groupInfoToGroupItemInfo(const RsGxsGenericGroupData *groupData, GroupItemInfo &groupItemInfo) override;
const std::set<TurtleRequestId> getSearchRequests() const override { return mSearchResults ; }
UserNotify *createUserNotify(QObject *parent) override;
bool getGroupData(std::list<RsGxsGenericGroupData*>& groupInfo) override;
void groupInfoToGroupItemInfo(const RsGxsGenericGroupData *groupData, GroupItemInfo &groupItemInfo) override;
bool getGroupStatistics(const RsGxsGroupId& groupId,GxsGroupStatistic& stat) override;
private slots:
void toggleAutoDownload();
@ -67,8 +70,8 @@ private:
virtual QString text(TextType type);
virtual QString icon(IconType type);
virtual QString settingsGroupName() { return "ChannelDialog"; }
virtual GxsGroupDialog *createNewGroupDialog(TokenQueue *tokenQueue);
virtual GxsGroupDialog *createGroupDialog(TokenQueue *tokenQueue, RsTokenService *tokenService, GxsGroupDialog::Mode mode, RsGxsGroupId groupId);
virtual GxsGroupDialog *createNewGroupDialog();
virtual GxsGroupDialog *createGroupDialog(GxsGroupDialog::Mode mode, RsGxsGroupId groupId);
virtual int shareKeyType();
virtual GxsMessageFrameWidget *createMessageFrameWidget(const RsGxsGroupId &groupId);
virtual void groupTreeCustomActions(RsGxsGroupId grpId, int subscribeFlags, QList<QAction*> &actions);

View file

@ -59,15 +59,15 @@ const uint32_t ChannelCreateDefaultsFlags = ( GXS_GROUP_DEFAULTS_DISTRIB_PUBLIC
const uint32_t ChannelEditEnabledFlags = ChannelCreateEnabledFlags;
const uint32_t ChannelEditDefaultsFlags = ChannelCreateDefaultsFlags;
GxsChannelGroupDialog::GxsChannelGroupDialog(TokenQueue *tokenQueue, QWidget *parent)
: GxsGroupDialog(tokenQueue, ChannelCreateEnabledFlags, ChannelCreateDefaultsFlags, parent)
GxsChannelGroupDialog::GxsChannelGroupDialog(QWidget *parent)
: GxsGroupDialog(ChannelCreateEnabledFlags, ChannelCreateDefaultsFlags, parent)
{
ui.commentGroupBox->setEnabled(false); // These are here because comments_allowed are actually not used yet, so the group will not be changed by the setting and when
ui.comments_allowed->setChecked(true); // the group info is displayed it will therefore be set to "disabled" in all cases although it is enabled.
}
GxsChannelGroupDialog::GxsChannelGroupDialog(TokenQueue *tokenExternalQueue, RsTokenService *tokenService, Mode mode, RsGxsGroupId groupId, QWidget *parent)
: GxsGroupDialog(tokenExternalQueue, tokenService, mode, groupId, ChannelEditEnabledFlags, ChannelEditDefaultsFlags, parent)
GxsChannelGroupDialog::GxsChannelGroupDialog(Mode mode, RsGxsGroupId groupId, QWidget *parent)
: GxsGroupDialog(mode, groupId, ChannelEditEnabledFlags, ChannelEditDefaultsFlags, parent)
{
ui.commentGroupBox->setEnabled(false); // These are here because comments_allowed are actually not used yet, so the group will not be changed by the setting and when
ui.comments_allowed->setChecked(true); // the group info is displayed it will therefore be set to "disabled" in all cases although it is enabled.
@ -129,17 +129,19 @@ void GxsChannelGroupDialog::prepareChannelGroup(RsGxsChannelGroup &group, const
}
}
bool GxsChannelGroupDialog::service_CreateGroup(uint32_t &token, const RsGroupMetaData &meta)
bool GxsChannelGroupDialog::service_createGroup(RsGroupMetaData& meta)
{
// Specific Function.
RsGxsChannelGroup grp;
prepareChannelGroup(grp, meta);
rsGxsChannels->createGroup(token, grp);
rsGxsChannels->createChannel(grp);
meta = grp.mMeta;
return true;
}
bool GxsChannelGroupDialog::service_EditGroup(uint32_t &token, RsGroupMetaData &editedMeta)
bool GxsChannelGroupDialog::service_updateGroup(const RsGroupMetaData& editedMeta)
{
RsGxsChannelGroup grp;
prepareChannelGroup(grp, editedMeta);
@ -147,44 +149,42 @@ bool GxsChannelGroupDialog::service_EditGroup(uint32_t &token, RsGroupMetaData &
std::cerr << "GxsChannelGroupDialog::service_EditGroup() submitting changes";
std::cerr << std::endl;
rsGxsChannels->updateGroup(token, grp);
return true;
return rsGxsChannels->editChannel(grp);
}
bool GxsChannelGroupDialog::service_loadGroup(uint32_t token, Mode /*mode*/, RsGroupMetaData& groupMetaData, QString &description)
bool GxsChannelGroupDialog::service_loadGroup(const RsGxsGenericGroupData *data, Mode /*mode*/, QString& description)
{
std::cerr << "GxsChannelGroupDialog::service_loadGroup(" << token << ")";
std::cerr << std::endl;
const RsGxsChannelGroup *pgroup = dynamic_cast<const RsGxsChannelGroup*>(data);
std::vector<RsGxsChannelGroup> groups;
if (!rsGxsChannels->getGroupData(token, groups))
if (!pgroup)
{
std::cerr << "GxsChannelGroupDialog::service_loadGroup() Error getting GroupData";
std::cerr << std::endl;
std::cerr << "GxsChannelGroupDialog::service_loadGroup() Error supplied generic group data is not a RsGxsChannelGroup" << std::endl;
return false;
}
if (groups.size() != 1)
{
std::cerr << "GxsChannelGroupDialog::service_loadGroup() Error Group.size() != 1";
std::cerr << std::endl;
return false;
}
std::cerr << "GxsChannelsGroupDialog::service_loadGroup() Unfinished Loading";
std::cerr << std::endl;
const RsGxsChannelGroup &group = groups[0];
groupMetaData = group.mMeta;
const RsGxsChannelGroup& group = *pgroup;
description = QString::fromUtf8(group.mDescription.c_str());
if (group.mImage.mData) {
QPixmap pixmap;
if (GxsIdDetails::loadPixmapFromData(group.mImage.mData, group.mImage.mSize,pixmap,GxsIdDetails::ORIGINAL)) {
if (GxsIdDetails::loadPixmapFromData(group.mImage.mData, group.mImage.mSize,pixmap,GxsIdDetails::ORIGINAL))
setLogo(pixmap);
}
}
return true;
}
bool GxsChannelGroupDialog::service_getGroupData(const RsGxsGroupId& grpId,RsGxsGenericGroupData *& data)
{
std::vector<RsGxsChannelGroup> forumsInfo ;
if( rsGxsChannels->getChannelsInfo(std::list<RsGxsGroupId>({grpId}),forumsInfo) && forumsInfo.size() == 1)
{
data = new RsGxsChannelGroup(forumsInfo[0]);
return true;
}
else
return false;
}

View file

@ -29,15 +29,16 @@ class GxsChannelGroupDialog : public GxsGroupDialog
Q_OBJECT
public:
GxsChannelGroupDialog(TokenQueue *tokenQueue, QWidget *parent);
GxsChannelGroupDialog(TokenQueue *tokenExternalQueue, RsTokenService *tokenService, Mode mode, RsGxsGroupId groupId, QWidget *parent = NULL);
GxsChannelGroupDialog(QWidget *parent);
GxsChannelGroupDialog(Mode mode, RsGxsGroupId groupId, QWidget *parent = NULL);
protected:
virtual void initUi();
virtual QPixmap serviceImage();
virtual bool service_CreateGroup(uint32_t &token, const RsGroupMetaData &meta);
virtual bool service_loadGroup(uint32_t token, Mode mode, RsGroupMetaData& groupMetaData, QString &description);
virtual bool service_EditGroup(uint32_t &token, RsGroupMetaData &editedMeta);
void initUi() override;
QPixmap serviceImage() override;
bool service_createGroup(RsGroupMetaData &meta) override;
bool service_loadGroup(const RsGxsGenericGroupData *data,Mode mode, QString& description) override;
bool service_updateGroup(const RsGroupMetaData& editedMeta) override;
bool service_getGroupData(const RsGxsGroupId& grpId,RsGxsGenericGroupData *& data) override;
private:
void prepareChannelGroup(RsGxsChannelGroup &group, const RsGroupMetaData &meta);