diff options
author | emkael <emkael@tlen.pl> | 2019-07-07 21:24:44 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2019-07-07 21:24:44 +0200 |
commit | 1059281a8962dd7529318b529aeda02ca8544722 (patch) | |
tree | b7f729d69e3212151b8859b5e5c31ade9e5129b1 /jfr_playoff/gui/__init__.py | |
parent | 4f55701e1b291a9a6da9eb7aef5802e6bc20cbf0 (diff) |
Tracing dirty state of edited file
Diffstat (limited to 'jfr_playoff/gui/__init__.py')
-rw-r--r-- | jfr_playoff/gui/__init__.py | 11 |
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() |