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;

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to