From e7085eeb75b90f15166c9d31304e32ba90b56324 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 25 Dec 2018 19:14:48 +0100 Subject: [PATCH] Fexed Icon size of the group tree * Fixed icon size of the group tree to display icon complete. Added for channel adminstrator clickable to contact easy. * Format Channel Description when contains links or emote * Added setting for disable Emoteicon --- .../src/gui/common/GroupTreeWidget.cpp | 4 ++-- .../gui/gxschannels/GxsChannelPostsWidget.cpp | 20 ++++++++++++++++++- .../gui/gxschannels/GxsChannelPostsWidget.ui | 12 ++++++++--- .../src/gui/settings/ChannelPage.cpp | 13 ++++++++++++ retroshare-gui/src/gui/settings/ChannelPage.h | 3 +++ .../src/gui/settings/ChannelPage.ui | 9 ++++++++- 6 files changed, 54 insertions(+), 7 deletions(-) diff --git a/retroshare-gui/src/gui/common/GroupTreeWidget.cpp b/retroshare-gui/src/gui/common/GroupTreeWidget.cpp index d658511e1..62c5f45fc 100644 --- a/retroshare-gui/src/gui/common/GroupTreeWidget.cpp +++ b/retroshare-gui/src/gui/common/GroupTreeWidget.cpp @@ -143,7 +143,7 @@ GroupTreeWidget::GroupTreeWidget(QWidget *parent) : /* Initialize display button */ initDisplayMenu(ui->displayButton); - ui->treeWidget->setIconSize(QSize(S*1.6,S*1.6)); + ui->treeWidget->setIconSize(QSize(S*1.8,S*1.8)); } GroupTreeWidget::~GroupTreeWidget() @@ -405,7 +405,7 @@ QTreeWidgetItem *GroupTreeWidget::addCategoryItem(const QString &name, const QIc int S = QFontMetricsF(font).height(); - item->setSizeHint(COLUMN_NAME, QSize(S*1.1, S*1.1)); + item->setSizeHint(COLUMN_NAME, QSize(S*1.9, S*1.9)); item->setForeground(COLUMN_NAME, QBrush(textColorCategory())); nameLabel->setTextColor(textColorCategory()); item->setData(COLUMN_DATA, ROLE_COLOR, GROUPTREEWIDGET_COLOR_CATEGORY); diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp index 92fe5e85e..86987cd97 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp @@ -31,6 +31,8 @@ #include "gui/settings/rsharesettings.h" #include "gui/feeds/SubFileItem.h" #include "gui/notifyqt.h" +#include "gui/RetroShareLink.h" +#include "util/HandleRichText.h" #include "util/DateTime.h" #include "util/qtthreadsutils.h" @@ -258,6 +260,8 @@ void GxsChannelPostsWidget::insertChannelDetails(const RsGxsChannelGroup &group) bool autoDownload ; rsGxsChannels->getChannelAutoDownload(group.mMeta.mGroupId,autoDownload); setAutoDownload(autoDownload); + + RetroShareLink link; if (IS_GROUP_SUBSCRIBED(group.mMeta.mSubscribeFlags)) { ui->feedToolButton->setEnabled(true); @@ -274,9 +278,23 @@ void GxsChannelPostsWidget::insertChannelDetails(const RsGxsChannelGroup &group) ui->infoLastPost->setText(tr("Never")); else ui->infoLastPost->setText(DateTime::formatLongDateTime(group.mMeta.mLastPost)); - ui->infoDescription->setText(QString::fromUtf8(group.mDescription.c_str())); + QString formatDescription = QString::fromUtf8(group.mDescription.c_str()); + + unsigned int formatFlag = RSHTML_FORMATTEXT_EMBED_LINKS; + + // embed smileys ? + if (Settings->valueFromGroup(QString("ChannelPostsWidget"), QString::fromUtf8("Emoteicons_ChannelDecription"), true).toBool()) { + formatFlag |= RSHTML_FORMATTEXT_EMBED_SMILEYS; + } + + formatDescription = RsHtml().formatText(NULL, formatDescription, formatFlag); + + ui->infoDescription->setText(formatDescription); ui->infoAdministrator->setId(group.mMeta.mAuthorId) ; + + link = RetroShareLink::createMessage(group.mMeta.mAuthorId, ""); + ui->infoAdministrator->setText(link.toHtml()); QString distrib_string ( "[unknown]" ); diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui index 40858954b..584dea70f 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui @@ -460,14 +460,17 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Description</span></p></body></html> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Description</span></p></body></html> Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + true + - false + true @@ -489,6 +492,9 @@ p, li { white-space: pre-wrap; } unknown + + true + diff --git a/retroshare-gui/src/gui/settings/ChannelPage.cpp b/retroshare-gui/src/gui/settings/ChannelPage.cpp index 27f71e8e6..3cab783dc 100644 --- a/retroshare-gui/src/gui/settings/ChannelPage.cpp +++ b/retroshare-gui/src/gui/settings/ChannelPage.cpp @@ -35,6 +35,8 @@ ChannelPage::ChannelPage(QWidget * parent, Qt::WindowFlags flags) ui.groupFrameSettingsWidget->setType(GroupFrameSettings::Channel) ; connect(ui.loadThreadCheckBox,SIGNAL(toggled(bool)),this,SLOT(updateLoadThread())) ; + connect(ui.emoteicon_checkBox,SIGNAL(toggled(bool)),this,SLOT(updateEmotes())) ; + } void ChannelPage::updateLoadThread() @@ -52,4 +54,15 @@ void ChannelPage::load() { whileBlocking(ui.loadThreadCheckBox)->setChecked(Settings->getChannelLoadThread()); ui.groupFrameSettingsWidget->loadSettings(GroupFrameSettings::Channel); + + Settings->beginGroup(QString("ChannelPostsWidget")); + whileBlocking(ui.emoteicon_checkBox)->setChecked(Settings->value("Emoteicons_ChannelDecription", true).toBool()); + Settings->endGroup(); +} + +void ChannelPage::updateEmotes() +{ + Settings->beginGroup(QString("ChannelPostsWidget")); + Settings->setValue("Emoteicons_ChannelDecription", ui.emoteicon_checkBox->isChecked()); + Settings->endGroup(); } diff --git a/retroshare-gui/src/gui/settings/ChannelPage.h b/retroshare-gui/src/gui/settings/ChannelPage.h index 69e28455b..0b0073821 100644 --- a/retroshare-gui/src/gui/settings/ChannelPage.h +++ b/retroshare-gui/src/gui/settings/ChannelPage.h @@ -40,6 +40,9 @@ public: virtual QString pageName() const { return tr("Channels") ; } virtual QString helpText() const { return ""; } +private slots: + void updateEmotes(); + protected slots: void updateLoadThread() ; diff --git a/retroshare-gui/src/gui/settings/ChannelPage.ui b/retroshare-gui/src/gui/settings/ChannelPage.ui index ab8ac4b84..cd0533552 100644 --- a/retroshare-gui/src/gui/settings/ChannelPage.ui +++ b/retroshare-gui/src/gui/settings/ChannelPage.ui @@ -7,7 +7,7 @@ 0 0 423 - 340 + 334 @@ -36,6 +36,13 @@ + + + + Load Emoticons + + +