mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-05-07 02:15:39 +02:00
added delete in views
This commit is contained in:
@@ -220,12 +220,13 @@
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="imagemenuitem9">
|
||||
<object class="GtkImageMenuItem" id="delete_menu_item">
|
||||
<property name="label">gtk-delete</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_delete" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
@@ -400,6 +401,7 @@
|
||||
<property name="label" translatable="yes">Up</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-go-up</property>
|
||||
<signal name="clicked" handler="on_up" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
@@ -413,6 +415,7 @@
|
||||
<property name="label" translatable="yes">Down</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-go-down</property>
|
||||
<signal name="clicked" handler="on_down" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
@@ -420,12 +423,13 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="cat_tool_button">
|
||||
<object class="GtkToolButton" id="cut_tool_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Cut</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-cut</property>
|
||||
<signal name="clicked" handler="on_cut" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
@@ -439,6 +443,7 @@
|
||||
<property name="label" translatable="yes">Copy</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-copy</property>
|
||||
<signal name="clicked" handler="on_copy" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
@@ -465,6 +470,7 @@
|
||||
<property name="label" translatable="yes">Remove</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-remove</property>
|
||||
<signal name="clicked" handler="on_delete" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
@@ -571,9 +577,11 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="model">services_list_store</property>
|
||||
<property name="enable_grid_lines">both</property>
|
||||
<property name="activate_on_single_click">True</property>
|
||||
<signal name="key-release-event" handler="on_tree_view_key_release" object="services_list_store" swapped="no"/>
|
||||
<signal name="row-activated" handler="on_services_selection" object="services_list_store" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="treeview-selection1">
|
||||
<object class="GtkTreeSelection" id="services_selection">
|
||||
<property name="mode">multiple</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -582,6 +590,8 @@
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Service</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">0</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="service_cellrenderertext"/>
|
||||
<attributes>
|
||||
@@ -595,6 +605,8 @@
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Package</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">1</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="package_cellrenderertext"/>
|
||||
<attributes>
|
||||
@@ -607,6 +619,8 @@
|
||||
<object class="GtkTreeViewColumn" id="service_type_column">
|
||||
<property name="resizable">True</property>
|
||||
<property name="title" translatable="yes">Type</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">2</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="type_cellrenderertex"/>
|
||||
<attributes>
|
||||
@@ -620,6 +634,8 @@
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Ssid</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">3</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="ssid_cellrenderertext"/>
|
||||
<attributes>
|
||||
@@ -633,6 +649,8 @@
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Freq</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">4</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="freq_cellrenderertext"/>
|
||||
<attributes>
|
||||
@@ -646,6 +664,8 @@
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Rate</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">5</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="rate_cellrenderertext"/>
|
||||
<attributes>
|
||||
@@ -659,6 +679,8 @@
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Pol</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">6</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="pol_cellrenderertext"/>
|
||||
<attributes>
|
||||
@@ -672,6 +694,8 @@
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">FEC</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">7</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="fec_cellrenderertext"/>
|
||||
<attributes>
|
||||
@@ -685,6 +709,8 @@
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">System</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">8</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="system_cellrenderertex"/>
|
||||
<attributes>
|
||||
@@ -697,6 +723,8 @@
|
||||
<object class="GtkTreeViewColumn" id="pos_column1">
|
||||
<property name="resizable">True</property>
|
||||
<property name="title" translatable="yes">Pos</property>
|
||||
<property name="reorderable">True</property>
|
||||
<property name="sort_column_id">9</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="pos_cellrenderertext1"/>
|
||||
<attributes>
|
||||
@@ -708,6 +736,7 @@
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="data_id_column">
|
||||
<property name="visible">False</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">data_id</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="data_id_cellrenderertext"/>
|
||||
@@ -720,6 +749,7 @@
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="fav_id_column">
|
||||
<property name="visible">False</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">fav_id</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="fav_id_cellrenderertext"/>
|
||||
@@ -753,9 +783,11 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="model">fav_list_store</property>
|
||||
<property name="enable_grid_lines">both</property>
|
||||
<property name="activate_on_single_click">True</property>
|
||||
<signal name="key-release-event" handler="on_tree_view_key_release" object="fav_list_store" swapped="no"/>
|
||||
<signal name="row-activated" handler="on_fav_selection" object="fav_list_store" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="treeview-selection2">
|
||||
<object class="GtkTreeSelection" id="fav_selection">
|
||||
<property name="mode">multiple</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -829,7 +861,7 @@
|
||||
<property name="activate_on_single_click">True</property>
|
||||
<signal name="row-activated" handler="on_bouquets_selection" object="bouquets_tree_store" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="treeview-selection5"/>
|
||||
<object class="GtkTreeSelection" id="bouquets_selection"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="bouquets_column">
|
||||
|
||||
73
main/ui.py
73
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
|
||||
|
||||
Reference in New Issue
Block a user