mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-22 13:24:26 -04:00
gui: do not attempt to create context menu if idlist is empty
...and other side effects
This commit is contained in:
parent
57cff61873
commit
4eb060e154
1 changed files with 39 additions and 40 deletions
|
@ -246,8 +246,8 @@ void ChatLobbyDialog::participantsTreeWidgetCustomPopupMenu(QPoint)
|
||||||
|
|
||||||
void ChatLobbyDialog::textBrowserAskContextMenu(QMenu* contextMnu, QString anchorForPosition, const QPoint /*point*/)
|
void ChatLobbyDialog::textBrowserAskContextMenu(QMenu* contextMnu, QString anchorForPosition, const QPoint /*point*/)
|
||||||
{
|
{
|
||||||
if (anchorForPosition.startsWith(PERSONID)){
|
if (anchorForPosition.startsWith(PERSONID)) {
|
||||||
QString strId = anchorForPosition.replace(PERSONID,"");
|
QString strId = anchorForPosition.replace(PERSONID, "");
|
||||||
if (strId.contains(" "))
|
if (strId.contains(" "))
|
||||||
strId.truncate(strId.indexOf(" "));
|
strId.truncate(strId.indexOf(" "));
|
||||||
|
|
||||||
|
@ -263,6 +263,8 @@ void ChatLobbyDialog::initParticipantsContextMenu(QMenu *contextMnu, QList<RsGxs
|
||||||
{
|
{
|
||||||
if (!contextMnu)
|
if (!contextMnu)
|
||||||
return;
|
return;
|
||||||
|
if (idList.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
contextMnu->addAction(distantChatAct);
|
contextMnu->addAction(distantChatAct);
|
||||||
contextMnu->addAction(sendMessageAct);
|
contextMnu->addAction(sendMessageAct);
|
||||||
|
@ -281,7 +283,7 @@ void ChatLobbyDialog::initParticipantsContextMenu(QMenu *contextMnu, QList<RsGxs
|
||||||
votePositiveAct->setEnabled(false);
|
votePositiveAct->setEnabled(false);
|
||||||
voteNeutralAct->setEnabled(false);
|
voteNeutralAct->setEnabled(false);
|
||||||
voteNegativeAct->setEnabled(false);
|
voteNegativeAct->setEnabled(false);
|
||||||
showInPeopleAct->setEnabled(idList.count()==1);
|
showInPeopleAct->setEnabled(idList.count() == 1);
|
||||||
|
|
||||||
distantChatAct->setData(QVariant::fromValue(idList));
|
distantChatAct->setData(QVariant::fromValue(idList));
|
||||||
sendMessageAct->setData(QVariant::fromValue(idList));
|
sendMessageAct->setData(QVariant::fromValue(idList));
|
||||||
|
@ -291,19 +293,16 @@ void ChatLobbyDialog::initParticipantsContextMenu(QMenu *contextMnu, QList<RsGxs
|
||||||
voteNegativeAct->setData(QVariant::fromValue(idList));
|
voteNegativeAct->setData(QVariant::fromValue(idList));
|
||||||
showInPeopleAct->setData(QVariant::fromValue(idList));
|
showInPeopleAct->setData(QVariant::fromValue(idList));
|
||||||
|
|
||||||
if(idList.count()==1)
|
RsGxsId gxsid = idList.at(0);
|
||||||
{
|
|
||||||
RsGxsId gxsid = idList.at(0);
|
|
||||||
|
|
||||||
if(!gxsid.isNull() && !rsIdentity->isOwnId(gxsid))
|
if(!gxsid.isNull() && !rsIdentity->isOwnId(gxsid))
|
||||||
{
|
{
|
||||||
distantChatAct->setEnabled(true);
|
distantChatAct->setEnabled(true);
|
||||||
votePositiveAct->setEnabled(rsReputations->overallReputationLevel(gxsid) != RsReputations::REPUTATION_LOCALLY_POSITIVE);
|
votePositiveAct->setEnabled(rsReputations->overallReputationLevel(gxsid) != RsReputations::REPUTATION_LOCALLY_POSITIVE);
|
||||||
voteNeutralAct->setEnabled((rsReputations->overallReputationLevel(gxsid) == RsReputations::REPUTATION_LOCALLY_POSITIVE) || (rsReputations->overallReputationLevel(gxsid) == RsReputations::REPUTATION_LOCALLY_NEGATIVE) );
|
voteNeutralAct->setEnabled((rsReputations->overallReputationLevel(gxsid) == RsReputations::REPUTATION_LOCALLY_POSITIVE) || (rsReputations->overallReputationLevel(gxsid) == RsReputations::REPUTATION_LOCALLY_NEGATIVE) );
|
||||||
voteNegativeAct->setEnabled(rsReputations->overallReputationLevel(gxsid) != RsReputations::REPUTATION_LOCALLY_NEGATIVE);
|
voteNegativeAct->setEnabled(rsReputations->overallReputationLevel(gxsid) != RsReputations::REPUTATION_LOCALLY_NEGATIVE);
|
||||||
muteAct->setEnabled(true);
|
muteAct->setEnabled(true);
|
||||||
muteAct->setChecked(isParticipantMuted(gxsid));
|
muteAct->setChecked(isParticipantMuted(gxsid));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue