diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-09-30 18:43:40 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-09-30 18:43:40 +0300 |
commit | 112058d7208f9a48a14d943e560b3b703647653a (patch) | |
tree | 8123b89ceee53577733f32fe15880fe7538ec473 /src/gui/widgets/tabs/setup_touch.cpp | |
parent | 64781090e80fa93a43ce37f0705bbb1cf22ed8bf (diff) | |
download | manaverse-112058d7208f9a48a14d943e560b3b703647653a.tar.gz manaverse-112058d7208f9a48a14d943e560b3b703647653a.tar.bz2 manaverse-112058d7208f9a48a14d943e560b3b703647653a.tar.xz manaverse-112058d7208f9a48a14d943e560b3b703647653a.zip |
move tabs into tabs directory.
Diffstat (limited to 'src/gui/widgets/tabs/setup_touch.cpp')
-rw-r--r-- | src/gui/widgets/tabs/setup_touch.cpp | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/src/gui/widgets/tabs/setup_touch.cpp b/src/gui/widgets/tabs/setup_touch.cpp new file mode 100644 index 000000000..e3081427d --- /dev/null +++ b/src/gui/widgets/tabs/setup_touch.cpp @@ -0,0 +1,139 @@ +/* + * The ManaPlus Client + * Copyright (C) 2012-2013 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "gui/widgets/tabs/setup_touch.h" + +#include "gui/widgets/layouthelper.h" +#include "gui/widgets/scrollarea.h" + +#include "utils/gettext.h" +#include "utils/stringutils.h" + +#include "debug.h" + +static const int sizeListSize = 4; + +static const char *const sizeList[] = +{ + // TRANSLATORS: onscreen button size + N_("Small"), + // TRANSLATORS: onscreen button size + N_("Normal"), + // TRANSLATORS: onscreen button size + N_("Medium"), + // TRANSLATORS: onscreen button size + N_("Large") +}; + +static const int formatListSize = 2; + +static const char *const formatList[] = +{ + "2x1", + "2x2", +}; + +Setup_Touch::Setup_Touch(const Widget2 *const widget) : + SetupTabScroll(widget), + mSizeList(new NamesModel), + mFormatList(new NamesModel), + mActionsList(new TouchActionsModel) +{ + // TRANSLATORS: touch settings tab + setName(_("Touch")); + + LayoutHelper h(this); + ContainerPlacer place = h.getPlacer(0, 0); + place(0, 0, mScroll, 10, 10); + mSizeList->fillFromArray(&sizeList[0], sizeListSize); + mFormatList->fillFromArray(&formatList[0], formatListSize); + + // TRANSLATORS: settings option + new SetupItemLabel(_("Onscreen keyboard"), "", this); + + // TRANSLATORS: settings option + new SetupItemCheckBox(_("Show onscreen keyboard icon"), "", + "showScreenKeyboard", this, "showScreenKeyboardEvent"); + + // TRANSLATORS: settings option + new SetupActionDropDown(_("Keyboard icon action"), "", + "screenActionKeyboard", this, "screenActionKeyboardEvent", + mActionsList, 250); + + + // TRANSLATORS: settings group + new SetupItemLabel(_("Onscreen joystick"), "", this); + + // TRANSLATORS: settings option + new SetupItemCheckBox(_("Show onscreen joystick"), "", + "showScreenJoystick", this, "showScreenJoystickEvent"); + + // TRANSLATORS: settings option + new SetupItemDropDown(_("Joystick size"), "", "screenJoystickSize", this, + "screenJoystickEvent", mSizeList, 100); + + + // TRANSLATORS: settings group + new SetupItemLabel(_("Onscreen buttons"), "", this); + + // TRANSLATORS: settings option + new SetupItemCheckBox(_("Show onscreen buttons"), "", + "showScreenButtons", this, "showScreenButtonsEvent"); + + // TRANSLATORS: settings option + new SetupItemDropDown(_("Buttons format"), "", "screenButtonsFormat", this, + "screenButtonsFormatEvent", mFormatList, 100); + + // TRANSLATORS: settings option + new SetupItemDropDown(_("Buttons size"), "", "screenButtonsSize", this, + "screenButtonsSizeEvent", mSizeList, 100); + + // TRANSLATORS: settings option + new SetupActionDropDown(strprintf(_("Button %u action"), 1U), "", + "screenActionButton0", this, "screenActionButton0Event", + mActionsList, 250); + + // TRANSLATORS: settings option + new SetupActionDropDown(strprintf(_("Button %u action"), 2U), "", + "screenActionButton1", this, "screenActionButton1Event", + mActionsList, 250); + + // TRANSLATORS: settings option + new SetupActionDropDown(strprintf(_("Button %u action"), 3U), "", + "screenActionButton2", this, "screenActionButton2Event", + mActionsList, 250); + + // TRANSLATORS: settings option + new SetupActionDropDown(strprintf(_("Button %u action"), 4U), "", + "screenActionButton3", this, "screenActionButton3Event", + mActionsList, 250); + + setDimension(gcn::Rectangle(0, 0, 550, 350)); +} + +Setup_Touch::~Setup_Touch() +{ + delete mSizeList; + mSizeList = nullptr; + delete mFormatList; + mFormatList = nullptr; + delete mActionsList; + mActionsList = nullptr; +} |