3 Copyright (c) 2012 Jakob Leben & Tim Blechmann
4 http://www.audiosynth.com
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 #ifndef SCIDE_SESSION_MANAGER_HPP_INCLUDED
22 #define SCIDE_SESSION_MANAGER_HPP_INCLUDED
26 #include <QStringList>
31 class DocumentManager
;
33 struct Session
: public QSettings
35 Session( const QString
& file
, const QString
& name
, Format format
, QObject
* parent
= 0 ):
36 QSettings(file
, format
, parent
),
40 const QString
& name() { return mName
; }
46 class SessionManager
: public QObject
51 SessionManager( DocumentManager
*, QObject
* parent
= 0 );
54 QStringList
availableSessions();
55 QString
lastSession();
59 Session
* saveSessionAs( const QString
& name
);
60 Session
* openSession( const QString
& name
);
61 void removeSession( const QString
& name
);
62 void renameSession( const QString
& oldName
, const QString
& newName
);
63 Session
*currentSession() { return mSession
; }
66 void saveSessionRequest(Session
* session
);
67 void loadSessionRequest(Session
* session
);
68 void currentSessionChanged(Session
* session
);
72 bool saveLastSession( const QDir
& dir
, const QString
& file
);
73 DocumentManager
*mDocMng
;
79 #endif // SCIDE_SESSION_MANAGER_HPP_INCLUDED