From 9b0982a39e750974852572d1a965c4a802f5f4cd Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 14 Jun 2013 19:23:42 +0300 Subject: improve setuptouchitem. --- src/gui/widgets/setuptouchitem.cpp | 29 ++++++++++++++++------------- src/gui/widgets/setuptouchitem.h | 20 ++++++++++++-------- 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/src/gui/widgets/setuptouchitem.cpp b/src/gui/widgets/setuptouchitem.cpp index aa731504f..2d0b9c1d5 100644 --- a/src/gui/widgets/setuptouchitem.cpp +++ b/src/gui/widgets/setuptouchitem.cpp @@ -85,13 +85,13 @@ int TouchActionsModel::getSelectionFromAction(const int action) const } -SetupActionDropDown::SetupActionDropDown(std::string text, - std::string description, - std::string keyName, +SetupActionDropDown::SetupActionDropDown(const std::string &text, + const std::string &description, + const std::string &keyName, SetupTabScroll *const parent, - std::string eventName, + const std::string &eventName, TouchActionsModel *const model, - int width, + const int width, const bool mainConfig) : SetupItem(text, description, keyName, parent, eventName, mainConfig), mHorizont(nullptr), @@ -104,14 +104,14 @@ SetupActionDropDown::SetupActionDropDown(std::string text, createControls(); } -SetupActionDropDown::SetupActionDropDown(std::string text, - std::string description, - std::string keyName, +SetupActionDropDown::SetupActionDropDown(const std::string &text, + const std::string &description, + const std::string &keyName, SetupTabScroll *const parent, - std::string eventName, + const std::string &eventName, TouchActionsModel *const model, - int width, - std::string def, + const int width, + const std::string &def, const bool mainConfig) : SetupItem(text, description, keyName, parent, eventName, def, mainConfig), mHorizont(nullptr), @@ -135,6 +135,9 @@ SetupActionDropDown::~SetupActionDropDown() void SetupActionDropDown::createControls() { + if (!mModel) + return; + load(); mHorizont = new HorizontContainer(this, 32, 2); @@ -159,7 +162,7 @@ void SetupActionDropDown::createControls() void SetupActionDropDown::fromWidget() { - if (!mDropDown) + if (!mDropDown || !mModel) return; mValue = toString(mModel->getActionFromSelection( @@ -168,7 +171,7 @@ void SetupActionDropDown::fromWidget() void SetupActionDropDown::toWidget() { - if (!mDropDown) + if (!mDropDown || !mModel) return; mDropDown->setSelected(mModel->getSelectionFromAction( diff --git a/src/gui/widgets/setuptouchitem.h b/src/gui/widgets/setuptouchitem.h index ac9264467..8910f1023 100644 --- a/src/gui/widgets/setuptouchitem.h +++ b/src/gui/widgets/setuptouchitem.h @@ -50,17 +50,21 @@ class TouchActionsModel final : public NamesModel class SetupActionDropDown final : public SetupItem { public: - SetupActionDropDown(std::string text, std::string description, - std::string keyName, SetupTabScroll *const parent, - std::string eventName, + SetupActionDropDown(const std::string &text, + const std::string &description, + const std::string &keyName, + SetupTabScroll *const parent, + const std::string &eventName, TouchActionsModel *const model, - int width, const bool mainConfig = true); + const int width, const bool mainConfig = true); - SetupActionDropDown(std::string text, std::string description, - std::string keyName, SetupTabScroll *const parent, - std::string eventName, + SetupActionDropDown(const std::string &text, + const std::string &description, + const std::string &keyName, + SetupTabScroll *const parent, + const std::string &eventName, TouchActionsModel *const model, - int width, std::string def, + const int width, const std::string &def, const bool mainConfig = true); A_DELETE_COPY(SetupActionDropDown) -- cgit v1.2.3-70-g09d2