Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2014-02-12 20:54:01 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2014-02-12 20:54:01 (GMT)
commit4bee5bec8d4764ed0c5625c26ee239cbe2100f25 (patch)
tree640f1f0199fd58329598b2dde964c3de238636b7
parent9664d3cad1978cf68df864c03474af6d2e3ebe0b (diff)
Simplify management of dirty flags
Now the flags are private, and the sources are saved only in write_file
-rw-r--r--develop-activity/develop_app.py27
1 files changed, 10 insertions, 17 deletions
diff --git a/develop-activity/develop_app.py b/develop-activity/develop_app.py
index 4e951b1..d2ac596 100644
--- a/develop-activity/develop_app.py
+++ b/develop-activity/develop_app.py
@@ -93,7 +93,7 @@ class DevelopActivity(activity.Activity):
def __init__(self, handle):
"""Set up the Develop activity."""
- self.dirty = False
+ self._dirty = False
super(DevelopActivity, self).__init__(handle)
self.max_participants = 1
@@ -435,7 +435,7 @@ class DevelopActivity(activity.Activity):
self.__log_file_selected_cb)
self.treenotebook.add_page(_("Log"), self._log_files_viewer)
- self.set_dirty(False)
+ self._set_dirty(False)
def refresh_files(self):
"""Refresh the treeview of activity files.
@@ -556,9 +556,10 @@ class DevelopActivity(activity.Activity):
def write_file(self, file_path):
"""Wrap up the activity as a bundle and save it to journal.
"""
+ logging.error('WRITE_FILE')
if self.activity_dir is None:
return
- if not self.save_unchanged:
+ if self.save_unchanged:
self.editor.save_all()
filenames = self.editor.get_all_filenames()
logging.debug('activity_dir %s, file_path %s, filenames %s' %
@@ -566,7 +567,8 @@ class DevelopActivity(activity.Activity):
self._jobject = self.save_source_jobject(
self.activity_dir, file_path, filenames)
self.metadata['source'] = self.activity_dir
- self.set_dirty(False)
+ self._set_dirty(False)
+ self.save_unchanged = False
def read_file(self, file_path):
self.activity_dir = self.metadata['source']
@@ -584,23 +586,14 @@ class DevelopActivity(activity.Activity):
finally:
f.close()
- self.set_dirty(False)
-
- def is_dirty(self):
- return self.dirty
+ self._set_dirty(False)
- def set_dirty(self, dirty):
+ def _set_dirty(self, dirty):
logging.debug("Setting dirty to %s; activity_dir is %s" %
(str(dirty), str(self.activity_dir)))
- self.dirty = dirty
+ self._dirty = dirty
if dirty:
self.save_unchanged = True
- try:
- logging.debug("Saving a pristine copy for safety")
- self.save()
- finally:
- self.save_unchanged = False
- self.dirty = dirty
def __editor_tab_changed_cb(self, editor, new_full_path):
if self.numb:
@@ -617,7 +610,7 @@ class DevelopActivity(activity.Activity):
def __editor_changed_cb(self, editor):
logging.error('Editor text changed')
- self.set_dirty(True)
+ self._set_dirty(True)
def __create_empty_file_cb(self, button):
alert = Alert()