diff --git a/app/ui/main_app_window.py b/app/ui/main_app_window.py
index 2de56986..b23bd3ee 100644
--- a/app/ui/main_app_window.py
+++ b/app/ui/main_app_window.py
@@ -298,19 +298,15 @@ class MainAppWindow:
def on_copy(self, view, target):
model, paths = view.get_selection().get_selected_rows()
- rows = None
if target is ViewTarget.FAV:
- rows = [(0, *model.get(model.get_iter(path), 2, 3, 4, 5, 7, 16, 18, 8)) for path in paths]
+ self._rows_buffer.extend((0, *model.get(model.get_iter(path), 2, 3, 4, 5, 7, 16, 18, 8)) for path in paths)
elif target is ViewTarget.SERVICES:
- rows = [model[path][:] for path in paths]
+ self._rows_buffer.extend(model[path][:] for path in paths)
elif target is ViewTarget.BOUQUET:
to_copy = list(map(model.get_iter, filter(lambda p: p.get_depth() == 2, paths)))
if to_copy:
self._bouquets_buffer.extend([model[i][:] for i in to_copy])
- return
-
- self._rows_buffer.extend(rows)
def on_fav_cut(self, view):
self.on_cut(view, ViewTarget.FAV)
@@ -388,29 +384,27 @@ class MainAppWindow:
# ***************** Deletion *********************#
- def on_delete(self, item):
- """ Delete selected items from views
+ def on_delete(self, view):
+ """ Delete selected items from view
returns deleted rows list!
"""
- for view in [self._services_view, self._fav_view, self._bouquets_view]:
- if view.is_focus():
- selection = view.get_selection()
- model, paths = selection.get_selected_rows()
- model_name = get_base_model(model).get_name()
- itrs = [model.get_iter(path) for path in paths]
- rows = [model[in_itr][:] for in_itr in itrs]
+ selection = view.get_selection()
+ model, paths = selection.get_selected_rows()
+ model_name = get_base_model(model).get_name()
+ itrs = [model.get_iter(path) for path in paths]
+ rows = [model[in_itr][:] for in_itr in itrs]
- if model_name == self._FAV_LIST_NAME:
- self.remove_favs(itrs, model)
- elif model_name == self._BOUQUETS_LIST_NAME:
- self.delete_bouquets(itrs, model)
- elif model_name == self._SERVICE_LIST_NAME:
- self.delete_services(itrs, model, rows)
+ if model_name == self._FAV_LIST_NAME:
+ self.remove_favs(itrs, model)
+ elif model_name == self._BOUQUETS_LIST_NAME:
+ self.delete_bouquets(itrs, model)
+ elif model_name == self._SERVICE_LIST_NAME:
+ self.delete_services(itrs, model, rows)
- self.on_view_focus(view, None)
+ self.on_view_focus(view, None)
- return rows
+ return rows
@run_idle
def remove_favs(self, itrs, model):
diff --git a/app/ui/main_window.glade b/app/ui/main_window.glade
index be32ca4a..bfba85bc 100644
--- a/app/ui/main_window.glade
+++ b/app/ui/main_window.glade
@@ -117,7 +117,7 @@ Author: Dmitriy Yefremov
False
True
True
-
+
@@ -682,7 +682,7 @@ Author: Dmitriy Yefremov
False
True
True
-
+
@@ -2751,7 +2751,7 @@ Author: Dmitriy Yefremov
False
True
True
-
+