otherkeymap = 0;
}
+Intl::~Intl()
+{
+ delete trans;
+}
+
int Intl::SetPrimary(string const & lang)
{
}
}
-
-void Intl::LCombo(int, void * v)
-{
- Intl * itl = static_cast<Intl*>(v);
- itl->Keymap(23);
- return;
-}
-
-
-void Intl::LCombo2(int, void * v)
+void Intl::LCombo(int, void * v, Combox * combox)
{
Intl * itl = static_cast<Intl*>(v);
- itl->Keymap(43);
+ if (combox == itl->Language)
+ itl->Keymap(23);
+ else if (combox == itl->Language2)
+ itl->Keymap(43);
return;
}
-
void Intl::DispatchCallback(FL_OBJECT * ob, long code)
{
if (ob && (code == 0)) {
Language = new Combox(FL_COMBOX_DROPLIST);
Language2 = new Combox(FL_COMBOX_DROPLIST);
Language->setcallback(LCombo, this);
- Language2->setcallback(LCombo2, this);
+ Language2->setcallback(LCombo, this);
fd_form_keymap = create_form_KeyMap();
Language2->add(120, 110, 160, 30, 300); // Secondary
fl_end_form();
- int n = 1;
+ int n = 0;
// Default is not in the language map
+#ifdef DO_USE_DEFAULT_LANGUAGE
Language->addto("default");
Language2->addto("default");
+ ++n;
+#endif
for (Languages::const_iterator cit = languages.begin();
cit != languages.end(); ++cit) {
- Language->addto((*cit).second.lang.c_str());
- Language2->addto((*cit).second.lang.c_str());
+ Language->addto((*cit).second.lang());
+ Language2->addto((*cit).second.lang());
++n;
}
Language->addto(_("other..."));
Language2->addto(_("other..."));
otherkeymap = n + 1;
- if (!Language->select_text(prim_lang.c_str())) {
+ if (!Language->select_text(prim_lang)) {
Language->select(n+1);
fl_set_input(fd_form_keymap->OtherKeymap, prim_lang.c_str());
}
else
trans->SetPrimary(prim_lang);
- if (!Language2->select_text(sec_lang.c_str())) {
+ if (!Language2->select_text(sec_lang)) {
Language2->select(n + 1);
fl_set_input(fd_form_keymap->OtherKeymap2, sec_lang.c_str());
}
if (keymapon)
Keymap(23); // turn primary on
- trans->setCharset(lyxrc.font_norm.c_str());
+ trans->setCharset(lyxrc.font_norm);
}