#include "trans_mgr.h"
#include "support/lstrings.h"
#include "language.h"
+#include "frontends/Dialogs.h" // redrawGUI
+
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::slot;
+#endif
using std::endl;
primarykeymap = false;
curkeymap = 0;
otherkeymap = 0;
+ r_ = Dialogs::redrawGUI.connect(slot(this, &Intl::redraw));
}
Intl::~Intl()
{
+ r_.disconnect();
delete trans;
}
+void Intl::redraw()
+{
+ if (fd_form_keymap && fd_form_keymap->KeyMap->visible)
+ fl_redraw_form(fd_form_keymap->KeyMap);
+}
+
+
int Intl::SetPrimary(string const & lang)
{
if (lyxerr.debugging(Debug::KBMAP))
fl_set_button(fd_form_keymap->KeyOnBtn2, 0);
/* read text from choice */
- int i = Language->get();
+ int const i = Language->get();
string p;
if (i == otherkeymap)
fl_set_button(fd_form_keymap->KeyOnBtn2, 1);
/* read text from choice */
- int i = Language2->get();
+ int const i = Language2->get();
string p;
if (i == otherkeymap)
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());
Language2->addto(_("other..."));
otherkeymap = n + 1;
if (!Language->select_text(prim_lang)) {
- Language->select(n+1);
+ Language->select(n + 1);
fl_set_input(fd_form_keymap->OtherKeymap, prim_lang.c_str());
}
else
{
if (fd_form_keymap->KeyMap->visible) {
fl_raise_form(fd_form_keymap->KeyMap);
- } else fl_show_form(fd_form_keymap->KeyMap, FL_PLACE_MOUSE,
- FL_FULLBORDER, _("Key Mappings"));
+ } else fl_show_form(fd_form_keymap->KeyMap,
+ FL_PLACE_MOUSE | FL_FREE_SIZE, FL_TRANSIENT,
+ _("Key Mappings"));
}