vnote/src/vfilesessioninfo.h
2017-10-13 07:10:04 +08:00

58 lines
1.4 KiB
C++

#ifndef VFILESESSIONINFO_H
#define VFILESESSIONINFO_H
#include "vconstants.h"
struct VEditTabInfo;
class QSettings;
namespace FileSessionConfig
{
static const QString c_file = "file";
static const QString c_mode = "mode";
// Index in outline of the anchor.
static const QString c_headerIndex = "header_index";
static const QString c_cursorBlockNumber = "cursor_block_number";
static const QString c_cursorPositionInBlock = "cursor_position_in_block";
}
// Information about an opened file (session).
class VFileSessionInfo
{
public:
VFileSessionInfo();
VFileSessionInfo(const QString &p_file,
OpenFileMode p_mode);
// Fetch VFileSessionInfo from @p_tabInfo.
static VFileSessionInfo fromEditTabInfo(const VEditTabInfo *p_tabInfo);
// Fill corresponding fields of @p_tabInfo.
void toEditTabInfo(VEditTabInfo *p_tabInfo) const;
// Fetch VFileSessionInfo from @p_settings.
static VFileSessionInfo fromSettings(const QSettings *p_settings);
void toSettings(QSettings *p_settings) const;
// Absolute path of the file.
QString m_file;
// Mode of this file in this session.
OpenFileMode m_mode;
// Index in outline of the header.
int m_headerIndex;
// Block number of cursor block.
int m_cursorBlockNumber;
// Position in block of cursor.
int m_cursorPositionInBlock;
};
#endif // VFILESESSIONINFO_H