]> git.lyx.org Git - lyx.git/commitdiff
fix some keybindings, fix dead_keys, autoregion_delete and math greek
authorLars Gullik Bjønnes <larsbj@gullik.org>
Wed, 23 May 2001 16:15:14 +0000 (16:15 +0000)
committerLars Gullik Bjønnes <larsbj@gullik.org>
Wed, 23 May 2001 16:15:14 +0000 (16:15 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2023 a592a061-630c-0410-9148-cb99ea01b6c8

lib/ChangeLog
lib/bind/emacs.bind
lib/bind/latinkeys.bind
src/BufferView_pimpl.C
src/ChangeLog
src/LyXAction.C
src/lyx_main.C

index 42cd54a53f76e6563705b7298d68e5212f32b3af..8164cd9887162c11e9375ae90c7851827a8315d2 100644 (file)
@@ -1,3 +1,11 @@
+2001-05-23  Lars Gullik Bjønnes  <larsbj@birdstep.com>
+
+       * bind/latinkeys.bind: set quotedbl to quote-insert, set
+       nobreakspace to protected-space-insert
+
+       * bind/emacs.bind: set C-j to break-paragraph, set C-t to
+       chars-transpose.
+
 2001-05-22  Adrien Rebollo <rebollo@iaf.cnrs-gif.fr>
 
        * lib/kbd/european.kmap:
index a44de33d2eb362b7d9fc465f7b860279b13c1ffb..962b869e949e536a4f2a6a0478286e46a8b62e40 100644 (file)
@@ -33,7 +33,7 @@
 # help in emacs
 \bind "C-h"                    "hyphenation-point-insert" 
 \bind "C-i"                    "hfill-insert"
-#bind "C-j"                    "------"
+\bind "C-j"                    "break-paragraph"
 \bind "C-k"                    "line-delete-forward"
 \bind "C-l"                    "screen-recenter"
 \bind "C-m"                    "mark-toggle"
@@ -47,8 +47,7 @@
 \bind "C-s"                    "find-replace"
 \bind "M-~S-percent"           "find-replace"
 
-# should be "chars-transpose" (swaps two chars)
-#bind "C-t"                    "------"
+\bind "C-t"                    "chars-transpose"
 
 # universal argument in emacs
 \bind "C-u"                    "font-underline"
index fc69964b5c22e3a40df52ae66f83cf654a1c4927..c231c19bf7cad1b1fafac168ede7d60ce9541912 100644 (file)
@@ -3,7 +3,7 @@
 
 \bind "space"                  "self-insert"
 \bind "exclam"                 "self-insert"
-\bind "quotedbl"               "self-insert"
+\bind "quotedbl"               "quote-insert"
 \bind "numbersign"             "self-insert"
 \bind "dollar"                 "self-insert"
 \bind "percent"                        "self-insert"
@@ -99,7 +99,7 @@
 \bind "braceright"             "self-insert"
 \bind "asciitilde"             "self-insert"
 
-\bind "nobreakspace"           "self-insert"
+\bind "nobreakspace"           "protected-space-insert"
 \bind "exclamdown"             "self-insert"
 \bind "cent"                   "self-insert"
 \bind "sterling"               "self-insert"
index 4dc9378059f30eba2c71126da0a9c9a243e9dc6b..6738a2bcd02909328d56268db2b682a61061ead9 100644 (file)
@@ -2410,10 +2410,14 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
        break;
        
        case LFUN_QUOTE:
+#if 0
                beforeChange(TEXT(bv_));
                TEXT(bv_)->InsertChar(bv_, '\"');  // This " matches the single quote in the code
                update(TEXT(bv_), BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
                 moveCursorUpdate(false);
+#else
+               bv_->insertCorrectQuote();
+#endif
                break;
 
        case LFUN_HTMLURL:
@@ -2427,7 +2431,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
                owner_->getDialogs()->createUrl( p.getAsString() );
        }
        break;
-                   
+       
        case LFUN_INSERT_URL:
        {
                InsetCommandParams p;
@@ -2440,7 +2444,7 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
                        bv_->updateInset( inset, true );
        }
        break;
-                   
+       
        case LFUN_INSET_TEXT:
        {
                InsetText * new_inset = new InsetText;
@@ -2887,30 +2891,82 @@ bool BufferView::Pimpl::Dispatch(kb_action action, string const & argument)
 
        case LFUN_SELFINSERT:
        {
-               LyXFont const old_font(TEXT(bv_)->real_current_font);
-               for (string::size_type i = 0; i < argument.length(); ++i) {
-                       TEXT(bv_)->InsertChar(bv_, argument[i]);
+#if 0
+               LyXText * lt = TEXT(bv_);
+               
+               LyXFont const old_font(lt->real_current_font);
+
+               string::const_iterator cit = argument.begin();
+               string::const_iterator end = argument.end();
+               for (; cit != end; ++cit) {
+                       lt->InsertChar(bv_, *cit);
                        // This needs to be in the loop, or else we
                        // won't break lines correctly. (Asger)
-                       update(TEXT(bv_),
+                       update(lt,
                               BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
                }
-               TEXT(bv_)->sel_cursor = TEXT(bv_)->cursor;
+               lt->sel_cursor = lt->cursor;
                moveCursorUpdate(false);
 
                // real_current_font.number can change so we need to 
                // update the minibuffer
-               if (old_font != TEXT(bv_)->real_current_font)
+               if (old_font != lt->real_current_font)
                        owner_->showState();
+#else
+               if (argument.empty()) break;
+               
+               /* Automatically delete the currently selected
+                * text and replace it with what is being
+                * typed in now. Depends on lyxrc settings
+                * "auto_region_delete", which defaults to
+                * true (on). */
+
+               LyXText * lt = TEXT(bv_);
+               
+               if (lyxrc.auto_region_delete) {
+                       if (lt->selection){
+                               lt->CutSelection(bv_, false);
+                               bv_->update(lt,
+                                           BufferView::SELECT
+                                           | BufferView::FITCUR
+                                           | BufferView::CHANGE);
+                       }
+               }
+               
+               bv_->beforeChange(lt);
+               LyXFont const old_font(lt->real_current_font);
+               
+               string::const_iterator cit = argument.begin();
+               string::const_iterator end = argument.end();
+               for (; cit != end; ++cit) {
+                       if (greek_kb_flag) {
+                               if (!math_insert_greek(bv_, *cit))
+                                       owner_->getIntl()->getTrans().TranslateAndInsert(*cit, lt);
+                       } else
+                               owner_->getIntl()->getTrans().TranslateAndInsert(*cit, lt);
+               }
+               
+               bv_->update(lt,
+                           BufferView::SELECT
+                           | BufferView::FITCUR
+                           | BufferView::CHANGE);
+               
+               lt->sel_cursor = lt->cursor;
+               moveCursorUpdate(false);
+               
+               // real_current_font.number can change so we need to
+               // update the minibuffer
+               if (old_font != lt->real_current_font)
+                       owner_->showState();
+               //return string();
+#endif
        }
        break;
 
        case LFUN_DATE_INSERT:  // jdblair: date-insert cmd
        {
-               struct tm * now_tm;
-               
                time_t now_time_t = time(NULL);
-               now_tm = localtime(&now_time_t);
+               struct tm * now_tm = localtime(&now_time_t);
                setlocale(LC_TIME, "");
                string arg;
                if (!argument.empty())
index e99407d3f4eb107c84a47b6049c3cabfdbb9304d..cfae23e97435714b5bbfc283270402bf37f3fed0 100644 (file)
@@ -1,3 +1,15 @@
+2001-05-23  Lars Gullik Bjønnes  <larsbj@birdstep.com>
+
+       * lyx_main.C (defaultKeyBindings): set KP_enter to point at
+       LFUN_BREAKPARAGRAPH.
+
+       * LyXAction.C (init): remove external name for LFUN_LAYOUTNO, set
+       help test to "internal only", similar for LFUN_INSERT_URL
+
+       * BufferView_pimpl.C (Dispatch::LFUN_QUOTE): change it to to the insertcorrectQuote.
+       (Dispatch::LFUN_SELFINSERT): fix to handle math greek,
+       auto_region_delete and deadkeys. 
+
 2001-05-22  John Levon  <moz@compsoc.man.ac.uk>
 
        * LColor.h:
index ddc2c5278d35a1e60ce412e669f570811059e087..5002ee9e500b4d6ace783441d0b95b9d23890640 100644 (file)
@@ -254,7 +254,7 @@ void LyXAction::init()
                { LFUN_LAYOUT_COPY, "layout-copy",
                  N_("Copy paragraph environment type"), Noop },
                { LFUN_LAYOUT_DOCUMENT, "layout-document", "", ReadOnly },
-               { LFUN_LAYOUTNO, "layout-number", "", Noop }, // internal only
+               { LFUN_LAYOUTNO, "", "internal only", Noop },
                { LFUN_LAYOUT_PARAGRAPH, "layout-paragraph", "", ReadOnly },
                { LFUN_LAYOUT_PASTE, "layout-paste",
                  N_("Paste paragraph environment type"), Noop },
@@ -377,7 +377,7 @@ void LyXAction::init()
                { LFUN_UP, "up", "", ReadOnly },
                { LFUN_UPSEL, "up-select", "", ReadOnly },
                { LFUN_URL, "url-insert", "", Noop },
-               { LFUN_INSERT_URL, "", "", Noop },
+               { LFUN_INSERT_URL, "", "internal only", Noop },
                { LFUN_VC_CHECKIN, "vc-check-in", "", ReadOnly },
                { LFUN_VC_CHECKOUT, "vc-check-out", "", ReadOnly },
                { LFUN_VC_HISTORY, "vc-history", "", ReadOnly },
index c3122ef1e7ee4bd774b6d998f439bbf4d10793e9..259ad5c5b5b983e15c310dbf005317fb18dcb654 100644 (file)
@@ -473,7 +473,7 @@ void LyX::defaultKeyBindings(kb_keymap  * kbmap)
        // e.g. Num Lock set
        kbmap->bind("KP_0", LFUN_SELFINSERT);
        kbmap->bind("KP_Decimal", LFUN_SELFINSERT);
-       kbmap->bind("KP_Enter", LFUN_SELFINSERT);
+       kbmap->bind("KP_Enter", LFUN_BREAKPARAGRAPH);
        kbmap->bind("KP_1", LFUN_SELFINSERT);
        kbmap->bind("KP_2", LFUN_SELFINSERT);
        kbmap->bind("KP_3", LFUN_SELFINSERT);