1 /* 2 * The ManaPlus Client 3 * Copyright (C) 2011-2019 The ManaPlus Developers 4 * Copyright (C) 2019-2021 Andrei Karas 5 * 6 * This file is part of The ManaPlus Client. 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program. If not, see <http://www.gnu.org/licenses/>. 20 */ 21 22 #ifndef GUI_WIDGETS_TABS_SOCIALATTACKTAB_H 23 #define GUI_WIDGETS_TABS_SOCIALATTACKTAB_H 24 25 #include "gui/widgets/tabs/socialtab.h" 26 27 #include "being/localplayer.h" 28 29 #include "gui/models/beingslistmodel.h" 30 31 #include "gui/widgets/tabs/socialtabbase.h" 32 33 #include "utils/delete2.h" 34 #include "utils/gettext.h" 35 36 #include "localconsts.h" 37 38 class SocialAttackTab final : public SocialTab 39 { 40 public: SocialAttackTab(const Widget2 * const widget,const Opaque showBackground)41 SocialAttackTab(const Widget2 *const widget, 42 const Opaque showBackground) : 43 SocialTab(widget), 44 mBeings(new BeingsListModel) 45 { 46 createControls(mBeings, showBackground); 47 48 // TRANSLATORS: Attack filter tab name in social window. 49 // TRANSLATORS: Should be small 50 setCaption(_("Atk")); 51 mMenuAction = "attack"; 52 } 53 54 A_DELETE_COPY(SocialAttackTab) 55 ~SocialAttackTab()56 ~SocialAttackTab() override final 57 { 58 delete2(mList) 59 delete2(mScroll) 60 delete2(mBeings) 61 } 62 updateList()63 void updateList() override final 64 { 65 updateAtkListStart(); 66 // TRANSLATORS: mobs group name in social window 67 addAvatars(PriorityAttackMob, _("Priority mobs"), PRIORITY) 68 // TRANSLATORS: mobs group name in social window 69 addAvatars(AttackMob, _("Attack mobs"), ATTACK) 70 // TRANSLATORS: mobs group name in social window 71 addAvatars(IgnoreAttackMob, _("Ignore mobs"), IGNORE_) 72 } 73 74 private: 75 BeingsListModel *mBeings; 76 }; 77 78 #endif // GUI_WIDGETS_TABS_SOCIALATTACKTAB_H 79