@@ -102,8 +102,7 @@ void RecognitionMenu::rebuild() {
102102 Config::Lang itemlang = {lang.prefix , dict, lang.name };
103103 curitem = new QAction (QtSpell::Checker::decodeLanguageCode (dict), m_langMenuRadioGroup);
104104 curitem->setCheckable (true );
105- curitem->setData (QVariant::fromValue (itemlang));
106- connect (curitem, &QAction::triggered, this , &RecognitionMenu::setLanguage);
105+ connect (curitem, &QAction::triggered, this , [ = ] { setLanguage (itemlang); });
107106 if (curlang.prefix == lang.prefix && (
108107 curlang.code == dict ||
109108 (!activeitem && (curlang.code == dict.left (2 ) || curlang.code .isEmpty ())))) {
@@ -117,8 +116,7 @@ void RecognitionMenu::rebuild() {
117116 } else {
118117 curitem = new QAction (lang.name , m_langMenuRadioGroup);
119118 curitem->setCheckable (true );
120- curitem->setData (QVariant::fromValue (lang));
121- connect (curitem, &QAction::triggered, this , &RecognitionMenu::setLanguage);
119+ connect (curitem, &QAction::triggered, this , [ = ] { setLanguage (lang); });
122120 if (curlang.prefix == lang.prefix ) {
123121 curlang = lang;
124122 activeitem = curitem;
@@ -226,10 +224,10 @@ void RecognitionMenu::psmSelected(QAction* action) {
226224 ConfigSettings::get<VarSetting<int >> (" psm" )->setValue (action->data ().toInt ());
227225}
228226
229- void RecognitionMenu::setLanguage () {
227+ void RecognitionMenu::setLanguage (Config::Lang lang ) {
230228 QAction* item = qobject_cast<QAction*> (QObject::sender ());
231229 if (item->isChecked ()) {
232- m_curLang = item-> data (). value <Config::Lang>() ;
230+ m_curLang = lang ;
233231 ConfigSettings::get<VarSetting<QString >> (" language" )->setValue (m_curLang.prefix + " :" + m_curLang.code );
234232 emit languageChanged (m_curLang);
235233 }
0 commit comments