sys : corection of the keypad enter and add the shift+enter replacement with \r
This commit is contained in:
parent
1b3dd3ce98
commit
1de1f787e7
@ -977,24 +977,28 @@ void BufferText::AddChar(char * UTF8data)
|
|||||||
actionDone = true;
|
actionDone = true;
|
||||||
} else if (UTF8data[0] == '\n') {
|
} else if (UTF8data[0] == '\n') {
|
||||||
Edn::VectorType<int8_t> tmpVect;
|
Edn::VectorType<int8_t> tmpVect;
|
||||||
tmpVect.PushBack('\n');
|
if (true == globals::IsSetShift()) {
|
||||||
// if Auto indent Enable ==> we get the start of the previous line and add it to tne new one
|
tmpVect.PushBack('\r');
|
||||||
if (true == globals::IsSetAutoIndent() ) {
|
} else {
|
||||||
int32_t l_lineStart;
|
tmpVect.PushBack('\n');
|
||||||
// Get the begin of the line or the begin of the line befor selection
|
// if Auto indent Enable ==> we get the start of the previous line and add it to tne new one
|
||||||
if (false == haveSelectionActive) {
|
if (true == globals::IsSetAutoIndent() ) {
|
||||||
l_lineStart = m_EdnBuf.StartOfLine(m_cursorPos);
|
int32_t l_lineStart;
|
||||||
} else {
|
// Get the begin of the line or the begin of the line befor selection
|
||||||
l_lineStart = m_EdnBuf.StartOfLine(SelectionStart);
|
if (false == haveSelectionActive) {
|
||||||
}
|
l_lineStart = m_EdnBuf.StartOfLine(m_cursorPos);
|
||||||
// add same characters in the temporar buffer
|
|
||||||
for (int32_t kk=l_lineStart; kk<m_cursorPos; kk++) {
|
|
||||||
if (' ' == m_EdnBuf[kk]) {
|
|
||||||
tmpVect.PushBack(' ');
|
|
||||||
} else if('\t' == m_EdnBuf[kk]) {
|
|
||||||
tmpVect.PushBack('\t');
|
|
||||||
} else {
|
} else {
|
||||||
break;
|
l_lineStart = m_EdnBuf.StartOfLine(SelectionStart);
|
||||||
|
}
|
||||||
|
// add same characters in the temporar buffer
|
||||||
|
for (int32_t kk=l_lineStart; kk<m_cursorPos; kk++) {
|
||||||
|
if (' ' == m_EdnBuf[kk]) {
|
||||||
|
tmpVect.PushBack(' ');
|
||||||
|
} else if('\t' == m_EdnBuf[kk]) {
|
||||||
|
tmpVect.PushBack('\t');
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -600,13 +600,11 @@ void ConvertInput(GdkEventKey *event, char* Utf8Out, bool &controlKey, bool &mov
|
|||||||
break;
|
break;
|
||||||
# ifdef USE_GTK_VERSION_3_0
|
# ifdef USE_GTK_VERSION_3_0
|
||||||
case GDK_KEY_KP_Enter:
|
case GDK_KEY_KP_Enter:
|
||||||
key = GDK_KEY_Return;
|
|
||||||
break;
|
|
||||||
# elif USE_GTK_VERSION_2_0
|
# elif USE_GTK_VERSION_2_0
|
||||||
case GDK_KP_Enter:
|
case GDK_KP_Enter:
|
||||||
key = GDK_Return;
|
|
||||||
break;
|
|
||||||
# endif
|
# endif
|
||||||
|
key = '\n';
|
||||||
|
break;
|
||||||
# ifdef USE_GTK_VERSION_3_0
|
# ifdef USE_GTK_VERSION_3_0
|
||||||
case GDK_KEY_KP_F1:
|
case GDK_KEY_KP_F1:
|
||||||
case GDK_KEY_F1:
|
case GDK_KEY_F1:
|
||||||
@ -1040,17 +1038,125 @@ void ConvertInput(GdkEventKey *event, char* Utf8Out, bool &controlKey, bool &mov
|
|||||||
# endif
|
# endif
|
||||||
key = 0x08;
|
key = 0x08;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
# ifdef USE_GTK_VERSION_3_0
|
||||||
|
case GDK_KEY_dead_grave:
|
||||||
|
case GDK_KEY_dead_acute:
|
||||||
|
case GDK_KEY_dead_circumflex:
|
||||||
|
case GDK_KEY_dead_tilde:
|
||||||
|
case GDK_KEY_dead_macron:
|
||||||
|
case GDK_KEY_dead_breve:
|
||||||
|
case GDK_KEY_dead_abovedot:
|
||||||
|
case GDK_KEY_dead_diaeresis:
|
||||||
|
case GDK_KEY_dead_abovering:
|
||||||
|
case GDK_KEY_dead_doubleacute:
|
||||||
|
case GDK_KEY_dead_caron:
|
||||||
|
case GDK_KEY_dead_cedilla:
|
||||||
|
case GDK_KEY_dead_ogonek:
|
||||||
|
case GDK_KEY_dead_iota:
|
||||||
|
case GDK_KEY_dead_voiced_sound:
|
||||||
|
case GDK_KEY_dead_semivoiced_sound:
|
||||||
|
case GDK_KEY_dead_belowdot:
|
||||||
|
case GDK_KEY_dead_hook:
|
||||||
|
case GDK_KEY_dead_horn:
|
||||||
|
case GDK_KEY_dead_stroke:
|
||||||
|
case GDK_KEY_dead_abovecomma:
|
||||||
|
case GDK_KEY_dead_abovereversedcomma:
|
||||||
|
case GDK_KEY_dead_doublegrave:
|
||||||
|
case GDK_KEY_dead_belowring:
|
||||||
|
case GDK_KEY_dead_belowmacron:
|
||||||
|
case GDK_KEY_dead_belowcircumflex:
|
||||||
|
case GDK_KEY_dead_belowtilde:
|
||||||
|
case GDK_KEY_dead_belowbreve:
|
||||||
|
case GDK_KEY_dead_belowdiaeresis:
|
||||||
|
case GDK_KEY_dead_invertedbreve:
|
||||||
|
case GDK_KEY_dead_belowcomma:
|
||||||
|
case GDK_KEY_dead_currency:
|
||||||
|
case GDK_KEY_dead_a:
|
||||||
|
case GDK_KEY_dead_A:
|
||||||
|
case GDK_KEY_dead_e:
|
||||||
|
case GDK_KEY_dead_E:
|
||||||
|
case GDK_KEY_dead_i:
|
||||||
|
case GDK_KEY_dead_I:
|
||||||
|
case GDK_KEY_dead_o:
|
||||||
|
case GDK_KEY_dead_O:
|
||||||
|
case GDK_KEY_dead_u:
|
||||||
|
case GDK_KEY_dead_U:
|
||||||
|
case GDK_KEY_dead_small_schwa:
|
||||||
|
case GDK_KEY_dead_capital_schwa:
|
||||||
|
# elif USE_GTK_VERSION_2_0
|
||||||
|
case GDK_dead_grave:
|
||||||
|
case GDK_dead_acute:
|
||||||
|
case GDK_dead_circumflex:
|
||||||
|
key = '^';
|
||||||
|
break;
|
||||||
|
case GDK_dead_tilde:
|
||||||
|
case GDK_dead_macron:
|
||||||
|
case GDK_dead_breve:
|
||||||
|
case GDK_dead_abovedot:
|
||||||
|
case GDK_dead_diaeresis:
|
||||||
|
case GDK_dead_abovering:
|
||||||
|
case GDK_dead_doubleacute:
|
||||||
|
case GDK_dead_caron:
|
||||||
|
case GDK_dead_cedilla:
|
||||||
|
case GDK_dead_ogonek:
|
||||||
|
case GDK_dead_iota:
|
||||||
|
case GDK_dead_voiced_sound:
|
||||||
|
case GDK_dead_semivoiced_sound:
|
||||||
|
case GDK_dead_belowdot:
|
||||||
|
case GDK_dead_hook:
|
||||||
|
case GDK_dead_horn:
|
||||||
|
case GDK_dead_stroke:
|
||||||
|
case GDK_dead_abovecomma:
|
||||||
|
case GDK_dead_abovereversedcomma:
|
||||||
|
case GDK_dead_doublegrave:
|
||||||
|
case GDK_dead_belowring:
|
||||||
|
case GDK_dead_belowmacron:
|
||||||
|
case GDK_dead_belowcircumflex:
|
||||||
|
case GDK_dead_belowtilde:
|
||||||
|
case GDK_dead_belowbreve:
|
||||||
|
case GDK_dead_belowdiaeresis:
|
||||||
|
case GDK_dead_invertedbreve:
|
||||||
|
case GDK_dead_belowcomma:
|
||||||
|
case GDK_dead_currency:
|
||||||
|
key = '?';
|
||||||
|
break;
|
||||||
|
case GDK_dead_a:
|
||||||
|
EDN_INFO("dead a");
|
||||||
|
//key = 'a';
|
||||||
|
break;
|
||||||
|
case GDK_dead_A:
|
||||||
|
case GDK_dead_e:
|
||||||
|
case GDK_dead_E:
|
||||||
|
case GDK_dead_i:
|
||||||
|
case GDK_dead_I:
|
||||||
|
case GDK_dead_o:
|
||||||
|
case GDK_dead_O:
|
||||||
|
case GDK_dead_u:
|
||||||
|
case GDK_dead_U:
|
||||||
|
case GDK_dead_small_schwa:
|
||||||
|
case GDK_dead_capital_schwa:
|
||||||
|
# endif
|
||||||
|
key = '?';
|
||||||
|
break;
|
||||||
|
case GDK_Caps_Lock:
|
||||||
|
controlKey = true;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// Transform in unicode the input :
|
// Transform in unicode the input :
|
||||||
|
//EDN_INFO("key : " << key);
|
||||||
int32_t unichar = gdk_keyval_to_unicode(key);
|
int32_t unichar = gdk_keyval_to_unicode(key);
|
||||||
|
//EDN_INFO("unichar : " << unichar);
|
||||||
if (unichar == 0) {
|
if (unichar == 0) {
|
||||||
Utf8Out[0] = (char)key;
|
Utf8Out[0] = (char)key;
|
||||||
Utf8Out[1] = '\0';
|
Utf8Out[1] = '\0';
|
||||||
|
//EDN_INFO("NON UTF8 : " << Utf8Out);
|
||||||
} else {
|
} else {
|
||||||
// Generate UTF8 form UniCode
|
// Generate UTF8 form UniCode
|
||||||
convertUnicodeToUtf8(unichar, Utf8Out);
|
convertUnicodeToUtf8(unichar, Utf8Out);
|
||||||
|
//EDN_INFO("UTF8 : " << Utf8Out);
|
||||||
#if 0
|
#if 0
|
||||||
printf(" convertUnicodeToUtf8 : \"0x%08x\" ==> unichar=%d %s\n", key, unichar, Utf8Out);
|
printf(" convertUnicodeToUtf8 : \"0x%08x\" ==> unichar=%d %s\n", key, unichar, Utf8Out);
|
||||||
for (int32_t uu=0; uu < strlen(Utf8Out); uu++) {
|
for (int32_t uu=0; uu < strlen(Utf8Out); uu++) {
|
||||||
|
@ -9,12 +9,11 @@
|
|||||||
* SQL
|
* SQL
|
||||||
- sys : replace TAB with space when Tab is pressed
|
- sys : replace TAB with space when Tab is pressed
|
||||||
- sys : Catch F[1-12] ==> for user personal event
|
- sys : Catch F[1-12] ==> for user personal event
|
||||||
- sys : replace when TAB pressed and the selection did not selent more than one element
|
- sys : replace when TAB pressed and the selection did not select more than one Line
|
||||||
- BUG : Correction du bug des entré bizard tel que les chapot et les guillemets
|
- BUG : Correction du bug des entré bizard tel que les chapot et les guillemets
|
||||||
- BUG : de sélection quand la ligne est pleine et la première ligne séctionnée.
|
- BUG : de sélection quand la ligne est pleine et la première ligne séctionnée.
|
||||||
- BUG : de copier coller sur les éàè ...
|
- BUG : de copier coller sur les éàè ...
|
||||||
- BUG : sur le caplock et les caractère multiples type chapot ...
|
- BUG : sur le caplock et les caractère multiples type chapot ...
|
||||||
- BUG : du entrer sur le kaypad qui fait un <CR> ==> ajouter la fonction shift+enter qui cree un <CR>
|
|
||||||
- BUG : italique non généré
|
- BUG : italique non généré
|
||||||
* 0.3.X :
|
* 0.3.X :
|
||||||
- SEARCH : get selected text in the search windows
|
- SEARCH : get selected text in the search windows
|
||||||
|
Loading…
x
Reference in New Issue
Block a user