diff --git a/app/ui/main_app_window.py b/app/ui/main_app_window.py index 673361e5..533c7e9d 100644 --- a/app/ui/main_app_window.py +++ b/app/ui/main_app_window.py @@ -54,8 +54,7 @@ class MainAppWindow: "bouquets_remove_popup_item", "fav_remove_popup_item", "hide_tool_button", "import_m3u_tool_button", "fav_import_m3u_popup_item", "fav_insert_marker_popup_item", "fav_edit_marker_popup_item", "fav_edit_popup_item", "fav_locate_popup_item", "filter_entry", - "services_copy_popup_item", "services_picon_popup_item", "fav_picon_popup_item") - + "services_copy_popup_item", "services_picon_popup_item", "fav_picon_popup_item") def __init__(self): handlers = {"on_close_main_window": self.on_quit, @@ -146,6 +145,8 @@ class MainAppWindow: # Force ctrl press event for view. Multiple selections in lists only with Space key(as in file managers)!!! self.__services_view.connect("key-press-event", self.force_ctrl) self.__fav_view.connect("key-press-event", self.force_ctrl) + # Clipboard + self.__clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) self.__main_window.show() def init_drag_and_drop(self): @@ -866,14 +867,29 @@ class MainAppWindow: for r in self.__services_model: self.__services_model.set_value(self.__services_model.get_iter(r.path), 8, self.__picons.get(r[9], None)) - def on_assign_picon(self, model): + def on_assign_picon(self, view): pass - def on_remove_picon(self, model): + def on_remove_picon(self, view): pass - def on_reference_picon(self, model): - pass + @run_idle + def on_reference_picon(self, view): + """ Copying picon id to clipboard """ + m, paths = view.get_selection().get_selected_rows() + if len(paths) > 1: + show_dialog(DialogType.ERROR, self.__main_window, "Please, select only one item!") + return + + model = get_base_model(view.get_model()) + name = model.get_name() + if name == self._SERVICE_LIST_NAME: + self.__clipboard.set_text(model.get_value(model.get_iter(paths), 9).rstrip(".png"), -1) + elif name == self._FAV_LIST_NAME: + fav_id = model.get_value(model.get_iter(paths), 7) + srv = self.__services.get(fav_id, None) + if srv: + self.__clipboard.set_text(srv.picon_id.rstrip(".png"), -1) def start_app(): diff --git a/app/ui/main_window.glade b/app/ui/main_window.glade index ed7e8e03..9af6d747 100644 --- a/app/ui/main_window.glade +++ b/app/ui/main_window.glade @@ -263,7 +263,7 @@ False image14 False - + @@ -273,7 +273,7 @@ False image15 False - + @@ -289,7 +289,7 @@ False image16 False - + @@ -392,7 +392,7 @@ False image11 False - + @@ -402,7 +402,7 @@ False image12 False - + @@ -418,7 +418,7 @@ False image10 False - +