Merge pull request #2885 from defnax/People-improve

Improved People view
This commit is contained in:
csoler 2024-11-02 14:40:30 +01:00 committed by GitHub
commit ae1bd27ad1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 573 additions and 643 deletions

View File

@ -479,9 +479,9 @@ void IdDialog::handleEvent_main_thread(std::shared_ptr<const RsEvent> event)
void IdDialog::clearPerson()
{
QFontMetricsF f(ui->avLabel_Person->font()) ;
//QFontMetricsF f(ui->avLabel_Person->font()) ;
ui->avLabel_Person->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/people.png").scaled(f.height()*4,f.height()*4,Qt::KeepAspectRatio,Qt::SmoothTransformation));
//ui->avLabel_Person->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/people.png").scaled(f.height()*4,f.height()*4,Qt::KeepAspectRatio,Qt::SmoothTransformation));
ui->headerTextLabel_Person->setText(tr("People"));
ui->info_Frame_Invite->hide();
@ -1701,8 +1701,8 @@ void IdDialog::loadIdentity(RsGxsIdGroup data)
//ui->avLabel_Person->setPixmap(pixmap);
//ui->avatarLabel->setPixmap(pixmap);
QFontMetricsF f(ui->avLabel_Person->font()) ;
ui->avLabel_Person->setPixmap(pixmap.scaled(f.height()*4,f.height()*4,Qt::KeepAspectRatio,Qt::SmoothTransformation));
//QFontMetricsF f(ui->avLabel_Person->font()) ;
//ui->avLabel_Person->setPixmap(pixmap.scaled(f.height()*4,f.height()*4,Qt::KeepAspectRatio,Qt::SmoothTransformation));
ui->avatarLabel->setPixmap(pixmap.scaled(ui->inviteButton->width(),ui->inviteButton->width(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
ui->avatarLabel->setScaledContents(true);

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<width>878</width>
<height>584</height>
</rect>
</property>
@ -301,44 +301,184 @@
<rect>
<x>0</x>
<y>0</y>
<width>466</width>
<height>738</height>
<width>505</width>
<height>716</height>
</rect>
</property>
<layout class="QVBoxLayout" name="scrollAreaWidgetContentsVLayout">
<layout class="QGridLayout" name="gridLayout_3">
<item row="1" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QFrame" name="headerBFramePerson">
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0">
<widget class="QLabel" name="avatarLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<enum>QFrame::Box</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="headerBFramePersonGLayout">
<property name="horizontalSpacing">
<number>12</number>
</property>
<item row="0" column="3">
<layout class="QVBoxLayout" name="headerFramePersonVLayout">
<item>
<widget class="ElidedLabel" name="headerTextLabel_Person">
<property name="font">
<font>
<pointsize>22</pointsize>
</font>
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string>People</string>
<string extracomment="Click here to change your avatar">Your Avatar</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="QPushButton" name="editButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Edit Identity</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="inviteButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Send Invite</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="avatarOpinionHLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<item>
<widget class="QLabel" name="label_PosIcon">
<property name="maximumSize">
<size>
<width>34</width>
<height>34</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="label_positive">
<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">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_NegIcon">
<property name="maximumSize">
<size>
<width>34</width>
<height>34</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="label_negative">
<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>
<spacer name="avatarVSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>118</width>
<height>17</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="2" column="0" colspan="2">
<widget class="QFrame" name="info_Frame_Invite">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
@ -525,44 +665,39 @@ border-image: url(:/images/closepressed.png)
</layout>
</widget>
</item>
</layout>
<item row="3" column="0" colspan="2">
<widget class="QGroupBox" name="usageStatisticsGBox">
<property name="title">
<string>Usage statistics</string>
</property>
<layout class="QHBoxLayout" name="usageStatisticsGBoxHLayout">
<item>
<widget class="RSTextBrowser" name="usageStatistics_TB"/>
</item>
<item row="0" column="0" rowspan="2">
<widget class="QLabel" name="avLabel_Person">
</layout>
</widget>
</item>
<item row="4" column="0">
<spacer name="scrollAreaWidgetContentsVSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="detailsGroupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>64</width>
<height>64</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1000</width>
<height>1000</height>
</size>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string/>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="detailsGroupBox">
<property name="minimumSize">
<size>
<width>0</width>
@ -573,32 +708,8 @@ border-image: url(:/images/closepressed.png)
<string>Identity info</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="13" column="0">
<widget class="QLabel" name="neighborNodesOpinion_LB">
<property name="text">
<string>Friend votes:</string>
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<widget class="Line" name="line_IdInfo">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="lineEdit_GpgName">
<property name="enabled">
<bool>true</bool>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEdit_KeyId">
<item row="3" column="1">
<widget class="QLineEdit" name="lineEdit_GpgId">
<property name="enabled">
<bool>true</bool>
</property>
@ -614,7 +725,31 @@ border-image: url(:/images/closepressed.png)
</property>
</widget>
</item>
<item row="12" column="1">
<item row="0" column="0">
<widget class="QLabel" name="label_Nickname">
<property name="text">
<string>Identity name :</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_GpgName">
<property name="text">
<string>Owner node name :</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_Nickname">
<property name="enabled">
<bool>true</bool>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QCheckBox" name="autoBanIdentities_CB">
<property name="toolTip">
<string>Auto-Ban all identities signed by the same node</string>
@ -631,44 +766,28 @@ border-image: url(:/images/closepressed.png)
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_Nickname">
<property name="enabled">
<bool>true</bool>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="lineEdit_GpgId">
<property name="enabled">
<bool>true</bool>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QLineEdit" name="overallOpinion_TF">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Overall reputation score, accounting for yours and your friends'.&lt;/p&gt;&lt;p&gt;Negative is bad, positive is good. Zero is neutral. If the score is too low,&lt;/p&gt;&lt;p&gt;the identity is flagged as bad, and will be filtered out in forums, chat lobbies,&lt;/p&gt;&lt;p&gt;channels, etc.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="0" rowspan="2">
<item row="8" column="0" rowspan="2">
<widget class="QLabel" name="label_YourOpinion">
<property name="text">
<string>Your opinion:</string>
</property>
</widget>
</item>
<item row="14" column="0">
<item row="2" column="1">
<widget class="QLineEdit" name="lineEdit_Type">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="lineEdit_LastUsed">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="overallOpinion_LB">
<property name="font">
<font>
@ -688,21 +807,21 @@ border-image: url(:/images/closepressed.png)
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_Nickname">
<item row="3" column="0">
<widget class="QLabel" name="label_GpgId">
<property name="text">
<string>Identity name :</string>
<string>Owner node ID :</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_KeyId">
<item row="10" column="0">
<widget class="QLabel" name="banoption_label">
<property name="text">
<string>Identity ID :</string>
<string>Ban-option:</string>
</property>
</widget>
</item>
<item row="13" column="1">
<item row="11" column="1">
<widget class="QLineEdit" name="neighborNodesOpinion_TF">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Average opinion of neighbor nodes about this identity. Negative is bad,&lt;/p&gt;&lt;p&gt;positive is good. Zero is neutral.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
@ -712,28 +831,7 @@ border-image: url(:/images/closepressed.png)
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="lineEdit_Type">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_Type">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="lineEdit_LastUsed">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="15" column="0" colspan="2">
<item row="13" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -746,28 +844,38 @@ border-image: url(:/images/closepressed.png)
</property>
</spacer>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_GpgId">
<item row="1" column="0">
<widget class="QLabel" name="label_KeyId">
<property name="text">
<string>Owner node ID :</string>
<string>Identity ID :</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_GpgName">
<property name="text">
<string>Owner node name :</string>
<item row="7" column="0" colspan="2">
<widget class="Line" name="line_IdInfo">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="banoption_label">
<property name="text">
<string>Ban-option:</string>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEdit_KeyId">
<property name="enabled">
<bool>true</bool>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="1" rowspan="2">
<item row="2" column="0">
<widget class="QLabel" name="label_Type">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item row="8" column="1" rowspan="2">
<widget class="RSComboBox" name="ownOpinion_CB">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-family:'Sans'; font-size:9pt;&quot;&gt;Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the difference between friend's positive and negative opinions. If not, your own opinion gives the score.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-family:'Sans'; font-size:9pt;&quot;&gt;The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -1, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a non negative reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 5 days).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-family:'Sans'; font-size:9pt;&quot;&gt;You can change the thresholds and the time of inactivity to delete identities in preferences -&amp;gt; people. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
@ -807,230 +915,52 @@ border-image: url(:/images/closepressed.png)
</item>
</widget>
</item>
<item row="0" column="2" rowspan="15">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1">
<widget class="QLabel" name="avatarLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="text">
<string extracomment="Click here to change your avatar">Your Avatar</string>
</property>
<property name="scaledContents">
<item row="4" column="1">
<widget class="QLineEdit" name="lineEdit_GpgName">
<property name="enabled">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="editButton">
<item row="12" column="1">
<widget class="QLineEdit" name="overallOpinion_TF">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Overall reputation score, accounting for yours and your friends'.&lt;/p&gt;&lt;p&gt;Negative is bad, positive is good. Zero is neutral. If the score is too low,&lt;/p&gt;&lt;p&gt;the identity is flagged as bad, and will be filtered out in forums, chat lobbies,&lt;/p&gt;&lt;p&gt;channels, etc.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="neighborNodesOpinion_LB">
<property name="text">
<string>Edit Identity</string>
<string>Friend votes:</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="inviteButton">
<property name="text">
<string>Send Invite</string>
</property>
</widget>
</item>
<item row="0" column="2" rowspan="3">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>6</width>
<height>128</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0" rowspan="3">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>6</width>
<height>128</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="avatarOpinionHLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<item>
<widget class="QLabel" name="label_PosIcon">
<property name="maximumSize">
<size>
<width>34</width>
<height>34</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="label_positive">
<item row="0" column="0" colspan="2">
<widget class="ElidedLabel" name="headerTextLabel_Person">
<property name="font">
<font>
<pointsize>16</pointsize>
<pointsize>22</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">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_NegIcon">
<property name="maximumSize">
<size>
<width>34</width>
<height>34</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="label_negative">
<property name="font">
<font>
<pointsize>16</pointsize>
</font>
</property>
<property name="toolTip">
<string>Negative votes</string>
</property>
<property name="text">
<string>0</string>
<string>People</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="avatarVSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>118</width>
<height>17</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="usageStatisticsGBox">
<property name="title">
<string>Usage statistics</string>
</property>
<layout class="QHBoxLayout" name="usageStatisticsGBoxHLayout">
<item>
<widget class="RSTextBrowser" name="usageStatistics_TB"/>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="scrollAreaWidgetContentsVSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
<zorder>detailsGroupBox</zorder>
<zorder>usageStatisticsGBox</zorder>
<zorder>headerBFramePerson</zorder>
</widget>
</widget>
</item>

View File

@ -11022,32 +11022,32 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+123"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copy your RetroShare ID to clipboard&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copia tu ID de RetroShare al portapapeles&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location line="+165"/>
<source>Add friend</source>
<translation type="unfinished"></translation>
<translation>Agregar amigo</translation>
</message>
<message>
<location line="+27"/>
<source>Did you receive a Retroshare ID from a friend?</source>
<translation type="unfinished"></translation>
<translation>¿Recibiste una identificación de Retroshare de una amiga?</translation>
</message>
<message>
<location line="+85"/>
<source>Do you need help with Retroshare?</source>
<translation type="unfinished"></translation>
<translation>¿Necesitas ayuda con Retroshare?</translation>
</message>
<message>
<location line="-254"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Share your RetroShare ID&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Comparte tu ID de RetroShare&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location line="-63"/>
<source>This is your Retroshare ID. Copy and share with your friends!</source>
<translation type="unfinished"></translation>
<translation>Este es tu ID de Retroshare. ¡Cópialo y compártelo con tus amigos!</translation>
</message>
<message>
<location line="+10"/>
@ -11096,7 +11096,7 @@ de código abierto, multi-sistema, privada y segura.</translation>
<message>
<location line="+6"/>
<source>Copy your Retroshare ID to Clipboard</source>
<translation type="unfinished"></translation>
<translation>Copia tu ID de Retroshare al portapapeles</translation>
</message>
<message>
<location line="+21"/>
@ -11173,7 +11173,7 @@ new short format</source>
<message>
<location filename="../gui/HomePage.h" line="+46"/>
<source>Home</source>
<translation>Página principal</translation>
<translation>Casa</translation>
</message>
</context>
<context>
@ -11516,12 +11516,12 @@ p, li { white-space: pre-wrap; }
<message>
<location line="-291"/>
<source>Created on :</source>
<translation type="unfinished"></translation>
<translation>Creado el :</translation>
</message>
<message>
<location line="-64"/>
<source>Auto-Ban profile</source>
<translation type="unfinished"></translation>
<translation>Perfil de prohibición automática</translation>
</message>
<message>
<location line="+150"/>
@ -11531,7 +11531,7 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+84"/>
<source>Edit Identity</source>
<translation type="unfinished"></translation>
<translation>Editar identidad</translation>
</message>
<message>
<location line="+151"/>
@ -11591,12 +11591,12 @@ p, li { white-space: pre-wrap; }
<message>
<location line="-407"/>
<source>Owner node ID :</source>
<translation>Identificación del nodo propietario :</translation>
<translation>Identificación del nodo:</translation>
</message>
<message>
<location line="-58"/>
<source>Identity name :</source>
<translation>Nombre de la identidad :</translation>
<translation>Nombre de identidad:</translation>
</message>
<message>
<location line="-587"/>

View File

@ -1527,12 +1527,12 @@ into the image, so as to
<message>
<location line="+75"/>
<source>Redock to Main window</source>
<translation type="unfinished"></translation>
<translation>Перезакрепить в главном окне</translation>
</message>
<message>
<location line="+15"/>
<source>Undock to a new window</source>
<translation type="unfinished"></translation>
<translation>Открепить в новом окне</translation>
</message>
</context>
<context>
@ -10717,17 +10717,17 @@ This message is missing. You should receive it later.</source>
<message>
<location filename="../gui/statusbar/hashingstatus.cpp" line="+78"/>
<source>Examining shared files...</source>
<translation type="unfinished">Проверка файлов, открытых к доступу...</translation>
<translation>Проверка файлов, открытых к доступу...</translation>
</message>
<message>
<location line="+5"/>
<source>Hashing file</source>
<translation type="unfinished">Хеширование файла</translation>
<translation>Хеширование файла</translation>
</message>
<message>
<location line="+3"/>
<source>Saving file index...</source>
<translation type="unfinished">Сохранение списка файлов...</translation>
<translation>Сохранение списка файлов...</translation>
</message>
</context>
<context>
@ -11025,32 +11025,32 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+123"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copy your RetroShare ID to clipboard&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Скопируйте свой идентификатор RetroShare в буфер обмена&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location line="+165"/>
<source>Add friend</source>
<translation type="unfinished"></translation>
<translation>Добавить узел</translation>
</message>
<message>
<location line="+27"/>
<source>Did you receive a Retroshare ID from a friend?</source>
<translation type="unfinished"></translation>
<translation>Вы получили идентификатор Retroshare от друга?</translation>
</message>
<message>
<location line="+85"/>
<source>Do you need help with Retroshare?</source>
<translation type="unfinished"></translation>
<translation>Вам нужна помощь с Retroshare?</translation>
</message>
<message>
<location line="-254"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Share your RetroShare ID&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Поделитесь своим идентификатором RetroShare&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location line="-63"/>
<source>This is your Retroshare ID. Copy and share with your friends!</source>
<translation type="unfinished"></translation>
<translation>Это ваш Retroshare ID. Скопируйте и поделитесь с друзьями!</translation>
</message>
<message>
<location line="+10"/>
@ -11120,7 +11120,7 @@ private and secure decentralized communication platform.
<message>
<location line="+6"/>
<source>Include all IPs history</source>
<translation type="unfinished"></translation>
<translation>Включить историю всех IP-адресов</translation>
</message>
<message>
<location line="+12"/>
@ -11130,12 +11130,12 @@ private and secure decentralized communication platform.
<message>
<location line="+70"/>
<source>Include all your known IPs</source>
<translation type="unfinished"></translation>
<translation>Включите все ваши известные IP-адреса</translation>
</message>
<message>
<location line="-109"/>
<source>Use old certificate format</source>
<translation type="unfinished"></translation>
<translation>Использовать старый формат сертификата</translation>
</message>
<message>
<location line="+1"/>
@ -11147,7 +11147,7 @@ new short format</source>
<message>
<location line="+99"/>
<source>Use new (short) certificate format</source>
<translation type="unfinished"></translation>
<translation>Использовать (короткий) формат сертификата</translation>
</message>
<message>
<location line="+143"/>
@ -11499,7 +11499,7 @@ p, li { white-space: pre-wrap; }
<message>
<location line="-41"/>
<source>Friend votes:</source>
<translation>Рейтинг согласно мнению участников из окружения:</translation>
<translation>Голоса друзей:</translation>
</message>
<message>
<location line="+358"/>
@ -11520,12 +11520,12 @@ p, li { white-space: pre-wrap; }
<message>
<location line="-291"/>
<source>Created on :</source>
<translation type="unfinished"></translation>
<translation>Создано:</translation>
</message>
<message>
<location line="-64"/>
<source>Auto-Ban profile</source>
<translation type="unfinished"></translation>
<translation>Профиль автобана</translation>
</message>
<message>
<location line="+150"/>
@ -11535,7 +11535,7 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+84"/>
<source>Edit Identity</source>
<translation type="unfinished"></translation>
<translation>Изменить личность</translation>
</message>
<message>
<location line="+151"/>
@ -11595,7 +11595,7 @@ p, li { white-space: pre-wrap; }
<message>
<location line="-407"/>
<source>Owner node ID :</source>
<translation>Идентификатор владельца узла:</translation>
<translation>Идентификатор узла:</translation>
</message>
<message>
<location line="-58"/>
@ -11630,7 +11630,7 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+58"/>
<source>Owner node name :</source>
<translation>Имя владельца узла:</translation>
<translation>Имя узла:</translation>
</message>
<message>
<location line="-569"/>
@ -11660,19 +11660,19 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+116"/>
<source>Negative</source>
<translation>Отрицательное мнение</translation>
<translation>Отрицательно</translation>
</message>
<message>
<location line="+9"/>
<location filename="../gui/Identity/IdDialog.cpp" line="-405"/>
<source>Neutral</source>
<translation>Нейтральное мнение</translation>
<translation>Нейтральный</translation>
</message>
<message>
<location line="+9"/>
<location filename="../gui/Identity/IdDialog.cpp" line="-11"/>
<source>Positive</source>
<translation>Положительное мнение</translation>
<translation>Положительный</translation>
</message>
<message>
<location line="-144"/>
@ -11799,7 +11799,7 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+4"/>
<source>unsubscribed (Only receive invite list). Last seen: %1 days ago.</source>
<translation type="unfinished"></translation>
<translation>отписался (Только получать список приглашений). Последний раз был в сети: %1 дней назад.</translation>
</message>
<message>
<location line="+2"/>
@ -11829,7 +11829,7 @@ p, li { white-space: pre-wrap; }
<message>
<location line="+1"/>
<source>Status: </source>
<translation>Статус:</translation>
<translation>Статус: </translation>
</message>
<message>
<location line="+3"/>
@ -12011,7 +12011,7 @@ These identities will soon be not supported anymore.</source>
<message>
<location line="+2"/>
<source>Message</source>
<translation type="unfinished">Сообщение</translation>
<translation>Сообщение</translation>
</message>
<message>
<location line="+2"/>
@ -12281,7 +12281,7 @@ These identities will soon be not supported anymore.</source>
<message>
<location filename="../gui/Identity/IdDialog.ui" line="-231"/>
<source>Last used:</source>
<translation>Последний раз появлялся: </translation>
<translation>Последний раз появлялся:</translation>
</message>
<message>
<location filename="../gui/Identity/IdDialog.cpp" line="-608"/>
@ -12321,7 +12321,7 @@ These identities will soon be not supported anymore.</source>
<message>
<location line="+607"/>
<source>Really delete?</source>
<translation>Действительно удалить? </translation>
<translation>Действительно удалить?</translation>
</message>
</context>
<context>
@ -14916,105 +14916,105 @@ Reported error:</source>
<message>
<location filename="../gui/common/NewFriendList.ui" line="+83"/>
<source>Offline Friends</source>
<translation type="unfinished"></translation>
<translation>Друзья офлайн</translation>
</message>
<message>
<location line="+3"/>
<source>Show Offline Friends</source>
<translation type="unfinished"></translation>
<translation>Показать друзей офлайн</translation>
</message>
<message>
<location line="+8"/>
<source>Status</source>
<translation type="unfinished">Статус</translation>
<translation>Статус</translation>
</message>
<message>
<location line="+3"/>
<source>Show status</source>
<translation type="unfinished"></translation>
<translation>Показать статус</translation>
</message>
<message>
<location line="+8"/>
<location filename="../gui/common/NewFriendList.cpp" line="+690"/>
<source>Groups</source>
<translation type="unfinished">Группы</translation>
<translation>Группы</translation>
</message>
<message>
<location line="+3"/>
<source>Show groups</source>
<translation type="unfinished"></translation>
<translation>Показать группы</translation>
</message>
<message>
<location line="+5"/>
<source>export friendlist</source>
<translation type="unfinished">Экспорт списка контактов</translation>
<translation>Экспорт списка контактов</translation>
</message>
<message>
<location line="+3"/>
<source>export your friendlist including groups</source>
<translation type="unfinished">Экспорт списка контактов, включая информацию о группах</translation>
<translation>Экспорт списка контактов, включая информацию о группах</translation>
</message>
<message>
<location line="+5"/>
<source>import friendlist</source>
<translation type="unfinished">Импорт списка контактов</translation>
<translation>Импорт списка контактов</translation>
</message>
<message>
<location line="+3"/>
<source>import your friendlist including groups</source>
<translation type="unfinished">Импорт списка контактов, включая информацию о группах</translation>
<translation>Импорт списка контактов, включая информацию о группах</translation>
</message>
<message>
<location filename="../gui/common/NewFriendList.cpp" line="-496"/>
<location line="+28"/>
<source>Search</source>
<translation type="unfinished"></translation>
<translation>Поиск</translation>
</message>
<message>
<location line="+1"/>
<location line="+144"/>
<source>ID</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location line="-144"/>
<source>Search ID</source>
<translation type="unfinished">Поиск идентификатора</translation>
<translation>Поиск идентификатора</translation>
</message>
<message>
<location line="+2"/>
<source>Online friends on top</source>
<translation type="unfinished"></translation>
<translation>Онлайн-друзья наверху</translation>
</message>
<message>
<location line="+82"/>
<source>Show Items</source>
<translation type="unfinished">Показать...</translation>
<translation>Показать...</translation>
</message>
<message>
<location line="+46"/>
<source>Last contact</source>
<translation type="unfinished"></translation>
<translation>Последний контакт</translation>
</message>
<message>
<location line="+7"/>
<source>IP</source>
<translation type="unfinished">IP</translation>
<translation>IP</translation>
</message>
<message>
<location line="+251"/>
<source>Group</source>
<translation type="unfinished">Группа</translation>
<translation>Группа</translation>
</message>
<message>
<location line="+4"/>
<source>Friend</source>
<translation type="unfinished"></translation>
<translation>Друг</translation>
</message>
<message>
<location line="+4"/>
<source>Node</source>
<translation type="unfinished"></translation>
<translation>Узел</translation>
</message>
<message>
<location line="+3"/>
@ -15024,126 +15024,126 @@ Reported error:</source>
<message>
<location line="+12"/>
<source>Edit Group</source>
<translation type="unfinished">Редактировать группу</translation>
<translation>Редактировать группу</translation>
</message>
<message>
<location line="+2"/>
<source>Remove Group</source>
<translation type="unfinished">Удалить группу</translation>
<translation>Удалить группу</translation>
</message>
<message>
<location line="+7"/>
<source>Profile details</source>
<translation type="unfinished">Сведения об узле</translation>
<translation>Сведения об узле</translation>
</message>
<message>
<location line="+1"/>
<source>Deny connections</source>
<translation type="unfinished"></translation>
<translation>Запретить соединения</translation>
</message>
<message>
<location line="+26"/>
<source>Add to group</source>
<translation type="unfinished">добавить в группу</translation>
<translation>добавить в группу</translation>
</message>
<message>
<location line="+9"/>
<source>Move to group</source>
<translation type="unfinished">Переместить в группу</translation>
<translation>Переместить в группу</translation>
</message>
<message>
<location line="+12"/>
<source>Create new group</source>
<translation type="unfinished">Создать новую группу</translation>
<translation>Создать новую группу</translation>
</message>
<message>
<location line="+19"/>
<source>Remove from group </source>
<translation type="unfinished"></translation>
<translation>Удалить из группы </translation>
</message>
<message>
<location line="+5"/>
<source>Remove from all groups</source>
<translation type="unfinished">Удалить из всех групп</translation>
<translation>Удалить из всех групп</translation>
</message>
<message>
<location line="+13"/>
<source>Chat</source>
<translation type="unfinished"></translation>
<translation>Чат</translation>
</message>
<message>
<location line="+1"/>
<source>Send message to this node</source>
<translation type="unfinished">Послать сообщение этому узлу</translation>
<translation>Послать сообщение этому узлу</translation>
</message>
<message>
<location line="+4"/>
<source>Node details</source>
<translation type="unfinished">Сведения об узле</translation>
<translation>Сведения об узле</translation>
</message>
<message>
<location line="+3"/>
<source>Recommend this node to...</source>
<translation type="unfinished">Рекомендовать этого участника...</translation>
<translation>Рекомендовать этого участника...</translation>
</message>
<message>
<location line="+6"/>
<source>Attempt to connect</source>
<translation type="unfinished">Соединиться</translation>
<translation>Соединиться</translation>
</message>
<message>
<location line="+2"/>
<source>Copy certificate link</source>
<translation type="unfinished">Скопировать ссылку сертификата</translation>
<translation>Скопировать ссылку сертификата</translation>
</message>
<message>
<location line="+3"/>
<source>Remove Friend Node</source>
<translation type="unfinished">Удалить этого участника</translation>
<translation>Удалить этого участника</translation>
</message>
<message>
<location line="+15"/>
<source>Paste certificate link</source>
<translation type="unfinished">Вставить ссылку на сертификат</translation>
<translation>Вставить ссылку на сертификат</translation>
</message>
<message>
<location line="+4"/>
<source>Expand all</source>
<translation type="unfinished">Раскрыть всё</translation>
<translation>Раскрыть всё</translation>
</message>
<message>
<location line="+1"/>
<source>Collapse all</source>
<translation type="unfinished">Свернуть всё</translation>
<translation>Свернуть всё</translation>
</message>
<message>
<location line="+236"/>
<source>Do you want to remove this node?</source>
<translation type="unfinished">Вы хотите удалить этот узел?</translation>
<translation>Вы хотите удалить этот узел?</translation>
</message>
<message>
<location line="+12"/>
<source>Do you want to remove this Friend?</source>
<translation type="unfinished"></translation>
<translation>Вы хотите удалить этот контакт?</translation>
</message>
<message>
<location line="+235"/>
<location line="+18"/>
<source>Done!</source>
<translation type="unfinished">Готово!</translation>
<translation>Готово!</translation>
</message>
<message>
<location line="-17"/>
<source>Your friendlist is stored at:
</source>
<translation type="unfinished">Ваш список список контактов сохранён в:
<translation>Ваш список список контактов сохранён в:
</translation>
</message>
<message>
<location line="+1"/>
<source>
(keep in mind that the file is unencrypted!)</source>
<translation type="unfinished">
<translation>
(помните, что файл не зашифрован!)</translation>
</message>
<message>
@ -15151,32 +15151,32 @@ Reported error:</source>
<location line="+7"/>
<source>Your friendlist was imported from:
</source>
<translation type="unfinished">Ваш список контактов импортирован из:
<translation>Ваш список контактов импортирован из:
</translation>
</message>
<message>
<location line="-1"/>
<source>Done - but errors happened!</source>
<translation type="unfinished">Выполнено, но с ошибками!</translation>
<translation>Выполнено, но с ошибками!</translation>
</message>
<message>
<location line="+2"/>
<source>
at least one peer was not added</source>
<translation type="unfinished">
<translation>
как минимум один участник не добавлен</translation>
</message>
<message>
<location line="+1"/>
<source>
at least one peer was not added to a group</source>
<translation type="unfinished">
<translation>
как минимум один участник не добавлен в группу</translation>
</message>
<message>
<location line="+20"/>
<source>Select file for importing your friendlist from</source>
<translation type="unfinished">Выберите файл, в котором хранится список ваших контактов</translation>
<translation>Выберите файл, в котором хранится список ваших контактов</translation>
</message>
<message>
<location line="+1"/>
@ -15193,7 +15193,7 @@ at least one peer was not added to a group</source>
<location line="+30"/>
<location line="+116"/>
<source>Error</source>
<translation type="unfinished">Ошибка</translation>
<translation>Ошибка</translation>
</message>
<message>
<location line="-115"/>