X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fintl.C;h=371d44da9ba1fde56cee4df3f82b56e4354055e1;hb=f676dacf9c69d8c906653f54d00342c01de6facf;hp=c25e33b5a0133c759900cec153305736d877c979;hpb=e7401bd8f2310213b4b765c01676459f37adb530;p=lyx.git diff --git a/src/intl.C b/src/intl.C index c25e33b5a0..371d44da9b 100644 --- a/src/intl.C +++ b/src/intl.C @@ -29,6 +29,11 @@ #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; @@ -46,14 +51,23 @@ Intl::Intl() 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)) @@ -357,6 +371,7 @@ void Intl::MenuKeymap() { 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")); }