Make activate_save use Screen.modified
It is better to use the Object state to set the state of the button
This commit is contained in:
1 parent
90fe8353b2
commit
dbd16b39f0
2 files changed
+10
-10
No files matched your search
@@ -348,6 +348,7 @@ class Form(SignalEvent, TabContent):
|
||||
return
|
||||
self.screen.new()
|
||||
self.message_info('')
|
||||
self.activate_save()
|
||||
|
||||
def sig_copy(self, widget=None):
|
||||
if not self.modified_save():
|
||||
@@ -378,14 +379,12 @@ class Form(SignalEvent, TabContent):
|
||||
return
|
||||
self.screen.display_prev()
|
||||
self.message_info('')
|
||||
self.activate_save(False)
|
||||
|
||||
def sig_next(self, widget=None):
|
||||
if not self.modified_save():
|
||||
return
|
||||
self.screen.display_next()
|
||||
self.message_info('')
|
||||
self.activate_save(False)
|
||||
|
||||
def sig_reload(self, test_modified=True):
|
||||
if not hasattr(self, 'screen'):
|
||||
@@ -411,7 +410,7 @@ class Form(SignalEvent, TabContent):
|
||||
self.screen.display(set_cursor=True)
|
||||
break
|
||||
self.message_info('')
|
||||
self.activate_save(False)
|
||||
self.activate_save()
|
||||
return True
|
||||
|
||||
def sig_action(self, widget):
|
||||
@@ -483,13 +482,14 @@ class Form(SignalEvent, TabContent):
|
||||
msg += _(' of ') + str(signal_data[2])
|
||||
self.status_label.set_text(msg)
|
||||
self.message_info('')
|
||||
self.activate_save()
|
||||
|
||||
def _record_modified(self, screen, signal_data):
|
||||
self.message_info('', color='white')
|
||||
self.activate_save(True)
|
||||
self.activate_save()
|
||||
|
||||
def _record_saved(self, screen, signal_data):
|
||||
self.activate_save(False)
|
||||
self.activate_save()
|
||||
|
||||
def modified_save(self, reload=True):
|
||||
if self.screen.modified():
|
||||
@@ -550,8 +550,8 @@ class Form(SignalEvent, TabContent):
|
||||
self.screen.reload(written=True)
|
||||
return value
|
||||
|
||||
def activate_save(self, activate):
|
||||
self.buttons['save'].props.sensitive = activate
|
||||
def activate_save(self):
|
||||
self.buttons['save'].props.sensitive = self.screen.modified()
|
||||
|
||||
def sig_win_close(self, widget):
|
||||
Main.get_main().sig_win_close(widget)
|
||||
|
||||
@@ -493,13 +493,13 @@ class Screen(SignalEvent):
|
||||
get_modifiedonly=get_modifiedonly)
|
||||
|
||||
def modified(self):
|
||||
self.current_view.set_value()
|
||||
res = False
|
||||
if self.current_view.view_type != 'tree':
|
||||
res = self.current_record and self.current_record.modified
|
||||
if self.current_record:
|
||||
res = self.current_record.modified or self.current_record.id < 0
|
||||
else:
|
||||
for record in self.group:
|
||||
if record.modified:
|
||||
if record.modified or record.id < 0:
|
||||
res = True
|
||||
return res
|
||||
|
||||
|
||||
Reference in new issue
Block a user