Count only for current tab on save, delete and duplicate

issue9591
review298541002
This commit is contained in:
Cédric Krier committed 2020-10-11 16:10:38 +02:00
1 parent 449b6b2b4c
commit 857cfd8f45
3 files changed
+13 -9

No files matched your search

+3 -3
View File
@@ -317,7 +317,7 @@ class Form(SignalEvent, TabContent):
_('Records not removed.'), Gtk.MessageType.ERROR)
else:
self.message_info(_('Records removed.'), Gtk.MessageType.INFO)
self.screen.count_tab_domain()
self.screen.count_tab_domain(True)
def sig_import(self, widget=None):
WinImport(self.title.get_text(), self.model, self.screen.context)
@@ -375,7 +375,7 @@ class Form(SignalEvent, TabContent):
if self.screen.copy():
self.message_info(_('Working now on the duplicated record(s).'),
Gtk.MessageType.INFO)
self.screen.count_tab_domain()
self.screen.count_tab_domain(True)
def sig_save(self, widget=None):
if widget:
@@ -387,7 +387,7 @@ class Form(SignalEvent, TabContent):
return
if self.screen.save_current():
self.message_info(_('Record saved.'), Gtk.MessageType.INFO)
self.screen.count_tab_domain()
self.screen.count_tab_domain(True)
return True
else:
self.message_info(
+3 -2
View File
@@ -358,7 +358,7 @@ class Screen(SignalEvent):
domain = ['AND', domain, tab_domain]
return domain
def count_tab_domain(self):
def count_tab_domain(self, current=False):
def set_tab_counter(count, idx):
try:
count = count()
@@ -367,9 +367,10 @@ class Screen(SignalEvent):
self.screen_container.set_tab_counter(count, idx)
screen_domain = self.search_domain(
self.screen_container.get_text(), with_tab=False)
index = self.screen_container.get_tab_index()
for idx, (name, domain, count) in enumerate(
self.screen_container.tab_domain):
if not count:
if not count or (current and idx != index):
continue
domain = ['AND', domain, screen_domain]
set_tab_counter(lambda: None, idx)
@@ -481,12 +481,15 @@ class ScreenContainer(object):
def switch_page_after(self, notebook, page, page_num):
self.do_search()
notebook.grab_focus()
self.screen.count_tab_domain()
self.screen.count_tab_domain(True)
def get_tab_index(self):
if not self.notebook:
return -1
return self.notebook.get_current_page()
def get_tab_domain(self):
if not self.notebook:
return []
idx = self.notebook.get_current_page()
idx = self.get_tab_index()
if idx < 0:
return []
return self.tab_domain[idx][1]