mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2025-12-22 00:19:40 +01:00
fix lock\hide
This commit is contained in:
@@ -8,12 +8,12 @@ from app.eparser import get_services, get_bouquets, write_bouquets, write_servic
|
|||||||
from app.eparser.ecommons import CAS, FLAG
|
from app.eparser.ecommons import CAS, FLAG
|
||||||
from app.eparser.enigma.bouquets import BqServiceType
|
from app.eparser.enigma.bouquets import BqServiceType
|
||||||
from app.properties import get_config, write_config, Profile
|
from app.properties import get_config, write_config, Profile
|
||||||
from .picons_dialog import PiconsDialog
|
|
||||||
from . import Gtk, Gdk, UI_RESOURCES_PATH, LOCKED_ICON, HIDE_ICON
|
from . import Gtk, Gdk, UI_RESOURCES_PATH, LOCKED_ICON, HIDE_ICON
|
||||||
from .dialogs import show_dialog, DialogType
|
from .dialogs import show_dialog, DialogType
|
||||||
from .download_dialog import show_download_dialog
|
from .download_dialog import show_download_dialog
|
||||||
from .main_helper import edit_marker, insert_marker, move_items, edit, ViewTarget, set_flags, locate_in_services, \
|
from .main_helper import edit_marker, insert_marker, move_items, edit, ViewTarget, set_flags, locate_in_services, \
|
||||||
scroll_to
|
scroll_to, get_base_model
|
||||||
|
from .picons_dialog import PiconsDialog
|
||||||
from .satellites_dialog import show_satellites_dialog
|
from .satellites_dialog import show_satellites_dialog
|
||||||
from .settings_dialog import show_settings_dialog
|
from .settings_dialog import show_settings_dialog
|
||||||
|
|
||||||
@@ -222,7 +222,8 @@ class MainAppWindow:
|
|||||||
self.on_view_focus(view, None)
|
self.on_view_focus(view, None)
|
||||||
|
|
||||||
def on_edit(self, view):
|
def on_edit(self, view):
|
||||||
name = view.get_model().get_name()
|
model = get_base_model(view.get_model())
|
||||||
|
name = model.get_name()
|
||||||
if name == self._BOUQUETS_LIST_NAME:
|
if name == self._BOUQUETS_LIST_NAME:
|
||||||
self.on_bouquets_edit(view)
|
self.on_bouquets_edit(view)
|
||||||
# edit(view, self.__main_window, ViewTarget.BOUQUET)
|
# edit(view, self.__main_window, ViewTarget.BOUQUET)
|
||||||
@@ -240,8 +241,7 @@ class MainAppWindow:
|
|||||||
if view.is_focus():
|
if view.is_focus():
|
||||||
selection = view.get_selection()
|
selection = view.get_selection()
|
||||||
model, paths = selection.get_selected_rows()
|
model, paths = selection.get_selected_rows()
|
||||||
if type(model) is Gtk.TreeModelSort: # needs think about it !
|
model = get_base_model(model)
|
||||||
model = model.get_model().get_model()
|
|
||||||
model_name = model.get_name()
|
model_name = model.get_name()
|
||||||
itrs = [model.get_iter(path) for path in paths]
|
itrs = [model.get_iter(path) for path in paths]
|
||||||
rows = [model[in_itr][:] for in_itr in itrs]
|
rows = [model[in_itr][:] for in_itr in itrs]
|
||||||
@@ -383,10 +383,7 @@ class MainAppWindow:
|
|||||||
show_dialog(DialogType.ERROR, self.__main_window, "Error. No bouquet is selected!")
|
show_dialog(DialogType.ERROR, self.__main_window, "Error. No bouquet is selected!")
|
||||||
return
|
return
|
||||||
|
|
||||||
model = view.get_model()
|
model = get_base_model(view.get_model())
|
||||||
if type(model) is Gtk.TreeModelSort: # needs think about it !
|
|
||||||
model = model.get_model().get_model()
|
|
||||||
|
|
||||||
dest_index = 0
|
dest_index = 0
|
||||||
|
|
||||||
if drop_info:
|
if drop_info:
|
||||||
@@ -646,9 +643,7 @@ class MainAppWindow:
|
|||||||
key = event.keyval
|
key = event.keyval
|
||||||
ctrl = event.state & Gdk.ModifierType.CONTROL_MASK
|
ctrl = event.state & Gdk.ModifierType.CONTROL_MASK
|
||||||
alt = event.state & Gdk.ModifierType.MOD1_MASK
|
alt = event.state & Gdk.ModifierType.MOD1_MASK
|
||||||
model = view.get_model()
|
model = get_base_model(view.get_model())
|
||||||
if type(model) is Gtk.TreeModelSort:
|
|
||||||
model = model.get_model().get_model()
|
|
||||||
model_name = model.get_name()
|
model_name = model.get_name()
|
||||||
|
|
||||||
if key == Gdk.KEY_Delete:
|
if key == Gdk.KEY_Delete:
|
||||||
@@ -693,9 +688,7 @@ class MainAppWindow:
|
|||||||
@run_idle
|
@run_idle
|
||||||
def on_view_focus(self, view, focus_event):
|
def on_view_focus(self, view, focus_event):
|
||||||
profile = Profile(self.__profile)
|
profile = Profile(self.__profile)
|
||||||
model = view.get_model()
|
model = get_base_model(view.get_model())
|
||||||
if type(model) is Gtk.TreeModelSort: # needs think about it !
|
|
||||||
model = model.get_model().get_model()
|
|
||||||
model_name = model.get_name()
|
model_name = model.get_name()
|
||||||
not_empty = len(model) > 0 # if > 0 model has items
|
not_empty = len(model) > 0 # if > 0 model has items
|
||||||
|
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ def move_items(key, view):
|
|||||||
|
|
||||||
def edit(view, parent_window, target, fav_view=None, service_view=None, channels=None):
|
def edit(view, parent_window, target, fav_view=None, service_view=None, channels=None):
|
||||||
model, paths = view.get_selection().get_selected_rows()
|
model, paths = view.get_selection().get_selected_rows()
|
||||||
|
model = get_base_model(model)
|
||||||
|
|
||||||
if not paths:
|
if not paths:
|
||||||
return
|
return
|
||||||
@@ -157,16 +158,18 @@ def set_flags(flag, services_view, fav_view, channels, blacklist):
|
|||||||
if not paths:
|
if not paths:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
model = get_base_model(model)
|
||||||
|
|
||||||
if flag is FLAG.HIDE:
|
if flag is FLAG.HIDE:
|
||||||
if target is ViewTarget.SERVICES:
|
if target is ViewTarget.SERVICES:
|
||||||
set_hide(channels, model, paths)
|
set_hide(channels, model, paths)
|
||||||
else:
|
else:
|
||||||
fav_ids = [model.get_value(model.get_iter(path), 7) for path in paths]
|
fav_ids = [model.get_value(model.get_iter(path), 7) for path in paths]
|
||||||
srv_model = services_view.get_model()
|
srv_model = get_base_model(services_view.get_model())
|
||||||
srv_paths = [row.path for row in srv_model if row[16] in fav_ids]
|
srv_paths = [row.path for row in srv_model if row[16] in fav_ids]
|
||||||
set_hide(channels, srv_model, srv_paths)
|
set_hide(channels, srv_model, srv_paths)
|
||||||
elif flag is FLAG.LOCK:
|
elif flag is FLAG.LOCK:
|
||||||
set_lock(blacklist, channels, model, paths, target, services_model=services_view.get_model())
|
set_lock(blacklist, channels, model, paths, target, services_model=get_base_model(services_view.get_model()))
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -283,5 +286,12 @@ def update_entry_data(entry, dialog, options):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def get_base_model(model):
|
||||||
|
""" Returns base tree model if has wrappers ("TreeModelSort" and "TreeModelFilter") """
|
||||||
|
if type(model) is Gtk.TreeModelSort:
|
||||||
|
return model.get_model().get_model()
|
||||||
|
return model
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
pass
|
pass
|
||||||
|
|||||||
Reference in New Issue
Block a user