[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kate/view
From: Erlend Hamberg <ehamberg () gmail ! com>
Date: 2008-05-27 18:39:04
Message-ID: 1211913544.331890.9995.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 813443 by ehamberg:
create KateViNormalMode when needed by using a lazy initialiser. thanks to robin for the tip.
M +11 -8 kateviewinternal.cpp
M +2 -1 kateviewinternal.h
--- trunk/KDE/kdelibs/kate/view/kateviewinternal.cpp #813442:813443
@@ -99,7 +99,7 @@
, m_smartDirty(false)
, m_viInputMode(false)
, m_currentViMode(NormalMode)
- , m_viCommandParser(0)
+ , m_viNormalMode(0)
{
m_watcherCount1 = 0;
m_watcherCount3 = 0;
@@ -196,11 +196,6 @@
m_dragInfo.state = diNone;
- if ( m_view->config( )->viInputMode( ) ) {
- kDebug( 13070 ) << "Vi Input Mode enabled, creating a KateViNormalMode instance";
- m_viCommandParser = new KateViNormalMode( m_view, this );
- }
-
// timers
connect( &m_dragScrollTimer, SIGNAL( timeout() ),
this, SLOT( doDragScroll() ) );
@@ -268,7 +263,8 @@
qDeleteAll(m_dynamicHighlights);
delete m_imPreedit;
- delete m_viCommandParser;
+ if ( m_viNormalMode )
+ delete m_viNormalMode;
//kDebug( 13030 ) << m_watcherCount1 << m_watcherCount3;
}
@@ -2151,7 +2147,7 @@
const int key = e->key() | (e->modifiers() & Qt::ShiftModifier);
if ( m_view->viInputMode() && m_view->getCurrentViMode() != InsertMode ) {
- m_viCommandParser->handleKeypress( e );
+ getViNormalMode()->handleKeypress( e );
return;
}
@@ -3599,4 +3595,11 @@
//END IM INPUT STUFF
+KateViNormalMode* KateViewInternal::getViNormalMode()
+{
+ if ( !m_viNormalMode )
+ m_viNormalMode = new KateViNormalMode( m_view, this );
+ return m_viNormalMode;
+}
+
// kate: space-indent on; indent-width 2; replace-tabs on;
--- trunk/KDE/kdelibs/kate/view/kateviewinternal.h #813442:813443
@@ -451,7 +451,8 @@
private:
bool m_viInputMode;
ViMode m_currentViMode;
- KateViNormalMode* m_viCommandParser;
+ KateViNormalMode* m_viNormalMode;
+ KateViNormalMode* getViNormalMode();
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic