mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-03-16 03:56:12 -04:00
Added more actions to People V2 Thumbed View
Added action for send invite Added action for add to contacts Added action for person details view Added menu for circles Added to display votes on Identity widget
This commit is contained in:
parent
d63655c9b6
commit
bdf8d68c34
@ -51,6 +51,11 @@ IdentityWidget::IdentityWidget(QString name/*=QString()*/, QWidget *parent/*=0*/
|
||||
ui->labelGXSId->setText(_keyId);
|
||||
ui->labelGXSId->setToolTip(_keyId);
|
||||
ui->labelGXSId->setVisible(false);
|
||||
|
||||
ui->labelPositive->setVisible(false);
|
||||
ui->labelNegative->setVisible(false);
|
||||
ui->label_PosIcon_2->setVisible(false);
|
||||
ui->label_NegIcon_2->setVisible(false);
|
||||
|
||||
ui->pbAdd->setVisible(false);
|
||||
QObject::connect(ui->pbAdd, SIGNAL(clicked()), this, SLOT(pbAdd_clicked()));
|
||||
@ -80,19 +85,19 @@ void IdentityWidget::updateData(const RsGxsIdGroup &gxs_group_info)
|
||||
_group_info = gxs_group_info;
|
||||
_haveGXSId = true;
|
||||
|
||||
RsReputations::ReputationInfo info ;
|
||||
rsReputations->getReputationInfo(RsGxsId(_group_info.mMeta.mGroupId),_group_info.mPgpId,info) ;
|
||||
|
||||
m_myName = QString::fromUtf8(_group_info.mMeta.mGroupName.c_str());
|
||||
//ui->labelName->setId(RsGxsId(_group_info.mMeta.mGroupId));
|
||||
ui->labelName->setText(m_myName);
|
||||
if (_havePGPDetail) {
|
||||
ui->labelName->setToolTip(tr("GXS name:").append(" "+m_myName).append("\n")
|
||||
.append(tr("PGP name:").append(" "+_nickname)));
|
||||
} else {//if (m_myName != _nickname)
|
||||
ui->labelName->setToolTip(tr("GXS name:").append(" "+m_myName));
|
||||
}//else (m_myName != _nickname)
|
||||
|
||||
|
||||
_gxsId = QString::fromStdString(_group_info.mMeta.mGroupId.toStdString());
|
||||
ui->labelGXSId->setId(RsGxsId(_group_info.mMeta.mGroupId));
|
||||
ui->labelGXSId->setText(_gxsId);
|
||||
ui->labelGXSId->setToolTip(tr("GXS id:").append(" "+_gxsId));
|
||||
|
||||
ui->labelPositive->setText(QString::number(info.mFriendsPositiveVotes));
|
||||
ui->labelNegative->setText(QString::number(info.mFriendsNegativeVotes));
|
||||
|
||||
if (!_havePGPDetail) {
|
||||
QFont font = ui->labelName->font();
|
||||
@ -100,8 +105,8 @@ void IdentityWidget::updateData(const RsGxsIdGroup &gxs_group_info)
|
||||
ui->labelName->setFont(font);
|
||||
|
||||
_keyId=QString::fromStdString(_group_info.mMeta.mGroupId.toStdString());
|
||||
ui->labelKeyId->setId(RsGxsId(_group_info.mMeta.mGroupId));
|
||||
ui->labelKeyId->setText(_keyId);
|
||||
ui->labelKeyId->setToolTip(tr("GXS id:").append(" "+_keyId));
|
||||
ui->labelKeyId->setVisible(false);
|
||||
|
||||
/// (TODO) Get real ident icon
|
||||
@ -133,10 +138,10 @@ void IdentityWidget::updateData(const RsPeerDetails &pgp_details)
|
||||
if (!_haveGXSId) m_myName = _nickname;
|
||||
ui->labelName->setText(m_myName);
|
||||
if (_haveGXSId) {
|
||||
ui->labelName->setToolTip(tr("GXS name:").append(" "+m_myName).append("\n")
|
||||
.append(tr("PGP name:").append(" "+_nickname)));
|
||||
ui->labelName->setToolTip(tr("GXS name:") + (" "+m_myName) + ("\n")
|
||||
+(tr("PGP name:")+(" "+_nickname)));
|
||||
} else {//if (m_myName != _nickname)
|
||||
ui->labelName->setToolTip(tr("PGP name:").append(" "+_nickname));
|
||||
ui->labelName->setToolTip(tr("PGP name:")+(" "+_nickname));
|
||||
}//else (m_myName != _nickname)
|
||||
|
||||
QFont font = ui->labelName->font();
|
||||
@ -145,7 +150,7 @@ void IdentityWidget::updateData(const RsPeerDetails &pgp_details)
|
||||
|
||||
_keyId = QString::fromStdString(_details.gpg_id.toStdString());
|
||||
ui->labelKeyId->setText(_keyId);
|
||||
ui->labelKeyId->setToolTip(tr("PGP id:").append(" "+_keyId));
|
||||
ui->labelKeyId->setToolTip(tr("PGP id:")+(" "+_keyId));
|
||||
|
||||
if (!_haveGXSId) {
|
||||
QPixmap avatar;
|
||||
@ -217,6 +222,10 @@ void IdentityWidget::setIsCurrent(bool value)
|
||||
m_isCurrent=value;
|
||||
ui->labelKeyId->setVisible(value);
|
||||
ui->labelGXSId->setVisible(value && (_haveGXSId && _havePGPDetail));
|
||||
ui->labelPositive->setVisible(value);
|
||||
ui->labelNegative->setVisible(value);
|
||||
ui->label_PosIcon_2->setVisible(value);
|
||||
ui->label_NegIcon_2->setVisible(value);
|
||||
ui->pbAdd->setVisible(value);
|
||||
}
|
||||
/*
|
||||
|
@ -82,6 +82,8 @@ private:
|
||||
QString _idtype;
|
||||
QString _nickname;
|
||||
QString _gxsId;
|
||||
QString _postiveVotes;
|
||||
QString _negativeVotes;
|
||||
|
||||
Ui::IdentityWidget *ui;
|
||||
};
|
||||
|
@ -6,18 +6,96 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>102</width>
|
||||
<height>170</height>
|
||||
<width>101</width>
|
||||
<height>272</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>1</number>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="horizontalSpacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="1" column="0">
|
||||
<widget class="ElidedLabel" name="labelName">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="GxsIdLabel" name="labelKeyId">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>KeyId</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="GxsIdLabel" name="labelGXSId">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>GXSId</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QGraphicsView" name="graphicsView">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -53,76 +131,89 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="ElidedLabel" name="labelName">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
<item row="2" column="0">
|
||||
<layout class="QHBoxLayout" name="avatarOpinionHLayout_2">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_PosIcon_2">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>24</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../icons.qrc">:/icons/png/thumbs-up.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelPositive">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Positive votes</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_Opinion_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_NegIcon_2">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>24</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../icons.qrc">:/icons/png/thumbs-down.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelNegative">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>16</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Negative votes</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="ElidedLabel" name="labelKeyId">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>KeyId</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="ElidedLabel" name="labelGXSId">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>GXSId</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="pbAdd">
|
||||
<property name="text">
|
||||
<string>Add</string>
|
||||
@ -135,12 +226,18 @@
|
||||
<customwidget>
|
||||
<class>ElidedLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header location="global">gui/common/ElidedLabel.h</header>
|
||||
<header>gui/common/ElidedLabel.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>GxsIdLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>gui/gxs/GxsIdLabel.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../images.qrc"/>
|
||||
<include location="../icons.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -23,9 +23,12 @@
|
||||
#include "gui/common/FlowLayout.h"
|
||||
#include "gui/settings/rsharesettings.h"
|
||||
#include "gui/msgs/MessageComposer.h"
|
||||
#include "gui/RetroShareLink.h"
|
||||
#include "gui/gxs/GxsIdDetails.h"
|
||||
#include "gui/gxs/RsGxsUpdateBroadcastBase.h"
|
||||
#include "gui/Identity/IdDetailsDialog.h"
|
||||
#include "gui/Identity/IdDialog.h"
|
||||
#include "gui/MainWindow.h"
|
||||
|
||||
#include "retroshare/rspeers.h"
|
||||
#include "retroshare/rsidentity.h"
|
||||
@ -63,6 +66,8 @@ PeopleDialog::PeopleDialog(QWidget *parent)
|
||||
|
||||
|
||||
tabWidget->removeTab(1);
|
||||
//hide circle flow widget not functional yet
|
||||
pictureFlowWidgetExternal->hide();
|
||||
|
||||
//need erase QtCreator Layout first(for Win)
|
||||
delete idExternal->layout();
|
||||
@ -423,6 +428,8 @@ void PeopleDialog::iw_AddButtonClickedExt()
|
||||
qobject_cast<IdentityWidget *>(QObject::sender());
|
||||
if (dest) {
|
||||
QMenu contextMnu( this );
|
||||
|
||||
QMenu *mnu = contextMnu.addMenu(QIcon(":/icons/png/circles.png"),tr("Invite to Circle")) ;
|
||||
|
||||
std::map<RsGxsGroupId, CircleWidget*>::iterator itCurs;
|
||||
for( itCurs =_ext_circles_widgets.begin();
|
||||
@ -432,7 +439,7 @@ void PeopleDialog::iw_AddButtonClickedExt()
|
||||
QIcon icon = QIcon(curs->getImage());
|
||||
QString name = curs->getName();
|
||||
|
||||
QAction *action = contextMnu.addAction(icon, name, this, SLOT(addToCircleExt()));
|
||||
QAction *action = mnu->addAction(icon, name, this, SLOT(addToCircleExt()));
|
||||
action->setData(QString::fromStdString(curs->groupInfo().mGroupId.toStdString())
|
||||
+ ";" + QString::fromStdString(dest->groupInfo().mMeta.mGroupId.toStdString()));
|
||||
}//for( itCurs =_ext_circles_widgets.begin();
|
||||
@ -468,9 +475,17 @@ void PeopleDialog::iw_AddButtonClickedExt()
|
||||
}
|
||||
}
|
||||
|
||||
QAction *actionsendmsg = contextMnu.addAction(QIcon(":/images/mail_new.png"), tr("Send message to this person"), this, SLOT(sendMessage()));
|
||||
QAction *actionsendmsg = contextMnu.addAction(QIcon(":/images/mail_new.png"), tr("Send message"), this, SLOT(sendMessage()));
|
||||
actionsendmsg->setData( QString::fromStdString(dest->groupInfo().mMeta.mGroupId.toStdString()));
|
||||
|
||||
QAction *actionsendinvite = contextMnu.addAction(QIcon(":/images/mail_new.png"), tr("Send invite"), this, SLOT(sendInvite()));
|
||||
actionsendinvite->setData( QString::fromStdString(dest->groupInfo().mMeta.mGroupId.toStdString()));
|
||||
|
||||
contextMnu.addSeparator();
|
||||
|
||||
QAction *actionaddcontact = contextMnu.addAction(QIcon(":/images/mail_new.png"), tr("Add to Contacts"), this, SLOT(addtoContacts()));
|
||||
actionaddcontact->setData( QString::fromStdString(dest->groupInfo().mMeta.mGroupId.toStdString()));
|
||||
|
||||
contextMnu.addSeparator();
|
||||
|
||||
QAction *actionDetails = contextMnu.addAction(QIcon(":/images/info16.png"), tr("Person details"), this, SLOT(personDetails()));
|
||||
@ -607,6 +622,36 @@ void PeopleDialog::sendMessage()
|
||||
|
||||
}
|
||||
|
||||
void PeopleDialog::sendInvite()
|
||||
{
|
||||
QAction *action =
|
||||
qobject_cast<QAction *>(QObject::sender());
|
||||
if (action) {
|
||||
QString data = action->data().toString();
|
||||
|
||||
RsGxsId gxs_id = RsGxsId(data.toStdString());;
|
||||
|
||||
MessageComposer::sendInvite(gxs_id,false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void PeopleDialog::addtoContacts()
|
||||
{
|
||||
QAction *action =
|
||||
qobject_cast<QAction *>(QObject::sender());
|
||||
if (action) {
|
||||
QString data = action->data().toString();
|
||||
|
||||
RsGxsId gxs_id = RsGxsId(data.toStdString());;
|
||||
|
||||
rsIdentity->setAsRegularContact(RsGxsId(gxs_id),true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void PeopleDialog::personDetails()
|
||||
{
|
||||
QAction *action =
|
||||
@ -620,10 +665,14 @@ void PeopleDialog::personDetails()
|
||||
return;
|
||||
}
|
||||
|
||||
IdDetailsDialog *dialog = new IdDetailsDialog(RsGxsGroupId(gxs_id));
|
||||
dialog->show();
|
||||
/* window will destroy itself! */
|
||||
IdDialog *idDialog = dynamic_cast<IdDialog*>(MainWindow::getPage(MainWindow::People));
|
||||
|
||||
/* Dialog will destroy itself */
|
||||
if (!idDialog)
|
||||
return ;
|
||||
|
||||
MainWindow::showWindow(MainWindow::People);
|
||||
idDialog->navigate(RsGxsId(gxs_id));
|
||||
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
#include "ui_PeopleDialog.h"
|
||||
|
||||
#define IMAGE_IDENTITY ":/icons/friends_128.png"
|
||||
#define IMAGE_IDENTITY ":/icons/png/people.png"
|
||||
|
||||
class PeopleDialog : public RsGxsUpdateBroadcastPage, public Ui::PeopleDialog, public TokenResponse
|
||||
{
|
||||
@ -84,8 +84,11 @@ private slots:
|
||||
void pf_dropEventOccursInt(QDropEvent *event);
|
||||
|
||||
void chatIdentity();
|
||||
void sendMessage();
|
||||
void personDetails();
|
||||
void sendMessage();
|
||||
void personDetails();
|
||||
void sendInvite();
|
||||
void addtoContacts();
|
||||
|
||||
|
||||
private:
|
||||
void reloadAll();
|
||||
|
Loading…
x
Reference in New Issue
Block a user