From d2b76b08e1fb6cfec7a04fbbf0f3435f48a33e49 Mon Sep 17 00:00:00 2001 From: DYefremov Date: Fri, 28 Sep 2018 10:09:36 +0300 Subject: [PATCH] fix editing from the bouquet list if main list in the filter mode --- app/ui/service_details_dialog.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/ui/service_details_dialog.py b/app/ui/service_details_dialog.py index 496fb88e..07ee1f6f 100644 --- a/app/ui/service_details_dialog.py +++ b/app/ui/service_details_dialog.py @@ -164,11 +164,25 @@ class ServiceDetailsDialog: def update_data_elements(self): model, paths = self._services_view.get_selection().get_selected_rows() - itr = model.get_iter(paths) # Unpacking to search for an iterator for the base model filter_model = model.get_model() - itr = filter_model.convert_iter_to_child_iter(model.convert_iter_to_child_iter(itr)) self._current_model = get_base_model(model) + itr = None + if not paths: + # If editing from bouquet list and services list in the filter mode + fav_model, paths = self._fav_view.get_selection().get_selected_rows() + fav_id = fav_model[paths][7] + for row in self._current_model: + if row[-2] == fav_id: + itr = row.iter + break + else: + itr = model.get_iter(paths) + itr = filter_model.convert_iter_to_child_iter(model.convert_iter_to_child_iter(itr)) + + if not itr: + return + srv = Service(*self._current_model[itr][:]) self._old_service = srv self._current_itr = itr