From d9071632d2e455fc4fc880b1a28c4612caed73dd Mon Sep 17 00:00:00 2001 From: Dmitriy Yefremov Date: Sat, 14 Apr 2018 00:05:08 +0300 Subject: [PATCH] grouping the scattered rows on move --- app/ui/main_helper.py | 27 ++++++++++++++------------- app/ui/satellites_dialog.py | 2 ++ build-deb.sh | 2 +- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/app/ui/main_helper.py b/app/ui/main_helper.py index a1f43f91..8291a88a 100644 --- a/app/ui/main_helper.py +++ b/app/ui/main_helper.py @@ -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 *******************# diff --git a/app/ui/satellites_dialog.py b/app/ui/satellites_dialog.py index 0a5268eb..69ef5d46 100644 --- a/app/ui/satellites_dialog.py +++ b/app/ui/satellites_dialog.py @@ -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): diff --git a/build-deb.sh b/build-deb.sh index f5b95f72..d0d7a67d 100755 --- a/build-deb.sh +++ b/build-deb.sh @@ -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"