summaryrefslogtreecommitdiff
path: root/src/gui/widgets/tabs/setup_other.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/widgets/tabs/setup_other.cpp')
-rw-r--r--src/gui/widgets/tabs/setup_other.cpp404
1 files changed, 404 insertions, 0 deletions
diff --git a/src/gui/widgets/tabs/setup_other.cpp b/src/gui/widgets/tabs/setup_other.cpp
new file mode 100644
index 000000000..ec4e2fe06
--- /dev/null
+++ b/src/gui/widgets/tabs/setup_other.cpp
@@ -0,0 +1,404 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 Andrei Karas
+ * Copyright (C) 2011-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_other.h"
+
+#include "gui/widgets/layouthelper.h"
+#include "gui/widgets/namesmodel.h"
+#include "gui/widgets/setupitem.h"
+#include "gui/widgets/scrollarea.h"
+
+#include "configuration.h"
+
+#include "utils/gettext.h"
+
+#include "debug.h"
+
+static const int shortcutsListSize = 3;
+
+static const char *const shortcutsList[] =
+{
+ // TRANSLATORS: show buttons at top right corner type
+ N_("Always show"),
+ // TRANSLATORS: show buttons at top right corner type
+ N_("Auto hide in small resolution"),
+ // TRANSLATORS: show buttons at top right corner type
+ N_("Always auto hide")
+};
+
+static const int proxyTypeListSize = 8;
+
+static const char *const proxyTypeList[] =
+{
+ // TRANSLATORS: Proxy type selection
+ N_("System proxy"),
+ // TRANSLATORS: Proxy type selection
+ N_("Direct connection"),
+ "HTTP",
+ "HTTP 1.0",
+ "SOCKS4",
+ "SOCKS4A",
+ "SOCKS5",
+ // TRANSLATORS: Proxy type selection
+ N_("SOCKS5 hostname")
+};
+
+static const int densityListSize = 7;
+
+static const char *const densityList[] =
+{
+ // TRANSLATORS: screen density type
+ N_("default"),
+ // TRANSLATORS: screen density type
+ N_("low"),
+ // TRANSLATORS: screen density type
+ N_("medium"),
+ // TRANSLATORS: screen density type
+ N_("tv"),
+ // TRANSLATORS: screen density type
+ N_("high"),
+ // TRANSLATORS: screen density type
+ N_("xhigh"),
+ // TRANSLATORS: screen density type
+ N_("xxhigh")
+};
+
+Setup_Other::Setup_Other(const Widget2 *const widget) :
+ SetupTabScroll(widget),
+ mProxyTypeList(new NamesModel),
+ mShortcutsList(new NamesModel),
+ mDensityList(new NamesModel)
+{
+ // TRANSLATORS: misc tab in settings
+ setName(_("Misc"));
+
+ LayoutHelper h(this);
+ ContainerPlacer place = h.getPlacer(0, 0);
+ place(0, 0, mScroll, 10, 10);
+
+ // TRANSLATORS: settings option
+ new SetupItemLabel(_("Monsters"), "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show damage inflicted to monsters"), "",
+ "showMonstersTakedDamage", this, "showMonstersTakedDamageEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Auto target only reachable monsters"), "",
+ "targetOnlyReachable", this, "targetOnlyReachableEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Highlight monster attack range"), "",
+ "highlightMonsterAttackRange", this,
+ "highlightMonsterAttackRangeEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show monster hp bar"), "",
+ "showMobHP", this, "showMobHPEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Cycle monster targets"), "",
+ "cycleMonsters", this, "cycleMonstersEvent");
+
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Map"), "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show warps particles"), "",
+ "warpParticle", this, "warpParticleEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Highlight map portals"), "",
+ "highlightMapPortals", this, "highlightMapPortalsEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Highlight floor items"), "",
+ "floorItemsHighlight", this, "floorItemsHighlightEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Highlight player attack range"), "",
+ "highlightAttackRange", this, "highlightAttackRangeEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show extended minimaps"), "",
+ "showExtMinimaps", this, "showExtMinimapsEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Draw path"), "", "drawPath",
+ this, "drawPathEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Draw hotkeys on map"), "", "drawHotKeys",
+ this, "drawHotKeysEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable lazy scrolling"), "",
+ "enableLazyScrolling", this, "enableLazyScrollingEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemIntTextField(_("Scroll laziness"), "", "ScrollLaziness",
+ this, "ScrollLazinessEvent", 1, 160);
+
+ // TRANSLATORS: settings option
+ new SetupItemIntTextField(_("Scroll radius"), "", "ScrollRadius",
+ this, "ScrollRadiusEvent", 0, 32);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Auto resize minimaps"), "", "autoresizeminimaps",
+ this, "autoresizeminimapsEvent");
+
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Moving"), "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Auto fix position"), "",
+ "autofixPos", this, "autofixPosEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Attack while moving"), "",
+ "attackMoving", this, "attackMovingEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Attack next target"), "",
+ "attackNext", this, "attackNextEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Sync player move"), "", "syncPlayerMove",
+ this, "syncPlayerMoveEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemTextField(_("Crazy move A program"), "",
+ "crazyMoveProgram", this, "crazyMoveProgramEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Mouse relative moves "
+ "(good for touch interfaces)"), "", "mouseDirectionMove",
+ this, "mouseDirectionMoveEvent");
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Player"), "", this);
+
+ new SetupItemCheckBox(_("Show own hp bar"), "",
+ "showOwnHP", this, "showOwnHPEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable quick stats"), "",
+ "quickStats", this, "quickStatsEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Cycle player targets"), "",
+ "cyclePlayers", this, "cyclePlayersEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show job exp messages"), "",
+ "showJobExp", this, "showJobExpEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show players popups"), "",
+ "showBeingPopup", this, "showBeingPopupEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemTextField(_("Afk message"), "",
+ "afkMessage", this, "afkMessageEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show job"), "", "showJob",
+ this, "showJobEvent", false);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable attack filter"), "",
+ "enableAttackFilter", this, "enableAttackFilterEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable pickup filter"), "",
+ "enablePickupFilter", this, "enablePickupFilterEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable advert protocol"), "",
+ "enableAdvert", this, "enableAdvertEvent");
+
+ new SetupItemCheckBox(_("Enable weight notifications"), "",
+ "weightMsg", this, "weightMsgEvent");
+
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Shop"), "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Accept sell/buy requests"), "",
+ "autoShop", this, "autoShopEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable shop mode"), "",
+ "tradebot", this, "tradebotEvent");
+
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("NPC"), "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Cycle npc targets"), "",
+ "cycleNPC", this, "cycleNPCEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Log NPC dialogue"), "", "logNpcInGui",
+ this, "logNpcInGuiEvent");
+
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Bots support"), "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable auction bot support"), "",
+ "enableAuctionBot", this, "enableAuctionBotEvent", false);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable guild bot support and disable native "
+ "guild support"), "", "enableGuildBot", this,
+ "enableGuildBotEvent", false);
+
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Keyboard"), "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemIntTextField(_("Repeat delay"), "",
+ "repeateDelay", this, "repeateDelayEvent", 0, 10000);
+
+ // TRANSLATORS: settings option
+ new SetupItemIntTextField(_("Repeat interval"), "",
+ "repeateInterval", this, "repeateIntervalEvent", 0, 10000);
+
+ // TRANSLATORS: settings option
+ new SetupItemIntTextField(_("Custom repeat interval"), "",
+ "repeateInterval2", this, "repeateInterval2Event", 0, 10000);
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Windows"), "", this);
+
+ mShortcutsList->fillFromArray(&shortcutsList[0], shortcutsListSize);
+ // TRANSLATORS: settings option
+ new SetupItemDropDown(_("Shortcut buttons"), "", "autohideButtons", this,
+ "autohideButtonsEvent", mShortcutsList, 200);
+
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Proxy server"), "", this);
+
+ mProxyTypeList->fillFromArray(&proxyTypeList[0], proxyTypeListSize);
+ // TRANSLATORS: settings option
+ new SetupItemDropDown(_("Proxy type"), "", "downloadProxyType", this,
+ "downloadProxyTypeEvent", mProxyTypeList, 200);
+
+ // TRANSLATORS: settings option
+ new SetupItemTextField(_("Proxy address:port"), "",
+ "downloadProxy", this, "downloadProxyEvent");
+
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Other"), "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable server side attack"), "",
+ "serverAttack", this, "serverAttackEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable double clicks"), "",
+ "doubleClick", this, "doubleClickEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable bot checker"), "",
+ "enableBotCheker", this, "enableBotChekerEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable buggy servers protection "
+ "(do not disable)"), "", "enableBuggyServers", this,
+ "enableBuggyServersEvent", false);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable debug log"), "",
+ "debugLog", this, "debugLogEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable OpenGL log"), "",
+ "debugOpenGL", this, "debugOpenGLEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable input log"), "",
+ "logInput", this, "logInputEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Low traffic mode"), "", "lowTraffic",
+ this, "lowTrafficEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Hide shield sprite"), "", "hideShield",
+ this, "hideShieldEvent");
+
+#ifndef ANDROID
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Use FBO for screenshots (only for opengl)"),
+ "", "usefbo", this, "usefboEvent");
+#endif
+
+ // TRANSLATORS: settings option
+ new SetupItemIntTextField(_("Network delay between sub servers"),
+ "", "networksleep", this, "networksleepEvent", 0, 10000);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show background"), "", "showBackground",
+ this, "showBackgroundEvent");
+
+ mDensityList->fillFromArray(&densityList[0], densityListSize);
+ // TRANSLATORS: settings option
+ new SetupItemDropDown(_("Screen density override"), "",
+ "screenDensity", this, "screenDensityEvent", mDensityList, 100);
+
+ setDimension(gcn::Rectangle(0, 0, 550, 350));
+}
+
+Setup_Other::~Setup_Other()
+{
+ delete mProxyTypeList;
+ mProxyTypeList = nullptr;
+ delete mShortcutsList;
+ mShortcutsList = nullptr;
+ delete mDensityList;
+ mDensityList = nullptr;
+}
+
+void Setup_Other::apply()
+{
+ SetupTabScroll::apply();
+
+ logger->setDebugLog(config.getBoolValue("debugLog"));
+}
+
+void Setup_Other::externalUpdated()
+{
+ reread("showJob");
+ reread("enableGuildBot");
+ reread("enableAuctionBot");
+ reread("enableBuggyServers");
+}