[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs qe.c qe.h qeconfig.h
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs qe.c qe.h qeconfig.h |
Date: |
Sun, 16 Aug 2015 17:40:41 +0000 |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 15/08/16 17:40:41
Modified files:
. : qe.c qe.h qeconfig.h
Log message:
view-mode: improve navigation
- move cursor instead of scrolling at top of file
- move cursor horizontally except left on bol
- scroll-left anf scroll-right toggle line-wrapping
- change some bindings
C-down -> forward-paragraph
C-up -> backward-paragraph
- fix scroll-left and scroll-right direction argument
- add eb_at_bol(b, offset) primitive
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.197&r2=1.198
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.194&r2=1.195
http://cvs.savannah.gnu.org/viewcvs/qemacs/qeconfig.h?cvsroot=qemacs&r1=1.51&r2=1.52
Patches:
Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.197
retrieving revision 1.198
diff -u -b -r1.197 -r1.198
--- qe.c 15 Aug 2015 14:18:51 -0000 1.197
+++ qe.c 16 Aug 2015 17:40:40 -0000 1.198
@@ -942,9 +942,13 @@
{
#ifndef CONFIG_TINY
if (s->b->flags & BF_PREVIEW) {
- if (s->mode->scroll_up_down)
+ if (s->mode->scroll_up_down
+ && (dir > 0 || s->offset_top > 0)
+ && eb_at_bol(s->b, s->offset)) {
s->mode->scroll_up_down(s, dir);
- } else
+ return;
+ }
+ }
#endif
if (s->mode->move_up_down)
s->mode->move_up_down(s, dir);
@@ -955,9 +959,12 @@
#ifndef CONFIG_TINY
if (s->b->flags & BF_PREVIEW) {
EditState *e = find_window(s, KEY_LEFT);
- if (e && (e->b->flags & BF_DIRED) && dir < 0)
+ if (e && (e->b->flags & BF_DIRED)
+ && dir < 0 && eb_at_bol(s->b, s->offset)) {
s->qe_state->active_window = e;
- } else
+ return;
+ }
+ }
#endif
if (s->mode->move_left_right)
s->mode->move_left_right(s, dir);
@@ -1059,8 +1066,21 @@
void do_scroll_left_right(EditState *s, int dir)
{
+ if (dir < 0) {
+ if (s->x_disp[0] == 0) {
+ s->wrap = WRAP_LINE;
+ } else {
+ /* XXX: should change x_disp by space_width increments */
+ s->x_disp[0] += dir;
+ }
+ } else {
+ if (s->wrap == WRAP_LINE) {
+ s->wrap = WRAP_TRUNCATE;
+ } else {
/* XXX: should change x_disp by space_width increments */
s->x_disp[0] += dir;
+ }
+ }
}
void do_scroll_up_down(EditState *s, int dir)
Index: qe.h
===================================================================
RCS file: /sources/qemacs/qemacs/qe.h,v
retrieving revision 1.194
retrieving revision 1.195
diff -u -b -r1.194 -r1.195
--- qe.h 15 Aug 2015 13:08:42 -0000 1.194
+++ qe.h 16 Aug 2015 17:40:41 -0000 1.195
@@ -988,6 +988,9 @@
int eb_goto_char(EditBuffer *b, int pos);
int eb_get_char_offset(EditBuffer *b, int offset);
int eb_delete_range(EditBuffer *b, int p1, int p2);
+static inline int eb_at_bol(EditBuffer *b, int offset) {
+ return eb_prevc(b, offset, &offset) == '\n';
+}
//int eb_clip_offset(EditBuffer *b, int offset);
void do_undo(EditState *s);
void do_redo(EditState *s);
Index: qeconfig.h
===================================================================
RCS file: /sources/qemacs/qemacs/qeconfig.h,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -b -r1.51 -r1.52
--- qeconfig.h 11 Aug 2015 17:45:31 -0000 1.51
+++ qeconfig.h 16 Aug 2015 17:40:41 -0000 1.52
@@ -200,9 +200,9 @@
CMD0( KEY_META('h'), KEY_NONE,
"mark-paragraph", do_mark_paragraph)
- CMD0( KEY_META('{'), KEY_META('['),
+ CMD0( KEY_META('{'), KEY_CTRL_UP, /* KEY_META('[') */
"backward-paragraph", do_backward_paragraph)
- CMD0( KEY_META('}'), KEY_META(']'),
+ CMD0( KEY_META('}'), KEY_CTRL_DOWN, /* KEY_META(']') */
"forward-paragraph", do_forward_paragraph)
CMD2( KEY_META('q'), KEY_NONE,
"fill-paragraph", do_fill_paragraph, ES, "*")
@@ -277,9 +277,9 @@
CMD1( KEY_CTRL('x'), KEY_RIGHT,
"find-window-right", do_find_window, KEY_RIGHT)
CMD1( KEY_META('('), KEY_NONE,
- "scroll-left", do_scroll_left_right, -1)
+ "scroll-left", do_scroll_left_right, 1)
CMD1( KEY_META(')'), KEY_NONE,
- "scroll-right", do_scroll_left_right, 1)
+ "scroll-right", do_scroll_left_right, -1)
CMD1( KEY_NONE, KEY_NONE,
"preview-mode", do_preview_mode, 1)
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemacs-commit] qemacs qe.c qe.h qeconfig.h,
Charlie Gordon <=