From 01a21a60b5c764afa3646958fe0c8eb9473aff3e Mon Sep 17 00:00:00 2001 From: Stephan Witt Date: Wed, 6 Apr 2011 18:26:50 +0000 Subject: [PATCH] #7430 add check for first document language for the spell checker and initialize the language combo accordingly on open git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38294 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/GuiSpellchecker.cpp | 28 +++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/frontends/qt4/GuiSpellchecker.cpp b/src/frontends/qt4/GuiSpellchecker.cpp index a7147ce562..232af3712d 100644 --- a/src/frontends/qt4/GuiSpellchecker.cpp +++ b/src/frontends/qt4/GuiSpellchecker.cpp @@ -70,6 +70,8 @@ struct SpellcheckerWidget::Private /// bool continueFromBeginning(); /// + void setLanguage(Language const * lang); + /// Ui::SpellcheckerUi ui; /// SpellcheckerWidget * p; @@ -159,8 +161,16 @@ void SpellcheckerWidget::updateView() { BufferView * bv = d->gv_->documentBufferView(); setEnabled(bv != 0); - if (bv && hasFocus()) + if (bv && hasFocus()) { + + BufferView * bv = d->gv_->documentBufferView(); + std::set languages = + bv->buffer().masterBuffer()->getLanguages(); + if (!languages.empty()) + d->setLanguage(*languages.begin()); + d->check(); + } } @@ -194,8 +204,8 @@ void SpellcheckerWidget::Private::forward() dispatch(FuncRequest(LFUN_CHAR_FORWARD)); } } - - + + void SpellcheckerWidget::on_languageCO_activated(int index) { string const lang = @@ -288,6 +298,14 @@ void SpellcheckerWidget::Private::updateSuggestions(docstring_list & words) } +void SpellcheckerWidget::Private::setLanguage(Language const * lang) +{ + int const pos = ui.languageCO->findData(toqstr(lang->lang())); + if (pos != -1) + ui.languageCO->setCurrentIndex(pos); +} + + void SpellcheckerWidget::Private::check() { BufferView * bv = gv_->documentBufferView(); @@ -322,9 +340,7 @@ void SpellcheckerWidget::Private::check() // set suggestions updateSuggestions(suggestions); // set language - int const pos = ui.languageCO->findData(toqstr(word_lang.lang()->lang())); - if (pos != -1) - ui.languageCO->setCurrentIndex(pos); + setLanguage(word_lang.lang()); // FIXME LFUN // If we used a LFUN, dispatch would do all of this for us -- 2.39.2