From 9d7fef36c2d5046c9b26414a78fee5c63a9fec42 Mon Sep 17 00:00:00 2001 From: DYefremov Date: Thu, 25 Oct 2018 16:00:25 +0300 Subject: [PATCH] renaming for the IPTV and MARKER types --- app/ui/main_app_window.py | 10 +++------- app/ui/main_helper.py | 41 +++++++++++++-------------------------- 2 files changed, 16 insertions(+), 35 deletions(-) diff --git a/app/ui/main_app_window.py b/app/ui/main_app_window.py index 05610d7d..8650c510 100644 --- a/app/ui/main_app_window.py +++ b/app/ui/main_app_window.py @@ -19,7 +19,7 @@ from .search import SearchProvider from .uicommons import Gtk, Gdk, UI_RESOURCES_PATH, LOCKED_ICON, HIDE_ICON, IPTV_ICON, MOVE_KEYS from .dialogs import show_dialog, DialogType, get_chooser_dialog, WaitDialog, get_message from .download_dialog import DownloadDialog -from .main_helper import edit_marker, insert_marker, move_items, rename, ViewTarget, set_flags, locate_in_services, \ +from .main_helper import insert_marker, move_items, rename, ViewTarget, set_flags, locate_in_services, \ scroll_to, get_base_model, update_picons_data, copy_picon_reference, assign_picon, remove_picon, \ is_only_one_item_selected, gen_bouquets, BqGenType, get_iptv_url, append_picons, get_selection from .picons_downloader import PiconsDialog @@ -106,7 +106,6 @@ class MainAppWindow: "on_model_changed": self.on_model_changed, "on_import_m3u": self.on_import_m3u, "on_insert_marker": self.on_insert_marker, - "on_edit_marker": self.on_edit_marker, "on_fav_press": self.on_fav_press, "on_locate_in_services": self.on_locate_in_services, "on_picons_loader_show": self.on_picons_loader_show, @@ -1126,9 +1125,6 @@ class MainAppWindow: insert_marker(view, self._bouquets, self.get_selected_bouquet(), self._services, self._main_window) self.update_fav_num_column(self._fav_model) - def on_edit_marker(self, view): - edit_marker(view, self._bouquets, self.get_selected_bouquet(), self._services, self._main_window) - def on_fav_press(self, menu, event): if event.get_event_type() == Gdk.EventType.DOUBLE_BUTTON_PRESS: self.on_play_stream() @@ -1456,9 +1452,9 @@ class MainAppWindow: self.on_bouquets_edit(view) elif name == self._FAV_LIST_NAME: rename(view, self._main_window, ViewTarget.FAV, service_view=self._services_view, - channels=self._services) + services=self._services) elif name == self._SERVICE_LIST_NAME: - rename(view, self._main_window, ViewTarget.SERVICES, fav_view=self._fav_view, channels=self._services) + rename(view, self._main_window, ViewTarget.SERVICES, fav_view=self._fav_view, services=self._services) def on_rename_for_bouquet(self, item): selection = get_selection(self._fav_view, self._main_window) diff --git a/app/ui/main_helper.py b/app/ui/main_helper.py index 8335cd08..60077e46 100644 --- a/app/ui/main_helper.py +++ b/app/ui/main_helper.py @@ -37,25 +37,6 @@ def insert_marker(view, bouquets, selected_bouquet, channels, parent_window): channels[fav_id] = Service(None, None, None, response, None, None, None, s_type, *[None] * 9, max_num, fav_id, None) -def edit_marker(view, bouquets, selected_bouquet, channels, parent_window): - """ Edits marker text """ - model, paths = view.get_selection().get_selected_rows() - itr = model.get_iter(paths[0]) - name, fav_id = model.get(itr, 2, 7) - response = show_dialog(DialogType.INPUT, parent_window, text=name) - if response == Gtk.ResponseType.CANCEL: - return - - bq_services = bouquets[selected_bouquet] - index = bq_services.index(fav_id) - old_ch = channels.pop(fav_id, None) - new_fav_id = "{}::{}\n#DESCRIPTION {}\n".format(fav_id.split("::")[0], response, response) - model.set(itr, {2: response, 7: new_fav_id}) - channels[new_fav_id] = old_ch._replace(service=response, fav_id=new_fav_id) - bq_services.pop(index) - bq_services.insert(index, new_fav_id) - - # ***************** Movement *******************# def move_items(key, view: Gtk.TreeView): @@ -139,15 +120,14 @@ def is_some_level(paths): # ***************** Rename *******************# -def rename(view, parent_window, target, fav_view=None, service_view=None, channels=None): +def rename(view, parent_window, target, fav_view=None, service_view=None, services=None): selection = get_selection(view, parent_window) if not selection: return model, paths = selection itr = model.get_iter(paths) - f_id = None - channel_name = None + f_id, srv_name, srv_type = None, None, None if target is ViewTarget.SERVICES: name, fav_id = model.get(itr, 3, 18) @@ -155,7 +135,7 @@ def rename(view, parent_window, target, fav_view=None, service_view=None, channe response = show_dialog(DialogType.INPUT, parent_window, name) if response == Gtk.ResponseType.CANCEL: return - channel_name = response + srv_name = response model.set_value(itr, 3, response) if fav_view is not None: for row in fav_view.get_model(): @@ -163,13 +143,13 @@ def rename(view, parent_window, target, fav_view=None, service_view=None, channe row[2] = response break elif target is ViewTarget.FAV: - name, fav_id = model.get(itr, 2, 7) + name, srv_type, fav_id = model.get(itr, 2, 5, 7) f_id = fav_id response = show_dialog(DialogType.INPUT, parent_window, name) if response == Gtk.ResponseType.CANCEL: return - channel_name = response + srv_name = response model.set_value(itr, 2, response) if service_view is not None: @@ -178,9 +158,14 @@ def rename(view, parent_window, target, fav_view=None, service_view=None, channe row[3] = response break - old_ch = channels.get(f_id, None) - if old_ch: - channels[f_id] = old_ch._replace(service=channel_name) + old_srv = services.get(f_id, None) + if old_srv: + if srv_type == BqServiceType.IPTV.name or srv_type == BqServiceType.MARKER.name: + old_name = old_srv.service + new_fav_id = f_id.replace(old_name.strip(), srv_name.strip(), 2) + services[f_id] = old_srv._replace(service=srv_name, fav_id=new_fav_id) + else: + services[f_id] = old_srv._replace(service=srv_name) def get_selection(view, parent):