SessionManager Class

(ProjectExplorer::SessionManager)

The SessionManager class manages sessions. More...

Header: #include <SessionManager>
Inherits: QObject

Public Functions

SessionManager(QObject *parent = nullptr)
~SessionManager() override
  • 32 public functions inherited from QObject

Signals

void aboutToLoadSession(QString sessionName)
void aboutToRemoveProject(ProjectExplorer::Project *project)
void aboutToSaveSession()
void aboutToUnloadSession(QString sessionName)
void dependencyChanged(ProjectExplorer::Project *a, ProjectExplorer::Project *b)
void projectAdded(ProjectExplorer::Project *project)
void projectDisplayNameChanged(ProjectExplorer::Project *project)
void projectFinishedParsing(ProjectExplorer::Project *project)
void projectRemoved(ProjectExplorer::Project *project)
void sessionLoaded(QString sessionName)
void startupProjectChanged(ProjectExplorer::Project *project)

Static Public Members

QString activeSession()
bool addDependency(Project *project, Project *depProject)
void addProject(Project *project)
bool canAddDependency(const Project *project, const Project *depProject)
bool cloneSession(const QString &original, const QString &clone)
void closeAllProjects()
bool confirmSessionDelete(const QString &session)
bool createSession(const QString &session)
bool deleteSession(const QString &session)
QList<Project *> dependencies(const Project *project)
bool hasDependency(const Project *project, const Project *depProject)
bool hasProject(Project *p)
bool hasProjects()
SessionManager *instance()
bool isDefaultSession(const QString &session)
bool isDefaultVirgin()
bool isProjectConfigurationCascading()
QString lastSession()
bool loadSession(const QString &session)
bool loadingSession()
Node *nodeForFile(const Utils::FileName &fileName)
bool projectContainsFile(Project *p, const Utils::FileName &fileName)
Project *projectForFile(const Utils::FileName &fileName)
Project *projectForNode(Node *node)
QList<Project *> projectOrder(const Project *project = 0)
const QList<Project *> projects()
QStringList projectsForSessionName(const QString &session)
void removeDependency(Project *project, Project *depProject)
void removeProject(Project *project)
void removeProjects(QList<Project *> remove)
bool renameSession(const QString &original, const QString &newName)
void reportProjectLoadingProgress()
bool save()
QDateTime sessionDateTime(const QString &session)
Utils::FileName sessionNameToFileName(const QString &session)
QStringList sessions()
void setActiveBuildConfiguration(Target *t, BuildConfiguration *bc, SetActive cascade)
void setActiveDeployConfiguration(Target *t, DeployConfiguration *dc, SetActive cascade)
void setActiveTarget(Project *p, Target *t, SetActive cascade)
void setProjectConfigurationCascading(bool b)
void setStartupProject(Project *startupProject)
void setValue(const QString &name, const QVariant &value)
Project *startupProject()
QVariant value(const QString &name)
  • 10 static public members inherited from QObject

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 1 public variable inherited from QObject
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

The SessionManager class manages sessions.

TODO the interface of this class is not really great. The implementation suffers from that all the functions from the public interface just wrap around functions which do the actual work. This could be improved.

Member Function Documentation

SessionManager::SessionManager(QObject *parent = nullptr)

Default constructs an instance of SessionManager.

SessionManager::~SessionManager()

Destroys the instance of SessionManager.

[signal] void SessionManager::aboutToLoadSession(QString sessionName)

[signal] void SessionManager::aboutToRemoveProject(ProjectExplorer::Project *project)

[signal] void SessionManager::aboutToSaveSession()

[signal] void SessionManager::aboutToUnloadSession(QString sessionName)

[static] QString SessionManager::activeSession()

[static] bool SessionManager::addDependency(Project *project, Project *depProject)

[static] void SessionManager::addProject(Project *project)

[static] bool SessionManager::canAddDependency(const Project *project, const Project *depProject)

[static] bool SessionManager::cloneSession(const QString &original, const QString &clone)

[static] void SessionManager::closeAllProjects()

Closes all projects

[static] bool SessionManager::confirmSessionDelete(const QString &session)

Shows a dialog asking the user to confirm deleting the session \p session

[static] bool SessionManager::createSession(const QString &session)

Creates session, but does not actually create the file.

[static] bool SessionManager::deleteSession(const QString &session)

Deletes session name from session list and the file from disk.

[static] QList<Project *> SessionManager::dependencies(const Project *project)

[signal] void SessionManager::dependencyChanged(ProjectExplorer::Project *a, ProjectExplorer::Project *b)

[static] bool SessionManager::hasDependency(const Project *project, const Project *depProject)

[static] bool SessionManager::hasProject(Project *p)

[static] bool SessionManager::hasProjects()

[static] SessionManager *SessionManager::instance()

[static] bool SessionManager::isDefaultSession(const QString &session)

[static] bool SessionManager::isDefaultVirgin()

[static] bool SessionManager::isProjectConfigurationCascading()

[static] QString SessionManager::lastSession()

[static] bool SessionManager::loadSession(const QString &session)

[static] bool SessionManager::loadingSession()

[static] Node *SessionManager::nodeForFile(const Utils::FileName &fileName)

[signal] void SessionManager::projectAdded(ProjectExplorer::Project *project)

[static] bool SessionManager::projectContainsFile(Project *p, const Utils::FileName &fileName)

[signal] void SessionManager::projectDisplayNameChanged(ProjectExplorer::Project *project)

[signal] void SessionManager::projectFinishedParsing(ProjectExplorer::Project *project)

[static] Project *SessionManager::projectForFile(const Utils::FileName &fileName)

[static] Project *SessionManager::projectForNode(Node *node)

[static] QList<Project *> SessionManager::projectOrder(const Project *project = 0)

[signal] void SessionManager::projectRemoved(ProjectExplorer::Project *project)

[static] const QList<Project *> SessionManager::projects()

[static] QStringList SessionManager::projectsForSessionName(const QString &session)

[static] void SessionManager::removeDependency(Project *project, Project *depProject)

[static] void SessionManager::removeProject(Project *project)

[static] void SessionManager::removeProjects(QList<Project *> remove)

[static] bool SessionManager::renameSession(const QString &original, const QString &newName)

[static] void SessionManager::reportProjectLoadingProgress()

[static] bool SessionManager::save()

[static] QDateTime SessionManager::sessionDateTime(const QString &session)

[signal] void SessionManager::sessionLoaded(QString sessionName)

[static] Utils::FileName SessionManager::sessionNameToFileName(const QString &session)

[static] QStringList SessionManager::sessions()

[static] void SessionManager::setActiveBuildConfiguration(Target *t, BuildConfiguration *bc, SetActive cascade)

[static] void SessionManager::setActiveDeployConfiguration(Target *t, DeployConfiguration *dc, SetActive cascade)

[static] void SessionManager::setActiveTarget(Project *p, Target *t, SetActive cascade)

[static] void SessionManager::setProjectConfigurationCascading(bool b)

See also isProjectConfigurationCascading().

[static] void SessionManager::setStartupProject(Project *startupProject)

See also startupProject().

[static] void SessionManager::setValue(const QString &name, const QVariant &value)

Lets other plugins store persistent values within the session file.

See also value().

[static] Project *SessionManager::startupProject()

See also setStartupProject().

[signal] void SessionManager::startupProjectChanged(ProjectExplorer::Project *project)

[static] QVariant SessionManager::value(const QString &name)

See also setValue().