From 40ddc72b737a1040f5adab239f68e1fbc32c6a70 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 17 Sep 2016 19:34:34 +0300 Subject: Add strong typed bool LoseFocusOnTab. --- src/gui/widgets/chatinput.h | 2 +- src/gui/widgets/setupitem.cpp | 6 +++++- src/gui/widgets/textfield.cpp | 4 ++-- src/gui/widgets/textfield.h | 7 +++++-- 4 files changed, 13 insertions(+), 6 deletions(-) (limited to 'src/gui/widgets') diff --git a/src/gui/widgets/chatinput.h b/src/gui/widgets/chatinput.h index 0c6bb8586..1c5f36858 100644 --- a/src/gui/widgets/chatinput.h +++ b/src/gui/widgets/chatinput.h @@ -40,7 +40,7 @@ class ChatInput final : public TextField { public: explicit ChatInput(ChatWindow *const window) : - TextField(window, "", false), + TextField(window, "", LoseFocusOnTab_false), mWindow(window), mFocusGaining(false) { diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp index 511ab90ab..2926121af 100644 --- a/src/gui/widgets/setupitem.cpp +++ b/src/gui/widgets/setupitem.cpp @@ -365,7 +365,11 @@ void SetupItemTextField::createControls() mLabel = new Label(this, mText); mLabel->setToolTip(mDescription); - mTextField = new TextField(this, mValue, true, mParent, mEventName); + mTextField = new TextField(this, + mValue, + LoseFocusOnTab_true, + mParent, + mEventName); // TRANSLATORS: setup item button mButton = new Button(this, _("Edit"), mEventName + "_EDIT", mParent); mWidget = mTextField; diff --git a/src/gui/widgets/textfield.cpp b/src/gui/widgets/textfield.cpp index f4c6f11b6..b80e21eeb 100644 --- a/src/gui/widgets/textfield.cpp +++ b/src/gui/widgets/textfield.cpp @@ -107,7 +107,7 @@ ImageRect TextField::skin; TextField::TextField(const Widget2 *restrict const widget, const std::string &restrict text, - const bool loseFocusOnTab, + const LoseFocusOnTab loseFocusOnTab, ActionListener *restrict const listener, const std::string &restrict eventId, const bool sendAlwaysEvents) : @@ -475,7 +475,7 @@ bool TextField::handleNormalKeys(const InputActionT action, bool &consumed) break; case InputAction::GUI_TAB: - if (mLoseFocusOnTab) + if (mLoseFocusOnTab == LoseFocusOnTab_true) return false; consumed = true; break; diff --git a/src/gui/widgets/textfield.h b/src/gui/widgets/textfield.h index aa016ef04..e5173b3f1 100644 --- a/src/gui/widgets/textfield.h +++ b/src/gui/widgets/textfield.h @@ -71,6 +71,8 @@ #include "listeners/mouselistener.h" #include "listeners/widgetlistener.h" +#include "enums/simpletypes/losefocusontab.h" + #include "gui/fonts/textchunk.h" #include "gui/widgets/widget.h" @@ -94,7 +96,8 @@ class TextField notfinal : public Widget, */ explicit TextField(const Widget2 *restrict const widget, const std::string &restrict text = "", - const bool loseFocusOnTab = true, + const LoseFocusOnTab loseFocusOnTab = + LoseFocusOnTab_true, ActionListener *restrict const listener = nullptr, const std::string &restrict eventId = "", @@ -280,7 +283,7 @@ class TextField notfinal : public Widget, time_t mLastEventPaste; int mPadding; bool mNumeric; - bool mLoseFocusOnTab; + LoseFocusOnTab mLoseFocusOnTab; bool mAllowSpecialActions; bool mSendAlwaysEvents; bool mTextChanged; -- cgit v1.2.3-70-g09d2