From 7cf5cb58865bc5f3951a6f4e40cf892ede96fc5a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 5 Jan 2012 18:35:21 +0300 Subject: Update copyrights year. --- src/gui/shortcutwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gui/shortcutwindow.cpp') diff --git a/src/gui/shortcutwindow.cpp b/src/gui/shortcutwindow.cpp index eff28def7..fed2deba8 100644 --- a/src/gui/shortcutwindow.cpp +++ b/src/gui/shortcutwindow.cpp @@ -2,7 +2,7 @@ * The ManaPlus Client * Copyright (C) 2007-2009 The Mana World Development Team * Copyright (C) 2009-2010 The Mana Developers - * Copyright (C) 2011 The ManaPlus Developers + * Copyright (C) 2011-2012 The ManaPlus Developers * * This file is part of The ManaPlus Client. * -- cgit v1.2.3-70-g09d2 From 158dd2f34e7cbefa26bcfe9a3410640b1e7caa58 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 14 Jan 2012 19:32:01 +0300 Subject: Add additional pixel in shortcuts like windows for better moving. --- src/gui/shortcutwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gui/shortcutwindow.cpp') diff --git a/src/gui/shortcutwindow.cpp b/src/gui/shortcutwindow.cpp index fed2deba8..888b97222 100644 --- a/src/gui/shortcutwindow.cpp +++ b/src/gui/shortcutwindow.cpp @@ -58,7 +58,7 @@ ShortcutWindow::ShortcutWindow(const std::string &title, { setWindowName(title); // no title presented, title bar is padding so window can be moved. - gcn::Window::setTitleBarHeight(gcn::Window::getPadding()); + gcn::Window::setTitleBarHeight(gcn::Window::getPadding() + 1); setShowTitle(false); setResizable(true); setDefaultVisible(false); @@ -104,7 +104,7 @@ ShortcutWindow::ShortcutWindow(const std::string &title, std::string skinFile, { setWindowName(title); // no title presented, title bar is padding so window can be moved. - gcn::Window::setTitleBarHeight(gcn::Window::getPadding()); + gcn::Window::setTitleBarHeight(gcn::Window::getPadding() + 1); setShowTitle(false); setResizable(true); setDefaultVisible(false); -- cgit v1.2.3-70-g09d2 From f6d283961cfdac6779a6e7ac07de211b44fc7bc7 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 15 Jan 2012 00:25:57 +0300 Subject: Add support moving shortcuts like windows by header. --- src/gui/shortcutwindow.cpp | 38 ++++++++++++++++++++++++++++++++++++++ src/gui/shortcutwindow.h | 4 ++++ 2 files changed, 42 insertions(+) (limited to 'src/gui/shortcutwindow.cpp') diff --git a/src/gui/shortcutwindow.cpp b/src/gui/shortcutwindow.cpp index 888b97222..0e968efef 100644 --- a/src/gui/shortcutwindow.cpp +++ b/src/gui/shortcutwindow.cpp @@ -23,6 +23,7 @@ #include "gui/shortcutwindow.h" #include "configuration.h" +#include "logger.h" #include "gui/setup.h" @@ -64,6 +65,9 @@ ShortcutWindow::ShortcutWindow(const std::string &title, setDefaultVisible(false); setSaveVisible(true); + mDragOffsetX = 0; + mDragOffsetY = 0; + setupWindow->registerWindowForReset(this); mTabs = nullptr; @@ -110,6 +114,9 @@ ShortcutWindow::ShortcutWindow(const std::string &title, std::string skinFile, setDefaultVisible(false); setSaveVisible(true); + mDragOffsetX = 0; + mDragOffsetY = 0; + setupWindow->registerWindowForReset(this); mTabs = new TabbedArea; @@ -178,3 +185,34 @@ void ShortcutWindow::widgetHidden(const gcn::Event &event) } } } + +void ShortcutWindow::mousePressed(gcn::MouseEvent &event) +{ + Window::mousePressed(event); + + if (event.isConsumed()) + return; + + if (event.getButton() == gcn::MouseEvent::LEFT) + { + mDragOffsetX = event.getX(); + mDragOffsetY = event.getY(); + } +} + +void ShortcutWindow::mouseDragged(gcn::MouseEvent &event) +{ + Window::mouseDragged(event); + + if (event.isConsumed()) + return; + + if (canMove() && isMovable() && mMoved) + { + int newX = std::max(0, getX() + event.getX() - mDragOffsetX); + int newY = std::max(0, getY() + event.getY() - mDragOffsetY); + newX = std::min(mainGraphics->mWidth - getWidth(), newX); + newY = std::min(mainGraphics->mHeight - getHeight(), newY); + setPosition(newX, newY); + } +} diff --git a/src/gui/shortcutwindow.h b/src/gui/shortcutwindow.h index ceb82ef7b..bdff5ab0d 100644 --- a/src/gui/shortcutwindow.h +++ b/src/gui/shortcutwindow.h @@ -58,6 +58,10 @@ class ShortcutWindow : public Window void widgetHidden(const gcn::Event &event); + void mousePressed(gcn::MouseEvent &event); + + void mouseDragged(gcn::MouseEvent &event); + private: ShortcutWindow(); ShortcutContainer *mItems; -- cgit v1.2.3-70-g09d2