From 636d477aea5582530298d80d972faa85420721a5 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 15 Sep 2019 16:21:12 +0200 Subject: [PATCH 1/6] fixed bug causing JSon api server to start twice, and therefore stopping RS because the port was already listen to --- libretroshare/src/rsserver/rsinit.cc | 12 ++++++------ retroshare-gui/src/main.cpp | 2 ++ retroshare-service/src/retroshare-service.cc | 2 ++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/libretroshare/src/rsserver/rsinit.cc b/libretroshare/src/rsserver/rsinit.cc index c406965d8..1e0e47278 100644 --- a/libretroshare/src/rsserver/rsinit.cc +++ b/libretroshare/src/rsserver/rsinit.cc @@ -116,15 +116,15 @@ RsAccounts* rsAccounts = nullptr; RsConfigOptions::RsConfigOptions() : -#ifdef RS_JSONAPI - jsonApiPort(JsonApiServer::DEFAULT_PORT), - jsonApiBindAddress("127.0.0.1"), -#endif autoLogin(false), - forcedPort(0), udpListenerOnly(false), + forcedPort(0), outStderr(false), - debugLevel(5) + debugLevel(5), +#ifdef RS_JSONAPI + jsonApiPort(0), // JSonAPI server is enabled in each main() + jsonApiBindAddress("127.0.0.1") +#endif { } diff --git a/retroshare-gui/src/main.cpp b/retroshare-gui/src/main.cpp index 87b57f79f..8da9ab0fc 100644 --- a/retroshare-gui/src/main.cpp +++ b/retroshare-gui/src/main.cpp @@ -233,6 +233,8 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO); RsConfigOptions conf; + conf.jsonApiPort = 0 ; // disable JSon API at start. The JSonAPI preference UI will enable it according to saved parameters. + argstream as(argc,argv); as >> option('s',"stderr" ,conf.outStderr ,"output to stderr instead of log file." ) >> option('u',"udp" ,conf.udpListenerOnly,"Only listen to UDP." ) diff --git a/retroshare-service/src/retroshare-service.cc b/retroshare-service/src/retroshare-service.cc index b98ff5cbb..da472944a 100644 --- a/retroshare-service/src/retroshare-service.cc +++ b/retroshare-service/src/retroshare-service.cc @@ -120,6 +120,8 @@ int main(int argc, char* argv[]) std::string prefUserString; RsConfigOptions conf; + conf.jsonApiPort = JsonApiServer::DEFAULT_PORT; // enable JSonAPI by default + argstream as(argc,argv); as >> option( 's', "stderr", conf.outStderr, "output to stderr instead of log file." ) From fa7b65effbf5830d2d90fd41fef65356fbe04062 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 15 Sep 2019 16:28:40 +0200 Subject: [PATCH 2/6] fixed missing sort in Messages view --- retroshare-gui/src/gui/msgs/MessagesDialog.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/retroshare-gui/src/gui/msgs/MessagesDialog.cpp b/retroshare-gui/src/gui/msgs/MessagesDialog.cpp index 843d964ef..978deb8e4 100644 --- a/retroshare-gui/src/gui/msgs/MessagesDialog.cpp +++ b/retroshare-gui/src/gui/msgs/MessagesDialog.cpp @@ -231,6 +231,8 @@ MessagesDialog::MessagesDialog(QWidget *parent) // fill quick view fillQuickView(); + sortColumn(RsMessageModel::COLUMN_THREAD_DATE,Qt::DescendingOrder); + // load settings processSettings(true); From 1f058f9f2208e19cb47fb0add47d43176cac9903 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 15 Sep 2019 16:49:30 +0200 Subject: [PATCH 3/6] fixed compilation --- libretroshare/src/rsserver/rsinit.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libretroshare/src/rsserver/rsinit.cc b/libretroshare/src/rsserver/rsinit.cc index 1e0e47278..74ed7f10b 100644 --- a/libretroshare/src/rsserver/rsinit.cc +++ b/libretroshare/src/rsserver/rsinit.cc @@ -120,10 +120,10 @@ RsConfigOptions::RsConfigOptions() udpListenerOnly(false), forcedPort(0), outStderr(false), - debugLevel(5), + debugLevel(5) #ifdef RS_JSONAPI - jsonApiPort(0), // JSonAPI server is enabled in each main() - jsonApiBindAddress("127.0.0.1") + ,jsonApiPort(0) // JSonAPI server is enabled in each main() + ,jsonApiBindAddress("127.0.0.1") #endif { } From ed4440dcaae05eb1fe42ccb683912c4a9e219e2a Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 15 Sep 2019 17:23:48 +0200 Subject: [PATCH 4/6] fixed compilation --- retroshare-service/src/retroshare-service.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/retroshare-service/src/retroshare-service.cc b/retroshare-service/src/retroshare-service.cc index da472944a..d21291c99 100644 --- a/retroshare-service/src/retroshare-service.cc +++ b/retroshare-service/src/retroshare-service.cc @@ -120,7 +120,9 @@ int main(int argc, char* argv[]) std::string prefUserString; RsConfigOptions conf; +#ifdef RS_JSONAPI conf.jsonApiPort = JsonApiServer::DEFAULT_PORT; // enable JSonAPI by default +#endif argstream as(argc,argv); as >> option( 's', "stderr", conf.outStderr, From 3108a53a7fefa91600a06b83774594c59a744436 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 15 Sep 2019 20:53:12 +0200 Subject: [PATCH 5/6] hide empty groups in FriendList --- .../src/gui/common/NewFriendList.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/common/NewFriendList.cpp b/retroshare-gui/src/gui/common/NewFriendList.cpp index 600dead7f..99d59766c 100644 --- a/retroshare-gui/src/gui/common/NewFriendList.cpp +++ b/retroshare-gui/src/gui/common/NewFriendList.cpp @@ -128,10 +128,25 @@ public: bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const override { - if(!m_showOfflineNodes && !sourceModel()->index(source_row,0,source_parent).data(RsFriendListModel::OnlineRole).toBool()) + // do not show empty groups + + QModelIndex index = sourceModel()->index(source_row,0,source_parent); + + if(index.data(RsFriendListModel::TypeRole) == RsFriendListModel::ENTRY_TYPE_GROUP) + { + RsGroupInfo group_info ; + static_cast(sourceModel())->getGroupData(index,group_info); + + if(group_info.peerIds.empty()) + return false; + } + + // Filter offline friends + + if(!m_showOfflineNodes && !index.data(RsFriendListModel::OnlineRole).toBool()) return false; - return sourceModel()->index(source_row,0,source_parent).data(RsFriendListModel::FilterRole).toString() == RsFriendListModel::FilterString ; + return index.data(RsFriendListModel::FilterRole).toString() == RsFriendListModel::FilterString ; } void sort( int column, Qt::SortOrder order = Qt::AscendingOrder ) override From 6cbb959010be952e83bd5e1b1ad14c1d584e63fe Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 15 Sep 2019 21:11:40 +0200 Subject: [PATCH 6/6] fixed bug preventing to remove friend nodes --- retroshare-gui/src/gui/common/NewFriendList.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/common/NewFriendList.cpp b/retroshare-gui/src/gui/common/NewFriendList.cpp index 99d59766c..04d3e444b 100644 --- a/retroshare-gui/src/gui/common/NewFriendList.cpp +++ b/retroshare-gui/src/gui/common/NewFriendList.cpp @@ -698,7 +698,7 @@ void NewFriendList::peerTreeWidgetCustomPopupMenu() contextMenu.addAction(QIcon(IMAGE_COPYLINK), tr("Copy certificate link"), this, SLOT(copyFullCertificate())); //this is a SSL key - contextMenu.addAction(QIcon(IMAGE_REMOVEFRIEND), tr("Remove Friend Node"), this, SLOT(removefriend())); + contextMenu.addAction(QIcon(IMAGE_REMOVEFRIEND), tr("Remove Friend Node"), this, SLOT(removeNode())); } }