mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-01-24 16:30:14 +01:00
grouping the scattered rows on move
This commit is contained in:
@@ -4,7 +4,7 @@ import shutil
|
||||
from enum import Enum
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
from app.commons import run_idle, run_task
|
||||
from app.commons import run_task
|
||||
from app.eparser import Service
|
||||
from app.eparser.ecommons import Flag, BouquetService, Bouquet, BqType
|
||||
from app.eparser.enigma.bouquets import BqServiceType, to_bouquet_id
|
||||
@@ -82,6 +82,15 @@ def move_items(key, view):
|
||||
model, paths = selection.get_selected_rows()
|
||||
|
||||
if paths:
|
||||
# grouping the scattered rows
|
||||
if len(paths) > 1:
|
||||
top_iter = model.get_iter(paths[0])
|
||||
for i in range(1, len(paths)):
|
||||
itr = model.get_iter(paths[i])
|
||||
model.move_after(itr, top_iter)
|
||||
top_iter = itr
|
||||
|
||||
model, paths = selection.get_selected_rows()
|
||||
# for correct down move!
|
||||
if key in (Gdk.KEY_Down, Gdk.KEY_Page_Down, Gdk.KEY_KP_Page_Down):
|
||||
paths = reversed(paths)
|
||||
@@ -89,21 +98,13 @@ def move_items(key, view):
|
||||
for path in paths:
|
||||
itr = model.get_iter(path)
|
||||
if key == Gdk.KEY_Down:
|
||||
next_itr = model.iter_next(itr)
|
||||
if next_itr:
|
||||
model.move_after(itr, next_itr)
|
||||
model.move_after(itr, model.iter_next(itr))
|
||||
elif key == Gdk.KEY_Up:
|
||||
prev_itr = model.iter_previous(itr)
|
||||
if prev_itr:
|
||||
model.move_before(itr, prev_itr)
|
||||
model.move_before(itr, model.iter_previous(itr))
|
||||
elif key == Gdk.KEY_Page_Up or key == Gdk.KEY_KP_Page_Up:
|
||||
up_itr = model.get_iter(view.get_cursor()[0])
|
||||
if up_itr:
|
||||
model.move_before(itr, up_itr)
|
||||
model.move_before(itr, model.get_iter(view.get_cursor()[0]))
|
||||
elif key == Gdk.KEY_Page_Down or key == Gdk.KEY_KP_Page_Down:
|
||||
down_itr = model.get_iter(view.get_cursor()[0])
|
||||
if down_itr:
|
||||
model.move_after(itr, down_itr)
|
||||
model.move_after(itr, model.get_iter(view.get_cursor()[0]))
|
||||
|
||||
|
||||
# ***************** Rename *******************#
|
||||
|
||||
@@ -129,6 +129,8 @@ class SatellitesDialog:
|
||||
move_items(key, self._sat_view)
|
||||
elif ctrl and key in (Gdk.KEY_Down, Gdk.KEY_Page_Down, Gdk.KEY_KP_Page_Down):
|
||||
move_items(key, self._sat_view)
|
||||
elif key == Gdk.KEY_Left or key == Gdk.KEY_Right:
|
||||
view.do_unselect_all(view)
|
||||
|
||||
@run_idle
|
||||
def on_satellites_list_load(self, model):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
VER="0.3.0_Pre-alpha"
|
||||
VER="0.3.1_Pre-alpha"
|
||||
B_PATH="dist/DemonEditor"
|
||||
DEB_PATH="$B_PATH/usr/share/demoneditor"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user