summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-06-30 18:37:33 +0300
committerAndrei Karas <akaras@inbox.ru>2017-06-30 19:06:13 +0300
commita5426222cb3447e92a7051cbfe7ec8777648e4ee (patch)
tree873721c32cec0780fe1131ca4607342d2ffa6347 /src/gui
parent35002b57f36c1ea66daada6a3a0ef05ef37512ec (diff)
downloadmanaplus-a5426222cb3447e92a7051cbfe7ec8777648e4ee.tar.gz
manaplus-a5426222cb3447e92a7051cbfe7ec8777648e4ee.tar.bz2
manaplus-a5426222cb3447e92a7051cbfe7ec8777648e4ee.tar.xz
manaplus-a5426222cb3447e92a7051cbfe7ec8777648e4ee.zip
Allow open chat window with debug tab before connecting to game.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/windowmanager.cpp21
-rw-r--r--src/gui/windows/chatwindow.cpp8
-rw-r--r--src/gui/windows/chatwindow.h2
3 files changed, 27 insertions, 4 deletions
diff --git a/src/gui/windowmanager.cpp b/src/gui/windowmanager.cpp
index 3a95dd712..4c414899f 100644
--- a/src/gui/windowmanager.cpp
+++ b/src/gui/windowmanager.cpp
@@ -48,9 +48,14 @@
#include "gui/popups/spellpopup.h"
#include "gui/popups/textboxpopup.h"
+#include "gui/windows/chatwindow.h"
#include "gui/windows/didyouknowwindow.h"
#include "gui/windows/helpwindow.h"
#include "gui/windows/setupwindow.h"
+
+#include "gui/widgets/tabs/chat/chattab.h"
+
+#include "utils/gettext.h"
#endif // DYECMD
#include "gui/widgets/createwidget.h"
@@ -123,6 +128,19 @@ void WindowManager::createWindows()
CREATEWIDGETV0(itemPopup, ItemPopup);
CREATEWIDGETV0(spellPopup, SpellPopup);
CREATEWIDGETV0(skillPopup, SkillPopup);
+ delete2(debugChatTab);
+ if (chatWindow)
+ {
+ chatWindow->scheduleDelete();
+ chatWindow = nullptr;
+ }
+ CREATEWIDGETV(chatWindow, ChatWindow,
+ "DebugChat");
+ // TRANSLATORS: chat tab header
+ debugChatTab = new ChatTab(chatWindow, _("Debug"), "",
+ "#Debug", ChatTabType::DEBUG);
+ debugChatTab->setAllowHighlight(false);
+ chatWindow->setVisible(Visible_false);
#endif // DYECMD
CREATEWIDGETV0(textPopup, TextPopup);
@@ -143,6 +161,9 @@ void WindowManager::deleteWindows()
delete2(userPalette);
delete2(spellManager)
delete2(spellShortcut)
+
+ delete2(debugChatTab);
+ delete2(chatWindow);
#endif // DYECMD
delete2(textPopup);
diff --git a/src/gui/windows/chatwindow.cpp b/src/gui/windows/chatwindow.cpp
index eea0905cf..279d1c712 100644
--- a/src/gui/windows/chatwindow.cpp
+++ b/src/gui/windows/chatwindow.cpp
@@ -89,7 +89,7 @@ ChatWindow *chatWindow = nullptr;
static const char *const ACTION_COLOR_PICKER = "color picker";
-ChatWindow::ChatWindow() :
+ChatWindow::ChatWindow(const std::string &name) :
// TRANSLATORS: chat window name
Window(_("Chat"), Modal_false, nullptr, "chat.xml"),
ActionListener(),
@@ -127,7 +127,7 @@ ChatWindow::ChatWindow() :
mEnableTradeFilter(config.getBoolValue("enableTradeFilter")),
mTmpVisible(false)
{
- setWindowName("Chat");
+ setWindowName(name);
if (setupWindow != nullptr)
setupWindow->registerWindowForReset(this);
@@ -669,7 +669,9 @@ void ChatWindow::chatInput(const std::string &message) const
}
if (tab != nullptr)
tab->chatInput(msg);
- Game::instance()->setValidSpeed();
+ Game *const game = Game::instance();
+ if (game)
+ game->setValidSpeed();
}
void ChatWindow::localChatInput(const std::string &msg) const
diff --git a/src/gui/windows/chatwindow.h b/src/gui/windows/chatwindow.h
index 3191c4072..2961af9a1 100644
--- a/src/gui/windows/chatwindow.h
+++ b/src/gui/windows/chatwindow.h
@@ -64,7 +64,7 @@ class ChatWindow final : public Window,
/**
* Constructor.
*/
- ChatWindow();
+ ChatWindow(const std::string &name);
A_DELETE_COPY(ChatWindow)