added edit of existing circles

This commit is contained in:
csoler 2016-03-07 22:51:23 -05:00
parent 53f32f2dc8
commit 9b92f66c61

View file

@ -277,43 +277,44 @@ void CreateCircleDialog::removeMember()
void CreateCircleDialog::createCircle() void CreateCircleDialog::createCircle()
{ {
std::cerr << "CreateCircleDialog::createCircle()"; std::cerr << "CreateCircleDialog::createCircle()";
std::cerr << std::endl; std::cerr << std::endl;
QString name = ui.circleName->text(); QString name = ui.circleName->text();
if(name.isEmpty()) { if(name.isEmpty()) {
/* error message */ /* error message */
QMessageBox::warning(this, tr("RetroShare"),tr("Please set a name for your Circle"), QMessageBox::Ok, QMessageBox::Ok); QMessageBox::warning(this, tr("RetroShare"),tr("Please set a name for your Circle"), QMessageBox::Ok, QMessageBox::Ok);
return; //Don't add a empty Subject!! return; //Don't add a empty Subject!!
}//if(name.isEmpty()) }//if(name.isEmpty())
RsGxsCircleGroup circle; RsGxsCircleGroup circle = mCircleGroup; // init with loaded group
circle.mMeta.mGroupName = std::string(name.toUtf8()); circle.mMeta.mGroupName = std::string(name.toUtf8());
RsGxsId authorId; RsGxsId authorId;
switch (ui.idChooser->getChosenId(authorId)) { switch (ui.idChooser->getChosenId(authorId))
case GxsIdChooser::KnowId: {
case GxsIdChooser::UnKnowId: case GxsIdChooser::KnowId:
circle.mMeta.mAuthorId = authorId; case GxsIdChooser::UnKnowId:
std::cerr << "CreateCircleDialog::createCircle() AuthorId: " << authorId; circle.mMeta.mAuthorId = authorId;
std::cerr << std::endl; std::cerr << "CreateCircleDialog::createCircle() AuthorId: " << authorId;
std::cerr << std::endl;
break; break;
case GxsIdChooser::NoId: case GxsIdChooser::NoId:
case GxsIdChooser::None: case GxsIdChooser::None:
default: default:
std::cerr << "CreateCircleDialog::createCircle() No AuthorId Chosen!"; std::cerr << "CreateCircleDialog::createCircle() No AuthorId Chosen!";
std::cerr << std::endl; std::cerr << std::endl;
}//switch (ui.idChooser->getChosenId(authorId)) }//switch (ui.idChooser->getChosenId(authorId))
/* copy Ids from GUI */ /* copy Ids from GUI */
QTreeWidget *tree = ui.treeWidget_membership; QTreeWidget *tree = ui.treeWidget_membership;
int count = tree->topLevelItemCount(); int count = tree->topLevelItemCount();
for(int i = 0; i < count; ++i) for(int i = 0; i < count; ++i)
{ {
QTreeWidgetItem *item = tree->topLevelItem(i); QTreeWidgetItem *item = tree->topLevelItem(i);
QString keyId = item->text(RSCIRCLEID_COL_KEYID); QString keyId = item->text(RSCIRCLEID_COL_KEYID);
@ -350,77 +351,94 @@ void CreateCircleDialog::createCircle()
} }
if (mIsExistingCircle) // if (mIsExistingCircle)
// {
// std::cerr << "CreateCircleDialog::createCircle() Existing Circle TODO";
// std::cerr << std::endl;
//
// // cannot edit these yet.
// QMessageBox::warning(this, tr("RetroShare"),tr("Cannot Edit Existing Circles Yet"), QMessageBox::Ok, QMessageBox::Ok);
// return;
// }
if (mIsExternalCircle)
{ {
std::cerr << "CreateCircleDialog::createCircle() Existing Circle TODO"; std::cerr << "CreateCircleDialog::createCircle() External Circle";
std::cerr << std::endl; std::cerr << std::endl;
// cannot edit these yet. // set distribution from GUI.
QMessageBox::warning(this, tr("RetroShare"),tr("Cannot Edit Existing Circles Yet"), QMessageBox::Ok, QMessageBox::Ok); circle.mMeta.mCircleId.clear() ;
return; if (ui.radioButton_Public->isChecked()) {
} std::cerr << "CreateCircleDialog::createCircle() Public Circle";
std::cerr << std::endl;
if (mIsExternalCircle) { circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_PUBLIC;
std::cerr << "CreateCircleDialog::createCircle() External Circle";
std::cerr << std::endl;
// set distribution from GUI. } else if (ui.radioButton_Self->isChecked()) {
circle.mMeta.mCircleId.clear() ; std::cerr << "CreateCircleDialog::createCircle() ExtSelfRef Circle";
if (ui.radioButton_Public->isChecked()) { std::cerr << std::endl;
std::cerr << "CreateCircleDialog::createCircle() Public Circle";
std::cerr << std::endl;
circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_PUBLIC; circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_EXT_SELF;
} else if (ui.radioButton_Restricted->isChecked()) {
std::cerr << "CreateCircleDialog::createCircle() External (Other) Circle";
std::cerr << std::endl;
} else if (ui.radioButton_Self->isChecked()) { circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_EXTERNAL;
std::cerr << "CreateCircleDialog::createCircle() ExtSelfRef Circle";
std::cerr << std::endl;
circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_EXT_SELF; /* grab circle ID from chooser */
} else if (ui.radioButton_Restricted->isChecked()) { RsGxsCircleId chosenId;
std::cerr << "CreateCircleDialog::createCircle() External (Other) Circle"; if (ui.circleComboBox->getChosenCircle(chosenId)) {
std::cerr << std::endl; std::cerr << "CreateCircleDialog::createCircle() ChosenId: " << chosenId;
std::cerr << std::endl;
circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_EXTERNAL; circle.mMeta.mCircleId = chosenId;
} else {//if (ui.circleComboBox->getChosenCircle(chosenId))
std::cerr << "CreateCircleDialog::createCircle() Error no Id Chosen";
std::cerr << std::endl;
/* grab circle ID from chooser */ QMessageBox::warning(this, tr("RetroShare"),tr("No Restriction Circle Selected"), QMessageBox::Ok, QMessageBox::Ok);
RsGxsCircleId chosenId; return;
if (ui.circleComboBox->getChosenCircle(chosenId)) { }//else (ui.circleComboBox->getChosenCircle(chosenId))
std::cerr << "CreateCircleDialog::createCircle() ChosenId: " << chosenId; }
std::cerr << std::endl; else
{ //if (ui.radioButton_Public->isChecked())
QMessageBox::warning(this, tr("RetroShare"),tr("No Circle Limitations Selected"), QMessageBox::Ok, QMessageBox::Ok);
return;
}//else (ui.radioButton_Public->isChecked())
}
else
{//if (mIsExternalCircle)
std::cerr << "CreateCircleDialog::createCircle() Personal Circle";
std::cerr << std::endl;
circle.mMeta.mCircleId = chosenId; // set personal distribution
} else {//if (ui.circleComboBox->getChosenCircle(chosenId)) circle.mMeta.mCircleId.clear() ;
std::cerr << "CreateCircleDialog::createCircle() Error no Id Chosen"; circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_LOCAL;
std::cerr << std::endl; }//else (mIsExternalCircle)
QMessageBox::warning(this, tr("RetroShare"),tr("No Restriction Circle Selected"), QMessageBox::Ok, QMessageBox::Ok); uint32_t token;
return;
}//else (ui.circleComboBox->getChosenCircle(chosenId)) if(mIsExistingCircle)
} else { //if (ui.radioButton_Public->isChecked()) {
QMessageBox::warning(this, tr("RetroShare"),tr("No Circle Limitations Selected"), QMessageBox::Ok, QMessageBox::Ok); std::cerr << "CreateCircleDialog::updateCircle() : mCircleType: " << circle.mMeta.mCircleType << std::endl;
return; std::cerr << "CreateCircleDialog::updateCircle() : mCircleId: " << circle.mMeta.mCircleId << std::endl;
}//else (ui.radioButton_Public->isChecked()) std::cerr << "CreateCircleDialog::updateCircle() : mGroupId: " << circle.mMeta.mGroupId << std::endl;
} else {//if (mIsExternalCircle)
std::cerr << "CreateCircleDialog::createCircle() Personal Circle";
std::cerr << std::endl;
// set personal distribution std::cerr << "CreateCircleDialog::updateCircle() Checks and Balances Okay - calling service proper.."<< std::endl;
circle.mMeta.mCircleId.clear() ;
circle.mMeta.mCircleType = GXS_CIRCLE_TYPE_LOCAL;
}//else (mIsExternalCircle)
std::cerr << "CreateCircleDialog::createCircle() : mCircleType: " << circle.mMeta.mCircleType; rsGxsCircles->updateGroup(token, circle);
std::cerr << std::endl; }
std::cerr << "CreateCircleDialog::createCircle() : mCircleId: " << circle.mMeta.mCircleId; else
std::cerr << std::endl; {
std::cerr << "CreateCircleDialog::createCircle() : mCircleType: " << circle.mMeta.mCircleType << std::endl;
std::cerr << "CreateCircleDialog::createCircle() : mCircleId: " << circle.mMeta.mCircleId << std::endl;
std::cerr << "CreateCircleDialog::createCircle() Checks and Balances Okay - calling service proper.."; std::cerr << "CreateCircleDialog::createCircle() Checks and Balances Okay - calling service proper.."<< std::endl;
std::cerr << std::endl;
uint32_t token; rsGxsCircles->createGroup(token, circle);
rsGxsCircles->createGroup(token, circle); }
close();
close();
} }
void CreateCircleDialog::updateCircleGUI() void CreateCircleDialog::updateCircleGUI()