Improved Display of Moderator selection box on a useable place

* Improved Author & Moderator labels display as link
* Improved display of moderator selection box display on right side
* Added own tree item "My Circles" to see your own circles easyer then before when you are admin.
* Profile generation dialog moved node type box to advanced section.
This commit is contained in:
defnax 2019-01-06 15:56:39 +01:00
parent 2af202063f
commit ef4a29d4d4
7 changed files with 336 additions and 240 deletions

View File

@ -324,6 +324,10 @@ void GenCertDialog::setupState()
ui.keylength_label->setVisible(adv_state);
ui.keylength_comboBox->setVisible(adv_state);
ui.nodeType_CB->setVisible(adv_state);
ui.nodeTypeExplanation_TE->setVisible(adv_state);
ui.nodetype_label->setVisible(adv_state);
ui.entropy_bar->setVisible(true);
ui.genButton->setVisible(true);

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>978</width>
<height>826</height>
<width>633</width>
<height>532</height>
</rect>
</property>
<property name="windowTitle">
@ -69,44 +69,6 @@
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="nodeType_LB">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Node type:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="nodeType_CB">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>Standard node</string>
</property>
</item>
<item>
<property name="text">
<string>Hidden node (over Tor)</string>
</property>
</item>
<item>
<property name="text">
<string>Hidden node (Tor/I2P - Manually configured)</string>
</property>
</item>
</widget>
</item>
<item>
<spacer name="toolBarHSpacer">
<property name="orientation">
@ -168,6 +130,13 @@
</property>
<item row="1" column="0">
<layout class="QGridLayout" name="profilGLayout">
<item row="7" column="3">
<widget class="QLabel" name="password_check_LB">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="14" column="2">
<widget class="QComboBox" name="keylength_comboBox">
<property name="sizePolicy">
@ -184,7 +153,7 @@
</property>
</widget>
</item>
<item row="18" column="1">
<item row="19" column="1">
<widget class="QLabel" name="randomness_label_">
<property name="maximumSize">
<size>
@ -206,10 +175,19 @@
</property>
</widget>
</item>
<item row="7" column="3">
<widget class="QLabel" name="password_check_LB">
<property name="text">
<string/>
<item row="19" column="2">
<widget class="QProgressBar" name="entropy_bar">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Please move your mouse around in order to collect as much randomness as possible. A minimum of 20% is needed to create your node keys.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="value">
<number>24</number>
</property>
</widget>
</item>
@ -241,23 +219,7 @@
</property>
</widget>
</item>
<item row="18" column="2">
<widget class="QProgressBar" name="entropy_bar">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Please move your mouse around in order to collect as much randomness as possible. A minimum of 20% is needed to create your node keys.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="value">
<number>24</number>
</property>
</widget>
</item>
<item row="18" column="3">
<item row="19" column="3">
<widget class="QLabel" name="randomness_check_LB">
<property name="text">
<string/>
@ -413,7 +375,29 @@
</property>
</widget>
</item>
<item row="17" column="2">
<item row="4" column="1">
<widget class="QLabel" name="name_label">
<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/svg/person.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="18" column="2">
<layout class="QHBoxLayout" name="hiddenInfoHLayout">
<property name="spacing">
<number>6</number>
@ -484,6 +468,13 @@
</item>
</layout>
</item>
<item row="20" column="3">
<widget class="QLabel" name="generate_label">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="9" column="2">
<widget class="QLineEdit" name="nickname_input">
<property name="sizePolicy">
@ -497,7 +488,7 @@
</property>
</widget>
</item>
<item row="19" column="2">
<item row="20" column="2">
<widget class="QPushButton" name="genButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
@ -530,35 +521,6 @@
</property>
</widget>
</item>
<item row="19" column="3">
<widget class="QLabel" name="generate_label">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="name_label">
<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/svg/person.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QLabel" name="nickname_label">
<property name="maximumSize">
@ -584,6 +546,31 @@
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLabel" name="password2_label">
<property name="maximumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolTip">
<string>This password is for PGP</string>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="icons.qrc">:/icons/svg/password.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="node_label">
<property name="maximumSize">
@ -628,31 +615,6 @@
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLabel" name="password2_label">
<property name="maximumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolTip">
<string>This password is for PGP</string>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="icons.qrc">:/icons/svg/password.svg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="password_label">
<property name="maximumSize">
@ -678,7 +640,7 @@
</property>
</widget>
</item>
<item row="17" column="1">
<item row="18" column="1">
<widget class="QLabel" name="hiddenaddr_label">
<property name="maximumSize">
<size>
@ -700,6 +662,53 @@
</property>
</widget>
</item>
<item row="15" column="2">
<widget class="QComboBox" name="nodeType_CB">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>Standard node</string>
</property>
</item>
<item>
<property name="text">
<string>Hidden node (over Tor)</string>
</property>
</item>
<item>
<property name="text">
<string>Hidden node (Tor/I2P - Manually configured)</string>
</property>
</item>
</widget>
</item>
<item row="15" column="1">
<widget class="QLabel" name="nodetype_label">
<property name="maximumSize">
<size>
<width>24</width>
<height>26</height>
</size>
</property>
<property name="toolTip">
<string>Node type</string>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="icons.qrc">:/icons/png/settings.png</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0">

