X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FSession.h;h=8e18885259b785970f3a98418459045a1382d6aa;hb=42eb8a373a35da02c45c0d225d37f5d677ddfc2d;hp=e0b1d9819713a260f274c201cfa5b84a1e715da4;hpb=897436efbb9bd641b61467d185a2dfae9839e575;p=lyx.git diff --git a/src/Session.h b/src/Session.h index e0b1d98197..8e18885259 100644 --- a/src/Session.h +++ b/src/Session.h @@ -16,15 +16,12 @@ #include "support/FileName.h" #include "support/types.h" -#include -#include - #include #include #include #include -// used by at least frontends/qt2/QPref.C +// used by at least frontends/qt4/GuiPref.cpp const long maxlastfiles = 20; /** This session file maintains @@ -36,11 +33,13 @@ const long maxlastfiles = 20; */ namespace lyx { -/** base class for all sections in the session file +/* base class for all sections in the session file */ -class SessionSection : boost::noncopyable { - +class SessionSection +{ public: + /// + SessionSection() {} /// virtual ~SessionSection() {} @@ -49,6 +48,11 @@ public: /// write to std::ostream virtual void write(std::ostream & os) const = 0; + +private: + /// uncopiable + SessionSection(SessionSection const &); + void operator=(SessionSection const &); }; @@ -135,7 +139,11 @@ class LastFilePosSection : SessionSection { public: /// - typedef boost::tuple FilePos; + struct FilePos { + FilePos() : pit(0), pos(0) {} + pit_type pit; + pos_type pos; + }; /// typedef std::map FilePosMap; @@ -154,7 +162,7 @@ public: @param fname file entry for which to save position information @param pos position of the cursor when the file is closed. */ - void save(support::FileName const & fname, FilePos pos); + void save(support::FileName const & fname, FilePos const & pos); /** load saved cursor position from the fname entry in the filepos map @param fname file entry for which to load position information @@ -265,15 +273,13 @@ public: { public: /// - ToolbarInfo() : - state(ON), location(NOTSET), posx(0), posy(0) { } + ToolbarInfo() + : state(ON), location(NOTSET), posx(0), posy(0) + {} /// - ToolbarInfo(int s, int loc, int x=0, int y=0) : - state(static_cast(s)), - location(static_cast(loc)), - posx(x), - posy(y) - { } + //ToolbarInfo(int s, int loc, int x = 0, int y = 0) + // : state(State(s)), location(Location(loc)), posx(x), posy(y) + // {} public: enum State { @@ -305,7 +311,10 @@ public: /// potentially, icons }; - typedef boost::tuple ToolbarItem; + struct ToolbarItem { + std::string key; + ToolbarInfo info; + }; /// info for each toolbar typedef std::vector ToolbarList; @@ -337,7 +346,8 @@ private: /// TOP < BOTTOM < LEFT < RIGHT /// Line at each side /// order in each line -bool operator< (ToolbarSection::ToolbarItem const & a, ToolbarSection::ToolbarItem const & b); +bool operator<(ToolbarSection::ToolbarItem const & a, + ToolbarSection::ToolbarItem const & b); class SessionInfoSection : SessionSection @@ -372,55 +382,43 @@ private: }; -class Session : boost::noncopyable { - +class Session +{ public: - /** Read the session file. - @param num length of lastfiles - */ + /// Read the session file. @param num length of lastfiles explicit Session(unsigned int num = 4); - - /** Write the session file. - */ + /// Write the session file. void writeFile() const; - /// LastFilesSection & lastFiles() { return last_files; } - /// LastFilesSection const & lastFiles() const { return last_files; } - /// LastOpenedSection & lastOpened() { return last_opened; } - /// LastOpenedSection const & lastOpened() const { return last_opened; } - /// LastFilePosSection & lastFilePos() { return last_file_pos; } - /// LastFilePosSection const & lastFilePos() const { return last_file_pos; } - /// BookmarksSection & bookmarks() { return bookmarks_; } - /// BookmarksSection const & bookmarks() const { return bookmarks_; } - /// ToolbarSection & toolbars() { return toolbars_; } - /// ToolbarSection const & toolbars() const { return toolbars_; } - /// SessionInfoSection & sessionInfo() { return session_info; } - /// SessionInfoSection const & sessionInfo() const { return session_info; } private: + /// uncopiable + Session(Session const &); + void operator=(Session const &); + /// file to save session, determined in the constructor. support::FileName session_file; @@ -433,19 +431,14 @@ private: /// LastFilesSection last_files; - /// LastOpenedSection last_opened; - /// LastFilePosSection last_file_pos; - /// BookmarksSection bookmarks_; - /// ToolbarSection toolbars_; - /// SessionInfoSection session_info; };