diff --git a/main/editor_ui.glade b/main/editor_ui.glade
index 4188e30b..5cd27bc6 100644
--- a/main/editor_ui.glade
+++ b/main/editor_ui.glade
@@ -220,12 +220,13 @@
-
@@ -400,6 +401,7 @@
Up
True
gtk-go-up
+
False
@@ -413,6 +415,7 @@
Down
True
gtk-go-down
+
False
@@ -420,12 +423,13 @@
-
False
@@ -465,6 +470,7 @@
Remove
True
gtk-remove
+
False
@@ -571,9 +577,11 @@
True
services_list_store
both
+ True
+
-
+
multiple
@@ -582,6 +590,8 @@
True
autosize
Service
+ True
+ 0
@@ -595,6 +605,8 @@
True
autosize
Package
+ True
+ 1
@@ -607,6 +619,8 @@
True
Type
+ True
+ 2
@@ -620,6 +634,8 @@
True
autosize
Ssid
+ True
+ 3
@@ -633,6 +649,8 @@
True
autosize
Freq
+ True
+ 4
@@ -646,6 +664,8 @@
True
autosize
Rate
+ True
+ 5
@@ -659,6 +679,8 @@
True
autosize
Pol
+ True
+ 6
@@ -672,6 +694,8 @@
True
autosize
FEC
+ True
+ 7
@@ -685,6 +709,8 @@
True
autosize
System
+ True
+ 8
@@ -697,6 +723,8 @@
True
Pos
+ True
+ 9
@@ -708,6 +736,7 @@
False
+ autosize
data_id
@@ -720,6 +749,7 @@
False
+ autosize
fav_id
@@ -753,9 +783,11 @@
True
fav_list_store
both
+ True
+
-
+
multiple
@@ -829,7 +861,7 @@
True
-
+
diff --git a/main/ui.py b/main/ui.py
index dccba632..0ebe57ee 100644
--- a/main/ui.py
+++ b/main/ui.py
@@ -16,6 +16,9 @@ __options = get_config()
__services_model = None
__bouquets_model = None
__fav_model = None
+__services_view = None
+__fav_view = None
+__bouquets_view = None
__DATA_FILES_LIST = ("tv", "radio", "lamedb")
__channels = {}
@@ -40,10 +43,50 @@ def get_handlers():
"on_tree_view_key_release": on_tree_view_key_release,
"on_bouquets_selection": on_bouquets_selection,
"on_satellite_editor_show": on_satellite_editor_show,
- "on_satellites_list_load": on_satellites_list_load
+ "on_satellites_list_load": on_satellites_list_load,
+ "on_services_selection": on_services_selection,
+ "on_fav_selection": on_fav_selection,
+ "on_up": on_up,
+ "on_down": on_down,
+ "on_cut": on_cut,
+ "on_copy": on_copy,
+ "on_paste": on_paste,
+ "on_delete": on_delete
}
+def on_up(item):
+ pass
+
+
+def on_down(item):
+ pass
+
+
+def on_cut(item):
+ pass
+
+
+def on_copy(item):
+ pass
+
+
+def on_paste(item):
+ pass
+
+
+def on_delete(item):
+ """ Delete selected items from views """
+ for view in [__services_view, __fav_view, __bouquets_view]:
+ selection = view.get_selection()
+ store, paths = selection.get_selected_rows()
+ itrs = []
+ for path in paths:
+ itrs.append(store.get_iter(path))
+ for itr in itrs:
+ store.remove(itr)
+
+
def on_satellite_editor_show(model):
""" Shows satellites editor dialog """
builder = Gtk.Builder()
@@ -91,8 +134,17 @@ def on_data_open(model):
task.start()
+def on_services_selection(model, path, column):
+ delete_selection(__fav_view, __bouquets_view)
+
+
+def on_fav_selection(model, path, column):
+ delete_selection(__services_view, __bouquets_view)
+
+
def on_bouquets_selection(model, path, column):
if len(path) > 1:
+ delete_selection(__services_view)
tree_iter = model.get_iter(path)
name = model.get_value(tree_iter, 0)
# 'tv' Temporary! It is necessary to implement a row type attribute.
@@ -103,6 +155,12 @@ def on_bouquets_selection(model, path, column):
__fav_model.append((num + 1, channel[0], channel[2], channel[9]))
+def delete_selection(view, *args):
+ """ Used for clear selection on given view(s) """
+ for v in [view, *args]:
+ v.get_selection().unselect_all()
+
+
def on_path_open(*args):
builder = Gtk.Builder()
builder.add_from_file("editor_ui.glade")
@@ -154,13 +212,12 @@ def on_tree_view_key_release(widget, event):
print("Tab")
if key == Gdk.KEY_Delete:
print("Delete")
+ on_delete(widget)
if key == Gdk.KEY_Up:
print("Up")
if key == Gdk.KEY_Down:
print("Down")
- print(widget.get_name())
-
def on_upload(item):
connect(__options, False)
@@ -220,6 +277,16 @@ def init_ui():
builder = Gtk.Builder()
builder.add_from_file("editor_ui.glade")
main_window = builder.get_object("main_window")
+ global __services_view
+ __services_view = builder.get_object("services_tree_view")
+ global __fav_view
+ __fav_view = builder.get_object("fav_tree_view")
+ global __bouquets_view
+ __bouquets_view = builder.get_object("bouquets_tree_view")
+ # global __services_model
+ # __services_model = builder.get_object("services_list_store")
+ # global __bouquets_model
+ # __bouquets_model = builder.get_object("bouquets_tree_store")
global __fav_model
__fav_model = builder.get_object("fav_list_store")
global __status_bar