summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/Makefile.am1
-rw-r--r--src/gui/popups/createpartypopup.h91
-rw-r--r--src/gui/windows/socialwindow.cpp65
-rw-r--r--src/gui/windows/socialwindow.h4
5 files changed, 98 insertions, 64 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index fcda4ce46..a4556ea9d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -309,6 +309,7 @@ SET(SRCS
gui/widgets/windowcontainer.h
gui/popups/beingpopup.cpp
gui/popups/beingpopup.h
+ gui/popups/createpartypopup.h
gui/windows/buydialog.cpp
gui/windows/buydialog.h
gui/windows/buyselldialog.cpp
diff --git a/src/Makefile.am b/src/Makefile.am
index fe412fc0a..41d81eee8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -405,6 +405,7 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \
gui/widgets/windowcontainer.h \
gui/popups/beingpopup.cpp \
gui/popups/beingpopup.h \
+ gui/popups/createpartypopup.h \
gui/windows/buydialog.cpp \
gui/windows/buydialog.h \
gui/windows/buyselldialog.cpp \
diff --git a/src/gui/popups/createpartypopup.h b/src/gui/popups/createpartypopup.h
new file mode 100644
index 000000000..dc420dec1
--- /dev/null
+++ b/src/gui/popups/createpartypopup.h
@@ -0,0 +1,91 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2010 The Mana Developers
+ * Copyright (C) 2011-2014 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/widgets/browserbox.h"
+#include "gui/widgets/linkhandler.h"
+#include "gui/widgets/popup.h"
+
+#include "utils/delete2.h"
+#include "utils/gettext.h"
+
+#include "debug.h"
+
+class CreatePartyPopup final : public Popup,
+ public LinkHandler
+{
+ public:
+ CreatePartyPopup() :
+ Popup("SocialCreatePartyPopup"),
+ LinkHandler(),
+ mBrowserBox(new BrowserBox(this, BrowserBox::AUTO_SIZE, true,
+ "popupbrowserbox.xml"))
+ {
+ mBrowserBox->setPosition(4, 4);
+ mBrowserBox->setOpaque(false);
+ mBrowserBox->setLinkHandler(this);
+
+ // TRANSLATORS: party popup item
+ mBrowserBox->addRow(strprintf("@@party|%s@@", _("Create Party")));
+ mBrowserBox->addRow("##3---");
+ // TRANSLATORS: party popup item
+ mBrowserBox->addRow(strprintf("@@cancel|%s@@", _("Cancel")));
+ }
+
+ void postInit()
+ {
+ add(mBrowserBox);
+ setContentSize(mBrowserBox->getWidth() + 8,
+ mBrowserBox->getHeight() + 8);
+ }
+
+ A_DELETE_COPY(CreatePartyPopup)
+
+ void handleLink(const std::string &link,
+ MouseEvent *event A_UNUSED) override final
+ {
+ if (link == "guild" && socialWindow)
+ {
+ socialWindow->showGuildCreate();
+ }
+ else if (link == "party" && socialWindow)
+ {
+ socialWindow->showPartyCreate();
+ }
+
+ setVisible(false);
+ }
+
+ void show(Widget *parent)
+ {
+ if (!parent)
+ return;
+
+ int x, y;
+ parent->getAbsolutePosition(x, y);
+ y += parent->getHeight();
+ setPosition(x, y);
+ setVisible(true);
+ requestMoveToTop();
+ }
+
+ private:
+ BrowserBox* mBrowserBox;
+};
diff --git a/src/gui/windows/socialwindow.cpp b/src/gui/windows/socialwindow.cpp
index 9b828aac0..23869e5ea 100644
--- a/src/gui/windows/socialwindow.cpp
+++ b/src/gui/windows/socialwindow.cpp
@@ -64,6 +64,8 @@
#include "gui/widgets/tabs/socialpickuptab.h"
#include "gui/widgets/tabs/socialplayerstab.h"
+#include "gui/popups/createpartypopup.h"
+
#include "net/net.h"
#include "net/guildhandler.h"
#include "net/partyhandler.h"
@@ -75,67 +77,6 @@
extern unsigned int tmwServerVersion;
-class CreatePopup final : public Popup, public LinkHandler
-{
-public:
- CreatePopup() :
- Popup("SocialCreatePopup"),
- LinkHandler(),
- mBrowserBox(new BrowserBox(this, BrowserBox::AUTO_SIZE, true,
- "popupbrowserbox.xml"))
- {
- mBrowserBox->setPosition(4, 4);
- mBrowserBox->setOpaque(false);
- mBrowserBox->setLinkHandler(this);
-
- // TRANSLATORS: party popup item
- mBrowserBox->addRow(strprintf("@@party|%s@@", _("Create Party")));
- mBrowserBox->addRow("##3---");
- // TRANSLATORS: party popup item
- mBrowserBox->addRow(strprintf("@@cancel|%s@@", _("Cancel")));
- }
-
- void postInit()
- {
- add(mBrowserBox);
- setContentSize(mBrowserBox->getWidth() + 8,
- mBrowserBox->getHeight() + 8);
- }
-
- A_DELETE_COPY(CreatePopup)
-
- void handleLink(const std::string &link,
- MouseEvent *event A_UNUSED) override final
- {
- if (link == "guild" && socialWindow)
- {
- socialWindow->showGuildCreate();
- }
- else if (link == "party" && socialWindow)
- {
- socialWindow->showPartyCreate();
- }
-
- setVisible(false);
- }
-
- void show(Widget *parent)
- {
- if (!parent)
- return;
-
- int x, y;
- parent->getAbsolutePosition(x, y);
- y += parent->getHeight();
- setPosition(x, y);
- setVisible(true);
- requestMoveToTop();
- }
-
-private:
- BrowserBox* mBrowserBox;
-};
-
SocialWindow::SocialWindow() :
// TRANSLATORS: social window name
Window(_("Social"), false, nullptr, "social.xml"),
@@ -159,7 +100,7 @@ SocialWindow::SocialWindow() :
// TRANSLATORS: here F is title for friends tab in social window
mFriends(new SocialFriendsTab(this, _("F"),
getOptionBool("showtabbackground"))),
- mCreatePopup(new CreatePopup),
+ mCreatePopup(new CreatePartyPopup),
// TRANSLATORS: social window button
mCreateButton(new Button(this, _("Create"), "create", this)),
// TRANSLATORS: social window button
diff --git a/src/gui/windows/socialwindow.h b/src/gui/windows/socialwindow.h
index f0bfe1fb9..6ce903a5a 100644
--- a/src/gui/windows/socialwindow.h
+++ b/src/gui/windows/socialwindow.h
@@ -32,7 +32,7 @@
class Button;
class ConfirmDialog;
-class CreatePopup;
+class CreatePartyPopup;
class Guild;
class Label;
class Map;
@@ -159,7 +159,7 @@ protected:
SocialTab *mNavigation;
SocialTab *mFriends;
- CreatePopup *mCreatePopup;
+ CreatePartyPopup *mCreatePopup;
Button *mCreateButton;
Button *mInviteButton;