On Tue, Jul 29, 2003 at 04:35:40PM +0100, John Levon spake thusly: > > On Tue, Jul 29, 2003 at 06:52:50PM +0300, Martin Vermeer wrote: > > > OK to commit? > > Fine by me > > (But I wonder if we could further clean up via "Box button_dim;") > > regards > john
Like this? Martin
Index: insetcollapsable.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetcollapsable.C,v retrieving revision 1.156 diff -u -p -r1.156 insetcollapsable.C --- insetcollapsable.C 25 Jul 2003 21:20:13 -0000 1.156 +++ insetcollapsable.C 29 Jul 2003 16:11:32 -0000 @@ -26,6 +26,7 @@ #include "funcrequest.h" #include "buffer.h" #include "metricsinfo.h" +#include "box.h" #include "frontends/font_metrics.h" #include "frontends/Painter.h" @@ -241,8 +242,7 @@ void InsetCollapsable::lfunMouseRelease( return; } - if ((cmd.button() != mouse_button::button3) && (cmd.x < button_length) && - (cmd.y >= button_top_y) && (cmd.y <= button_bottom_y)) + if (cmd.button() != mouse_button::button3 && hitButton(cmd)) { if (collapsed_) { collapsed_ = false; @@ -285,6 +285,13 @@ int InsetCollapsable::linuxdoc(Buffer co int InsetCollapsable::docbook(Buffer const * buf, ostream & os, bool mixcont) const { return inset.docbook(buf, os, mixcont); +} + + +bool InsetCollapsable::hitButton(FuncRequest const & cmd) const +{ + Box button_dim(0, button_length, button_top_y, button_bottom_y); + return button_dim.contained(cmd.x, cmd.y); } Index: insetnote.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetnote.C,v retrieving revision 1.35 diff -u -p -r1.35 insetnote.C --- insetnote.C 29 Jul 2003 12:20:04 -0000 1.35 +++ insetnote.C 29 Jul 2003 16:11:32 -0000 @@ -132,8 +132,7 @@ dispatch_result InsetNote::localDispatch InsetNoteMailer("note", *this).updateDialog(bv); return DISPATCHED; case LFUN_MOUSE_RELEASE: - if (cmd.button() == mouse_button::button3 && cmd.x < button_length - && cmd.y >= button_top_y && cmd.y <= button_bottom_y) { + if (cmd.button() == mouse_button::button3 && hitButton(cmd)) { InsetNoteMailer("note", *this).showDialog(bv); return DISPATCHED; } Index: insetert.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/insets/insetert.C,v retrieving revision 1.143 diff -u -p -r1.143 insetert.C --- insetert.C 28 Jul 2003 15:17:11 -0000 1.143 +++ insetert.C 29 Jul 2003 16:11:32 -0000 @@ -295,8 +295,7 @@ bool InsetERT::lfunMouseRelease(FuncRequ return true; } - if (status_ != Inlined && (cmd.x >= 0) && (cmd.x < button_length) && - (cmd.y >= button_top_y) && (cmd.y <= button_bottom_y)) { + if (status_ != Inlined && hitButton(cmd)) { updateStatus(bv, true); } else { FuncRequest cmd1 = cmd;
pgp00000.pgp
Description: PGP signature