Class sh::paneldetails::PanelDetailManager

class sh::paneldetails::PanelDetailManager : public QObject, public sh::base::Singleton

Manager for details provider as used in the details panel.

Register some code and data here for implementing a new provider.

Public Functions

QList<std::shared_ptr<PanelDetail>> getDetails(QList<std::shared_ptr<sh::filesystem::FilesystemNode>> nodes)

Returns a list of PanelDetail for a list of selected filesystem nodes.

std::shared_ptr<PanelDetailFactory> registerFactorySingle(std::shared_ptr<PanelDetailFactory> factory)

Registers a panel detail factory for single selection by PanelDetailFactory instance.

std::shared_ptr<PanelDetailFactory> registerFactoryMulti(std::shared_ptr<PanelDetailFactory> factory)

Registers a panel detail factory for multi selection by PanelDetailFactory instance.

std::shared_ptr<PanelDetailFactory> registerFactorySingle(std::function<void(std::shared_ptr<PanelDetail>, std::shared_ptr<sh::filesystem::FilesystemNode>, sh::filesystem::Operation*)> fctsetvalue, std::function<void(std::shared_ptr<sh::filesystem::FilesystemNode>, QString link)> fctlinktriggered, int position, int valueWidthHint, )

Registers a panel detail factory for single selection by parameters.

std::shared_ptr<PanelDetailFactory> registerFactoryMulti(std::function<void(std::shared_ptr<PanelDetail>, QList<std::shared_ptr<sh::filesystem::FilesystemNode>>, sh::filesystem::Operation*)> fctsetvalue, std::function<void(QList<std::shared_ptr<sh::filesystem::FilesystemNode>>, QString link)> fctlinktriggered, int position, int valueWidthHint, )

Registers a panel detail factory for multi selection by parameters.

void doInitialize()

Executes singleton initialization.

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

PanelDetailManager()

Private Members

QList<std::shared_ptr<PanelDetailFactory>> _factoriessingle
QList<std::shared_ptr<PanelDetailFactory>> _factoriesmulti
QMutex _mutex