summaryrefslogtreecommitdiff
path: root/jfr_playoff/gui/__init__.py
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-07-07 21:24:44 +0200
committeremkael <emkael@tlen.pl>2019-07-07 21:24:44 +0200
commit1059281a8962dd7529318b529aeda02ca8544722 (patch)
treeb7f729d69e3212151b8859b5e5c31ade9e5129b1 /jfr_playoff/gui/__init__.py
parent4f55701e1b291a9a6da9eb7aef5802e6bc20cbf0 (diff)
Tracing dirty state of edited file
Diffstat (limited to 'jfr_playoff/gui/__init__.py')
-rw-r--r--jfr_playoff/gui/__init__.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/jfr_playoff/gui/__init__.py b/jfr_playoff/gui/__init__.py
index 2a890d1..6f94df2 100644
--- a/jfr_playoff/gui/__init__.py
+++ b/jfr_playoff/gui/__init__.py
@@ -15,7 +15,8 @@ class PlayoffGUI(tk.Tk):
self.newFileIndex = 0
self._title = tk.StringVar()
self._title.trace('w', self._setTitle)
- self._dirty = False
+ self._dirty = tk.BooleanVar()
+ self._dirty.trace('w', self._setTitle)
self._filepath = None
def run(self):
@@ -28,8 +29,12 @@ class PlayoffGUI(tk.Tk):
self.openFile(sys.argv[1])
else:
self.newFile()
+ self.bind('<<ValueChanged>>', self._onFileChange, add='+')
self.mainloop()
+ def _onFileChange(self, *args):
+ self._dirty.set(True)
+
def _setValues(self, config):
for tab in self.tabs.values():
tab.setValues(config)
@@ -42,18 +47,20 @@ class PlayoffGUI(tk.Tk):
self.newFileIndex += 1
self._title.set('Nowa drabinka %d' % (self.newFileIndex))
self._resetValues()
+ self.after(0, self._dirty.set, False)
def _setTitle(self, *args):
self.title('%s - %s%s' % (
'TeamyPlayOff',
self._title.get(),
- '* ' if self._dirty else ''
+ ' *' if self._dirty.get() else ''
))
def openFile(self, filepath):
self._filepath = filepath
self._title.set(os.path.basename(filepath))
self._setValues(json.load(open(filepath)))
+ self.after(0, self._dirty.set, False)
def getDbConfig(self):
return self.tabs['NetworkTab'].getDB()