View File

@ -165,7 +165,8 @@ IdDialog::IdDialog(QWidget *parent) :
ui->treeWidget_membership->clear();
mExternalOtherCircleItem = NULL ;
mMyCircleItem = NULL ;
mExternalOtherCircleItem = NULL ;
mExternalBelongingCircleItem = NULL ;
/* Setup UI helper */
@ -505,6 +506,12 @@ void IdDialog::loadCircleGroupMeta(const uint32_t &token)
//ui->treeWidget_membership->addTopLevelItem(personalCirclesItem);
#ifdef CIRCLE_MEMBERSHIP_CATEGORIES
if(!mMyCircleItem )
{
mMyCircleItem = new QTreeWidgetItem();
mMyCircleItem->setText(0, tr("My Circles"));
ui->treeWidget_membership->addTopLevelItem(mMyCircleItem);
}
if(!mExternalOtherCircleItem)
{
mExternalOtherCircleItem = new QTreeWidgetItem();
@ -599,7 +606,14 @@ void IdDialog::loadCircleGroupMeta(const uint32_t &token)
item->setData(CIRCLEGROUP_CIRCLE_COL_GROUPFLAGS, Qt::UserRole, QVariant(vit->mSubscribeFlags));
#ifdef CIRCLE_MEMBERSHIP_CATEGORIES
if(am_I_in_circle)
if(am_I_admin)
{
#ifdef ID_DEBUG
std::cerr << " adding item for circle " << vit->mGroupId << " to own circles"<< std::endl;
#endif
mMyCircleItem->addChild(item);
}
else if(am_I_in_circle)
{
#ifdef ID_DEBUG
std::cerr << " adding item for circle " << vit->mGroupId << " to own circles"<< std::endl;

View File

@ -149,6 +149,7 @@ private:
QTreeWidgetItem *ownItem;
QTreeWidgetItem *mExternalBelongingCircleItem;
QTreeWidgetItem *mExternalOtherCircleItem;
QTreeWidgetItem *mMyCircleItem;
RsGxsUpdateBroadcastBase *mCirclesBroadcastBase ;
std::map<uint32_t, CircleUpdateOrder> mCircleUpdates ;

View File

@ -24,6 +24,7 @@
#include "util/DateTime.h"
#include "GxsGroupDialog.h"
#include "gui/common/PeerDefs.h"
#include "gui/RetroShareLink.h"
#include "retroshare/rsgxsflags.h"
#include <algorithm>
@ -35,6 +36,7 @@
#include <iostream>
// Control of Publish Signatures.
//
// These are now defined in rsgxsflags.h
@ -99,6 +101,8 @@ void GxsGroupDialog::init()
connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(cancelDialog()));
connect(ui.pubKeyShare_cb, SIGNAL(clicked()), this, SLOT(setShareList()));
connect(ui.addAdmins_cb, SIGNAL(clicked()), this, SLOT(setAdminsList()));
connect(ui.filtercomboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(filterComboBoxChanged(int)));
connect(ui.groupLogo, SIGNAL(clicked() ), this , SLOT(addGroupLogo()));
connect(ui.addLogoButton, SIGNAL(clicked() ), this , SLOT(addGroupLogo()));
@ -119,8 +123,14 @@ void GxsGroupDialog::init()
if (!ui.addAdmins_cb->isChecked())
{
ui.adminsList->hide();
ui.filtercomboBox->hide();
//this->resize(this->size().width() - ui.contactsdockWidget->size().width(), this->size().height());
}
/* Add filter types */
ui.filtercomboBox->addItem(tr("All People"));
ui.filtercomboBox->addItem(tr("My Contacts"));
ui.filtercomboBox->setCurrentIndex(0);
/* initialize key share list */
ui.shareKeyList->setHeaderText(tr("Contacts:"));
@ -132,6 +142,7 @@ void GxsGroupDialog::init()
ui.adminsList->setModus(FriendSelectionWidget::MODUS_CHECK);
ui.adminsList->setShowType(FriendSelectionWidget::SHOW_GXS);
ui.adminsList->start();
/* Setup Reasonable Defaults */
@ -442,6 +453,8 @@ void GxsGroupDialog::updateFromExistingMeta(const QString &description)
setupReadonly();
clearForm();
setGroupSignFlags(mGrpMeta.mSignFlags) ;
RetroShareLink link;
/* setup name */
ui.groupName->setText(QString::fromUtf8(mGrpMeta.mGroupName.c_str()));
@ -455,6 +468,10 @@ void GxsGroupDialog::updateFromExistingMeta(const QString &description)
else
ui.lastpostline->setText(DateTime::formatLongDateTime(mGrpMeta.mLastPost));
ui.authorLabel->setId(mGrpMeta.mAuthorId);
link = RetroShareLink::createMessage(mGrpMeta.mAuthorId, "");
ui.authorLabel->setText(link.toHtml());
ui.IDline->setText(QString::fromStdString(mGrpMeta.mGroupId.toStdString()));
ui.descriptiontextEdit->setPlainText(description);
@ -869,6 +886,7 @@ void GxsGroupDialog::setSelectedModerators(const std::set<RsGxsId>& ids)
QString moderatorsListString ;
RsIdentityDetails det;
RetroShareLink link;
for(auto it(ids.begin());it!=ids.end();++it)
{
@ -877,9 +895,15 @@ void GxsGroupDialog::setSelectedModerators(const std::set<RsGxsId>& ids)
if(!moderatorsListString.isNull())
moderatorsListString += ", " ;
moderatorsListString += det.mNickname.empty()?("[Unknown]"):QString::fromStdString(det.mNickname) ;
}
if(det.mNickname.empty())
moderatorsListString += "[Unknown]";
link = RetroShareLink::createMessage(det.mId, "");
if (link.valid())
moderatorsListString += link.toHtml() + " ";
}
//ui.moderatorsLabel->setId(det.mId);
ui.moderatorsLabel->setText(moderatorsListString);
}
@ -898,10 +922,12 @@ void GxsGroupDialog::setAdminsList()
{
//this->resize(this->size().width() + ui.contactsdockWidget->size().width(), this->size().height());
ui.adminsList->show();
ui.filtercomboBox->show();
}
else
{ // hide share widget
ui.adminsList->hide();
ui.filtercomboBox->hide();
//this->resize(this->size().width() - ui.contactsdockWidget->size().width(), this->size().height());
}
}
@ -921,6 +947,21 @@ void GxsGroupDialog::setShareList()
// }
}
void GxsGroupDialog::filterComboBoxChanged(int i)
{
switch(i)
{
default:
case 0:
ui.adminsList->setShowType(FriendSelectionWidget::SHOW_GXS);
break;
case 1:
ui.adminsList->setShowType(FriendSelectionWidget::SHOW_CONTACTS);
break;
}
}
/***********************************************************************************
Loading Group.
***********************************************************************************/

