diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-03-02 17:09:28 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-03-02 17:09:28 +0300 |
commit | edc8de3400acbbae60930a9c1d4f946df5b2e68f (patch) | |
tree | c5123ecfe12df3c543e34be058408c56822b6dc4 /src/gui/widgets | |
parent | 2f8fac791e34fe3831518490ae26c752b49ec1f6 (diff) | |
download | manaplus-edc8de3400acbbae60930a9c1d4f946df5b2e68f.tar.gz manaplus-edc8de3400acbbae60930a9c1d4f946df5b2e68f.tar.bz2 manaplus-edc8de3400acbbae60930a9c1d4f946df5b2e68f.tar.xz manaplus-edc8de3400acbbae60930a9c1d4f946df5b2e68f.zip |
In chat add key Ctrl+b for insert bold/normal font size.
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/textfield.cpp | 10 | ||||
-rw-r--r-- | src/gui/widgets/textfield.h | 7 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/gui/widgets/textfield.cpp b/src/gui/widgets/textfield.cpp index aef977d80..1906c5c32 100644 --- a/src/gui/widgets/textfield.cpp +++ b/src/gui/widgets/textfield.cpp @@ -64,7 +64,8 @@ TextField::TextField(const Widget2 *restrict const widget, mLastEventPaste(false), mPadding(1), mNumeric(false), - mLoseFocusOnTab(loseFocusOnTab) + mLoseFocusOnTab(loseFocusOnTab), + mAllowSpecialActions(true) { setFrameSize(2); mForegroundColor = getThemeColor(Theme::TEXTFIELD); @@ -397,8 +398,11 @@ void TextField::handleCtrlKeys(const int action, bool &consumed) } case Input::KEY_GUI_B: { - moveCaretBack(); - consumed = true; + if (mAllowSpecialActions) + { + moveCaretBack(); + consumed = true; + } break; } case Input::KEY_GUI_F: diff --git a/src/gui/widgets/textfield.h b/src/gui/widgets/textfield.h index c459d34f7..4c1b4bffc 100644 --- a/src/gui/widgets/textfield.h +++ b/src/gui/widgets/textfield.h @@ -139,6 +139,12 @@ class TextField : public gcn::TextField, void caretDeleteWord(); + void setAllowSpecialActions(const bool b) + { mAllowSpecialActions = b; } + + std::string getTextBeforeCaret() const + { return mText.substr(0, mCaretPosition); } + protected: void drawCaret(Graphics* graphics, int x) override final; @@ -166,6 +172,7 @@ class TextField : public gcn::TextField, int mPadding; bool mNumeric; bool mLoseFocusOnTab; + bool mAllowSpecialActions; }; #endif // GUI_WIDGETS_TEXTFIELD_H |