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

svn: r11030
This commit is contained in:
Gary Burton 2008-09-06 09:22:10 +00:00
parent 230d71a7f4
commit a77bb2f73c
2 changed files with 25 additions and 2 deletions

View File

@ -285,6 +285,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

@ -83,7 +83,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.
@ -106,7 +106,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)