diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-10-15 18:51:31 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-10-15 18:51:31 +0100 |
| commit | 03c74b7a885ab116ed88907d98bf3e314e019cc1 (patch) | |
| tree | f2a1337f96e63c1d08b13d149d8c77dd0e549b28 /src/buffer.hh | |
| parent | fe0a4f0d11362fd89d35067847cefe12fb249d68 (diff) | |
Detect file external modification and ask the user whether to reload or not
* Buffer now store a m_fs_timestamp field.
* Client in Normal mode checks current buffer file every 500 ms, or
each time it goes back to Normal mode.
Diffstat (limited to 'src/buffer.hh')
| -rw-r--r-- | src/buffer.hh | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/buffer.hh b/src/buffer.hh index fcc18a12..d1bad814 100644 --- a/src/buffer.hh +++ b/src/buffer.hh @@ -104,6 +104,8 @@ public: BufferIterator erase(BufferIterator begin, BufferIterator end); size_t timestamp() const { return m_timestamp; } + time_t fs_timestamp() const; + void set_fs_timestamp(time_t ts); void commit_undo_group(); bool undo(); @@ -197,6 +199,8 @@ private: size_t m_last_save_undo_index; size_t m_timestamp; + time_t m_fs_timestamp; + // this is mutable as adding or removing listeners is not muting the // buffer observable state. mutable std::unordered_set<BufferChangeListener*> m_change_listeners; |
