From 12bf548533867a2eb3a1c354b778ef7f9157322a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 26 Aug 2011 16:57:05 +0300 Subject: Basic support for guild bot integration. Not working context menu actions, chat commands, auto complete. --- src/game.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'src/game.cpp') diff --git a/src/game.cpp b/src/game.cpp index 82f919976..c933378e6 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -31,14 +31,13 @@ #include "client.h" #include "commandhandler.h" #include "configuration.h" +#include "dropshortcut.h" #include "effectmanager.h" -#include "event.h" -#include "spellmanager.h" #include "emoteshortcut.h" +#include "event.h" +#include "guildmanager.h" #include "graphics.h" #include "itemshortcut.h" -#include "dropshortcut.h" -#include "spellshortcut.h" #include "joystick.h" #include "keyboardconfig.h" #include "localplayer.h" @@ -47,6 +46,8 @@ #include "particle.h" #include "playerrelations.h" #include "sound.h" +#include "spellmanager.h" +#include "spellshortcut.h" #include "gui/botcheckerwindow.h" #include "gui/buyselldialog.h" @@ -156,6 +157,7 @@ Particle *particleEngine = NULL; EffectManager *effectManager = NULL; SpellManager *spellManager = NULL; Viewport *viewport = NULL; /**< Viewport on the map. */ +GuildManager *guildManager = NULL; ChatTab *localChatTab = NULL; ChatTab *debugChatTab = NULL; @@ -175,6 +177,8 @@ static void initEngines() commandHandler = new CommandHandler; channelManager = new ChannelManager; effectManager = new EffectManager; + if (!guildManager) + guildManager = new GuildManager; particleEngine = new Particle(NULL); particleEngine->setupEngine(); @@ -393,6 +397,9 @@ Game::Game(): setupWindow->setInGame(true); clearKeysArray(); + if (guildManager && guildManager->getEnableGuildBot()) + guildManager->requestGuildInfo(); + Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_CONSTRUCTED)); } @@ -411,16 +418,17 @@ Game::~Game() del_0(actorSpriteManager) if (Client::getState() != STATE_CHANGE_MAP) del_0(player_node) + del_0(guildManager) del_0(channelManager) del_0(commandHandler) - del_0(effectManager); + del_0(effectManager) del_0(joystick) del_0(particleEngine) del_0(viewport) del_0(mCurrentMap) - del_0(spellManager); - del_0(spellShortcut); - del_0(mumbleManager); + del_0(spellManager) + del_0(spellShortcut) + del_0(mumbleManager) Being::clearCache(); -- cgit v1.2.3-70-g09d2 From 26dea46cf8ebcd22c62810bd9c866e7e7e2b6cb2 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 27 Aug 2011 18:41:30 +0300 Subject: Fix memory leaks in guildmanager. --- src/game.cpp | 3 +++ src/guildmanager.cpp | 11 +++++++++++ src/guildmanager.h | 2 ++ 3 files changed, 16 insertions(+) (limited to 'src/game.cpp') diff --git a/src/game.cpp b/src/game.cpp index c933378e6..6a3a63bb6 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -299,6 +299,9 @@ static void destroyGuiWindows() if (whoIsOnline) whoIsOnline->setAllowUpdate(false); + if (guildManager) + guildManager->clear(); + del_0(windowMenu); del_0(localChatTab) // Need to do this first, so it can remove itself del_0(debugChatTab) diff --git a/src/guildmanager.cpp b/src/guildmanager.cpp index bc4158a12..c929e8598 100644 --- a/src/guildmanager.cpp +++ b/src/guildmanager.cpp @@ -50,6 +50,7 @@ GuildManager::GuildManager() : GuildManager::~GuildManager() { + delete mTab; mTab = 0; } @@ -360,3 +361,13 @@ void GuildManager::notice(std::string msg) else send("!setmotd " + msg); } + +void GuildManager::clear() +{ + if (socialWindow) + { + Guild *guild = Guild::getGuild(1); + if (guild) + socialWindow->removeTab(guild); + } +} \ No newline at end of file diff --git a/src/guildmanager.h b/src/guildmanager.h index a46cba915..88e1276eb 100644 --- a/src/guildmanager.h +++ b/src/guildmanager.h @@ -66,6 +66,8 @@ class GuildManager Guild *createGuild(); + void clear(); + bool havePower() { return mHavePower; } -- cgit v1.2.3-70-g09d2 From eb8269b40570333ce6a2787dd55f5081c73c14a7 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 27 Aug 2011 20:52:52 +0300 Subject: Fix guild reload if change nick on same account. --- src/game.cpp | 6 ++++++ src/guildmanager.cpp | 18 ++++++++++++++++++ src/guildmanager.h | 2 ++ 3 files changed, 26 insertions(+) (limited to 'src/game.cpp') diff --git a/src/game.cpp b/src/game.cpp index 6a3a63bb6..8df48b775 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -178,7 +178,10 @@ static void initEngines() channelManager = new ChannelManager; effectManager = new EffectManager; if (!guildManager) + { guildManager = new GuildManager; + guildManager->init(); + } particleEngine = new Particle(NULL); particleEngine->setupEngine(); @@ -334,6 +337,9 @@ static void destroyGuiWindows() del_0(didYouKnowWindow); Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_GUIWINDOWSUNLOADED)); + + if (guildManager && guildManager->getEnableGuildBot()) + guildManager->reload(); } Game *Game::mInstance = 0; diff --git a/src/guildmanager.cpp b/src/guildmanager.cpp index c929e8598..22b9de5a1 100644 --- a/src/guildmanager.cpp +++ b/src/guildmanager.cpp @@ -68,6 +68,24 @@ void GuildManager::init() mEnableGuildBot = val; } +void GuildManager::reload() +{ + mGotInfo = false; + mGotName = false; + mHavePower = false; + mRequest = false; + mTempList.clear(); + + if (socialWindow) + { + Guild *guild = Guild::getGuild(1); + if (guild) + socialWindow->removeTab(guild); + } + delete mTab; + mTab = 0; +} + void GuildManager::send(std::string msg) { Net::getChatHandler()->privateMessage("guild", msg); diff --git a/src/guildmanager.h b/src/guildmanager.h index 88e1276eb..177cec12a 100644 --- a/src/guildmanager.h +++ b/src/guildmanager.h @@ -68,6 +68,8 @@ class GuildManager void clear(); + void reload(); + bool havePower() { return mHavePower; } -- cgit v1.2.3-70-g09d2 From 9f752d5431364c052b364045015d3574da2c320c Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 30 Aug 2011 01:57:05 +0300 Subject: Dont create guild manager instance if guild bot support not enabled. --- src/client.cpp | 4 +--- src/game.cpp | 11 ++++------- src/gui/setup_other.cpp | 3 +++ src/gui/socialwindow.cpp | 4 ++-- src/guildmanager.cpp | 7 ++++++- src/guildmanager.h | 6 +++--- src/net/ea/beinghandler.cpp | 2 +- src/net/ea/chathandler.cpp | 2 +- 8 files changed, 21 insertions(+), 18 deletions(-) (limited to 'src/game.cpp') diff --git a/src/client.cpp b/src/client.cpp index 60af41ed3..2e3652188 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -794,9 +794,7 @@ int Client::exec() if (mumbleManager) mumbleManager->setServer(mCurrentServer.hostname); - if (!guildManager) - guildManager = new GuildManager(); - guildManager->init(); + GuildManager::init(); if (!mConfigAutoSaved) { diff --git a/src/game.cpp b/src/game.cpp index 8df48b775..303c59edb 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -177,11 +177,7 @@ static void initEngines() commandHandler = new CommandHandler; channelManager = new ChannelManager; effectManager = new EffectManager; - if (!guildManager) - { - guildManager = new GuildManager; - guildManager->init(); - } + GuildManager::init(); particleEngine = new Particle(NULL); particleEngine->setupEngine(); @@ -338,7 +334,7 @@ static void destroyGuiWindows() Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_GUIWINDOWSUNLOADED)); - if (guildManager && guildManager->getEnableGuildBot()) + if (guildManager && GuildManager::getEnableGuildBot()) guildManager->reload(); } @@ -406,7 +402,7 @@ Game::Game(): setupWindow->setInGame(true); clearKeysArray(); - if (guildManager && guildManager->getEnableGuildBot()) + if (guildManager && GuildManager::getEnableGuildBot()) guildManager->requestGuildInfo(); Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_CONSTRUCTED)); @@ -437,6 +433,7 @@ Game::~Game() del_0(mCurrentMap) del_0(spellManager) del_0(spellShortcut) + del_0(guildManager) del_0(mumbleManager) Being::clearCache(); diff --git a/src/gui/setup_other.cpp b/src/gui/setup_other.cpp index 05ec9d672..1cad4c594 100644 --- a/src/gui/setup_other.cpp +++ b/src/gui/setup_other.cpp @@ -147,6 +147,9 @@ Setup_Other::Setup_Other() new SetupItemLabel(_("Bots support"), "", this); + new SetupItemCheckBox(_("Enable auction bot support"), "", + "enableAuctionBot", this, "enableAuctionBotEvent", false); + new SetupItemCheckBox(_("Enable guild bot support and disable native " "guild support"), "", "enableGuildBot", this, "enableGuildBotEvent", false); diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp index ca52ea283..b9c8cb365 100644 --- a/src/gui/socialwindow.cpp +++ b/src/gui/socialwindow.cpp @@ -1311,7 +1311,7 @@ void SocialWindow::action(const gcn::ActionEvent &event) strprintf(_("Accepted guild invite from %s."), mPartyInviter.c_str())); } - if (!guildManager || !guildManager->getEnableGuildBot()) + if (!guildManager || !GuildManager::getEnableGuildBot()) Net::getGuildHandler()->inviteResponse(mGuildInvited, true); else guildManager->inviteResponse(true); @@ -1324,7 +1324,7 @@ void SocialWindow::action(const gcn::ActionEvent &event) strprintf(_("Rejected guild invite from %s."), mPartyInviter.c_str())); } - if (!guildManager || !guildManager->getEnableGuildBot()) + if (!guildManager || !GuildManager::getEnableGuildBot()) Net::getGuildHandler()->inviteResponse(mGuildInvited, false); else guildManager->inviteResponse(false); diff --git a/src/guildmanager.cpp b/src/guildmanager.cpp index 77324e67e..2c55caefa 100644 --- a/src/guildmanager.cpp +++ b/src/guildmanager.cpp @@ -38,9 +38,9 @@ #include "debug.h" +bool GuildManager::mEnableGuildBot = false; GuildManager::GuildManager() : - mEnableGuildBot(false), mGotInfo(false), mGotName(false), mHavePower(false), @@ -57,6 +57,9 @@ GuildManager::~GuildManager() void GuildManager::init() { + if (guildManager) + return; + int val = serverConfig.getValue("enableGuildBot", -1); if (val == -1) { @@ -67,6 +70,8 @@ void GuildManager::init() serverConfig.setValue("enableGuildBot", val); } mEnableGuildBot = val; + if (mEnableGuildBot) + guildManager = new GuildManager(); } void GuildManager::reload() diff --git a/src/guildmanager.h b/src/guildmanager.h index d0ee7fb62..80014e352 100644 --- a/src/guildmanager.h +++ b/src/guildmanager.h @@ -37,7 +37,7 @@ class GuildManager ~GuildManager(); - void init(); + static void init(); void chat(std::string msg); @@ -51,7 +51,7 @@ class GuildManager void updateList(); - bool getEnableGuildBot() + static bool getEnableGuildBot() { return mEnableGuildBot; } void kick(std::string msg); @@ -80,7 +80,7 @@ class GuildManager private: bool process(std::string msg); - bool mEnableGuildBot; + static bool mEnableGuildBot; bool mGotInfo; bool mGotName; bool mHavePower; diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp index 2714f94ce..4a5cfb841 100644 --- a/src/net/ea/beinghandler.cpp +++ b/src/net/ea/beinghandler.cpp @@ -662,7 +662,7 @@ void BeingHandler::processPlayerGuilPartyInfo(Net::MessageIn &msg) if ((dstBeing = actorSpriteManager->findBeing(msg.readInt32()))) { dstBeing->setPartyName(msg.readString(24)); - if (!guildManager || !guildManager->getEnableGuildBot()) + if (!guildManager || !GuildManager::getEnableGuildBot()) dstBeing->setGuildName(msg.readString(24)); dstBeing->setGuildPos(msg.readString(24)); dstBeing->addToCache(); diff --git a/src/net/ea/chathandler.cpp b/src/net/ea/chathandler.cpp index e430dfc0f..5737cc2b2 100644 --- a/src/net/ea/chathandler.cpp +++ b/src/net/ea/chathandler.cpp @@ -162,7 +162,7 @@ void ChatHandler::processWhisper(Net::MessageIn &msg) if (nick != "Server") { - if (guildManager && guildManager->getEnableGuildBot() + if (guildManager && GuildManager::getEnableGuildBot() && nick == "guild" && guildManager->processGuildMessage(chatMsg)) { return; -- cgit v1.2.3-70-g09d2 From 84941829031cbd707ab28802c7423ce19bfba32e Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 30 Aug 2011 03:26:00 +0300 Subject: Add auction bot support switch. --- manaplus.cbp | 2 ++ src/CMakeLists.txt | 2 ++ src/Makefile.am | 2 ++ src/auctionmanager.cpp | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/auctionmanager.h | 58 ++++++++++++++++++++++++++++++++ src/client.cpp | 2 ++ src/commandhandler.cpp | 4 ++- src/game.cpp | 11 ++++++- src/gui/shopwindow.cpp | 18 +++++++--- 9 files changed, 182 insertions(+), 6 deletions(-) create mode 100644 src/auctionmanager.cpp create mode 100644 src/auctionmanager.h (limited to 'src/game.cpp') diff --git a/manaplus.cbp b/manaplus.cbp index 992915467..1f7308935 100644 --- a/manaplus.cbp +++ b/manaplus.cbp @@ -109,6 +109,8 @@ + + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 49b41f906..3b9b41371 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -468,6 +468,8 @@ SET(SRCS animatedsprite.h animationparticle.cpp animationparticle.h + auctionmanager.cpp + auctionmanager.h avatar.cpp avatar.h being.cpp diff --git a/src/Makefile.am b/src/Makefile.am index ca6dd6bc2..45d9df7f0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -475,6 +475,8 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \ animatedsprite.h \ animationparticle.cpp \ animationparticle.h \ + auctionmanager.cpp \ + auctionmanager.h \ avatar.cpp \ avatar.h \ being.cpp \ diff --git a/src/auctionmanager.cpp b/src/auctionmanager.cpp new file mode 100644 index 000000000..b360279ba --- /dev/null +++ b/src/auctionmanager.cpp @@ -0,0 +1,89 @@ +/* + * The ManaPlus Client + * Copyright (C) 2011 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 "auctionmanager.h" + +#include "actorspritemanager.h" +#include "client.h" +#include "configuration.h" +#include "localplayer.h" + +#include "net/chathandler.h" +#include "net/net.h" + +#include "utils/gettext.h" +#include "utils/stringutils.h" + +#include "debug.h" + +bool AuctionManager::mEnableAuctionBot = false; + +AuctionManager::AuctionManager() +{ +} + +AuctionManager::~AuctionManager() +{ +} + +void AuctionManager::init() +{ + if (auctionManager) + return; + + int val = serverConfig.getValue("enableAuctionBot", -1); + if (val == -1) + { + if (Client::isTmw()) + val = 1; + else + val = 0; + serverConfig.setValue("enableAuctionBot", val); + } + mEnableAuctionBot = val; + if (mEnableAuctionBot) + auctionManager = new AuctionManager(); +} + +void AuctionManager::send(std::string msg) +{ + Net::getChatHandler()->privateMessage("AuctionBot", msg); +} + +bool AuctionManager::processAuctionMessage(std::string msg) +{ + if (msg.size() > 4 && msg[0] == '#' && msg[1] == '#') + msg = msg.substr(3); + + return false; +} + +void AuctionManager::clear() +{ +} + +void AuctionManager::reload() +{ +} + +void AuctionManager::sendMail(std::string mail) +{ + Net::getChatHandler()->privateMessage("AuctionBot", "!mail " + mail); +} diff --git a/src/auctionmanager.h b/src/auctionmanager.h new file mode 100644 index 000000000..bdc0497ae --- /dev/null +++ b/src/auctionmanager.h @@ -0,0 +1,58 @@ +/* + * The ManaPlus Client + * Copyright (C) 2011 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 . + */ + +#ifndef AUCTIONMANAGER_H +#define AUCTIONMANAGER_H + +#include "utils/dtor.h" + +#include +#include +#include + +class AuctionManager +{ + public: + AuctionManager(); + + ~AuctionManager(); + + static void init(); + + void send(std::string msg); + + bool processAuctionMessage(std::string msg); + + static bool getEnableAuctionBot() + { return mEnableAuctionBot; } + + void clear(); + + void reload(); + + void sendMail(std::string mail); + + private: + static bool mEnableAuctionBot; +}; + +extern AuctionManager *auctionManager; + +#endif // AUCTIONMANAGER_H diff --git a/src/client.cpp b/src/client.cpp index 2e3652188..403dbd7b3 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -23,6 +23,7 @@ #include "client.h" #include "main.h" +#include "auctionmanager.h" #include "chatlogger.h" #include "configuration.h" #include "dropshortcut.h" @@ -795,6 +796,7 @@ int Client::exec() mumbleManager->setServer(mCurrentServer.hostname); GuildManager::init(); + AuctionManager::init(); if (!mConfigAutoSaved) { diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp index 559cfd37e..dc962a17d 100644 --- a/src/commandhandler.cpp +++ b/src/commandhandler.cpp @@ -22,6 +22,7 @@ #include "commandhandler.h" +#include "auctionmanager.h" #include "actorspritemanager.h" #include "channelmanager.h" #include "channel.h" @@ -865,7 +866,8 @@ void CommandHandler::handleHack(const std::string &args, ChatTab *tab A_UNUSED) void CommandHandler::handleMail(const std::string &args, ChatTab *tab A_UNUSED) { - Net::getChatHandler()->privateMessage("AuctionBot", "!mail " + args); + if (auctionManager && auctionManager->getEnableAuctionBot()) + auctionManager->sendMail(args); } void CommandHandler::handlePriceLoad(const std::string &args A_UNUSED, diff --git a/src/game.cpp b/src/game.cpp index 303c59edb..5a372a6bd 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -26,6 +26,7 @@ #include "actorspritemanager.h" #include "actorsprite.h" +#include "auctionmanager.h" #include "being.h" #include "channelmanager.h" #include "client.h" @@ -158,6 +159,7 @@ EffectManager *effectManager = NULL; SpellManager *spellManager = NULL; Viewport *viewport = NULL; /**< Viewport on the map. */ GuildManager *guildManager = NULL; +AuctionManager *auctionManager = NULL; ChatTab *localChatTab = NULL; ChatTab *debugChatTab = NULL; @@ -177,6 +179,7 @@ static void initEngines() commandHandler = new CommandHandler; channelManager = new ChannelManager; effectManager = new EffectManager; + AuctionManager::init(); GuildManager::init(); particleEngine = new Particle(NULL); @@ -298,6 +301,9 @@ static void destroyGuiWindows() if (whoIsOnline) whoIsOnline->setAllowUpdate(false); + if (auctionManager) + auctionManager->clear(); + if (guildManager) guildManager->clear(); @@ -334,6 +340,9 @@ static void destroyGuiWindows() Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_GUIWINDOWSUNLOADED)); + if (auctionManager && AuctionManager::getEnableAuctionBot()) + auctionManager->reload(); + if (guildManager && GuildManager::getEnableGuildBot()) guildManager->reload(); } @@ -423,7 +432,6 @@ Game::~Game() del_0(actorSpriteManager) if (Client::getState() != STATE_CHANGE_MAP) del_0(player_node) - del_0(guildManager) del_0(channelManager) del_0(commandHandler) del_0(effectManager) @@ -433,6 +441,7 @@ Game::~Game() del_0(mCurrentMap) del_0(spellManager) del_0(spellShortcut) + del_0(auctionManager) del_0(guildManager) del_0(mumbleManager) diff --git a/src/gui/shopwindow.cpp b/src/gui/shopwindow.cpp index 0988ef759..38985a01c 100644 --- a/src/gui/shopwindow.cpp +++ b/src/gui/shopwindow.cpp @@ -40,6 +40,7 @@ #include "gui/widgets/tradetab.h" #include "actorspritemanager.h" +#include "auctionmanager.h" #include "configuration.h" #include "confirmdialog.h" #include "inventory.h" @@ -119,11 +120,9 @@ ShopWindow::ShopWindow(): mBuyAddButton = new Button(_("Add"), "add buy", this); mBuyDeleteButton = new Button(_("Delete"), "delete buy", this); mBuyAnnounceButton = new Button(_("Announce"), "announce buy", this); - mBuyAuctionButton = new Button(_("Auction"), "auction buy", this); mSellAddButton = new Button(_("Add"), "add sell", this); mSellDeleteButton = new Button(_("Delete"), "delete sell", this); mSellAnnounceButton = new Button(_("Announce"), "announce sell", this); - mSellAuctionButton = new Button(_("Auction"), "auction sell", this); mAnnounceLinks = new CheckBox(_("Show links in announce"), false, this, "link announce"); @@ -137,14 +136,25 @@ ShopWindow::ShopWindow(): place(0, 6, mBuyAddButton); place(1, 6, mBuyDeleteButton); place(3, 6, mBuyAnnounceButton); - place(4, 6, mBuyAuctionButton); place(8, 6, mSellAddButton); place(9, 6, mSellDeleteButton); place(11, 6, mSellAnnounceButton); - place(12, 6, mSellAuctionButton); place(0, 7, mAnnounceLinks, 8); place(15, 7, mCloseButton); + if (auctionManager && auctionManager->getEnableAuctionBot()) + { + mBuyAuctionButton = new Button(_("Auction"), "auction buy", this); + mSellAuctionButton = new Button(_("Auction"), "auction sell", this); + place(4, 6, mBuyAuctionButton); + place(12, 6, mSellAuctionButton); + } + else + { + mBuyAuctionButton = 0; + mSellAuctionButton = 0; + } + Layout &layout = getLayout(); layout.setRowHeight(0, Layout::AUTO_SET); -- cgit v1.2.3-70-g09d2