Class sh::filesystem::FilesystemModelDirectoryTreeProxyVisibilityEnforcements

class sh::filesystem::FilesystemModelDirectoryTreeProxyVisibilityEnforcements : public QObject, public sh::base::Singleton

Maintains a list of currently visible directories (i.e. the current one in each view) and controls enforced visibility of them in the directory tree.

Public Functions

void nodeEnteredView(std::shared_ptr<FilesystemNode> node)

Called when a view enters the given directory node.

void nodeLeftView(std::shared_ptr<FilesystemNode> node)

Called when a view leaves the given directory node.

void nodeCollapsedInTree(std::shared_ptr<FilesystemNode> node)

Called when a directory node is collapsed in the directory tree.

void doShutdown()

Executes singleton shutdown.

void shutdown()

Shutdown down this singleton.

bool isAlive()

Returns if this singleton is alive (true until its shutdown begins).

Private Functions

FilesystemModelDirectoryTreeProxyVisibilityEnforcements()
bool _addenforcement(std::shared_ptr<FilesystemNode> node, std::shared_ptr<FilesystemNode> hnode)

Private Members

QMultiMap<std::shared_ptr<FilesystemNode>, QObject*> _enterednodesrepresentatives
QList<std::tuple<std::weak_ptr<FilesystemNode>, QList<std::shared_ptr<FilesystemNode>>>> hiddenForcedVisibles