This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from 7459a9a Fixed build with Qt5 on Windows. new b4b8e6b Do not show empty folders in session explorer. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 1 + src/sessionexplorer.cpp | 22 +++++++++++++++++++++- src/sessionexplorer.h | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goclient. commit b4b8e6be754b76406ff7d074773829f96321dd75 Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Thu Mar 3 09:59:43 2022 -0600 Do not show empty folders in session explorer. --- debian/changelog | 1 + src/sessionexplorer.cpp | 22 +++++++++++++++++++++- src/sessionexplorer.h | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 7630105..2fed819 100644 --- a/debian/changelog +++ b/debian/changelog @@ -35,6 +35,7 @@ x2goclient (4.1.2.3-0x2go1) UNRELEASED; urgency=medium - Add special ACL for exported directories in Windows client. - Support for rootless X2GoKdrive sessions. - Fixed build with Qt5 on Windows. + - Do not show empty folders in session explorer. [ Ryan Schmidt ] * New upstream version (4.1.2.3): diff --git a/src/sessionexplorer.cpp b/src/sessionexplorer.cpp index ac8c1cc..d767c25 100644 --- a/src/sessionexplorer.cpp +++ b/src/sessionexplorer.cpp @@ -407,7 +407,7 @@ void SessionExplorer::placeButtons() folders[i]->hide(); continue; } - if((folders[i]->getPath() != currentPath)||(getFolderChildren(folders[i]).length()<=0)) + if((folders[i]->getPath() != currentPath)||(getFolderChildren(folders[i]).length()<=0) || isFolderEmpty(folders[i])) { folders[i]->hide(); continue; @@ -495,6 +495,26 @@ void SessionExplorer::placeButtons() slotLevelUp(); } +//Folder is not empty if it has sessions or not empty subfdolders +bool SessionExplorer::isFolderEmpty(FolderButton* folder) +{ + QString normPath=(folder->getPath()+"/"+folder->getName()).split("/",QString::SkipEmptyParts).join("/"); + for(int i=0; i<folders.count(); ++i) + { + if(folders[i]->getPath()==normPath) + if(! isFolderEmpty(folders[i])) + return false; + } + + for(int i=0; i<sessions.count(); ++i) + { + if(sessions[i]->getPath()==normPath) + return false; + } + return true; +} + + QStringList SessionExplorer::getFolderChildren(FolderButton* folder) { QStringList children; diff --git a/src/sessionexplorer.h b/src/sessionexplorer.h index 917a5de..a14ee58 100644 --- a/src/sessionexplorer.h +++ b/src/sessionexplorer.h @@ -108,6 +108,7 @@ private: void getFoldersFromConfig(); SessionButton* findSession( const QString& id); void checkPath(SessionButton* s); + bool isFolderEmpty(FolderButton* folder); public slots: void slotDeleteButton ( SessionButton * bt ); -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git