Changeset View
Changeset View
Standalone View
Standalone View
src/document/katedocument.cpp
Show First 20 Lines • Show All 91 Lines • ▼ Show 20 Line(s) | 2935 | { | |||
---|---|---|---|---|---|
2946 | QString chars = QString::fromUcs4(ucs4Chars.data(), ucs4Chars.size()); | 2946 | QString chars = QString::fromUcs4(ucs4Chars.data(), ucs4Chars.size()); | ||
2947 | /** | 2947 | /** | ||
2948 | * no printable chars => nothing to insert! | 2948 | * no printable chars => nothing to insert! | ||
2949 | */ | 2949 | */ | ||
2950 | if (chars.isEmpty()) { | 2950 | if (chars.isEmpty()) { | ||
2951 | return false; | 2951 | return false; | ||
2952 | } | 2952 | } | ||
2953 | 2953 | | |||
2954 | // Check if entered closing bracket is already balanced | ||||
2955 | const QChar typedChar = chars.at(0); | ||||
2956 | const QChar openBracket = matchingStartBracket(typedChar, false); | ||||
2957 | if (!openBracket.isNull()) { | ||||
2958 | KTextEditor::Cursor curPos = view->cursorPosition(); | ||||
2959 | if ((characterAt(curPos) == typedChar) && findMatchingBracket(curPos, 123/*Which value may best?*/).isValid()) { | ||||
2960 | // Do nothing | ||||
2961 | view->cursorRight(); | ||||
2962 | return true; | ||||
2963 | } | ||||
2964 | } | ||||
2965 | | ||||
2954 | /** | 2966 | /** | ||
2955 | * auto bracket handling for newly inserted text | 2967 | * auto bracket handling for newly inserted text | ||
2956 | * remember if we should auto add some | 2968 | * remember if we should auto add some | ||
2957 | */ | 2969 | */ | ||
2958 | QChar closingBracket; | 2970 | QChar closingBracket; | ||
2959 | if (view->config()->autoBrackets() && chars.size() == 1) { | 2971 | if (view->config()->autoBrackets() && chars.size() == 1) { | ||
2960 | /** | 2972 | /** | ||
2961 | * we inserted a bracket? | 2973 | * we inserted a bracket? | ||
2962 | * => remember the matching closing one | 2974 | * => remember the matching closing one | ||
2963 | */ | 2975 | */ | ||
2964 | closingBracket = matchingEndBracket(chars[0], true); | 2976 | closingBracket = matchingEndBracket(chars[0], true); | ||
2965 | 2977 | | |||
2966 | /** | 2978 | /** | ||
2967 | * closing bracket for the autobracket we inserted earlier? | 2979 | * closing bracket for the autobracket we inserted earlier? | ||
2968 | */ | 2980 | */ | ||
2969 | if ( m_currentAutobraceClosingChar == chars[0] && m_currentAutobraceRange ) { | 2981 | if (m_currentAutobraceClosingChar == typedChar && m_currentAutobraceRange) { | ||
2970 | // do nothing | 2982 | // do nothing | ||
2971 | m_currentAutobraceRange.reset(nullptr); | 2983 | m_currentAutobraceRange.reset(nullptr); | ||
2972 | view->cursorRight(); | 2984 | view->cursorRight(); | ||
2973 | return true; | 2985 | return true; | ||
2974 | } | 2986 | } | ||
2975 | } | 2987 | } | ||
2976 | 2988 | | |||
2977 | /** | 2989 | /** | ||
▲ Show 20 Lines • Show All 91 Lines • Show Last 20 Lines |