summaryrefslogtreecommitdiff
path: root/src/buffer.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-10-15 18:51:31 +0100
committerMaxime Coste <frrrwww@gmail.com>2013-10-15 18:51:31 +0100
commit03c74b7a885ab116ed88907d98bf3e314e019cc1 (patch)
treef2a1337f96e63c1d08b13d149d8c77dd0e549b28 /src/buffer.hh
parentfe0a4f0d11362fd89d35067847cefe12fb249d68 (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.hh4
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;