[meld] filediff: Make unsaved change warning specific to reloaded files (#161)
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld] filediff: Make unsaved change warning specific to reloaded files (#161)
- Date: Thu, 8 Feb 2018 21:02:55 +0000 (UTC)
commit 37a8908c85497bf04884b1dae4cee45dde524b95
Author: Kai Willadsen <kai willadsen gmail com>
Date: Fri Feb 9 06:52:51 2018 +1000
filediff: Make unsaved change warning specific to reloaded files (#161)
Our "do you want to discard changes?" confirmation was written for the
revert-to-saved case, which reverts all panes at once. We're now reusing
it for the reload caused by encoding change, but it's still warning if
any file has been modified, even though it only reloads one file.
This change makes it so that the unsaved changes check takes a list of
panes that are being reloaded, and uses that in the encoding handler.
meld/filediff.py | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/meld/filediff.py b/meld/filediff.py
index 4405b0ff..88581712 100644
--- a/meld/filediff.py
+++ b/meld/filediff.py
@@ -236,9 +236,10 @@ class FileDiff(MeldDoc, Component):
GObject.BindingFlags.DEFAULT)
def reload_with_encoding(widget, encoding, pane):
- if not self.check_unsaved_changes():
+ buffer = self.textbuffer[pane]
+ if not self.check_unsaved_changes([buffer]):
return
- self.set_file(pane, self.textbuffer[pane].data.gfile, encoding)
+ self.set_file(pane, buffer.data.gfile, encoding)
def go_to_line(widget, line, pane):
self.move_cursor(pane, line, focus=False)
@@ -1704,8 +1705,9 @@ class FileDiff(MeldDoc, Component):
return i
return -1
- def check_unsaved_changes(self):
- unsaved = [b.data.label for b in self.textbuffer if b.get_modified()]
+ def check_unsaved_changes(self, buffers=None):
+ buffers = buffers or self.textbuffer
+ unsaved = [b.data.label for b in buffers if b.get_modified()]
if not unsaved:
return True
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]