[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwrite-devel
Subject:    Re: KDE/kdelibs/kate/view
From:       "Robin Pedersen" <robinpeder () gmail ! com>
Date:       2008-05-27 16:36:46
Message-ID: op.ubtm3kw19lgty9 () lenobin
[Download RAW message or body]

On Tue, 27 May 2008 12:51:50 +0200, Erlend Hamberg <ehamberg@gmail.com>  
wrote:

> SVN commit 813278 by ehamberg:
>
> only create a KateViCommandParser instance if needed
>
>
>  M  +4 -2      kateviewinternal.cpp
>
>
> --- trunk/KDE/kdelibs/kate/view/kateviewinternal.cpp #813277:813278
> @@ -196,8 +196,10 @@
>   m_dragInfo.state = diNone;
> -  // FIXME: not necessary if not using the vi input mode
> -  m_viCommandParser = new KateViCommandParser(m_view);
> +  if ( m_view->config( )->viInputMode( ) ) {
> +    kDebug( 13070 ) << "Vi Input Mode enabled, creating a  
> KateViCommandParser instance";
> +    m_viCommandParser = new KateViCommandParser( m_view );
> +  }
>   // timers
>    connect( &m_dragScrollTimer, SIGNAL( timeout() ),


Just a suggestion: What about using a "lazy" initializer instead of  
deciding once and for all in the constructor if the command parser is  
needed of not. I don't know if it's possible to change this setting during  
the view's lifetime, but I think this is a good solution in any case:

KateViCommandParser* KateViewInternal::getViCommandParser()
{
   if (!m_viCommandParser)
     m_viCommandParser = new KateViCommandParser( m_view );
   return m_viCommandParser;
}

And replace all usage of 'm_viCommandParser' with 'getViCommandParser()'.

-- 
Robin Pedersen
_______________________________________________
KWrite-Devel mailing list
KWrite-Devel@kde.org
https://mail.kde.org/mailman/listinfo/kwrite-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic