[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kant
Subject:    [PATCH] 6 lines up/down
From:       Tim Jansen <tjansen () gmx ! net>
Date:       2002-02-28 16:39:16
[Download RAW message or body]

Hi...

Please consider applying the following patch. It adds two shortcuts to kate: 
move cursor 6 lines down, and move cursor 6 lines up. This is a standard 
feature in Emacs, usually mapped on Control-Up and Control-Down. Because both 
keys are already used in Kate (for scroll up/down) they are not mapped in the 
patch.

bye...

["kate-c6.patch" (text/x-diff)]

Index: part/kateview.cpp
===================================================================
RCS file: /home/kde/kdelibs/kate/part/kateview.cpp,v
retrieving revision 1.105
diff -u -r1.105 kateview.cpp
--- part/kateview.cpp	2002/02/27 20:23:00	1.105
+++ part/kateview.cpp	2002/02/28 16:19:38
@@ -188,6 +188,12 @@
     case KateView::cmDown:
       cursorDown(c);
       break;
+    case KateView::cmUp6:
+      cursorUp6(c);
+      break;
+    case KateView::cmDown6:
+      cursorDown6(c);
+      break;
     case KateView::cmScrollUp:
       scrollUp(c);
       break;
@@ -379,6 +385,13 @@
   changeState(c);
 }
 
+void KateViewInternal::cursorUp6(VConfig &c) {
+
+  cursor.line -= 6;
+  cXPos = myDoc->textWidth(c.flags & KateDocument::cfWrapCursor,cursor,cOldXPos);
+  changeState(c);
+}
+
 
 void KateViewInternal::cursorDown(VConfig &c) {
   int x;
@@ -395,6 +408,22 @@
   changeState(c);
 }
 
