From 343e033d01939b1336342de95a478b1bebdf9118 Mon Sep 17 00:00:00 2001 From: defnax Date: Thu, 12 Sep 2024 21:38:39 +0200 Subject: [PATCH 1/2] Added additional description field for add rules, links & infos --- retroshare-gui/src/gui/ChatLobbyWidget.cpp | 8 + retroshare-gui/src/gui/ChatLobbyWidget.ui | 161 ++++++++++-------- retroshare-gui/src/gui/chat/ChatWidget.cpp | 5 +- .../src/gui/chat/CreateLobbyDialog.cpp | 4 +- .../src/gui/chat/CreateLobbyDialog.ui | 16 ++ 5 files changed, 124 insertions(+), 70 deletions(-) diff --git a/retroshare-gui/src/gui/ChatLobbyWidget.cpp b/retroshare-gui/src/gui/ChatLobbyWidget.cpp index 9682bc4c5..75fc62bcc 100644 --- a/retroshare-gui/src/gui/ChatLobbyWidget.cpp +++ b/retroshare-gui/src/gui/ChatLobbyWidget.cpp @@ -917,6 +917,13 @@ void ChatLobbyWidget::showBlankPage(ChatLobbyId id, bool subscribed /*= false*/) ui.lobbysec_lineEdit->setText( (( (*it).lobby_flags & RS_CHAT_LOBBY_FLAGS_PGP_SIGNED)?tr("No anonymous IDs"):tr("Anonymous IDs accepted")) ); ui.lobbypeers_lineEdit->setText( QString::number((*it).total_number_of_peers) ); + QString formatDescription = QString::fromUtf8(it->lobby_topic.c_str()); + unsigned int formatFlag = RSHTML_FORMATTEXT_EMBED_LINKS; + + formatDescription = RsHtml().formatText(NULL, formatDescription, formatFlag); + + ui.lobbydesc_textBrowser->setText(formatDescription); + QString text = tr("You're subscribed to this chat room; Double click to show window and chat.") ; if (!subscribed) { @@ -940,6 +947,7 @@ void ChatLobbyWidget::showBlankPage(ChatLobbyId id, bool subscribed /*= false*/) ui.lobbytype_lineEdit->clear(); ui.lobbypeers_lineEdit->clear(); ui.lobbysec_lineEdit->clear(); + ui.lobbydesc_textBrowser->clear(); QString text = tr("No chat room selected. \nSelect chat rooms at left to show details.\nDouble click a chat room to enter and chat.") ; ui.info_Label_Lobby->setText(text) ; diff --git a/retroshare-gui/src/gui/ChatLobbyWidget.ui b/retroshare-gui/src/gui/ChatLobbyWidget.ui index 8f8e8f29d..7e5566aa6 100644 --- a/retroshare-gui/src/gui/ChatLobbyWidget.ui +++ b/retroshare-gui/src/gui/ChatLobbyWidget.ui @@ -259,17 +259,10 @@ 6 - - - - - 12 - 75 - true - - + + - Chat room Name: + TextLabel @@ -293,17 +286,29 @@ - - - - - 12 - 75 - true - + + + + + 0 + 0 + - Chat room Id: + TextLabel + + + + + + + + 0 + 0 + + + + TextLabel @@ -320,8 +325,8 @@ - - + + 12 @@ -330,7 +335,35 @@ - Topic: + Type: + + + + + + + + 12 + 75 + true + + + + Chat room Name: + + + + + + + + 12 + 75 + true + + + + Chat room Id: @@ -350,8 +383,8 @@ - - + + 12 @@ -360,20 +393,7 @@ - Type: - - - - - - - - 0 - 0 - - - - TextLabel + Peers: @@ -391,15 +411,33 @@ - - - - TextLabel + + + + + 75 + true + + + Room infos + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + true + + + + - - + + 12 @@ -408,35 +446,12 @@ - Peers: - - - - - - - - 0 - 0 - - - - TextLabel + Topic: - - - - TextLabel - - - true - - - @@ -450,6 +465,16 @@ + + + + TextLabel + + + true + + + diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index abab8336a..bda749c38 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -998,7 +998,10 @@ void ChatWidget::scrollToAnchor(QString anchor) void ChatWidget::setWelcomeMessage(QString &text) { - ui->textBrowser->setText(text); + unsigned int formatTextFlag = RSHTML_FORMATTEXT_EMBED_LINKS | RSHTML_FORMATTEXT_OPTIMIZE; + QString formattedWelcomeMessage = RsHtml().formatText(ui->textBrowser->document(), text, formatTextFlag); + + ui->textBrowser->setText(formattedWelcomeMessage); } void ChatWidget::addChatMsg(bool incoming, const QString &name, const QDateTime &sendTime, const QDateTime &recvTime, const QString &message, MsgType chatType) diff --git a/retroshare-gui/src/gui/chat/CreateLobbyDialog.cpp b/retroshare-gui/src/gui/chat/CreateLobbyDialog.cpp index a3416b403..450671ba6 100644 --- a/retroshare-gui/src/gui/chat/CreateLobbyDialog.cpp +++ b/retroshare-gui/src/gui/chat/CreateLobbyDialog.cpp @@ -129,6 +129,8 @@ void CreateLobbyDialog::createLobby() // create chat lobby !! std::string lobby_name = ui->lobbyName_LE->text().toUtf8().constData() ; std::string lobby_topic = ui->lobbyTopic_LE->text().toUtf8().constData() ; + std::string lobby_description = ui->lobbyDescription_TE->toPlainText().toUtf8().constData() ; + std::string lobby_topicwithdesc = lobby_topic + "\n" + lobby_description; // set nick name ! RsGxsId gxs_id ; @@ -149,7 +151,7 @@ void CreateLobbyDialog::createLobby() if(ui->pgp_signed_CB->isChecked()) lobby_flags |= RS_CHAT_LOBBY_FLAGS_PGP_SIGNED ; - ChatLobbyId id = rsMsgs->createChatLobby(lobby_name,gxs_id, lobby_topic, shareList, lobby_flags); + ChatLobbyId id = rsMsgs->createChatLobby(lobby_name,gxs_id, lobby_topicwithdesc, shareList, lobby_flags); std::cerr << "gui: Created chat room " << std::hex << id << std::dec << std::endl ; diff --git a/retroshare-gui/src/gui/chat/CreateLobbyDialog.ui b/retroshare-gui/src/gui/chat/CreateLobbyDialog.ui index 15dab649d..caaf33125 100644 --- a/retroshare-gui/src/gui/chat/CreateLobbyDialog.ui +++ b/retroshare-gui/src/gui/chat/CreateLobbyDialog.ui @@ -149,6 +149,22 @@ + + + + Room info + + + + + + Add additional room rules, links & infos + + + + + + From 54fa8313cba93b7d184b3e25477f66c98e356552 Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 20 Sep 2024 19:56:26 +0200 Subject: [PATCH 2/2] Show on Topic line only first line complete view in Room info --- retroshare-gui/src/gui/ChatLobbyWidget.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/ChatLobbyWidget.cpp b/retroshare-gui/src/gui/ChatLobbyWidget.cpp index 75fc62bcc..2754e3639 100644 --- a/retroshare-gui/src/gui/ChatLobbyWidget.cpp +++ b/retroshare-gui/src/gui/ChatLobbyWidget.cpp @@ -912,10 +912,14 @@ void ChatLobbyWidget::showBlankPage(ChatLobbyId id, bool subscribed /*= false*/) { ui.lobbyname_lineEdit->setText( RsHtml::plainText(it->lobby_name) ); ui.lobbyid_lineEdit->setText( QString::number((*it).lobby_id,16) ); - ui.lobbytopic_lineEdit->setText( RsHtml::plainText(it->lobby_topic) ); + //ui.lobbytopic_lineEdit->setText( RsHtml::plainText(it->lobby_topic) ); ui.lobbytype_lineEdit->setText( (( (*it).lobby_flags & RS_CHAT_LOBBY_FLAGS_PUBLIC)?tr("Public"):tr("Private")) ); ui.lobbysec_lineEdit->setText( (( (*it).lobby_flags & RS_CHAT_LOBBY_FLAGS_PGP_SIGNED)?tr("No anonymous IDs"):tr("Anonymous IDs accepted")) ); ui.lobbypeers_lineEdit->setText( QString::number((*it).total_number_of_peers) ); + + QString Topic = RsHtml::plainText(it->lobby_topic); + QString shortTopic = Topic.left(130) + "..."; + ui.lobbytopic_lineEdit->setText(shortTopic); QString formatDescription = QString::fromUtf8(it->lobby_topic.c_str()); unsigned int formatFlag = RSHTML_FORMATTEXT_EMBED_LINKS;