void TextInfo::registerCodeCompletionModels(KTextEditor::View *view) { KTextEditor::CodeCompletionInterface* completionInterface = qobject_cast<KTextEditor::CodeCompletionInterface*>(view); if(!completionInterface) { return; } completionInterface->registerCompletionModel(m_abbreviationCodeCompletionModel); completionInterface->setAutomaticInvocationEnabled(true); }
KateWordCompletionView::KateWordCompletionView( KTextEditor::View *view, KActionCollection* ac ) : QObject( view ), m_view( view ), m_dWCompletionModel( KateGlobal::self()->wordCompletionModel() ), d( new KateWordCompletionViewPrivate ) { d->isCompleting = false; d->dcRange = KTextEditor::Range::invalid(); d->liRange = static_cast<KateDocument*>(m_view->document())->newMovingRange(KTextEditor::Range::invalid(), KTextEditor::MovingRange::DoNotExpand); KColorScheme colors(QPalette::Active); KTextEditor::Attribute::Ptr a = KTextEditor::Attribute::Ptr( new KTextEditor::Attribute() ); a->setBackground( colors.background(KColorScheme::ActiveBackground) ); a->setForeground( colors.foreground(KColorScheme::ActiveText) ); // ### this does 0 d->liRange->setAttribute( a ); KTextEditor::CodeCompletionInterface *cci = qobject_cast<KTextEditor::CodeCompletionInterface *>(view); KAction *action; if (cci) { cci->registerCompletionModel( m_dWCompletionModel ); action = new KAction( i18n("Shell Completion"), this ); ac->addAction( "doccomplete_sh", action ); connect( action, SIGNAL(triggered()), this, SLOT(shellComplete()) ); } action = new KAction( i18n("Reuse Word Above"), this ); ac->addAction( "doccomplete_bw", action ); action->setShortcut( Qt::CTRL+Qt::Key_8 ); connect( action, SIGNAL(triggered()), this, SLOT(completeBackwards()) ); action = new KAction( i18n("Reuse Word Below"), this ); ac->addAction( "doccomplete_fw", action ); action->setShortcut( Qt::CTRL+Qt::Key_9 ); connect( action, SIGNAL(triggered()), this, SLOT(completeForwards()) ); }