summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2010-04-27 17:58:17 +0200
committerYorhel <git@yorhel.nl>2010-04-27 17:58:17 +0200
commit79733f7d6451016a3805793a2ca1677a71103b72 (patch)
tree4cfe26de56ce8c50a7f77113dd10bc30bded9ea4
parenteed949d48d2cad8225da52feaa6986faa3173f35 (diff)
Determine which item to select after deletion in browser.c
Rather than the ugly hack in delete.c.
-rw-r--r--src/browser.c3
-rw-r--r--src/delete.c8
2 files changed, 4 insertions, 7 deletions
diff --git a/src/browser.c b/src/browser.c
index 9e9ccf6..3d43159 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -379,7 +379,8 @@ int browse_key(int ch) {
break;
info_show = 0;
if((t = dirlist_get(1)) == sel)
- t = dirlist_get(-1);
+ if((t = dirlist_get(-1)) == sel || t == dirlist_parent)
+ t = sel->parent;
delete_init(sel, t);
break;
}
diff --git a/src/delete.c b/src/delete.c
index cc44d24..b26ef54 100644
--- a/src/delete.c
+++ b/src/delete.c
@@ -211,9 +211,6 @@ delete_nxt:
void delete_process() {
- /* determine dir to open after successful delete */
- struct dir *n = root->parent->sub != root ? root->parent->sub : root->next ? root->next : root->parent;
-
/* confirm */
seloption = 1;
while(state == DS_CONFIRM && !noconfirm)
@@ -237,9 +234,8 @@ void delete_process() {
if(delete_dir(root))
browse_init(root);
else {
- if(nextsel)
- nextsel->flags |= FF_BSEL;
- browse_init(n);
+ nextsel->flags |= FF_BSEL;
+ browse_init(nextsel);
}
}