From c04821d91c45c1762ea149d15c075f2782779092 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 13 Jan 2019 15:19:07 +0100 Subject: [PATCH 1/3] fixed ghost unread forum posts problems by setting read status of all versions of the same post at once. WARNING: this will not remove ghost posts that are already here unless the user reads them again --- retroshare-gui/src/gui/gxsforums/GxsForumModel.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumModel.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumModel.cpp index 0ed34a75e..c13c80a3f 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumModel.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumModel.cpp @@ -1179,7 +1179,17 @@ void RsGxsForumModel::recursSetMsgReadStatus(ForumModelIndex i,bool read_status, mPosts[i].mMsgStatus = GXS_SERV::GXS_MSG_STATUS_GUI_UNREAD; uint32_t token; - rsGxsForums->setMessageReadStatus(token,std::make_pair( mForumGroup.mMeta.mGroupId, mPosts[i].mMsgId ), read_status); + + auto s = getPostVersions(mPosts[i].mMsgId) ; + + if(!s.empty()) + for(auto it(s.begin());it!=s.end();++it) + { + rsGxsForums->setMessageReadStatus(token,std::make_pair( mForumGroup.mMeta.mGroupId, it->second ), read_status); + std::cerr << "Setting version " << it->second << " of post " << mPosts[i].mMsgId << " as read." << std::endl; + } + else + rsGxsForums->setMessageReadStatus(token,std::make_pair( mForumGroup.mMeta.mGroupId, mPosts[i].mMsgId ), read_status); if(!with_children) return; From fd74123b457bdc12ac445c9aef68b89e20761c0b Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 13 Jan 2019 15:28:03 +0100 Subject: [PATCH 2/3] fixed indentation --- retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp index 5d35d02bf..a3984ae53 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp @@ -1074,8 +1074,8 @@ void GxsGroupFrameDialog::loadGroupSummary(const uint32_t &token) loadGroupSummaryToken(token, groupInfo, userdata); mCachedGroupMetas.clear(); - for(auto it(groupInfo.begin());it!=groupInfo.end();++it) - mCachedGroupMetas[(*it).mGroupId] = *it; + for(auto it(groupInfo.begin());it!=groupInfo.end();++it) + mCachedGroupMetas[(*it).mGroupId] = *it; insertGroupsData(mCachedGroupMetas, userdata); updateSearchResults(); From 2de7ac26d5c39d9a85e6c03fb00c50113e26a341 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 13 Jan 2019 23:23:41 +0100 Subject: [PATCH 3/3] set minimize to tray icon default to false because some systems do not support it --- retroshare-gui/src/gui/settings/GeneralPage.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/retroshare-gui/src/gui/settings/GeneralPage.cpp b/retroshare-gui/src/gui/settings/GeneralPage.cpp index c67d8b751..67cd4490c 100755 --- a/retroshare-gui/src/gui/settings/GeneralPage.cpp +++ b/retroshare-gui/src/gui/settings/GeneralPage.cpp @@ -79,6 +79,8 @@ GeneralPage::GeneralPage(QWidget * parent, Qt::WindowFlags flags) : ui.autoLogin->setToolTip(tr("Your RetroShare build has auto-login disabled.")); #endif // RS_AUTOLOGIN + ui.checkCloseToTray->setChecked(false) ; // default should be false because some systems to not support this. + /* Connect signals */ connect(ui.useLocalServer, SIGNAL(toggled(bool)), this,SLOT(updateUseLocalServer())) ; connect(ui.idleSpinBox, SIGNAL(valueChanged(int)), this,SLOT(updateMaxTimeBeforeIdle())) ;