Files
qt-creator/src/plugins/coreplugin/sessionview.h
Eike Ziller edd1a89807 Move SessionManager to Core plugin
Sessions are independent from projects, and this allows for removal of
e.g. the dependency from Bookmarks to ProjectExplorer.

Includes moving the command line arguments (-lastsession, <session>) to
Core plugin.

Change-Id: I6c578fd15c4990902e7196501de20f39376e90e8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-05-25 11:15:41 +00:00

48 lines
1.1 KiB
C++

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include "sessionmodel.h"
#include <utils/itemviews.h>
#include <QAbstractTableModel>
namespace Core::Internal {
class SessionView : public Utils::TreeView
{
Q_OBJECT
public:
explicit SessionView(QWidget *parent = nullptr);
void createNewSession();
void deleteSelectedSessions();
void cloneCurrentSession();
void renameCurrentSession();
void switchToCurrentSession();
QString currentSession();
SessionModel* sessionModel();
void selectActiveSession();
void selectSession(const QString &sessionName);
signals:
void sessionActivated(const QString &session);
void sessionsSelected(const QStringList &sessions);
void sessionSwitched();
private:
void showEvent(QShowEvent* event) override;
void keyPressEvent(QKeyEvent *event) override;
void deleteSessions(const QStringList &sessions);
QStringList selectedSessions() const;
SessionModel m_sessionModel;
};
} // namespace Core::Internal