mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-05-07 17:55:55 +02:00
added move
This commit is contained in:
@@ -47,10 +47,12 @@ def get_handlers():
|
||||
"on_copy": on_copy,
|
||||
"on_paste": on_paste,
|
||||
"on_delete": on_delete,
|
||||
"on_to_fav_move": on_to_fav_move,
|
||||
"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_view_popup_menu": on_view_popup_menu
|
||||
"on_view_popup_menu": on_view_popup_menu,
|
||||
"on_fav_list_changed": on_fav_list_changed
|
||||
}
|
||||
|
||||
|
||||
@@ -85,35 +87,33 @@ def on_delete(item):
|
||||
model.remove(itr)
|
||||
|
||||
|
||||
def on_services_tree_view_drag_data_get(view, drag_context, data, info, time):
|
||||
""" DnD """
|
||||
data.set_text(get_dnd_selection(view), -1)
|
||||
def on_to_fav_move(view):
|
||||
""" Move items from main to fav list """
|
||||
selection = get_selection(view)
|
||||
if selection:
|
||||
receive_selection(view=__fav_view, drop_info=None, data=selection)
|
||||
|
||||
|
||||
def on_fav_tree_view_drag_data_get(view, drag_context, data, info, time):
|
||||
""" DnD """
|
||||
data.set_text(get_dnd_selection(view), -1)
|
||||
|
||||
|
||||
def get_dnd_selection(view):
|
||||
def get_selection(view):
|
||||
""" Creates a string from the iterators of the selected rows """
|
||||
selection = view.get_selection()
|
||||
model, paths = selection.get_selected_rows()
|
||||
itrs = [model.get_iter(path) for path in paths]
|
||||
return "{}:{}".format(",".join([model.get_string_from_iter(itr) for itr in itrs]), model.get_name())
|
||||
if len(paths) > 0:
|
||||
itrs = [model.get_iter(path) for path in paths]
|
||||
return "{}:{}".format(",".join([model.get_string_from_iter(itr) for itr in itrs]), model.get_name())
|
||||
|
||||
|
||||
def on_fav_tree_view_drag_data_received(view, drag_context, x, y, data, info, time):
|
||||
""" DnD """
|
||||
def receive_selection(*, view, drop_info, data):
|
||||
""" Update fav view after data received """
|
||||
model = view.get_model()
|
||||
dest_index = 0
|
||||
drop_info = view.get_dest_row_at_pos(x, y)
|
||||
if drop_info:
|
||||
path, position = drop_info
|
||||
print(path, position)
|
||||
dest_iter = model.get_iter(path)
|
||||
if dest_iter:
|
||||
dest_index = model.get_value(dest_iter, 0)
|
||||
itr_str, sep, source = data.get_text().partition(":")
|
||||
itr_str, sep, source = data.partition(":")
|
||||
itrs = itr_str.split(",")
|
||||
try:
|
||||
if source == "services_list_store":
|
||||
@@ -136,6 +136,26 @@ 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_services_tree_view_drag_data_get(view, drag_context, data, info, time):
|
||||
""" DnD """
|
||||
data.set_text(get_selection(view), -1)
|
||||
|
||||
|
||||
def on_fav_tree_view_drag_data_get(view, drag_context, data, info, time):
|
||||
""" DnD """
|
||||
data.set_text(get_selection(view), -1)
|
||||
|
||||
|
||||
def on_fav_tree_view_drag_data_received(view, drag_context, x, y, data, info, time):
|
||||
""" DnD """
|
||||
receive_selection(view=view, drop_info=view.get_dest_row_at_pos(x, y), data=data.get_text())
|
||||
|
||||
|
||||
def on_fav_list_changed(*args):
|
||||
""" """
|
||||
print("Changed")
|
||||
|
||||
|
||||
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:
|
||||
@@ -210,7 +230,6 @@ def on_tree_view_key_release(widget, event):
|
||||
if key == Gdk.KEY_Tab:
|
||||
print("Tab")
|
||||
if key == Gdk.KEY_Delete:
|
||||
print("Delete")
|
||||
on_delete(widget)
|
||||
if key == Gdk.KEY_Up:
|
||||
print("Up")
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
<!-- column-name pos -->
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
<signal name="rows-reordered" handler="on_fav_list_changed" swapped="no"/>
|
||||
</object>
|
||||
<object class="GtkMenu" id="fav_popup_menu">
|
||||
<property name="visible">True</property>
|
||||
@@ -146,7 +147,7 @@
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkMenuBar" id="menubar1">
|
||||
<object class="GtkMenuBar" id="menubar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
@@ -341,7 +342,7 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolbar" id="toolbar1">
|
||||
<object class="GtkToolbar" id="toolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
@@ -431,6 +432,20 @@
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="to_fav_tool_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Move</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-go-forward</property>
|
||||
<signal name="clicked" handler="on_to_fav_move" object="services_tree_view" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="up_tool_button">
|
||||
<property name="visible">True</property>
|
||||
@@ -1047,12 +1062,13 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="imagemenuitem1">
|
||||
<object class="GtkImageMenuItem" id="to_fav_move_popup_menu_item">
|
||||
<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>
|
||||
<signal name="activate" handler="on_to_fav_move" object="services_tree_view" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
|
||||
Reference in New Issue
Block a user