Hi

I know this patch should problably include some sort of checkbox for 
specifying
behavior, but on the other hand QtCreator and other editors reload files 
automatically
by default. What do you say?

>From 5d710b4c74d99e71bcfcda88d3986f2a758ebb2b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B8ren=20Holm?= <s...@sgh.dk>
Date: Sun, 16 Oct 2011 23:39:25 +0200
Subject: [PATCH] Automatically reload files modified on disk.

When files are changed on disk it is nice to have unmodified documents to
reload. this patch adds this functionallity by default.
---
 part/document/katedocument.cpp |   32 ++++++++++++++++++++++----------
 1 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/part/document/katedocument.cpp b/part/document/katedocument.cpp
index e2a51e7..46f1618 100644
--- a/part/document/katedocument.cpp
+++ b/part/document/katedocument.cpp
@@ -4408,13 +4408,19 @@ void KateDocument::slotModOnHdDirty (const QString 
&path)
         return;
     }
 
-    m_modOnHd = true;
-    m_modOnHdReason = OnDiskModified;
+    if (!isModified()) {
+      m_modOnHd = false;
+      m_modOnHdReason = OnDiskUnmodified;
+      documentReload();
+    } else {
+      m_modOnHd = true;
+      m_modOnHdReason = OnDiskModified;
 
-    // reenable dialog if not running atm
-    if (m_isasking == -1)
-      m_isasking = false;
+      // reenable dialog if not running atm
+      if (m_isasking == -1)
+        m_isasking = false;
 
+    }
     emit modifiedOnDisk (this, m_modOnHd, m_modOnHdReason);
   }
 }
@@ -4423,13 +4429,19 @@ void KateDocument::slotModOnHdCreated (const QString 
&path)
 {
   if ((path == m_dirWatchFile) && (!m_modOnHd || m_modOnHdReason != 
OnDiskCreated))
   {
-    m_modOnHd = true;
-    m_modOnHdReason = OnDiskCreated;
+    if (!isModified()) {
+      m_modOnHd = false;
+      m_modOnHdReason = OnDiskUnmodified;
+      documentReload();
+    } else {
+      m_modOnHd = true;
+      m_modOnHdReason = OnDiskCreated;
 
-    // reenable dialog if not running atm
-    if (m_isasking == -1)
-      m_isasking = false;
+      // reenable dialog if not running atm
+        if (m_isasking == -1)
+        m_isasking = false;
 
+    }
     emit modifiedOnDisk (this, m_modOnHd, m_modOnHdReason);
   }
 }
-- 
1.7.5.4


>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Reply via email to