Stop media editor prompting to save changes on cancellation when none made. Bug #2364

svn: r11029
This commit is contained in:
Gary Burton 2008-09-06 09:18:57 +00:00
parent 6426e0c777
commit b6ed9d389d
2 changed files with 25 additions and 2 deletions

View File

@ -284,6 +284,29 @@ class EditMedia(EditPrimary):
Config.set(Config.MEDIA_HEIGHT, height)
Config.sync()
def data_has_changed(self):
"""
A date comparison can fail incorrectly because we have made the
decision to store entered text in the date. However, there is no
entered date when importing from a XML file, so we can get an
incorrect fail.
"""
if self.db.readonly:
return False
elif self.obj.handle:
orig = self.get_from_handle(self.obj.handle)
if orig:
cmp_obj = orig
else:
cmp_obj = self.empty_object()
return cmp(cmp_obj.serialize(True)[1:],
self.obj.serialize(True)[1:]) != 0
else:
cmp_obj = self.empty_object()
return cmp(cmp_obj.serialize(True)[1:],
self.obj.serialize()[1:]) != 0
class DeleteMediaQuery:
def __init__(self, dbstate, uistate, media_handle, the_lists):

View File

@ -82,7 +82,7 @@ class MediaObject(SourceBase, NoteBase, DateBase, AttributeBase,
self.desc = ""
self.thumb = None
def serialize(self):
def serialize(self, no_text_date = False):
"""
Convert the data held in the event to a Python tuple that
represents all the data elements.
@ -105,7 +105,7 @@ class MediaObject(SourceBase, NoteBase, DateBase, AttributeBase,
SourceBase.serialize(self),
NoteBase.serialize(self),
self.change,
DateBase.serialize(self),
DateBase.serialize(self, no_text_date),
self.marker.serialize(),
self.private)