From 065e6946c7a238916c8ba8904e6becc9abd5180a Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 29 Mar 2022 22:02:56 +0200 Subject: [PATCH] improved display in GxsGroupDialog --- retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 110 +++++++++--------- retroshare-gui/src/gui/gxs/GxsGroupDialog.ui | 34 +++--- retroshare-gui/src/gui/gxs/GxsIdDetails.cpp | 8 +- retroshare-gui/src/gui/gxs/GxsIdLabel.cpp | 5 +- 4 files changed, 85 insertions(+), 72 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index f51c73be3..c6c3e8078 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -410,11 +410,8 @@ void GxsGroupDialog::setupReadonly() { ui.publishGroupBox->setEnabled(!(mReadonlyFlags & GXS_GROUP_FLAGS_PUBLISHSIGN)); - ui.pubKeyShare_cb->setEnabled(!(mReadonlyFlags & GXS_GROUP_FLAGS_SHAREKEYS)); - ui.personalGroupBox->setEnabled(!(mReadonlyFlags & GXS_GROUP_FLAGS_PERSONALSIGN)); - ui.idChooser->setEnabled(!(mReadonlyFlags & GXS_GROUP_FLAGS_PERSONALSIGN)); //ui.distribGroupBox_2->setEnabled(!(mReadonlyFlags & GXS_GROUP_FLAGS_DISTRIBUTION)); @@ -470,7 +467,9 @@ void GxsGroupDialog::updateFromExistingMeta(const QString &description) ui.createdline->setText(DateTime::formatLongDateTime(mGrpMeta.mPublishTs)); link = RetroShareLink::createMessage(mGrpMeta.mAuthorId, ""); - ui.authorValueLabel->setText(link.toHtml()); + + if(!mGrpMeta.mAuthorId.isNull()) + ui.authorValueLabel->setText(link.toHtml()); ui.IDline->setText(QString::fromStdString(mGrpMeta.mGroupId.toStdString())); ui.descriptiontextEdit->setPlainText(description); @@ -721,55 +720,57 @@ uint32_t GxsGroupDialog::getGroupSignFlags() void GxsGroupDialog::setGroupSignFlags(uint32_t signFlags) { - if (signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_ENCRYPTED) { - ui.publish_encrypt->setChecked(true); - } else if (signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_ALLSIGNED) { - ui.publish_required->setChecked(true); - } else if (signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_THREADHEAD) { - ui.publish_threads->setChecked(true); - } else if (signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_NONEREQ) { - ui.publish_open->setChecked(true); - } + if (signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_ENCRYPTED) + ui.publish_encrypt->setChecked(true); + else if (signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_ALLSIGNED) + ui.publish_required->setChecked(true); + else if (signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_THREADHEAD) + ui.publish_threads->setChecked(true); + else if (signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_NONEREQ) + ui.publish_open->setChecked(true); - if (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_REQUIRED) - ui.personal_required->setChecked(true); - - if (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN) - ui.personal_ifnopub->setChecked(true); - - if( (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) && (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG)) - ui.antiSpam_perms_CB->setCurrentIndex(2) ; - else if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) - ui.antiSpam_perms_CB->setCurrentIndex(1) ; - else - ui.antiSpam_perms_CB->setCurrentIndex(0) ; - - QString antispam_string ; - if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) antispam_string += tr("Message tracking") ; - if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature from known ID required") ; - else - if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature required") ; - - ui.antiSpamValueLabel->setText(antispam_string) ; - //ui.antiSpam_trackMessages_2->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) ); - //ui.antiSpam_signedIds_2 ->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) ); - //ui.SignEdIds->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) ); - //ui.trackmessagesradioButton->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) ); - - /* guess at comments */ - if ((signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_THREADHEAD) && - (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN)) - { - // (cyril) very weird piece of code. Need to clear this up. - - ui.comments_allowed->setChecked(true); - ui.commentsValueLabel->setText("Allowed") ; - } - else - { - ui.comments_no->setChecked(true); - ui.commentsValueLabel->setText("Forbidden") ; - } + + if (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_REQUIRED) + ui.personal_required->setChecked(true); + + if (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN) + ui.personal_ifnopub->setChecked(true); + + if( (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) && (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG)) + ui.antiSpam_perms_CB->setCurrentIndex(2) ; + else if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) + ui.antiSpam_perms_CB->setCurrentIndex(1) ; + else + ui.antiSpam_perms_CB->setCurrentIndex(0) ; + + QString antispam_string ; + if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) antispam_string += tr("Message tracking") ; + if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature from known ID required") ; + else if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature required") ; + + if(antispam_string.isNull()) + antispam_string = tr("[None]"); + + ui.antiSpamValueLabel->setText(antispam_string) ; + //ui.antiSpam_trackMessages_2->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) ); + //ui.antiSpam_signedIds_2 ->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) ); + //ui.SignEdIds->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) ); + //ui.trackmessagesradioButton->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) ); + + /* guess at comments */ + if ((signFlags & GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_THREADHEAD) && + (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN)) + { + // (cyril) very weird piece of code. Need to clear this up. + + ui.comments_allowed->setChecked(true); + ui.commentsValueLabel->setText("Allowed") ; + } + else + { + ui.comments_no->setChecked(true); + ui.commentsValueLabel->setText("Forbidden") ; + } } /**** Above logic is flawed, and will be removed shortly @@ -915,7 +916,10 @@ void GxsGroupDialog::setSelectedModerators(const std::set& ids) moderatorsListString += link.toHtml() + " "; } - //ui.moderatorsValueLabel->setId(det.mId); + + if(moderatorsListString.isNull()) + moderatorsListString = tr("[None]"); + ui.moderatorsValueLabel->setText(moderatorsListString); } diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui index b42e777de..11dcb0613 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui @@ -6,8 +6,8 @@ 0 0 - 701 - 529 + 746 + 590 @@ -44,7 +44,7 @@ QFrame::Raised - 0 + 1 @@ -575,7 +575,7 @@ - Author + Author: @@ -739,7 +739,11 @@ - + + + true + + @@ -820,6 +824,16 @@ + + GxsIdLabel + QLabel +
gui/gxs/GxsIdLabel.h
+
+ + RSComboBox + QComboBox +
gui/common/RSComboBox.h
+
ClickableLabel QLabel @@ -846,11 +860,6 @@ QComboBox
gui/gxs/GxsIdChooser.h
- - GxsIdLabel - QLabel -
gui/gxs/GxsIdLabel.h
-
HeaderFrame QFrame @@ -862,11 +871,6 @@ QTextEdit
gui/common/MimeTextEdit.h
- - RSComboBox - QComboBox -
gui/common/RSComboBox.h
-
diff --git a/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp b/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp index 338c8aabf..b1961a6e6 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp @@ -1073,11 +1073,13 @@ bool GxsIdDetails::MakeIdDesc(const RsGxsId &id, bool doIcons, QString &str, QLi QString GxsIdDetails::getName(const RsIdentityDetails &details) { - if( details.mReputation.mOverallReputationLevel == - RsReputationLevel::LOCALLY_NEGATIVE ) + if( details.mReputation.mOverallReputationLevel == RsReputationLevel::LOCALLY_NEGATIVE ) return tr("[Banned]"); - QString name = QString::fromUtf8(details.mNickname.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE); + if( details.mId.isNull() ) + return tr("[Nobody]"); + + QString name = QString::fromUtf8(details.mNickname.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE); std::list::const_iterator it; for (it = details.mRecognTags.begin(); it != details.mRecognTags.end(); ++it) diff --git a/retroshare-gui/src/gui/gxs/GxsIdLabel.cpp b/retroshare-gui/src/gui/gxs/GxsIdLabel.cpp index 6cb741d14..62c15a699 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdLabel.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdLabel.cpp @@ -60,7 +60,10 @@ void GxsIdLabel::setId(const RsGxsId &id) { mId = id; - GxsIdDetails::process(mId, fillLabelCallback, this); + if(id.isNull()) + setText(tr("[Nobody]")); + else + GxsIdDetails::process(mId, fillLabelCallback, this); } bool GxsIdLabel::getId(RsGxsId &id)