mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-22 15:51:29 -04:00
Used RsGxsGroupId instead of std:string for id/name in IdEditDialog/GxsidChooser.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7936 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
05d25a83d5
commit
0a1698f8c8
6 changed files with 63 additions and 40 deletions
|
@ -843,7 +843,10 @@ void IdDialog::editIdentity()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string keyId = item->text(RSID_COL_KEYID).toStdString();
|
RsGxsGroupId keyId = RsGxsGroupId(item->text(RSID_COL_KEYID).toStdString());
|
||||||
|
if (keyId.isNull()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
IdEditDialog dlg(this);
|
IdEditDialog dlg(this);
|
||||||
dlg.setupExistingId(keyId);
|
dlg.setupExistingId(keyId);
|
||||||
|
|
|
@ -36,7 +36,8 @@
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#define IDEDITDIALOG_LOADID 1
|
#define IDEDITDIALOG_LOADID 1
|
||||||
|
#define IDEDITDIALOG_CREATEID 2
|
||||||
|
|
||||||
/** Constructor */
|
/** Constructor */
|
||||||
IdEditDialog::IdEditDialog(QWidget *parent) :
|
IdEditDialog::IdEditDialog(QWidget *parent) :
|
||||||
|
@ -44,7 +45,6 @@ IdEditDialog::IdEditDialog(QWidget *parent) :
|
||||||
ui(new(Ui::IdEditDialog))
|
ui(new(Ui::IdEditDialog))
|
||||||
{
|
{
|
||||||
mIsNew = true;
|
mIsNew = true;
|
||||||
mLastIdName="";
|
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ IdEditDialog::IdEditDialog(QWidget *parent) :
|
||||||
connect(ui->radioButton_GpgId, SIGNAL(toggled(bool)), this, SLOT(idTypeToggled(bool)));
|
connect(ui->radioButton_GpgId, SIGNAL(toggled(bool)), this, SLOT(idTypeToggled(bool)));
|
||||||
connect(ui->radioButton_Pseudo, SIGNAL(toggled(bool)), this, SLOT(idTypeToggled(bool)));
|
connect(ui->radioButton_Pseudo, SIGNAL(toggled(bool)), this, SLOT(idTypeToggled(bool)));
|
||||||
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(submit()));
|
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(submit()));
|
||||||
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(close()));
|
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
|
||||||
|
|
||||||
connect(ui->plainTextEdit_Tag, SIGNAL(textChanged()), this, SLOT(checkNewTag()));
|
connect(ui->plainTextEdit_Tag, SIGNAL(textChanged()), this, SLOT(checkNewTag()));
|
||||||
connect(ui->pushButton_Tag, SIGNAL(clicked(bool)), this, SLOT(addRecognTag()));
|
connect(ui->pushButton_Tag, SIGNAL(clicked(bool)), this, SLOT(addRecognTag()));
|
||||||
|
@ -114,6 +114,7 @@ void IdEditDialog::setupNewId(bool pseudo)
|
||||||
setWindowTitle(tr("New identity"));
|
setWindowTitle(tr("New identity"));
|
||||||
|
|
||||||
mIsNew = true;
|
mIsNew = true;
|
||||||
|
mGroupId.clear();
|
||||||
|
|
||||||
ui->lineEdit_KeyId->setText(tr("To be generated"));
|
ui->lineEdit_KeyId->setText(tr("To be generated"));
|
||||||
ui->lineEdit_Nickname->setText("");
|
ui->lineEdit_Nickname->setText("");
|
||||||
|
@ -181,13 +182,14 @@ void IdEditDialog::setAvatar(const QPixmap &avatar)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void IdEditDialog::setupExistingId(std::string keyId)
|
void IdEditDialog::setupExistingId(const RsGxsGroupId &keyId)
|
||||||
{
|
{
|
||||||
setWindowTitle(tr("Edit identity"));
|
setWindowTitle(tr("Edit identity"));
|
||||||
ui->headerFrame->setHeaderImage(QPixmap(":/images/identity/identity_edit_64.png"));
|
ui->headerFrame->setHeaderImage(QPixmap(":/images/identity/identity_edit_64.png"));
|
||||||
ui->headerFrame->setHeaderText(tr("Edit identity"));
|
ui->headerFrame->setHeaderText(tr("Edit identity"));
|
||||||
|
|
||||||
mIsNew = false;
|
mIsNew = false;
|
||||||
|
mGroupId.clear();
|
||||||
|
|
||||||
mStateHelper->setLoading(IDEDITDIALOG_LOADID, true);
|
mStateHelper->setLoading(IDEDITDIALOG_LOADID, true);
|
||||||
|
|
||||||
|
@ -195,7 +197,7 @@ void IdEditDialog::setupExistingId(std::string keyId)
|
||||||
opts.mReqType = GXS_REQUEST_TYPE_GROUP_DATA;
|
opts.mReqType = GXS_REQUEST_TYPE_GROUP_DATA;
|
||||||
|
|
||||||
std::list<RsGxsGroupId> groupIds;
|
std::list<RsGxsGroupId> groupIds;
|
||||||
groupIds.push_back(RsGxsGroupId(keyId));
|
groupIds.push_back(keyId);
|
||||||
|
|
||||||
uint32_t token;
|
uint32_t token;
|
||||||
mIdQueue->requestGroupInfo(token, RS_TOKREQ_ANSTYPE_DATA, opts, groupIds, IDEDITDIALOG_LOADID);
|
mIdQueue->requestGroupInfo(token, RS_TOKREQ_ANSTYPE_DATA, opts, groupIds, IDEDITDIALOG_LOADID);
|
||||||
|
@ -228,8 +230,9 @@ void IdEditDialog::loadExistingId(uint32_t token)
|
||||||
}
|
}
|
||||||
|
|
||||||
mEditGroup = datavector[0];
|
mEditGroup = datavector[0];
|
||||||
QPixmap avatar;
|
mGroupId = mEditGroup.mMeta.mGroupId;
|
||||||
|
|
||||||
|
QPixmap avatar;
|
||||||
if (mEditGroup.mImage.mSize > 0) {
|
if (mEditGroup.mImage.mSize > 0) {
|
||||||
avatar.loadFromData(mEditGroup.mImage.mData, mEditGroup.mImage.mSize, "PNG");
|
avatar.loadFromData(mEditGroup.mImage.mData, mEditGroup.mImage.mSize, "PNG");
|
||||||
}
|
}
|
||||||
|
@ -503,11 +506,25 @@ void IdEditDialog::createId()
|
||||||
else
|
else
|
||||||
params.mImage.clear();
|
params.mImage.clear();
|
||||||
|
|
||||||
uint32_t dummyToken = 0;
|
uint32_t token = 0;
|
||||||
rsIdentity->createIdentity(dummyToken, params);
|
rsIdentity->createIdentity(token, params);
|
||||||
|
|
||||||
mLastIdName = groupname;
|
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
|
||||||
close();
|
|
||||||
|
mIdQueue->queueRequest(token, 0, 0, IDEDITDIALOG_CREATEID);
|
||||||
|
}
|
||||||
|
|
||||||
|
void IdEditDialog::idCreated(uint32_t token)
|
||||||
|
{
|
||||||
|
if (!rsIdentity->acknowledgeGrp(token, mGroupId)) {
|
||||||
|
std::cerr << "IdDialog::idCreated() acknowledgeGrp failed";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
reject();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
void IdEditDialog::updateId()
|
void IdEditDialog::updateId()
|
||||||
|
@ -540,8 +557,7 @@ void IdEditDialog::updateId()
|
||||||
uint32_t dummyToken = 0;
|
uint32_t dummyToken = 0;
|
||||||
rsIdentity->updateIdentity(dummyToken, mEditGroup);
|
rsIdentity->updateIdentity(dummyToken, mEditGroup);
|
||||||
|
|
||||||
mLastIdName = groupname;
|
accept();
|
||||||
close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void IdEditDialog::loadRequest(const TokenQueue */*queue*/, const TokenRequest &req)
|
void IdEditDialog::loadRequest(const TokenQueue */*queue*/, const TokenRequest &req)
|
||||||
|
@ -549,6 +565,14 @@ void IdEditDialog::loadRequest(const TokenQueue */*queue*/, const TokenRequest &
|
||||||
std::cerr << "IdDialog::loadRequest() UserType: " << req.mUserType;
|
std::cerr << "IdDialog::loadRequest() UserType: " << req.mUserType;
|
||||||
std::cerr << std::endl;
|
std::cerr << std::endl;
|
||||||
|
|
||||||
// only one here!
|
switch (req.mUserType) {
|
||||||
loadExistingId(req.mToken);
|
case IDEDITDIALOG_LOADID:
|
||||||
|
loadExistingId(req.mToken);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case IDEDITDIALOG_CREATEID:
|
||||||
|
idCreated(req.mToken);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,12 +46,12 @@ public:
|
||||||
~IdEditDialog();
|
~IdEditDialog();
|
||||||
|
|
||||||
void setupNewId(bool pseudo);
|
void setupNewId(bool pseudo);
|
||||||
void setupExistingId(std::string keyId);
|
void setupExistingId(const RsGxsGroupId &keyId);
|
||||||
|
|
||||||
|
RsGxsGroupId groupId() { return mGroupId; }
|
||||||
|
|
||||||
void loadRequest(const TokenQueue *queue, const TokenRequest &req);
|
void loadRequest(const TokenQueue *queue, const TokenRequest &req);
|
||||||
|
|
||||||
std::string getLastIdName() {return mLastIdName;}
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void idTypeToggled(bool checked);
|
void idTypeToggled(bool checked);
|
||||||
void submit();
|
void submit();
|
||||||
|
@ -72,6 +72,7 @@ private:
|
||||||
void updateIdType(bool pseudo);
|
void updateIdType(bool pseudo);
|
||||||
void loadExistingId(uint32_t token);
|
void loadExistingId(uint32_t token);
|
||||||
void setAvatar(const QPixmap &avatar);
|
void setAvatar(const QPixmap &avatar);
|
||||||
|
void idCreated(uint32_t token);
|
||||||
|
|
||||||
void loadRecognTags();
|
void loadRecognTags();
|
||||||
// extract details.
|
// extract details.
|
||||||
|
@ -86,7 +87,7 @@ protected:
|
||||||
RsGxsIdGroup mEditGroup;
|
RsGxsIdGroup mEditGroup;
|
||||||
|
|
||||||
TokenQueue *mIdQueue;
|
TokenQueue *mIdQueue;
|
||||||
std::string mLastIdName;
|
RsGxsGroupId mGroupId;
|
||||||
|
|
||||||
QPixmap mAvatar; // Avatar from identity (not calculated)
|
QPixmap mAvatar; // Avatar from identity (not calculated)
|
||||||
};
|
};
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
|
|
||||||
#include <retroshare/rsmsgs.h>
|
#include <retroshare/rsmsgs.h>
|
||||||
#include <retroshare/rspeers.h>
|
#include <retroshare/rspeers.h>
|
||||||
|
#include <retroshare/rsidentity.h>
|
||||||
|
|
||||||
/****
|
/****
|
||||||
* #define DEBUG_ITEM 1
|
* #define DEBUG_ITEM 1
|
||||||
|
|
|
@ -60,7 +60,6 @@ GxsIdChooser::GxsIdChooser(QWidget *parent)
|
||||||
mFirstLoad = true;
|
mFirstLoad = true;
|
||||||
|
|
||||||
mDefaultId.clear() ;
|
mDefaultId.clear() ;
|
||||||
mDefaultIdName.clear();
|
|
||||||
|
|
||||||
/* Enable sort with own role */
|
/* Enable sort with own role */
|
||||||
QSortFilterProxyModel *proxy = new QSortFilterProxyModel(this);
|
QSortFilterProxyModel *proxy = new QSortFilterProxyModel(this);
|
||||||
|
@ -103,7 +102,7 @@ void GxsIdChooser::showEvent(QShowEvent *event)
|
||||||
QComboBox::showEvent(event);
|
QComboBox::showEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GxsIdChooser::loadIds(uint32_t chooserFlags, RsGxsId defId)
|
void GxsIdChooser::loadIds(uint32_t chooserFlags, const RsGxsId &defId)
|
||||||
{
|
{
|
||||||
mFlags = chooserFlags;
|
mFlags = chooserFlags;
|
||||||
mDefaultId = defId;
|
mDefaultId = defId;
|
||||||
|
@ -111,6 +110,11 @@ void GxsIdChooser::loadIds(uint32_t chooserFlags, RsGxsId defId)
|
||||||
mFirstLoad = true;
|
mFirstLoad = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GxsIdChooser::setDefaultId(const RsGxsId &defId)
|
||||||
|
{
|
||||||
|
mDefaultId = defId;
|
||||||
|
}
|
||||||
|
|
||||||
static void loadPrivateIdsCallback(GxsIdDetailsType type, const RsIdentityDetails &details, QObject *object, const QVariant &/*data*/)
|
static void loadPrivateIdsCallback(GxsIdDetailsType type, const RsIdentityDetails &details, QObject *object, const QVariant &/*data*/)
|
||||||
{
|
{
|
||||||
GxsIdChooser *chooser = dynamic_cast<GxsIdChooser*>(object);
|
GxsIdChooser *chooser = dynamic_cast<GxsIdChooser*>(object);
|
||||||
|
@ -175,10 +179,6 @@ void GxsIdChooser::loadPrivateIds(uint32_t token)
|
||||||
if (data.mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN) {
|
if (data.mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN) {
|
||||||
ids.push_back((RsGxsId) data.mMeta.mGroupId);
|
ids.push_back((RsGxsId) data.mMeta.mGroupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mDefaultIdName == data.mMeta.mGroupName) {
|
|
||||||
mDefaultId = (RsGxsId) data.mMeta.mGroupId;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//rsIdentity->getDefaultId(defId);
|
//rsIdentity->getDefaultId(defId);
|
||||||
|
@ -256,7 +256,7 @@ void GxsIdChooser::setDefaultItem()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GxsIdChooser::setChosenId(RsGxsId &gxsId)
|
bool GxsIdChooser::setChosenId(const RsGxsId &gxsId)
|
||||||
{
|
{
|
||||||
QString id = QString::fromStdString(gxsId.toStdString());
|
QString id = QString::fromStdString(gxsId.toStdString());
|
||||||
|
|
||||||
|
@ -313,8 +313,9 @@ void GxsIdChooser::indexActivated(int index)
|
||||||
if (type == TYPE_CREATE_ID) {
|
if (type == TYPE_CREATE_ID) {
|
||||||
IdEditDialog dlg(this);
|
IdEditDialog dlg(this);
|
||||||
dlg.setupNewId(false);
|
dlg.setupNewId(false);
|
||||||
dlg.exec();
|
if (dlg.exec() == QDialog::Accepted) {
|
||||||
setDefaultId(dlg.getLastIdName());
|
setDefaultId(RsGxsId(dlg.groupId()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,10 +25,7 @@
|
||||||
#define _GXS_ID_CHOOSER_H
|
#define _GXS_ID_CHOOSER_H
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
#include <QPushButton>
|
|
||||||
#include "util/TokenQueue.h"
|
#include "util/TokenQueue.h"
|
||||||
#include <retroshare/rsidentity.h>
|
|
||||||
#include <retroshare/rsgxsifacetypes.h>
|
|
||||||
|
|
||||||
// This class implement a basic RS functionality which is that ComboBox displaying Id
|
// This class implement a basic RS functionality which is that ComboBox displaying Id
|
||||||
// should update regularly. They also should update only when visible, to save CPU time.
|
// should update regularly. They also should update only when visible, to save CPU time.
|
||||||
|
@ -52,16 +49,14 @@ public:
|
||||||
|
|
||||||
void setFlags(uint32_t flags) ;
|
void setFlags(uint32_t flags) ;
|
||||||
|
|
||||||
void loadRequest(const TokenQueue *queue, const TokenRequest &req);//TokenResponse
|
/* TokenResponse */
|
||||||
|
virtual void loadRequest(const TokenQueue *queue, const TokenRequest &req);
|
||||||
|
|
||||||
enum ChosenId_Ret {None, KnowId, UnKnowId, NoId} ;
|
enum ChosenId_Ret {None, KnowId, UnKnowId, NoId} ;
|
||||||
void loadIds(uint32_t chooserFlags, RsGxsId defId);
|
void loadIds(uint32_t chooserFlags, const RsGxsId &defId);
|
||||||
void setDefaultId(RsGxsId defId) {mDefaultId=defId;}
|
void setDefaultId(const RsGxsId &defId);
|
||||||
void setDefaultId(std::string defIdName) {mDefaultIdName=defIdName;}
|
|
||||||
|
|
||||||
bool hasAvailableIds() const { return !mDefaultId.isNull() ; }
|
bool setChosenId(const RsGxsId &gxsId);
|
||||||
|
|
||||||
bool setChosenId(RsGxsId &gxsId);
|
|
||||||
ChosenId_Ret getChosenId(RsGxsId &gxsId);
|
ChosenId_Ret getChosenId(RsGxsId &gxsId);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -80,9 +75,7 @@ private:
|
||||||
|
|
||||||
uint32_t mFlags;
|
uint32_t mFlags;
|
||||||
RsGxsId mDefaultId;
|
RsGxsId mDefaultId;
|
||||||
std::string mDefaultIdName;
|
|
||||||
bool mFirstLoad;
|
bool mFirstLoad;
|
||||||
QPushButton* addNewCxsId;
|
|
||||||
|
|
||||||
TokenQueue *mIdQueue;
|
TokenQueue *mIdQueue;
|
||||||
RsGxsUpdateBroadcastBase *mBase;
|
RsGxsUpdateBroadcastBase *mBase;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue