diff options
Diffstat (limited to 'src/gui/dialogsmanager.cpp')
-rw-r--r-- | src/gui/dialogsmanager.cpp | 222 |
1 files changed, 0 insertions, 222 deletions
diff --git a/src/gui/dialogsmanager.cpp b/src/gui/dialogsmanager.cpp deleted file mode 100644 index f24352a43..000000000 --- a/src/gui/dialogsmanager.cpp +++ /dev/null @@ -1,222 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2004-2009 The Mana World Development Team - * Copyright (C) 2009-2010 The Mana Developers - * Copyright (C) 2011-2017 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/dialogsmanager.h" - -#include "configuration.h" -#include "settings.h" - -#include "being/playerinfo.h" - -#include "gui/widgets/createwidget.h" - -#include "gui/windows/confirmdialog.h" - -#ifndef DYECMD -#include "gui/widgets/selldialog.h" - -#include "gui/windows/buyselldialog.h" -#include "gui/windows/buydialog.h" -#include "gui/windows/updaterwindow.h" - -#include "listeners/playerpostdeathlistener.h" -#endif // DYECMD - -#include "listeners/weightlistener.h" - -#include "net/inventoryhandler.h" - -#include "resources/db/deaddb.h" - -#include "utils/gettext.h" - -#include "debug.h" - -#ifdef WIN32 -#undef ERROR -#endif // WIN32 - -OkDialog *deathNotice = nullptr; -DialogsManager *dialogsManager = nullptr; -OkDialog *weightNotice = nullptr; -time_t weightNoticeTime = 0; - -#ifndef DYECMD -namespace -{ - PlayerPostDeathListener postDeathListener; - WeightListener weightListener; -} // namespace -#endif // DYECMD - -DialogsManager::DialogsManager() : - AttributeListener(), - PlayerDeathListener() -{ -} - -void DialogsManager::closeDialogs() -{ -#ifndef DYECMD - NpcDialog::clearDialogs(); - BuyDialog::closeAll(); - BuySellDialog::closeAll(); - NpcDialog::closeAll(); - SellDialog::closeAll(); - if (inventoryHandler != nullptr) - inventoryHandler->destroyStorage(); -#endif // DYECMD - - if (deathNotice != nullptr) - { - deathNotice->scheduleDelete(); - deathNotice = nullptr; - } -} - -void DialogsManager::createUpdaterWindow() -{ -#ifndef DYECMD - CREATEWIDGETV(updaterWindow, UpdaterWindow, - settings.updateHost, - settings.oldUpdates, - false, - UpdateType::Normal); -#endif // DYECMD -} - -Window *DialogsManager::openErrorDialog(const std::string &header, - const std::string &message, - const Modal modal) -{ - if (settings.supportUrl.empty() || config.getBoolValue("hidesupport")) - { - OkDialog *const dialog = CREATEWIDGETR(OkDialog, - header, - message, - // TRANSLATORS: ok dialog button - _("Close"), - DialogType::ERROR, - modal, - ShowCenter_true, - nullptr, - 260); - return dialog; - } - ConfirmDialog *const dialog = CREATEWIDGETR(ConfirmDialog, - header, - strprintf("%s %s", message.c_str(), - // TRANSLATORS: error message question - _("Do you want to open support page?")), - SOUND_ERROR, - false, - modal); - return dialog; -} - -void DialogsManager::playerDeath() -{ -#ifndef DYECMD - if (deathNotice == nullptr) - { - CREATEWIDGETV(deathNotice, OkDialog, - // TRANSLATORS: message header - _("Message"), - DeadDB::getRandomString(), - // TRANSLATORS: ok dialog button - _("Revive"), - DialogType::OK, - Modal_false, - ShowCenter_true, - nullptr, - 260); - deathNotice->addActionListener(&postDeathListener); - } -#endif // DYECMD -} - -#ifndef DYECMD -void DialogsManager::attributeChanged(const AttributesT id, - const int64_t oldVal, - const int64_t newVal) -{ - if (id == Attributes::TOTAL_WEIGHT) - { - if ((weightNotice == nullptr) && config.getBoolValue("weightMsg")) - { - int percent = settings.overweightPercent; - if (percent < 1) - percent = 50; - const int max = PlayerInfo::getAttribute( - Attributes::MAX_WEIGHT) * percent / 100; - const int total = CAST_S32(oldVal); - if (newVal >= max && total < max) - { - weightNoticeTime = cur_time + 5; - CREATEWIDGETV(weightNotice, OkDialog, - // TRANSLATORS: message header - _("Message"), - // TRANSLATORS: weight message - _("You are carrying more than " - "half your weight. You are " - "unable to regain health."), - // TRANSLATORS: ok dialog button - _("OK"), - DialogType::OK, - Modal_false, - ShowCenter_true, - nullptr, - 260); - weightNotice->addActionListener( - &weightListener); - } - else if (newVal < max && total >= max) - { - weightNoticeTime = cur_time + 5; - CREATEWIDGETV(weightNotice, OkDialog, - // TRANSLATORS: message header - _("Message"), - // TRANSLATORS: weight message - _("You are carrying less than " - "half your weight. You " - "can regain health."), - // TRANSLATORS: ok dialog button - _("OK"), - DialogType::OK, - Modal_false, - ShowCenter_true, - nullptr, - 260); - weightNotice->addActionListener( - &weightListener); - } - } - } -} -#else // DYECMD - -void DialogsManager::attributeChanged(const AttributesT id A_UNUSED, - const int64_t oldVal A_UNUSED, - const int64_t newVal A_UNUSED) -{ -} -#endif // DYECMD |