Skip to content

Commit

Permalink
Now you can press a mouse button in a IntEntry and drag the mouse to …
Browse files Browse the repository at this point in the history
…the slider (issue 339)
  • Loading branch information
dacap committed Feb 8, 2014
1 parent bb32f1f commit 7251f4b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
16 changes: 16 additions & 0 deletions src/ui/int_entry.cpp
Expand Up @@ -12,6 +12,7 @@

#include "gfx/rect.h"
#include "gfx/region.h"
#include "ui/manager.h"
#include "ui/message.h"
#include "ui/popup_window.h"
#include "ui/slider.h"
Expand Down Expand Up @@ -75,6 +76,21 @@ bool IntEntry::onProcessMessage(Message* msg)
openPopup();
break;

case kMouseMoveMessage:
if (hasCapture()) {
MouseMessage* mouseMsg = static_cast<MouseMessage*>(msg);
Widget* pick = getManager()->pick(mouseMsg->position());
if (pick == m_slider) {
releaseMouse();

MouseMessage mouseMsg(kMouseDownMessage,
mouseMsg->buttons(),
mouseMsg->position());
m_slider->sendMessage(&mouseMsg);
}
}
break;

case kMouseWheelMessage:
if (isEnabled()) {
int oldValue = getValue();
Expand Down
3 changes: 2 additions & 1 deletion src/ui/manager.cpp
Expand Up @@ -657,7 +657,8 @@ void Manager::setMouse(Widget* widget)
else
it = widget_parents.begin();

Message* msg = new Message(kMouseEnterMessage);
Message* msg = newMouseMessage(kMouseEnterMessage, NULL,
currentMouseButtons(0));

for (; it != widget_parents.end(); ++it) {
(*it)->flags |= JI_HASMOUSE;
Expand Down

0 comments on commit 7251f4b

Please sign in to comment.