summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/actionmanager.cpp7
-rw-r--r--src/gui/popupmanager.cpp181
-rw-r--r--src/gui/popupmanager.h92
-rw-r--r--src/gui/viewport.cpp14
-rw-r--r--src/gui/widgets/avatarlistbox.cpp26
-rw-r--r--src/gui/widgets/dropshortcutcontainer.cpp9
-rw-r--r--src/gui/widgets/itemlinkhandler.cpp9
-rw-r--r--src/gui/widgets/itemshortcutcontainer.cpp7
-rw-r--r--src/gui/widgets/shoplistbox.cpp9
-rw-r--r--src/gui/widgets/spellshortcutcontainer.cpp9
-rw-r--r--src/gui/widgets/textfield.cpp12
-rw-r--r--src/gui/widgets/window.cpp8
-rw-r--r--src/gui/windowmenu.cpp5
-rw-r--r--src/gui/windows/chatwindow.cpp11
-rw-r--r--src/gui/windows/equipmentwindow.cpp9
-rw-r--r--src/gui/windows/inventorywindow.cpp5
-rw-r--r--src/gui/windows/minimap.cpp5
-rw-r--r--src/gui/windows/ministatuswindow.cpp6
-rw-r--r--src/gui/windows/npcdialog.cpp10
-rw-r--r--src/gui/windows/outfitwindow.cpp8
-rw-r--r--src/gui/windows/whoisonline.cpp13
21 files changed, 133 insertions, 322 deletions
diff --git a/src/actionmanager.cpp b/src/actionmanager.cpp
index 004c997f9..0c9d75b5b 100644
--- a/src/actionmanager.cpp
+++ b/src/actionmanager.cpp
@@ -42,6 +42,8 @@
#include "gui/sdlinput.h"
#include "gui/viewport.h"
+#include "gui/popups/popupmenu.h"
+
#include "gui/windows/skilldialog.h"
#include "gui/windows/socialwindow.h"
#include "gui/windows/statuswindow.h"
@@ -1122,9 +1124,10 @@ impHandler0(showKeyboard)
impHandler0(showWindows)
{
- if (popupManager)
+ if (popupMenu)
{
- popupManager->showWindowsPopup();
+ popupMenu->showWindowsPopup(viewport->getMouseX(),
+ viewport->getMouseY());
return true;
}
return false;
diff --git a/src/gui/popupmanager.cpp b/src/gui/popupmanager.cpp
index 8f5dbdb0c..dc9bdc32f 100644
--- a/src/gui/popupmanager.cpp
+++ b/src/gui/popupmanager.cpp
@@ -50,187 +50,6 @@ PopupManager::~PopupManager()
delete2(mTextPopup);
}
-void PopupManager::showPopup(Window *const parent,
- const int x, const int y,
- Item *const item,
- const bool isInventory)
-{
- popupMenu->showPopup(parent, x, y, item, isInventory);
-}
-
-void PopupManager::showPopup(MapItem *const item)
-{
- popupMenu->showPopup(viewport->getMouseX(), viewport->getMouseY(), item);
-}
-
-void PopupManager::showPopup(Window *const parent,
- Item *const item,
- const bool isInventory)
-{
- popupMenu->showPopup(parent, viewport->getMouseX(), viewport->getMouseY(),
- item, isInventory);
-}
-
-void PopupManager::showPopup(const int x, const int y,
- const std::vector<ActorSprite*> &beings)
-{
- popupMenu->showPopup(x, y, beings);
-}
-
-void PopupManager::showPopup(const int x, const int y,
- const FloorItem *const floorItem)
-{
- popupMenu->showPopup(x, y, floorItem);
-}
-
-void PopupManager::showPopup(const int x, const int y, MapItem *const mapItem)
-{
- popupMenu->showPopup(x, y, mapItem);
-}
-
-void PopupManager::showItemPopup(Item *const item)
-{
- popupMenu->showItemPopup(viewport->getMouseX(), viewport->getMouseY(),
- item);
-}
-
-void PopupManager::showItemPopup(const int itemId,
- const unsigned char color)
-{
- popupMenu->showItemPopup(viewport->getMouseX(), viewport->getMouseY(),
- itemId, color);
-}
-
-void PopupManager::showDropPopup(Item *const item)
-{
- popupMenu->showDropPopup(viewport->getMouseX(), viewport->getMouseY(),
- item);
-}
-
-void PopupManager::showOutfitsPopup(const int x, const int y)
-{
- popupMenu->showOutfitsPopup(x, y);
-}
-
-void PopupManager::showOutfitsPopup()
-{
- popupMenu->showOutfitsPopup(viewport->getMouseX(), viewport->getMouseY());
-}
-
-void PopupManager::showSpellPopup(TextCommand *const cmd)
-{
- popupMenu->showSpellPopup(viewport->getMouseX(), viewport->getMouseY(),
- cmd);
-}
-
-void PopupManager::showChatPopup(const int x, const int y,
- ChatTab *const tab)
-{
- popupMenu->showChatPopup(x, y, tab);
-}
-
-void PopupManager::showChatPopup(ChatTab *const tab)
-{
- popupMenu->showChatPopup(viewport->getMouseX(), viewport->getMouseY(),
- tab);
-}
-
-void PopupManager::showPopup(const int x, const int y,
- const Being *const being)
-{
- popupMenu->showPopup(x, y, being);
-}
-
-void PopupManager::showPopup(const Being *const being)
-{
- popupMenu->showPopup(viewport->getMouseX(), viewport->getMouseY(), being);
-}
-
-void PopupManager::showPlayerPopup(const std::string &nick)
-{
- popupMenu->showPlayerPopup(viewport->getMouseX(), viewport->getMouseY(),
- nick);
-}
-
-void PopupManager::showPopup(const int x, const int y,
- Button *const button)
-{
- popupMenu->showPopup(x, y, button);
-}
-
-void PopupManager::showPopup(const int x, const int y,
- const ProgressBar *const bar)
-{
- popupMenu->showPopup(x, y, bar);
-}
-
-void PopupManager::showAttackMonsterPopup(const std::string &name,
- const ActorType::Type &type)
-{
- popupMenu->showAttackMonsterPopup(viewport->getMouseX(),
- viewport->getMouseY(),
- name,
- type);
-}
-
-void PopupManager::showPickupItemPopup(const std::string &name)
-{
- popupMenu->showPickupItemPopup(viewport->getMouseX(),
- viewport->getMouseY(),
- name);
-}
-
-void PopupManager::showUndressPopup(const int x, const int y,
- const Being *const being,
- Item *const item)
-{
- popupMenu->showUndressPopup(x, y, being, item);
-}
-
-void PopupManager::showMapPopup(const int x, const int y)
-{
- popupMenu->showMapPopup(viewport->getMouseX(), viewport->getMouseY(),
- x, y);
-}
-
-void PopupManager::showMapPopup(const int x1, const int y1,
- const int x2, const int y2)
-{
- popupMenu->showMapPopup(x1, y1, x2, y2);
-}
-
-void PopupManager::showTextFieldPopup(TextField *const input)
-{
- popupMenu->showTextFieldPopup(viewport->getMouseX(),
- viewport->getMouseY(),
- input);
-}
-
-void PopupManager::showLinkPopup(const std::string &link)
-{
- popupMenu->showLinkPopup(viewport->getMouseX(),
- viewport->getMouseY(),
- link);
-}
-
-void PopupManager::showWindowsPopup()
-{
- popupMenu->showWindowsPopup(viewport->getMouseX(), viewport->getMouseY());
-}
-
-void PopupManager::showNpcDialogPopup(const int npcId)
-{
- popupMenu->showNpcDialogPopup(npcId,
- viewport->getMouseX(),
- viewport->getMouseY());
-}
-
-void PopupManager::showWindowPopup(Window *const window)
-{
- popupMenu->showWindowPopup(window, viewport->getMouseX(),
- viewport->getMouseY());
-}
-
void PopupManager::closePopupMenu()
{
if (popupMenu)
diff --git a/src/gui/popupmanager.h b/src/gui/popupmanager.h
index 1687b8202..ae96eac94 100644
--- a/src/gui/popupmanager.h
+++ b/src/gui/popupmanager.h
@@ -60,98 +60,6 @@ class PopupManager final
*/
~PopupManager();
- /**
- * Shows a popup for an item.
- * TODO Find some way to get rid of Item here
- */
- void showPopup(Window *const parent,
- const int x, const int y,
- Item *const item,
- const bool isInventory = true);
-
- /**
- * Shows a popup for an item.
- * TODO Find some way to get rid of Item here
- */
- void showPopup(Window *const parent,
- Item *const item,
- const bool isInventory = true);
-
- void showPopup(const int x, const int y,
- Button *const button);
-
- void showPopup(const int x, const int y,
- const ProgressBar *const bar);
-
- void showPopup(MapItem *const item);
-
- void showPopup(const int x, const int y, MapItem *const mapItem);
-
- void showItemPopup(Item *const item);
-
- void showItemPopup(const int itemId,
- const unsigned char color = 1);
-
- void showDropPopup(Item *const item);
-
- /**
- * Shows a popup for being.
- */
- void showPopup(const int x, const int y,
- const Being *const being);
-
- void showPopup(const Being *const being);
-
- void showPopup(const int x, const int y,
- const std::vector<ActorSprite*> &beings);
-
- void showPopup(const int x, const int y,
- const FloorItem *const floorItem);
-
- void showPlayerPopup(const std::string &nick);
-
- void showOutfitsPopup(const int x, const int y);
-
- void showOutfitsPopup();
-
- void showSpellPopup(TextCommand *const cmd);
-
- void showAttackMonsterPopup(const std::string &name,
- const ActorType::Type &type);
-
- void showPickupItemPopup(const std::string &name);
-
- /**
- * Shows the related popup menu when right click on the chat
- * at the specified mouse coordinates.
- */
- void showChatPopup(const int x, const int y,
- ChatTab *const tab);
-
- /**
- * Shows the related popup menu when right click on the chat
- */
- void showChatPopup(ChatTab *const tab);
-
- void showUndressPopup(const int x, const int y,
- const Being *const being,
- Item *const item);
-
- void showMapPopup(const int x, const int y);
-
- void showMapPopup(const int x1, const int y1,
- const int x2, const int y2);
-
- void showTextFieldPopup(TextField *const input);
-
- void showLinkPopup(const std::string &link);
-
- void showWindowsPopup();
-
- void showNpcDialogPopup(const int npcId);
-
- void showWindowPopup(Window *const window);
-
void showBeingPopup(const int x, const int y,
Being *const b);
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp
index 7ae46dddf..761daf41f 100644
--- a/src/gui/viewport.cpp
+++ b/src/gui/viewport.cpp
@@ -45,6 +45,8 @@
#include "gui/fonts/font.h"
+#include "gui/popups/popupmenu.h"
+
#include "gui/windows/ministatuswindow.h"
#include "debug.h"
@@ -365,6 +367,8 @@ bool Viewport::openContextMenu(const MouseEvent &event)
mPlayerFollowMouse = false;
const int eventX = event.getX();
const int eventY = event.getY();
+ if (!popupMenu)
+ return false;
if (mHoverBeing)
{
validateSpeed();
@@ -375,29 +379,29 @@ bool Viewport::openContextMenu(const MouseEvent &event)
const int y = mMouseY + mPixelViewY;
actorManager->findBeingsByPixel(beings, x, y, true);
if (beings.size() > 1)
- popupManager->showPopup(eventX, eventY, beings);
+ popupMenu->showPopup(eventX, eventY, beings);
else
- popupManager->showPopup(eventX, eventY, mHoverBeing);
+ popupMenu->showPopup(eventX, eventY, mHoverBeing);
return true;
}
}
else if (mHoverItem)
{
validateSpeed();
- popupManager->showPopup(eventX, eventY, mHoverItem);
+ popupMenu->showPopup(eventX, eventY, mHoverItem);
return true;
}
else if (mHoverSign)
{
validateSpeed();
- popupManager->showPopup(eventX, eventY, mHoverSign);
+ popupMenu->showPopup(eventX, eventY, mHoverSign);
return true;
}
else if (settings.cameraMode)
{
if (!mMap)
return false;
- popupManager->showMapPopup(eventX, eventY,
+ popupMenu->showMapPopup(eventX, eventY,
(mMouseX + mPixelViewX) / mMap->getTileWidth(),
(mMouseY + mPixelViewY) / mMap->getTileHeight());
return true;
diff --git a/src/gui/widgets/avatarlistbox.cpp b/src/gui/widgets/avatarlistbox.cpp
index 4968393b2..21689311a 100644
--- a/src/gui/widgets/avatarlistbox.cpp
+++ b/src/gui/widgets/avatarlistbox.cpp
@@ -34,6 +34,8 @@
#include "gui/fonts/font.h"
+#include "gui/popups/popupmenu.h"
+
#include "gui/models/avatarlistmodel.h"
#include "gui/windows/chatwindow.h"
@@ -392,9 +394,17 @@ void AvatarListBox::mousePressed(MouseEvent &event)
const Being *const being = actorManager->findBeingByName(
avatar->getName(), ActorType::PLAYER);
if (being)
- popupManager->showPopup(being);
+ {
+ popupMenu->showPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ being);
+ }
else
- popupManager->showPlayerPopup(avatar->getName());
+ {
+ popupMenu->showPlayerPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ avatar->getName());
+ }
}
break;
}
@@ -408,7 +418,9 @@ void AvatarListBox::mousePressed(MouseEvent &event)
else
name = model->getAvatarAt(selected)->getName();
- popupManager->showAttackMonsterPopup(name,
+ popupMenu->showAttackMonsterPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ name,
static_cast<ActorType::Type>(model->getAvatarAt(
selected)->getType()));
break;
@@ -422,7 +434,9 @@ void AvatarListBox::mousePressed(MouseEvent &event)
else
name = model->getAvatarAt(selected)->getName();
- popupManager->showPickupItemPopup(name);
+ popupMenu->showPickupItemPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ name);
break;
}
case MapItemType::HOME:
@@ -446,7 +460,9 @@ void AvatarListBox::mousePressed(MouseEvent &event)
{
MapItem *const mapItem = map->findPortalXY(
ava->getX(), ava->getY());
- popupManager->showPopup(mapItem);
+ popupMenu->showPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ mapItem);
}
break;
}
diff --git a/src/gui/widgets/dropshortcutcontainer.cpp b/src/gui/widgets/dropshortcutcontainer.cpp
index b57c98273..8fe3a8b2b 100644
--- a/src/gui/widgets/dropshortcutcontainer.cpp
+++ b/src/gui/widgets/dropshortcutcontainer.cpp
@@ -34,6 +34,7 @@
#include "gui/fonts/font.h"
#include "gui/popups/itempopup.h"
+#include "gui/popups/popupmenu.h"
#include "gui/windows/inventorywindow.h"
@@ -215,8 +216,12 @@ void DropShortcutContainer::mousePressed(MouseEvent &event)
Item *const item = inv->findItem(dropShortcut->getItem(index),
dropShortcut->getItemColor(index));
- if (popupManager)
- popupManager->showDropPopup(item);
+ if (popupMenu)
+ {
+ popupMenu->showDropPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ item);
+ }
}
}
diff --git a/src/gui/widgets/itemlinkhandler.cpp b/src/gui/widgets/itemlinkhandler.cpp
index 2217b051f..f63991f8d 100644
--- a/src/gui/widgets/itemlinkhandler.cpp
+++ b/src/gui/widgets/itemlinkhandler.cpp
@@ -26,6 +26,7 @@
#include "gui/viewport.h"
#include "gui/popups/itempopup.h"
+#include "gui/popups/popupmenu.h"
#include "gui/windows/confirmdialog.h"
#include "gui/windows/helpwindow.h"
@@ -79,8 +80,12 @@ void ItemLinkHandler::handleLink(const std::string &link, MouseEvent *event)
}
else if (button == MouseButton::RIGHT)
{
- if (popupManager)
- popupManager->showLinkPopup(url);
+ if (popupMenu)
+ {
+ popupMenu->showLinkPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ url);
+ }
}
}
else if (!link.empty() && link[0] == '?')
diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp
index 2d8deeba9..84b7bc249 100644
--- a/src/gui/widgets/itemshortcutcontainer.cpp
+++ b/src/gui/widgets/itemshortcutcontainer.cpp
@@ -39,6 +39,7 @@
#include "gui/fonts/font.h"
#include "gui/popups/itempopup.h"
+#include "gui/popups/popupmenu.h"
#include "gui/popups/spellpopup.h"
#include "gui/windows/inventorywindow.h"
@@ -334,9 +335,11 @@ void ItemShortcutContainer::mousePressed(MouseEvent &event)
else if (event.getButton() == MouseButton::RIGHT)
{
event.consume();
- if (popupManager && selShortcut)
+ if (popupMenu && selShortcut && viewport)
{
- popupManager->showItemPopup(selShortcut->getItem(index),
+ popupMenu->showItemPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ selShortcut->getItem(index),
selShortcut->getItemColor(index));
}
}
diff --git a/src/gui/widgets/shoplistbox.cpp b/src/gui/widgets/shoplistbox.cpp
index 019fd3e63..8efc5241f 100644
--- a/src/gui/widgets/shoplistbox.cpp
+++ b/src/gui/widgets/shoplistbox.cpp
@@ -33,6 +33,7 @@
#include "gui/fonts/font.h"
#include "gui/popups/itempopup.h"
+#include "gui/popups/popupmenu.h"
#include "gui/models/shopitems.h"
@@ -234,8 +235,12 @@ void ShopListBox::mouseReleased(MouseEvent& event)
return;
Item *const item = mShopItems->at(mSelected);
- if (popupManager)
- popupManager->showItemPopup(item);
+ if (popupMenu && viewport)
+ {
+ popupMenu->showItemPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ item);
+ }
}
}
diff --git a/src/gui/widgets/spellshortcutcontainer.cpp b/src/gui/widgets/spellshortcutcontainer.cpp
index 8960725d5..164513d73 100644
--- a/src/gui/widgets/spellshortcutcontainer.cpp
+++ b/src/gui/widgets/spellshortcutcontainer.cpp
@@ -32,6 +32,7 @@
#include "gui/fonts/font.h"
+#include "gui/popups/popupmenu.h"
#include "gui/popups/spellpopup.h"
#include "gui/windows/shortcutwindow.h"
@@ -260,8 +261,12 @@ void SpellShortcutContainer::mouseReleased(MouseEvent &event)
if (itemId >= 0)
spell = spellManager->getSpell(itemId);
- if (spell && popupManager)
- popupManager->showSpellPopup(spell);
+ if (spell && popupMenu)
+ {
+ popupMenu->showSpellPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ spell);
+ }
}
}
diff --git a/src/gui/widgets/textfield.cpp b/src/gui/widgets/textfield.cpp
index adb455432..0810b9395 100644
--- a/src/gui/widgets/textfield.cpp
+++ b/src/gui/widgets/textfield.cpp
@@ -70,14 +70,16 @@
#include "input/inputmanager.h"
#include "gui/gui.h"
-#include "gui/popupmanager.h"
#include "gui/skin.h"
+#include "gui/viewport.h"
#ifdef ANDROID
#include "gui/windowmanager.h"
#endif
#include "gui/fonts/font.h"
+#include "gui/popups/popupmenu.h"
+
#include "resources/image.h"
#include "resources/imagerect.h"
@@ -703,8 +705,12 @@ void TextField::mousePressed(MouseEvent &event)
event.consume();
if (event.getButton() == MouseButton::RIGHT)
{
- if (popupManager)
- popupManager->showTextFieldPopup(this);
+ if (popupMenu)
+ {
+ popupMenu->showTextFieldPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ this);
+ }
}
else if (event.getButton() == MouseButton::LEFT)
{
diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp
index 2078c4cef..7a85d5352 100644
--- a/src/gui/widgets/window.cpp
+++ b/src/gui/widgets/window.cpp
@@ -80,6 +80,8 @@
#include "gui/fonts/font.h"
+#include "gui/popups/popupmenu.h"
+
#include "gui/windows/setupwindow.h"
#include "gui/widgets/containerplacer.h"
@@ -764,10 +766,12 @@ void Window::mousePressed(MouseEvent &event)
}
else if (button == MouseButton::RIGHT)
{
- if (popupManager)
+ if (popupMenu)
{
event.consume();
- popupManager->showWindowPopup(this);
+ popupMenu->showWindowPopup(this,
+ viewport->getMouseX(),
+ viewport->getMouseY());
}
}
}
diff --git a/src/gui/windowmenu.cpp b/src/gui/windowmenu.cpp
index ed3905404..f998fe7b9 100644
--- a/src/gui/windowmenu.cpp
+++ b/src/gui/windowmenu.cpp
@@ -31,6 +31,7 @@
#include "gui/popupmanager.h"
#include "gui/skin.h"
+#include "gui/popups/popupmenu.h"
#include "gui/popups/textpopup.h"
#include "gui/windows/skilldialog.h"
@@ -257,9 +258,9 @@ void WindowMenu::mousePressed(MouseEvent &event)
Button *const btn = dynamic_cast<Button*>(event.getSource());
if (!btn)
return;
- if (popupManager)
+ if (popupMenu)
{
- popupManager->showPopup(getX() + event.getX(),
+ popupMenu->showPopup(getX() + event.getX(),
getY() + event.getY(), btn);
}
}
diff --git a/src/gui/windows/chatwindow.cpp b/src/gui/windows/chatwindow.cpp
index 2cee38db7..363af7284 100644
--- a/src/gui/windows/chatwindow.cpp
+++ b/src/gui/windows/chatwindow.cpp
@@ -45,9 +45,12 @@
#include "gui/gui.h"
#include "gui/popupmanager.h"
#include "gui/skin.h"
+#include "gui/viewport.h"
#include "gui/models/colorlistmodel.h"
+#include "gui/popups/popupmenu.h"
+
#include "gui/windows/emotewindow.h"
#include "gui/windows/setupwindow.h"
#include "gui/widgets/tabbedarea.h"
@@ -657,7 +660,7 @@ void ChatWindow::mousePressed(MouseEvent &event)
if (event.getButton() == MouseButton::RIGHT)
{
- if (popupManager)
+ if (popupMenu)
{
Tab *const tab = mChatTabs->getSelectedTab();
if (tab)
@@ -674,7 +677,11 @@ void ChatWindow::mousePressed(MouseEvent &event)
{
ChatTab *const cTab = dynamic_cast<ChatTab*>(tab);
if (cTab)
- popupManager->showChatPopup(cTab);
+ {
+ popupMenu->showChatPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ cTab);
+ }
}
}
}
diff --git a/src/gui/windows/equipmentwindow.cpp b/src/gui/windows/equipmentwindow.cpp
index a760f49c8..5600de741 100644
--- a/src/gui/windows/equipmentwindow.cpp
+++ b/src/gui/windows/equipmentwindow.cpp
@@ -32,10 +32,9 @@
#include "being/localplayer.h"
#include "being/playerinfo.h"
-#include "gui/popupmanager.h"
-
#include "gui/fonts/font.h"
+#include "gui/popups/popupmenu.h"
#include "gui/popups/itempopup.h"
#include "gui/windows/setupwindow.h"
@@ -358,13 +357,13 @@ void EquipmentWindow::mousePressed(MouseEvent& event)
*/
const int mx = x + getX();
const int my = y + getY();
- if (popupManager)
+ if (popupMenu)
{
event.consume();
if (mForing)
- popupManager->showUndressPopup(mx, my, mBeing, item);
+ popupMenu->showUndressPopup(mx, my, mBeing, item);
else
- popupManager->showPopup(this, mx, my, item, true);
+ popupMenu->showPopup(this, mx, my, item, true);
return;
}
}
diff --git a/src/gui/windows/inventorywindow.cpp b/src/gui/windows/inventorywindow.cpp
index 5d12c95d4..d148d4d7d 100644
--- a/src/gui/windows/inventorywindow.cpp
+++ b/src/gui/windows/inventorywindow.cpp
@@ -40,6 +40,7 @@
#include "gui/models/sortlistmodelinv.h"
+#include "gui/popups/popupmenu.h"
#include "gui/popups/textpopup.h"
#include "gui/windows/equipmentwindow.h"
@@ -467,8 +468,8 @@ void InventoryWindow::mouseClicked(MouseEvent &event)
const int mx = event.getX() + getX();
const int my = event.getY() + getY();
- if (popupManager)
- popupManager->showPopup(this, mx, my, item, isMainInventory());
+ if (popupMenu)
+ popupMenu->showPopup(this, mx, my, item, isMainInventory());
}
if (!mInventory)
diff --git a/src/gui/windows/minimap.cpp b/src/gui/windows/minimap.cpp
index 615db0d85..16e18fe35 100644
--- a/src/gui/windows/minimap.cpp
+++ b/src/gui/windows/minimap.cpp
@@ -32,6 +32,7 @@
#include "gui/popupmanager.h"
#include "gui/viewport.h"
+#include "gui/popups/popupmenu.h"
#include "gui/popups/textpopup.h"
#include "gui/windows/setupwindow.h"
@@ -459,7 +460,9 @@ void Minimap::mouseReleased(MouseEvent &event)
int x = event.getX();
int y = event.getY();
screenToMap(x, y);
- popupManager->showMapPopup(x, y);
+ popupMenu->showMapPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ x, y);
}
}
diff --git a/src/gui/windows/ministatuswindow.cpp b/src/gui/windows/ministatuswindow.cpp
index 6536617f3..ebbb90119 100644
--- a/src/gui/windows/ministatuswindow.cpp
+++ b/src/gui/windows/ministatuswindow.cpp
@@ -33,9 +33,9 @@
#include "gui/popupmanager.h"
#include "gui/skin.h"
-#include "gui/popups/textpopup.h"
-
+#include "gui/popups/popupmenu.h"
#include "gui/popups/statuspopup.h"
+#include "gui/popups/textpopup.h"
#include "gui/windows/statuswindow.h"
@@ -452,7 +452,7 @@ void MiniStatusWindow::mousePressed(MouseEvent &event)
event.consume();
if (popupManager)
{
- popupManager->showPopup(getX() + event.getX(),
+ popupMenu->showPopup(getX() + event.getX(),
getY() + event.getY(), bar);
}
}
diff --git a/src/gui/windows/npcdialog.cpp b/src/gui/windows/npcdialog.cpp
index d11dca0a9..8b7a938b0 100644
--- a/src/gui/windows/npcdialog.cpp
+++ b/src/gui/windows/npcdialog.cpp
@@ -38,6 +38,8 @@
#include "gui/fonts/font.h"
+#include "gui/popups/popupmenu.h"
+
#include "gui/windows/inventorywindow.h"
#include "gui/widgets/browserbox.h"
@@ -948,8 +950,12 @@ void NpcDialog::mousePressed(MouseEvent &event)
&& event.getSource() == mTextBox)
{
event.consume();
- if (popupManager)
- popupManager->showNpcDialogPopup(mNpcId);
+ if (popupMenu)
+ {
+ popupMenu->showNpcDialogPopup(mNpcId,
+ viewport->getMouseX(),
+ viewport->getMouseY());
+ }
}
}
diff --git a/src/gui/windows/outfitwindow.cpp b/src/gui/windows/outfitwindow.cpp
index a74967bb4..0cd35e289 100644
--- a/src/gui/windows/outfitwindow.cpp
+++ b/src/gui/windows/outfitwindow.cpp
@@ -34,6 +34,9 @@
#include "input/inputmanager.h"
#include "gui/popupmanager.h"
+#include "gui/viewport.h"
+
+#include "gui/popups/popupmenu.h"
#include "gui/windows/setupwindow.h"
@@ -421,9 +424,10 @@ void OutfitWindow::mouseDragged(MouseEvent &event)
void OutfitWindow::mousePressed(MouseEvent &event)
{
const int index = getIndexFromGrid(event.getX(), event.getY());
- if (event.getButton() == MouseButton::RIGHT && popupManager)
+ if (event.getButton() == MouseButton::RIGHT && popupMenu)
{
- popupManager->showOutfitsPopup();
+ popupMenu->showOutfitsPopup(viewport->getMouseX(),
+ viewport->getMouseY());
event.consume();
return;
}
diff --git a/src/gui/windows/whoisonline.cpp b/src/gui/windows/whoisonline.cpp
index f19f2662c..c30f19b8e 100644
--- a/src/gui/windows/whoisonline.cpp
+++ b/src/gui/windows/whoisonline.cpp
@@ -31,6 +31,9 @@
#include "gui/onlineplayer.h"
#include "gui/popupmanager.h"
+#include "gui/viewport.h"
+
+#include "gui/popups/popupmenu.h"
#include "gui/windows/chatwindow.h"
#include "gui/windows/setupwindow.h"
@@ -197,7 +200,7 @@ void WhoIsOnline::handleLink(const std::string& link, MouseEvent *event)
if (localPlayer && link == localPlayer->getName())
return;
- if (popupManager)
+ if (popupMenu)
{
if (actorManager)
{
@@ -207,11 +210,15 @@ void WhoIsOnline::handleLink(const std::string& link, MouseEvent *event)
if (being && popupManager)
{
- popupManager->showPopup(being);
+ popupMenu->showPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ being);
return;
}
}
- popupManager->showPlayerPopup(link);
+ popupMenu->showPlayerPopup(viewport->getMouseX(),
+ viewport->getMouseY(),
+ link);
}
}
}