View File

@ -163,6 +163,7 @@ private:
protected slots:
void submitGroup();
void addGroupLogo();
void filterComboBoxChanged(int);
protected:
virtual void showEvent(QShowEvent*);

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1237</width>
<height>1206</height>
<width>600</width>
<height>736</height>
</rect>
</property>
<property name="windowTitle">
@ -48,7 +48,10 @@
</property>
<widget class="QWidget" name="createmode">
<layout class="QGridLayout" name="gridLayout_8">
<item row="0" column="0">
<property name="topMargin">
<number>0</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QGroupBox" name="groupBoxLogo">
<property name="title">
<string/>
@ -187,6 +190,10 @@
<property name="text">
<string>Add moderators</string>
</property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/icons/settings/permissions.svg</normaloff>:/icons/settings/permissions.svg</iconset>
</property>
</widget>
</item>
<item>
@ -349,7 +356,20 @@
</layout>
</widget>
</item>
<item row="4" column="0">
<item row="1" column="1" rowspan="3">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QComboBox" name="filtercomboBox"/>
</item>
<item>
<widget class="FriendSelectionWidget" name="adminsList" native="true"/>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="FriendSelectionWidget" name="shareKeyList" native="true"/>
</item>
<item row="3" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Description</string>
@ -361,7 +381,7 @@
</layout>
</widget>
</item>
<item row="5" column="0">
<item row="4" column="0" colspan="2">
<widget class="QGroupBox" name="publishGroupBox">
<property name="title">
<string>Publish Signatures</string>
@ -399,7 +419,7 @@
<item>
<widget class="QRadioButton" name="publish_required">
<property name="text">
<string>Re&amp;quired</string>
<string>Required</string>
</property>
</widget>
</item>
@ -426,7 +446,7 @@
</layout>
</widget>
</item>
<item row="6" column="0">
<item row="5" column="0" colspan="2">
<widget class="QGroupBox" name="personalGroupBox">
<property name="title">
<string>Personal Signatures</string>
@ -469,7 +489,7 @@
</layout>
</widget>
</item>
<item row="7" column="0">
<item row="6" column="0" colspan="2">
<widget class="QGroupBox" name="commentGroupBox">
<property name="title">
<string>Comments</string>
@ -520,7 +540,7 @@
</layout>
</widget>
</item>
<item row="8" column="0">
<item row="7" column="0" colspan="2">
<widget class="QGroupBox" name="spamProtection_GB">
<property name="title">
<string>Spam-protection</string>
@ -571,7 +591,7 @@
</layout>
</widget>
</item>
<item row="9" column="0" colspan="2">
<item row="8" column="0" colspan="2">
<widget class="QFrame" name="extraFrame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
@ -581,16 +601,13 @@
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="FriendSelectionWidget" name="adminsList" native="true"/>
</item>
<item row="3" column="0">
<widget class="FriendSelectionWidget" name="shareKeyList" native="true"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="showmode">
<layout class="QGridLayout" name="gridLayout_6">
<property name="topMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
@ -599,14 +616,111 @@
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="9" column="0">
<item row="6" column="0">
<widget class="QLabel" name="distributionLabel">
<property name="text">
<string>Distribution:</string>
</property>
</widget>
</item>
<item row="10" column="2">
<widget class="GxsIdLabel" name="moderatorsLabel">
<property name="text">
<string>TextLabel</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Last Post</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Popularity</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLineEdit" name="postsline">
<property name="text">
<string/>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="nameline">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Posts</string>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Moderators:</string>
</property>
</widget>
</item>
<item row="7" column="2">
<item row="1" column="2">
<widget class="QLineEdit" name="popline">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLineEdit" name="lastpostline">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>ID</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="commentsLabel">
<property name="text">
<string>Comments:</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="antiSpamLabel">
<property name="text">
<string>Anti Spam:</string>
</property>
</widget>
</item>
<item row="6" column="2">
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="distributionValueLabel">
@ -627,132 +741,44 @@
</item>
</layout>
</item>
<item row="2" column="2">
<widget class="QLineEdit" name="postsline">
<property name="text">
<string/>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLineEdit" name="popline">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Posts</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="GxsIdLabel" name="authorLabel">
<property name="text">
<string>GxsIdLabel</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>ID</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLineEdit" name="lastpostline">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<item row="9" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Author</string>
</property>
</widget>
</item>
<item row="8" column="2">
<item row="7" column="2">
<widget class="QLabel" name="antiSpamValueLabel">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="5" column="2">
<item row="4" column="2">
<widget class="QLineEdit" name="IDline">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="commentsLabel">
<property name="text">
<string>Comments:</string>
</property>
</widget>
</item>
<item row="6" column="2">
<item row="5" column="2">
<widget class="QLabel" name="commentsValueLabel">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="distributionLabel">
<property name="text">
<string>Distribution:</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="antiSpamLabel">
<property name="text">
<string>Anti Spam:</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Last Post</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Popularity</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="nameline">
<property name="readOnly">
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="9" column="2">
<widget class="QLabel" name="moderatorsLabel">
<widget class="GxsIdLabel" name="authorLabel">
<property name="text">
<string>TextLabel</string>
<string>GxsIdLabel</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
@ -855,8 +881,8 @@
</customwidget>
</customwidgets>
<resources>
<include location="../images.qrc"/>
<include location="../icons.qrc"/>
<include location="../images.qrc"/>
</resources>
<connections/>
</ui>