diff --git a/src/gui/widget/keyboard_input.cpp b/src/gui/widget/keyboard_input.cpp index c899c8b70..894994ced 100644 --- a/src/gui/widget/keyboard_input.cpp +++ b/src/gui/widget/keyboard_input.cpp @@ -578,8 +578,13 @@ int CKeyboardInput::exec(CMenuTarget* parent, const std::string &) delete inputString; inputString = NULL; - if ((observ) && (msg == CRCInput::RC_red)) - observ->changeNotify(title, (void *) valueString->c_str()); + if (msg == CRCInput::RC_red) + { + if (observ) + observ->changeNotify(title, (void *) valueString->c_str()); + if (msg == CRCInput::RC_red) + OnAfterSave(); + } return res; } diff --git a/src/gui/widget/keyboard_input.h b/src/gui/widget/keyboard_input.h index 67930f356..b1d8f6ed3 100644 --- a/src/gui/widget/keyboard_input.h +++ b/src/gui/widget/keyboard_input.h @@ -29,6 +29,7 @@ #include #include +#include #define KEY_ROWS 4 #define KEY_COLUMNS 14 @@ -59,7 +60,7 @@ class CInputString std::string &getValue(); }; -class CKeyboardInput : public CMenuTarget +class CKeyboardInput : public CMenuTarget, public sigc::trackable { protected: CFrameBuffer *frameBuffer; @@ -137,6 +138,7 @@ class CKeyboardInput : public CMenuTarget int exec( CMenuTarget* parent, const std::string & actionKey ); void forceSaveScreen(bool enable); + sigc::signal OnAfterSave; }; #endif