/* * The ManaPlus Client * Copyright (C) 2009 The Mana World Development Team * Copyright (C) 2009-2010 Andrei Karas * Copyright (C) 2011-2016 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 . */ #include "gui/widgets/tabs/setup_players.h" #include "configuration.h" #include "settings.h" #include "gui/models/namesmodel.h" #include "gui/widgets/containerplacer.h" #include "gui/widgets/layouthelper.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/setupitem.h" #include "utils/delete2.h" #include "utils/gettext.h" #include "debug.h" static const int badgesListSize = 4; static const char *const badgesList[] = { // TRANSLATORS: screen badges type N_("hide"), // TRANSLATORS: screen badges type N_("show at top"), // TRANSLATORS: screen badges type N_("show at right"), // TRANSLATORS: screen badges type N_("show at bottom"), }; Setup_Players::Setup_Players(const Widget2 *const widget) : SetupTabScroll(widget), mBadgesList(new NamesModel) { // TRANSLATORS: settings tab name setName(_("Players")); LayoutHelper h(this); ContainerPlacer place = h.getPlacer(0, 0); place(0, 0, mScroll, 10, 10); // TRANSLATORS: settings option new SetupItemCheckBox(_("Show gender"), "", "showgender", this, "showgenderEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Show level"), "", "showlevel", this, "showlevelEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Show own name"), "", "showownname", this, "showownnameEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Enable extended mouse targeting"), "", "extMouseTargeting", this, "extMouseTargetingEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Target dead players"), "", "targetDeadPlayers", this, "targetDeadPlayersEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Visible names"), "", "visiblenames", this, "visiblenamesEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Auto move names"), "", "moveNames", this, "moveNamesEvent"); mBadgesList->fillFromArray(&badgesList[0], badgesListSize); // TRANSLATORS: settings option new SetupItemDropDown(_("Badges"), "", "showBadges", this, "showBadgesEvent", mBadgesList, 150); // TRANSLATORS: settings option new SetupItemCheckBox(_("Secure trades"), "", "securetrades", this, "securetradesEvent"); // TRANSLATORS: settings option new SetupItemTextField(_("Unsecure chars in names"), "", "unsecureChars", this, "unsecureCharsEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Show statuses"), "", "showPlayersStatus", this, "showPlayersStatusEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Show ip addresses on screenshots"), "", "showip", this, "showipEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Allow self heal with mouse click"), "", "selfMouseHeal", this, "selfMouseHealEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Group friends in who is online window"), "", "groupFriends", this, "groupFriendsEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Hide erased players nicks"), "", "hideErased", this, "hideErasedEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Collect players id and seen log"), "", "enableIdCollecting", this, "enableIdCollectingEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Use special diagonal speed in players moving"), "", "useDiagonalSpeed", this, "useDiagonalSpeedEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Log players actions (for GM)"), "", "logPlayerActions", this, "logPlayerActionsEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Create screenshots for each complete trades"), "", "tradescreenshot", this, "tradescreenshotEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Emulate right mouse button by long mouse click" " (useful for touch interfaces)"), "", "longmouseclick", this, "longmouseclickEvent"); // TRANSLATORS: settings option new SetupItemCheckBox(_("Enable remote commands"), "", "enableRemoteCommands", this, "enableRemoteCommandsEvent", MainConfig_false); setDimension(Rect(0, 0, 550, 350)); } Setup_Players::~Setup_Players() { delete2(mBadgesList); } void Setup_Players::externalUpdated() { reread("enableRemoteCommands"); } void Setup_Players::apply() { SetupTabScroll::apply(); settings.enableRemoteCommands = serverConfig.getValue( "enableRemoteCommands", true); }