From 8c2422ba6d534bb8abcdb6b89857b23e3da0512d Mon Sep 17 00:00:00 2001 From: Noldor Date: Mon, 9 Aug 2010 07:37:41 +0000 Subject: Implementation feature #882 (work in progress) git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4814 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/editor/scripteditor.cpp | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) (limited to 'src/modules/editor/scripteditor.cpp') diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp index 7753af41c..de782add6 100644 --- a/src/modules/editor/scripteditor.cpp +++ b/src/modules/editor/scripteditor.cpp @@ -119,6 +119,7 @@ KviScriptEditorWidget::~KviScriptEditorWidget() { if(m_pCompleter) delete m_pCompleter; + disableSyntaxHighlighter(); } void KviScriptEditorWidget::checkReadyCompleter() @@ -272,6 +273,18 @@ void KviScriptEditorWidget::slotHelp() { contextSensitiveHelp(); } +void KviScriptEditorWidget::enableSyntaxHighlighter() +{ + // we currently delete and re-create the m_pSyntaxHighlighter + // as a trick to ensure proper re-highlightning to occur + if (!m_pSyntaxHighlighter) + m_pSyntaxHighlighter = new KviScriptEditorSyntaxHighlighter(this); +} +void KviScriptEditorWidget::disableSyntaxHighlighter() +{ + if (m_pSyntaxHighlighter) delete m_pSyntaxHighlighter; + m_pSyntaxHighlighter = 0; +} void KviScriptEditorWidget::updateOptions() { @@ -281,10 +294,8 @@ void KviScriptEditorWidget::updateOptions() setPalette(p); setFont(g_fntNormal); setTextColor(g_clrNormalText); - // we currently delete and re-create the m_pSyntaxHighlighter - // as a trick to ensure proper re-highlightning to occur - if (m_pSyntaxHighlighter) delete m_pSyntaxHighlighter; - m_pSyntaxHighlighter = new KviScriptEditorSyntaxHighlighter(this); + disableSyntaxHighlighter(); + enableSyntaxHighlighter(); p = ((KviScriptEditorImplementation*)m_pParent)->findLineEdit()->palette(); p.setColor(foregroundRole(),g_clrFind); @@ -889,14 +900,21 @@ void KviScriptEditorImplementation::setText(const char * txt) { setText(QByteArray(txt)); } - +void KviScriptEditorImplementation::setUnHighlightedText(const QString & szText) +{ + m_pEditor->disableSyntaxHighlighter(); + m_pEditor->setText(szText); +} void KviScriptEditorImplementation::setText(const QByteArray & szText) { - m_pEditor->setPlainText(szText.data()); + m_pEditor->setPlainText(szText.data()); m_pEditor->document()->setModified(false); updateRowColLabel(); } - +void KviScriptEditorImplementation::setReadOnly(bool bReadOnly) +{ + m_pEditor->setReadOnly(bReadOnly); +} void KviScriptEditorImplementation::getText(QByteArray & szText) { szText = m_pEditor->toPlainText().toUtf8(); @@ -904,6 +922,7 @@ void KviScriptEditorImplementation::getText(QByteArray & szText) void KviScriptEditorImplementation::setText(const QString & szText) { + m_pEditor->enableSyntaxHighlighter(); m_pEditor->setPlainText(szText); QTextCursor cur=m_pEditor->textCursor(); cur.movePosition(QTextCursor::End); -- cgit v1.3.1-10-gc9f91