+void KateViewInternal::cursorDown6(VConfig &c) {
+  int x;
+
+  if ((cursor.line+6) >= (int)myDoc->lastLine()) {
+    cursor.line = (int)myDoc->lastLine();
+    x = myDoc->textLength(cursor.line);
+    cursor.col = x;
+    cXPos = myDoc->textWidth(cursor);
+  } else {
+    cursor.line+=6;
+    cXPos = myDoc->textWidth(c.flags & KateDocument::cfWrapCursor, cursor, \
cOldXPos); +  }
+  changeState(c);
+}
+
+
 void KateViewInternal::scrollUp(VConfig &c) {
 
   if (! yPos) return;
@@ -1446,10 +1475,14 @@
   m_editAccels->insert("KATE_CURSOR_UP",i18n("Cursor up"),"","Up",this,SLOT(up()));
   m_editAccels->insert("KATE_CURSOR_UP_SELECT",i18n("Cursor up + \
SELECT"),"","Shift+Up",this,SLOT(shiftUp()));  \
m_editAccels->insert("KATE_SCROLL_UP",i18n("Scroll one line \
up"),"","Ctrl+Up",this,SLOT(scrollUp())); +  \
m_editAccels->insert("KATE_CURSOR_UP6",i18n("Cursor 6 lines \
up"),"","",this,SLOT(up6())); +  \
m_editAccels->insert("KATE_CURSOR_UP6_SELECT",i18n("Cursor 6 lines up + \
SELECT"),"","",this,SLOT(shiftUp6()));  
   m_editAccels->insert("KATE_CURSOR_DOWN",i18n("Cursor \
down"),"","Down",this,SLOT(down()));  \
m_editAccels->insert("KATE_CURSOR_DOWN_SELECT",i18n("Cursor down + \
SELECT"),"","Shift+Down",this,SLOT(shiftDown()));  \
m_editAccels->insert("KATE_SCROLL_DOWN",i18n("Scroll one line \
down"),"","Ctrl+Down",this,SLOT(scrollDown())); +  \
m_editAccels->insert("KATE_CURSOR_DOWN6",i18n("Cursor 6 lines \
down"),"","",this,SLOT(down6())); +  \
m_editAccels->insert("KATE_CURSOR_DOWN6_SELECT",i18n("Cursor 6 lines down + \
SELECT"),"","",this,SLOT(shiftDown6()));  
   KConfig config("kateeditkeysrc");
   m_editAccels->readSettings(&config);
Index: part/kateview.h
===================================================================
RCS file: /home/kde/kdelibs/kate/part/kateview.h,v
retrieving revision 1.55
diff -u -r1.55 kateview.h
--- part/kateview.h	2002/02/26 04:16:40	1.55
+++ part/kateview.h	2002/02/28 16:19:38
@@ -121,6 +121,8 @@
     void end(VConfig &);
     void cursorUp(VConfig &);
     void cursorDown(VConfig &);
+    void cursorUp6(VConfig &);
+    void cursorDown6(VConfig &);
     void scrollUp(VConfig &);
     void scrollDown(VConfig &);
     void topOfView(VConfig &);
@@ -482,6 +484,10 @@
     void shiftUp() {doCursorCommand(KateView::cmUp | selectFlag);};
     void down() {doCursorCommand(KateView::cmDown);};
     void shiftDown() {doCursorCommand(KateView::cmDown | selectFlag);};
+    void up6() {doCursorCommand(KateView::cmUp6);};
+    void shiftUp6() {doCursorCommand(KateView::cmUp6 | selectFlag);};
+    void down6() {doCursorCommand(KateView::cmDown6);};
+    void shiftDown6() {doCursorCommand(KateView::cmDown6 | selectFlag);};
     void scrollUp() {doCursorCommand(KateView::cmScrollUp);};
     void scrollDown() {doCursorCommand(KateView::cmScrollDown);};
     void topOfView() {doCursorCommand(KateView::cmTopOfView);};
@@ -622,7 +628,7 @@
        cmHome,cmEnd,cmUp,cmDown,
        cmScrollUp,cmScrollDown,cmTopOfView,cmBottomOfView,
        cmPageUp,cmPageDown,cmCursorPageUp,cmCursorPageDown,
-       cmTop,cmBottom};
+       cmTop,cmBottom,cmUp6,cmDown6};
 
 //edit commands
     enum Edit_commands {
Index: part/kateviewdialog.cpp
===================================================================
RCS file: /home/kde/kdelibs/kate/part/kateviewdialog.cpp,v
retrieving revision 1.28
diff -u -r1.28 kateviewdialog.cpp
--- part/kateviewdialog.cpp	2002/02/25 22:18:50	1.28
+++ part/kateviewdialog.cpp	2002/02/28 16:19:38
@@ -683,10 +683,14 @@
   m_editAccels->insert("KATE_CURSOR_UP",i18n("Cursor \
up"),"","Up",this,SLOT(dummy()));  \
m_editAccels->insert("KATE_CURSOR_UP_SELECT",i18n("Cursor up + \
SELECT"),"","Shift+Up",this,SLOT(dummy()));  \
m_editAccels->insert("KATE_SCROLL_UP",i18n("Scroll one line \
up"),"","Ctrl+Up",this,SLOT(dummy())); +  \
m_editAccels->insert("KATE_CURSOR_UP6",i18n("Cursor 6 lines \
up"),"","",this,SLOT(dummy())); +  \
m_editAccels->insert("KATE_CURSOR_UP6_SELECT",i18n("Cursor 6 lines up + \
SELECT"),"","",this,SLOT(dummy()));  
   m_editAccels->insert("KATE_CURSOR_DOWN",i18n("Cursor \
down"),"","Down",this,SLOT(dummy()));  \
m_editAccels->insert("KATE_CURSOR_DOWN_SELECT",i18n("Cursor down + \
SELECT"),"","Shift+Down",this,SLOT(dummy()));  \
m_editAccels->insert("KATE_SCROLL_DOWN",i18n("Scroll one line \
down"),"","Ctrl+Down",this,SLOT(dummy())); +  \
m_editAccels->insert("KATE_CURSOR_DOWN6",i18n("Cursor 6 lines \
down"),"","",this,SLOT(dummy())); +  \
m_editAccels->insert("KATE_CURSOR_DOWN6_SELECT",i18n("Cursor 6 lines down + \
SELECT"),"","",this,SLOT(dummy()));  }
 
 void EditKeyConfiguration::save()


_______________________________________________
kde-kant mailing list
kde-kant@
http://mail.kde.org/mailman/listinfo/kde-kant

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic