mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 06:06:10 -04:00
Big progress for People dialog. Phenom work.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7573 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
28277c53df
commit
9efc43f41c
15 changed files with 3630 additions and 133 deletions
|
@ -75,7 +75,7 @@ CreateCircleDialog::CreateCircleDialog()
|
|||
QString headerText = headerItem->text(RSCIRCLEID_COL_NICKNAME);
|
||||
ui.IdFilter->addFilter(QIcon(), headerText, RSCIRCLEID_COL_NICKNAME, QString("%1 %2").arg(tr("Search"), headerText));
|
||||
headerText = headerItem->text(RSCIRCLEID_COL_KEYID);
|
||||
ui.IdFilter->addFilter(QIcon(), headerItem->text(RSCIRCLEID_COL_KEYID), RSCIRCLEID_COL_KEYID, QString("%1 %2").arg(tr("Search"), headerText));
|
||||
ui.IdFilter->addFilter(QIcon(), headerText, RSCIRCLEID_COL_KEYID, QString("%1 %2").arg(tr("Search"), headerText));
|
||||
|
||||
ui.removeButton->setEnabled(false);
|
||||
ui.addButton->setEnabled(false);
|
||||
|
@ -87,6 +87,7 @@ CreateCircleDialog::CreateCircleDialog()
|
|||
|
||||
mIsExistingCircle = false;
|
||||
mIsExternalCircle = true;
|
||||
mClearList = true;
|
||||
|
||||
ui.idChooser->loadIds(0,RsGxsId());
|
||||
ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, RsGxsCircleId());
|
||||
|
@ -98,13 +99,14 @@ CreateCircleDialog::~CreateCircleDialog()
|
|||
delete(mIdQueue);
|
||||
}
|
||||
|
||||
void CreateCircleDialog::editExistingId(const RsGxsGroupId& circleId)
|
||||
void CreateCircleDialog::editExistingId(const RsGxsGroupId &circleId, const bool &clearList /*= true*/)
|
||||
{
|
||||
std::cerr << "CreateCircleDialog::editExistingId() : " << circleId;
|
||||
std::cerr << std::endl;
|
||||
|
||||
/* load this circle */
|
||||
mIsExistingCircle = true;
|
||||
mClearList = clearList;
|
||||
requestCircle(circleId);
|
||||
|
||||
ui.headerFrame->setHeaderText(tr("Edit Circle"));
|
||||
|
@ -178,10 +180,7 @@ void CreateCircleDialog::selectedMember(QTreeWidgetItem *current, QTreeWidgetIte
|
|||
void CreateCircleDialog::addMember()
|
||||
{
|
||||
QTreeWidgetItem *item = ui.treeWidget_IdList->currentItem();
|
||||
if (!item)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!item) return;
|
||||
|
||||
/* check that its not there already */
|
||||
QString keyId = item->text(RSCIRCLEID_COL_KEYID);
|
||||
|
@ -191,21 +190,32 @@ void CreateCircleDialog::addMember()
|
|||
addMember(keyId, idtype, nickname);
|
||||
}
|
||||
|
||||
void CreateCircleDialog::addMember(const RsGxsIdGroup &idGroup)
|
||||
{
|
||||
QString keyId = QString::fromStdString(idGroup.mMeta.mGroupId.toStdString());
|
||||
QString nickname = QString::fromUtf8(idGroup.mMeta.mGroupName.c_str());
|
||||
QString idtype = tr("Anon Id");
|
||||
if (idGroup.mPgpKnown){
|
||||
RsPeerDetails details;
|
||||
rsPeers->getGPGDetails(idGroup.mPgpId, details);
|
||||
idtype = QString::fromUtf8(details.name.c_str());
|
||||
}//if (idGroup.mPgpKnown)
|
||||
addMember(keyId, idtype, nickname);
|
||||
}
|
||||
|
||||
void CreateCircleDialog::addMember(const QString& keyId, const QString& idtype, const QString& nickname )
|
||||
{
|
||||
QTreeWidget *tree = ui.treeWidget_membership;
|
||||
|
||||
int count = tree->topLevelItemCount();
|
||||
for(int i = 0; i < count; i++)
|
||||
{
|
||||
for(int i = 0; i < count; i++){
|
||||
QTreeWidgetItem *item = tree->topLevelItem(i);
|
||||
if (keyId == item->text(RSCIRCLEID_COL_KEYID))
|
||||
{
|
||||
if (keyId == item->text(RSCIRCLEID_COL_KEYID)) {
|
||||
std::cerr << "CreateCircleDialog::addMember() Already is a Member: " << keyId.toStdString();
|
||||
std::cerr << std::endl;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}//if (keyId == item->text(RSCIRCLEID_COL_KEYID))
|
||||
}//for(int i = 0; i < count; i++)
|
||||
|
||||
QTreeWidgetItem *member = new QTreeWidgetItem();
|
||||
member->setText(RSCIRCLEID_COL_NICKNAME, nickname);
|
||||
|
@ -215,16 +225,59 @@ void CreateCircleDialog::addMember(const QString& keyId, const QString& idtype,
|
|||
tree->addTopLevelItem(member);
|
||||
}
|
||||
|
||||
/** Maybe we can use RsGxsCircleGroup instead of RsGxsCircleDetails ??? (TODO)**/
|
||||
void CreateCircleDialog::addCircle(const RsGxsCircleDetails &cirDetails)
|
||||
{
|
||||
typedef std::set<RsGxsId>::iterator itUnknownPeers;
|
||||
for (itUnknownPeers it = cirDetails.mUnknownPeers.begin()
|
||||
; it != cirDetails.mUnknownPeers.end()
|
||||
; ++it) {
|
||||
RsGxsId gxs_id = *it;
|
||||
RsIdentityDetails gxs_details ;
|
||||
if(!gxs_id.isNull() && rsIdentity->getIdDetails(gxs_id,gxs_details)) {
|
||||
|
||||
QString keyId = QString::fromStdString(gxs_id.toStdString());
|
||||
QString nickname = QString::fromUtf8(gxs_details.mNickname.c_str());
|
||||
QString idtype = tr("Anon Id");
|
||||
|
||||
/** Can we have known peers on mUnknownPeers (TODO)
|
||||
if (gxs_details.mPgpKnown) {
|
||||
RsPeerDetails details;
|
||||
rsPeers->getGPGDetails(gxs_details.mPgpId, details);
|
||||
idtype = QString::fromUtf8(details.name.c_str());
|
||||
}else{
|
||||
idtype = tr("PGP Linked Id");
|
||||
}//if (gxs_details.mPgpKnown)*/
|
||||
|
||||
addMember(keyId, idtype, nickname);
|
||||
|
||||
}//if(!gxs_id.isNull() && rsIdentity->getIdDetails(gxs_id,gxs_details))
|
||||
}//for (itUnknownPeers it = cirDetails.mUnknownPeers.begin()
|
||||
|
||||
typedef std::map<RsPgpId, std::list<RsGxsId> >::const_iterator itAllowedPeers;
|
||||
for (itAllowedPeers it = cirDetails.mAllowedPeers.begin()
|
||||
; it != cirDetails.mAllowedPeers.end()
|
||||
; ++it ) {
|
||||
RsPgpId gpg_id = it->first;
|
||||
RsPeerDetails details ;
|
||||
if(!gpg_id.isNull() && rsPeers->getGPGDetails(gpg_id,details)) {
|
||||
|
||||
QString keyId = QString::fromStdString(details.gpg_id.toStdString());
|
||||
QString nickname = QString::fromUtf8(details.name.c_str());
|
||||
QString idtype = tr("PGP Identity");
|
||||
|
||||
addMember(keyId, idtype, nickname);
|
||||
|
||||
}//if(!gpg_id.isNull() && rsPeers->getGPGDetails(gpg_id,details))
|
||||
}//for (itAllowedPeers it = cirDetails.mAllowedPeers.begin()
|
||||
}
|
||||
|
||||
void CreateCircleDialog::removeMember()
|
||||
{
|
||||
QTreeWidgetItem *item = ui.treeWidget_membership->currentItem();
|
||||
if (!item)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!item) return;
|
||||
|
||||
// does this just work?
|
||||
// does this just work? (TODO)
|
||||
delete(item);
|
||||
}
|
||||
|
||||
|
@ -234,7 +287,6 @@ void CreateCircleDialog::createCircle()
|
|||
std::cerr << std::endl;
|
||||
|
||||
QString name = ui.circleName->text();
|
||||
//QString desc;
|
||||
|
||||
if(name.isEmpty()) {
|
||||
/* error message */
|
||||
|
@ -280,7 +332,7 @@ void CreateCircleDialog::createCircle()
|
|||
circle.mLocalFriends.push_back(RsPgpId(keyId.toStdString()));
|
||||
std::cerr << "CreateCircleDialog::createCircle() Inserting Friend: " << keyId.toStdString();
|
||||
std::cerr << std::endl;
|
||||
}//if (mIsExternalCircle)
|
||||
}//else (mIsExternalCircle)
|
||||
|
||||
}//for(int i = 0; i < count; i++)
|
||||
|
||||
|
@ -329,11 +381,11 @@ void CreateCircleDialog::createCircle()
|
|||
|
||||
QMessageBox::warning(this, tr("RetroShare"),tr("No Restriction Circle Selected"), QMessageBox::Ok, QMessageBox::Ok);
|
||||
return;
|
||||
}//if (ui.circleComboBox->getChosenCircle(chosenId))
|
||||
}//else (ui.circleComboBox->getChosenCircle(chosenId))
|
||||
} else { //if (ui.radioButton_Public->isChecked())
|
||||
QMessageBox::warning(this, tr("RetroShare"),tr("No Circle Limitations Selected"), QMessageBox::Ok, QMessageBox::Ok);
|
||||
return;
|
||||
}//if (ui.radioButton_Public->isChecked())
|
||||
}//else (ui.radioButton_Public->isChecked())
|
||||
} else {//if (mIsExternalCircle)
|
||||
std::cerr << "CreateCircleDialog::createCircle() Personal Circle";
|
||||
std::cerr << std::endl;
|
||||
|
@ -341,7 +393,7 @@ void CreateCircleDialog::createCircle()
|
|||
// set personal distribution
|
||||
circle.mMeta.mCircleId.clear() ;
|
||||
circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_LOCAL;
|
||||
}//if (mIsExternalCircle)
|
||||
}//else (mIsExternalCircle)
|
||||
|
||||
std::cerr << "CreateCircleDialog::createCircle() : mCircleType: " << circle.mMeta.mCircleType;
|
||||
std::cerr << std::endl;
|
||||
|
@ -356,7 +408,6 @@ void CreateCircleDialog::createCircle()
|
|||
close();
|
||||
}
|
||||
|
||||
|
||||
void CreateCircleDialog::updateCircleGUI()
|
||||
{
|
||||
std::cerr << "CreateCircleDialog::updateCircleGUI()";
|
||||
|
@ -367,57 +418,53 @@ void CreateCircleDialog::updateCircleGUI()
|
|||
bool isExternal = true;
|
||||
std::cerr << "CreateCircleDialog::updateCircleGUI() : CIRCLETYPE: " << mCircleGroup.mMeta.mCircleType;
|
||||
std::cerr << std::endl;
|
||||
switch(mCircleGroup.mMeta.mCircleType)
|
||||
{
|
||||
|
||||
switch(mCircleGroup.mMeta.mCircleType) {
|
||||
case GXS_CIRCLE_TYPE_LOCAL:
|
||||
std::cerr << "CreateCircleDialog::updateCircleGUI() : LOCAL CIRCLETYPE";
|
||||
std::cerr << std::endl;
|
||||
|
||||
isExternal = false;
|
||||
break;
|
||||
|
||||
case GXS_CIRCLE_TYPE_PUBLIC:
|
||||
std::cerr << "CreateCircleDialog::updateCircleGUI() : PUBLIC CIRCLETYPE";
|
||||
std::cerr << std::endl;
|
||||
|
||||
ui.radioButton_Public->setChecked(true);
|
||||
break;
|
||||
|
||||
case GXS_CIRCLE_TYPE_EXT_SELF:
|
||||
std::cerr << "CreateCircleDialog::updateCircleGUI() : EXT_SELF CIRCLE (fallthrough)";
|
||||
std::cerr << std::endl;
|
||||
case GXS_CIRCLE_TYPE_EXTERNAL:
|
||||
|
||||
std::cerr << "CreateCircleDialog::updateCircleGUI() : EXTERNAL CIRCLETYPE";
|
||||
std::cerr << std::endl;
|
||||
|
||||
if (mCircleGroup.mMeta.mCircleId.toStdString() == mCircleGroup.mMeta.mGroupId.toStdString())
|
||||
{
|
||||
if (mCircleGroup.mMeta.mCircleId.toStdString() == mCircleGroup.mMeta.mGroupId.toStdString()) {
|
||||
ui.radioButton_Restricted->setChecked(true);
|
||||
}
|
||||
}//if (mCircleGroup.mMeta.mCircleId.toStdString() == mCircleGroup.mMeta.mGroupId.toStdString())
|
||||
|
||||
ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, mCircleGroup.mMeta.mCircleId);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
std::cerr << "CreateCircleDialog::updateCircleGUI() INVALID mCircleType";
|
||||
std::cerr << std::endl;
|
||||
break;
|
||||
}
|
||||
}//switch(mCircleGroup.mMeta.mCircleType)
|
||||
|
||||
// set preferredId.
|
||||
ui.idChooser->loadIds(0,mCircleGroup.mMeta.mAuthorId);
|
||||
|
||||
/* setup personal or external circle */
|
||||
if (isExternal)
|
||||
{
|
||||
if (isExternal) {
|
||||
setupForExternalCircle();
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {//if (isExternal)
|
||||
setupForPersonalCircle();
|
||||
}
|
||||
}//else (isExternal)
|
||||
}
|
||||
|
||||
|
||||
void CreateCircleDialog::requestCircle(const RsGxsGroupId &groupId)
|
||||
{
|
||||
RsTokReqOptions opts;
|
||||
|
@ -440,25 +487,20 @@ void CreateCircleDialog::loadCircle(uint32_t token)
|
|||
|
||||
QTreeWidget *tree = ui.treeWidget_membership;
|
||||
|
||||
tree->clear();
|
||||
|
||||
std::list<std::string> ids;
|
||||
std::list<std::string>::iterator it;
|
||||
if (!mClearList) tree->clear();
|
||||
|
||||
std::vector<RsGxsCircleGroup> groups;
|
||||
if (!rsGxsCircles->getGroupData(token, groups))
|
||||
{
|
||||
if (!rsGxsCircles->getGroupData(token, groups)) {
|
||||
std::cerr << "CreateCircleDialog::loadCircle() Error getting GroupData";
|
||||
std::cerr << std::endl;
|
||||
return;
|
||||
}
|
||||
}//if (!rsGxsCircles->getGroupData(token, groups))
|
||||
|
||||
if (groups.size() != 1)
|
||||
{
|
||||
if (groups.size() != 1) {
|
||||
std::cerr << "CreateCircleDialog::loadCircle() Error Group.size() != 1";
|
||||
std::cerr << std::endl;
|
||||
return;
|
||||
}
|
||||
}//if (groups.size() != 1)
|
||||
|
||||
std::cerr << "CreateCircleDialog::loadCircle() LoadedGroup.meta: " << mCircleGroup.mMeta;
|
||||
std::cerr << std::endl;
|
||||
|
@ -479,8 +521,7 @@ void CreateCircleDialog::getPgpIdentities()
|
|||
std::list<RsPgpId>::iterator it;
|
||||
|
||||
rsPeers->getGPGAcceptedList(ids);
|
||||
for(it = ids.begin(); it != ids.end(); it++)
|
||||
{
|
||||
for(it = ids.begin(); it != ids.end(); it++) {
|
||||
RsPeerDetails details;
|
||||
|
||||
rsPeers->getGPGDetails(*it, details);
|
||||
|
@ -496,18 +537,16 @@ void CreateCircleDialog::getPgpIdentities()
|
|||
tree->addTopLevelItem(item);
|
||||
|
||||
// Local Circle.
|
||||
if (mIsExistingCircle)
|
||||
{
|
||||
if (mIsExistingCircle) {
|
||||
// check if its in the circle.
|
||||
std::list<RsPgpId>::const_iterator it;
|
||||
it = std::find(mCircleGroup.mLocalFriends.begin(), mCircleGroup.mLocalFriends.end(), details.gpg_id);
|
||||
if (it != mCircleGroup.mLocalFriends.end())
|
||||
{
|
||||
if (it != mCircleGroup.mLocalFriends.end()) {
|
||||
/* found it */
|
||||
addMember(keyId, idtype, nickname);
|
||||
}
|
||||
}
|
||||
}
|
||||
}//if (it != mCircleGroup.mLocalFriends.end())
|
||||
}//if (mIsExistingCircle)
|
||||
}//for(it = ids.begin(); it != ids.end(); it++)
|
||||
|
||||
filterIds();
|
||||
}
|
||||
|
@ -534,66 +573,51 @@ void CreateCircleDialog::loadIdentities(uint32_t token)
|
|||
|
||||
tree->clear();
|
||||
|
||||
std::list<std::string> ids;
|
||||
std::list<std::string>::iterator it;
|
||||
|
||||
bool acceptAnonymous = ui.radioButton_ListAll->isChecked();
|
||||
bool acceptAllPGP = ui.radioButton_ListAllPGP->isChecked();
|
||||
bool acceptKnownPGP = ui.radioButton_ListKnownPGP->isChecked();
|
||||
//bool acceptKnownPGP = ui.radioButton_ListKnownPGP->isChecked();
|
||||
|
||||
RsGxsIdGroup data;
|
||||
std::vector<RsGxsIdGroup> datavector;
|
||||
std::vector<RsGxsIdGroup>::iterator vit;
|
||||
if (!rsIdentity->getGroupData(token, datavector))
|
||||
{
|
||||
if (!rsIdentity->getGroupData(token, datavector)) {
|
||||
std::cerr << "CreateCircleDialog::insertIdentities() Error getting GroupData";
|
||||
std::cerr << std::endl;
|
||||
return;
|
||||
}
|
||||
}//if (!rsIdentity->getGroupData(token, datavector))
|
||||
|
||||
for(vit = datavector.begin(); vit != datavector.end(); vit++)
|
||||
{
|
||||
for(vit = datavector.begin(); vit != datavector.end(); vit++) {
|
||||
data = (*vit);
|
||||
|
||||
/* do filtering */
|
||||
bool ok = false;
|
||||
{
|
||||
if (acceptAnonymous)
|
||||
if (acceptAnonymous) {
|
||||
ok = true;
|
||||
else if (acceptAllPGP)
|
||||
{
|
||||
} else if (acceptAllPGP) {
|
||||
ok = data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID ;
|
||||
}
|
||||
else if (data.mPgpKnown)
|
||||
{
|
||||
} else if (data.mPgpKnown) {
|
||||
ok = data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID ;
|
||||
}
|
||||
}
|
||||
}//else if (data.mPgpKnown)
|
||||
|
||||
if (!ok)
|
||||
{
|
||||
if (!ok) {
|
||||
std::cerr << "CreateCircleDialog::insertIdentities() Skipping ID: " << data.mMeta.mGroupId;
|
||||
std::cerr << std::endl;
|
||||
continue;
|
||||
}
|
||||
}//if (!ok)
|
||||
|
||||
QString keyId = QString::fromStdString(data.mMeta.mGroupId.toStdString());
|
||||
QString nickname = QString::fromUtf8(data.mMeta.mGroupName.c_str());
|
||||
QString idtype = tr("Anon Id");
|
||||
|
||||
if (data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID)
|
||||
{
|
||||
if (data.mPgpKnown)
|
||||
{
|
||||
if (data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID) {
|
||||
if (data.mPgpKnown) {
|
||||
RsPeerDetails details;
|
||||
rsPeers->getGPGDetails(data.mPgpId, details);
|
||||
idtype = QString::fromUtf8(details.name.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
idtype = tr("PGP Linked Id");
|
||||
}
|
||||
}
|
||||
}//else (data.mPgpKnown)
|
||||
}//if (data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID)
|
||||
|
||||
QTreeWidgetItem *item = new QTreeWidgetItem();
|
||||
item->setText(RSCIRCLEID_COL_NICKNAME, nickname);
|
||||
|
@ -602,8 +626,7 @@ void CreateCircleDialog::loadIdentities(uint32_t token)
|
|||
tree->addTopLevelItem(item);
|
||||
|
||||
// External Circle.
|
||||
if (mIsExistingCircle)
|
||||
{
|
||||
if (mIsExistingCircle) {
|
||||
// check if its in the circle.
|
||||
std::list<RsGxsId>::const_iterator it;
|
||||
|
||||
|
@ -611,13 +634,12 @@ void CreateCircleDialog::loadIdentities(uint32_t token)
|
|||
//
|
||||
it = std::find(mCircleGroup.mInvitedMembers.begin(), mCircleGroup.mInvitedMembers.end(), RsGxsId(data.mMeta.mGroupId));
|
||||
|
||||
if (it != mCircleGroup.mInvitedMembers.end())
|
||||
{
|
||||
if (it != mCircleGroup.mInvitedMembers.end()) {
|
||||
/* found it */
|
||||
addMember(keyId, idtype, nickname);
|
||||
}
|
||||
}
|
||||
}
|
||||
}//if (it != mCircleGroup.mInvitedMembers.end())
|
||||
}//if (mIsExistingCircle)
|
||||
}//for(vit = datavector.begin(); vit != datavector.end(); vit++)
|
||||
}
|
||||
|
||||
void CreateCircleDialog::loadRequest(const TokenQueue *queue, const TokenRequest &req)
|
||||
|
@ -625,37 +647,36 @@ void CreateCircleDialog::loadRequest(const TokenQueue *queue, const TokenRequest
|
|||
std::cerr << "CreateCircleDialog::loadRequest() UserType: " << req.mUserType;
|
||||
std::cerr << std::endl;
|
||||
|
||||
if (queue == mCircleQueue)
|
||||
{
|
||||
if (queue == mCircleQueue) {
|
||||
/* now switch on req */
|
||||
switch(req.mUserType)
|
||||
{
|
||||
switch(req.mUserType) {
|
||||
case CREATECIRCLEDIALOG_CIRCLEINFO:
|
||||
loadCircle(req.mToken);
|
||||
break;
|
||||
|
||||
default:
|
||||
std::cerr << "CreateCircleDialog::loadRequest() UNKNOWN UserType ";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
}//switch(req.mUserType)
|
||||
}//if (queue == mCircleQueue)
|
||||
|
||||
if (queue == mIdQueue)
|
||||
{
|
||||
if (queue == mIdQueue) {
|
||||
/* now switch on req */
|
||||
switch(req.mUserType)
|
||||
{
|
||||
switch(req.mUserType) {
|
||||
case CREATECIRCLEDIALOG_IDINFO:
|
||||
loadIdentities(req.mToken);
|
||||
break;
|
||||
|
||||
default:
|
||||
std::cerr << "CreateCircleDialog::loadRequest() UNKNOWN UserType ";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
}//switch(req.mUserType)
|
||||
}//if (queue == mIdQueue)
|
||||
}
|
||||
|
||||
void CreateCircleDialog::filterChanged(const QString& /*text*/)
|
||||
void CreateCircleDialog::filterChanged(const QString &text)
|
||||
{
|
||||
Q_UNUSED(text);
|
||||
filterIds();
|
||||
}
|
||||
|
||||
|
|
|
@ -40,7 +40,10 @@ public:
|
|||
~CreateCircleDialog();
|
||||
|
||||
void editNewId(bool isExternal);
|
||||
void editExistingId(const RsGxsGroupId& circleId);
|
||||
void editExistingId(const RsGxsGroupId &circleId, const bool &clearList = true);
|
||||
void addMember(const QString &keyId, const QString &idtype, const QString &nickname );
|
||||
void addMember(const RsGxsIdGroup &idGroup);
|
||||
void addCircle(const RsGxsCircleDetails &cirDetails);
|
||||
|
||||
virtual void loadRequest(const TokenQueue *queue, const TokenRequest &req);
|
||||
|
||||
|
@ -58,7 +61,6 @@ private slots:
|
|||
private:
|
||||
|
||||
void updateCircleGUI();
|
||||
void addMember(const QString& keyId, const QString& idtype, const QString& nickname );
|
||||
|
||||
void setupForPersonalCircle();
|
||||
void setupForExternalCircle();
|
||||
|
@ -79,6 +81,7 @@ private:
|
|||
TokenQueue *mIdQueue;
|
||||
|
||||
RsGxsCircleGroup mCircleGroup; // for editting existing Circles.
|
||||
bool mClearList;
|
||||
|
||||
/** Qt Designer generated object */
|
||||
Ui::CreateCircleDialog ui;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue