mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-01-22 15:33:35 +01:00
skeleton of popup menus for views
This commit is contained in:
@@ -49,7 +49,8 @@ def get_handlers():
|
||||
"on_delete": on_delete,
|
||||
"on_services_tree_view_drag_data_get": on_services_tree_view_drag_data_get,
|
||||
"on_fav_tree_view_drag_data_get": on_fav_tree_view_drag_data_get,
|
||||
"on_fav_tree_view_drag_data_received": on_fav_tree_view_drag_data_received
|
||||
"on_fav_tree_view_drag_data_received": on_fav_tree_view_drag_data_received,
|
||||
"on_view_popup_menu": on_view_popup_menu
|
||||
}
|
||||
|
||||
|
||||
@@ -76,19 +77,17 @@ def on_paste(item):
|
||||
def on_delete(item):
|
||||
""" Delete selected items from views """
|
||||
for view in [__services_view, __fav_view, __bouquets_view]:
|
||||
selection = view.get_selection()
|
||||
model, paths = selection.get_selected_rows()
|
||||
itrs = [model.get_iter(path) for path in paths]
|
||||
for itr in itrs:
|
||||
model.remove(itr)
|
||||
if view.is_focus():
|
||||
selection = view.get_selection()
|
||||
model, paths = selection.get_selected_rows()
|
||||
itrs = [model.get_iter(path) for path in paths]
|
||||
for itr in itrs:
|
||||
model.remove(itr)
|
||||
|
||||
|
||||
def on_services_tree_view_drag_data_get(view, drag_context, data, info, time):
|
||||
""" DnD """
|
||||
# rows = [model.get(itr, *[x for x in range(view.get_n_columns())]) for itr in itrs]
|
||||
text = get_dnd_selection(view)
|
||||
# print(text)
|
||||
data.set_text(text, -1)
|
||||
data.set_text(get_dnd_selection(view), -1)
|
||||
|
||||
|
||||
def on_fav_tree_view_drag_data_get(view, drag_context, data, info, time):
|
||||
@@ -137,6 +136,12 @@ def on_fav_tree_view_drag_data_received(view, drag_context, x, y, data, info, ti
|
||||
__status_bar.push(1, getattr(e, "message", repr(e)))
|
||||
|
||||
|
||||
def on_view_popup_menu(menu, event):
|
||||
""" Shows popup menu for any view """
|
||||
if event.get_event_type() == Gdk.EventType.BUTTON_PRESS and event.button == Gdk.BUTTON_SECONDARY:
|
||||
menu.popup(None, None, None, None, event.button, event.time)
|
||||
|
||||
|
||||
def on_satellite_editor_show(model):
|
||||
""" Shows satellites editor dialog """
|
||||
show_satellites_dialog(__main_window, __options["data_dir_path"])
|
||||
|
||||
@@ -2,6 +2,29 @@
|
||||
<!-- Generated with glade 3.18.3 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.12"/>
|
||||
<object class="GtkMenu" id="bouquets_popup_menu">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="menuitem6">
|
||||
<property name="label">gtk-add</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="menuitem7">
|
||||
<property name="label">gtk-remove</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>
|
||||
<object class="GtkTreeStore" id="bouquets_tree_store">
|
||||
<columns>
|
||||
<!-- column-name bouquet -->
|
||||
@@ -20,6 +43,44 @@
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkMenu" id="fav_popup_menu">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="fav_cut_popoup_menuitem">
|
||||
<property name="label">gtk-cut</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="imagemenuitem4">
|
||||
<property name="label">gtk-paste</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="imagemenuitem9">
|
||||
<property name="label">gtk-remove</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>
|
||||
<object class="GtkImage" id="image1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
@@ -554,6 +615,7 @@
|
||||
<property name="model">services_list_store</property>
|
||||
<property name="enable_grid_lines">both</property>
|
||||
<property name="activate_on_single_click">True</property>
|
||||
<signal name="button-press-event" handler="on_view_popup_menu" object="services_popup_menu" swapped="no"/>
|
||||
<signal name="drag-data-get" handler="on_services_tree_view_drag_data_get" swapped="no"/>
|
||||
<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"/>
|
||||
@@ -770,6 +832,7 @@
|
||||
<property name="model">fav_list_store</property>
|
||||
<property name="enable_grid_lines">both</property>
|
||||
<property name="activate_on_single_click">True</property>
|
||||
<signal name="button-press-event" handler="on_view_popup_menu" object="fav_popup_menu" swapped="no"/>
|
||||
<signal name="drag-data-get" handler="on_fav_tree_view_drag_data_get" swapped="no"/>
|
||||
<signal name="drag-data-received" handler="on_fav_tree_view_drag_data_received" swapped="no"/>
|
||||
<signal name="key-release-event" handler="on_tree_view_key_release" object="fav_list_store" swapped="no"/>
|
||||
@@ -847,6 +910,7 @@
|
||||
<property name="model">bouquets_tree_store</property>
|
||||
<property name="headers_clickable">False</property>
|
||||
<property name="activate_on_single_click">True</property>
|
||||
<signal name="button-press-event" handler="on_view_popup_menu" object="bouquets_popup_menu" swapped="no"/>
|
||||
<signal name="row-activated" handler="on_bouquets_selection" object="bouquets_tree_store" swapped="no"/>
|
||||
<child internal-child="selection">
|
||||
<object class="GtkTreeSelection" id="bouquets_selection"/>
|
||||
@@ -979,4 +1043,27 @@
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<object class="GtkMenu" id="services_popup_menu">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="imagemenuitem1">
|
||||
<property name="label">gtk-go-forward</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="imagemenuitem2">
|
||||
<property name="label">gtk-remove</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>
|
||||
</interface>
|
||||
|
||||
Reference in New Issue
Block a user