added copy possibility for fav list

This commit is contained in:
DYefremov
2018-09-18 10:35:10 +03:00
parent aec3874e0b
commit b92c02fd63
2 changed files with 33 additions and 7 deletions

View File

@@ -81,7 +81,8 @@ class MainAppWindow:
"on_up": self.on_up, "on_up": self.on_up,
"on_down": self.on_down, "on_down": self.on_down,
"on_cut": self.on_cut, "on_cut": self.on_cut,
"on_copy": self.on_copy, "on_services_copy": self.on_services_copy,
"on_fav_copy": self.on_fav_copy,
"on_paste": self.on_paste, "on_paste": self.on_paste,
"on_edit": self.on_rename, "on_edit": self.on_rename,
"on_rename_for_bouquet": self.on_rename_for_bouquet, "on_rename_for_bouquet": self.on_rename_for_bouquet,
@@ -262,10 +263,20 @@ class MainAppWindow:
for row in tuple(self.on_delete(view)): for row in tuple(self.on_delete(view)):
self._rows_buffer.append(row) self._rows_buffer.append(row)
def on_copy(self, view): def on_services_copy(self, view):
self.on_copy(view, target=ViewTarget.FAV)
def on_fav_copy(self, view):
self.on_copy(view, target=ViewTarget.SERVICES)
def on_copy(self, view, target=ViewTarget.FAV):
model, paths = view.get_selection().get_selected_rows() model, paths = view.get_selection().get_selected_rows()
itrs = [model.get_iter(path) for path in paths] rows = None
rows = [(0, *model.get(in_itr, 2, 3, 4, 5, 7, 16, 18, 8)) for in_itr in itrs] if target is ViewTarget.FAV:
rows = [(0, *model[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(rows) self._rows_buffer.extend(rows)
def on_paste(self, view): def on_paste(self, view):
@@ -799,8 +810,13 @@ class MainAppWindow:
self.on_to_fav_move(view) self.on_to_fav_move(view)
elif model_name == self._BOUQUETS_LIST_NAME: elif model_name == self._BOUQUETS_LIST_NAME:
self.on_new_bouquet(view) self.on_new_bouquet(view)
elif ctrl and (key == Gdk.KEY_c or key == Gdk.KEY_C) and model_name == self._SERVICE_LIST_NAME: elif ctrl and (key == Gdk.KEY_c or key == Gdk.KEY_C):
self.on_copy(view) if model_name == self._SERVICE_LIST_NAME:
self.on_copy(view, ViewTarget.FAV)
elif model_name == self._FAV_LIST_NAME:
self.on_copy(view, ViewTarget.SERVICES)
else:
self.on_copy(view, ViewTarget.BOUQUET)
elif ctrl and key == Gdk.KEY_x or key == Gdk.KEY_X: elif ctrl and key == Gdk.KEY_x or key == Gdk.KEY_X:
if model_name == self._FAV_LIST_NAME: if model_name == self._FAV_LIST_NAME:
self.on_cut(view) self.on_cut(view)

View File

@@ -354,6 +354,16 @@ Author: Dmitriy Yefremov
<signal name="activate" handler="on_cut" object="fav_tree_view" swapped="no"/> <signal name="activate" handler="on_cut" object="fav_tree_view" swapped="no"/>
</object> </object>
</child> </child>
<child>
<object class="GtkImageMenuItem" id="fav_copy_popup_item">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_fav_copy" object="fav_tree_view" swapped="no"/>
</object>
</child>
<child> <child>
<object class="GtkImageMenuItem" id="fav_paste_popup_item"> <object class="GtkImageMenuItem" id="fav_paste_popup_item">
<property name="label">gtk-paste</property> <property name="label">gtk-paste</property>
@@ -2545,7 +2555,7 @@ Author: Dmitriy Yefremov
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<signal name="activate" handler="on_copy" object="services_tree_view" swapped="no"/> <signal name="activate" handler="on_services_copy" object="services_tree_view" swapped="no"/>
</object> </object>
</child> </child>
<child> <child>