[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kate/utils
From: Bernhard Beschow <bbeschow () cs ! tu-berlin ! de>
Date: 2009-06-03 19:50:14
Message-ID: 1244058614.738563.20440.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 977289 by beschow:
make KateTemplateHandler::slotTextInserted a bit more readable
M +31 -28 katetemplatehandler.cpp
M +2 -0 katetemplatehandler.h
--- trunk/KDE/kdelibs/kate/utils/katetemplatehandler.cpp #977288:977289
@@ -215,17 +215,20 @@
void KateTemplateHandler::slotTextInserted(KTextEditor::Document*, const \
KTextEditor::Range& range) {
- if (m_doc->isEditRunning() && (!m_doc->isWithUndo())) return;
+ if (!m_doc->isWithUndo())
+ return;
#ifdef __GNUC__
#warning FIXME undo/redo detection
#endif
kDebug(13020) << "*****";
- if ( m_recursion ) return ;
+ if (m_recursion)
+ return;
+
kDebug(13020) << "no recurssion";
- KTextEditor::Cursor cur=range.start();
- KTextEditor::Cursor curE=range.end();
+ const KTextEditor::Cursor cur=range.start();
+ const KTextEditor::Cursor curE=range.end();
kDebug(13020) << cur << "---" << *m_currentRange;
@@ -236,7 +239,8 @@
(m_currentRange->start()==curE) ) ) )
) ) locateRange( cur,curE );
- if ( !m_currentRange ) return ;
+ if (m_currentRange == 0)
+ return;
bool expandedLeft=false;
@@ -251,47 +255,43 @@
KateTemplatePlaceHolder *ph = m_tabOrder.at( m_currentTabStop );
m_recursion = true;
- m_doc->editStart( /*false*/ );
+ m_doc->editStart();
QString sourceText = m_doc->text ( *m_currentRange );
kDebug(13020) << ph->isReplacableSpace << "--->" << sourceText << "<---";
- if ( (sourceText.length()==0) || (ph->isReplacableSpace && (sourceText==" ")) ) {
+ if ( sourceText.isEmpty() || (ph->isReplacableSpace && (sourceText==" ")) ) {
+ sourceText = QString(" ");
+ m_doc->insertText( m_currentRange->start(), sourceText );
+
ph->isReplacableSpace = true;
- sourceText=QString(" ");
- KTextEditor::Cursor start = m_currentRange->start();
- m_doc->insertText( m_currentRange->start(), sourceText );
- m_currentRange->setRange(KTextEditor::Range(start,m_currentRange->end()));
- m_doc->activeView()->setSelection( *m_currentRange );
+ m_doc->activeView()->setSelection(*m_currentRange);
+
kDebug() << "inserted a replaceable space:" << *m_currentRange;
}
else {
if (ph->isReplacableSpace && sourceText.startsWith(' ')) {
- m_doc->removeText( KTextEditor::Range(m_currentRange->start(),1));
- sourceText=sourceText.right(sourceText.length()-1);
+ sourceText = sourceText.right(sourceText.length()-1);
+ m_doc->removeText(KTextEditor::Range(m_currentRange->start(), 1));
} else if (ph->isReplacableSpace && expandedLeft) {
- m_doc->removeText( \
KTextEditor::Range(KTextEditor::Cursor(m_currentRange->end().line(),m_currentRange->end().column()-1),1) \
);
- sourceText=sourceText.left(sourceText.length()-1);
+ sourceText = sourceText.left(sourceText.length()-1);
+ m_doc->removeText(KTextEditor::Range(KTextEditor::Cursor(m_currentRange->end().line(), \
m_currentRange->end().column()-1), 1) ); }
+
ph->isReplacableSpace = false;
}
ph->isInitialValue = false;
bool undoDontMerge = m_doc->undoDontMerge();
- //Q_ASSERT( !m_doc->isEditRunning() );
+ foreach (const KTextEditor::SmartRange* range, ph->ranges)
+ {
+ if (range == m_currentRange)
+ continue;
- foreach ( KTextEditor::SmartRange* range, ph->ranges )
- {
- if ( range == m_currentRange ) continue;
kDebug(13020) << "updating a range:" << *range;
- KTextEditor::Cursor start = range->start();
- KTextEditor::Cursor end = range->end();
- //m_doc->removeText( start.line(), start.column(), end.line(), end.column(), \
false );
- //m_doc->insertText( start.line(), start.column(), sourceText );
- m_doc->removeText( *range, false );
+ m_doc->removeText(*range);
kDebug(13020) << "updating a range(2):" << *range;
- m_doc->insertText( start, sourceText );
- range->setRange(KTextEditor::Range(start,range->end()));
+ m_doc->insertText(range->start(), sourceText);
kDebug(13020) << "updating a range(3):" << *range;
}
@@ -302,7 +302,8 @@
m_doc->setUndoDontMerge(undoDontMerge);
m_recursion = false;
- if ( ph->isCursor ) deleteLater();
+ if (ph->isCursor)
+ deleteLater();
}
void KateTemplateHandler::locateRange( const KTextEditor::Cursor& cursor, const \
KTextEditor::Cursor& cursor2 ) @@ -436,3 +437,5 @@
slotTextInserted( m_doc,*m_currentRange);
}
+
+// kate: space-indent on; indent-width 2; replace-tabs on;
--- trunk/KDE/kdelibs/kate/utils/katetemplatehandler.h #977288:977289
@@ -82,3 +82,5 @@
void slotRangeDeleted(KTextEditor::SmartRange*);
};
#endif
+
+// kate: space-indent on; indent-width 2; replace-tabs on;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic