Locating Backing Window Recent Documents Object

Joel Madero jmadero.dev at gmail.com
Wed Jul 11 11:03:39 PDT 2012


Again many thanks Michael. I agree that UX team should be the final say but
I want to familiarize with as much code as possible and I figured this was
an easy enough task that I could do the changes, show the UX team and then
let them either accept or reject.

I've been able to do a bit of changes and now I'm on the last thing and
that's pinpointing where the little black arrow png is. Any suggestions on
where the arrow is being called, from there I think I'll be able to adjust
it just a bit to meet the users want as well as still make the
backingwindow look nice. Looking in the backingwindow.cxx I see where
basically everything else is being called (all the buttons) but I don't see
where that arrow is coming from.

Thanks again,

Joel

On Fri, Jul 6, 2012 at 12:36 PM, Michael Meeks <michael.meeks at suse.com>wrote:

>
> On Fri, 2012-07-06 at 08:54 -0700, Joel Madero wrote:
> > haha digging a ditch for myself ;) I think I now am following the
> > logic of MouseButtonDown but I'm still not seeing where it's being
> > called (and where rMEvt) is coming from. Basically where are the pixel
> > ranges defined as different actions (open vs. recent documents).
>
>         rMEvt comes from the VCL - it will have the mouse event
> co-ordinates
> correct; you don't want to change that bit :-)
>
> > https://bugs.freedesktop.org/show_bug.cgi?id=47164
>
>         For me this works fine:
>
>     if ( mnMenuMode & MENUBUTTON_MENUMODE_TIMED )
>     {
>         // if the separated dropdown symbol is hit,
>         // execute the popup immediately
>         if( ! ImplGetSymbolRect().IsInside( rMEvt.GetPosPixel() ) )
>
>         And my 'ImplGetSymbolRect()' method seems to return something
> sensible;
> if you grok for 'SetSymbolRect' you can see what sets this.
>
>             long nDistance = (aInRect.GetHeight() > 10) ? 2 : 1;
>             DecorationView aDecoView( pDev );
>             if( bMenuBtnSep )
>             {
>                 long nX = aInRect.Left() - 2*nDistance;
>                 Point aStartPt( nX, aInRect.Top()+nDistance );
>                 Point aEndPt( nX, aInRect.Bottom()-nDistance );
>                 aDecoView.DrawSeparator( aStartPt, aEndPt );
>             }
>             aDecoView.DrawSymbol( aInRect, SYMBOL_SPIN_DOWN, aColor,
> nStyle );
>             aInRect.Left() -= 2*nDistance;
>             ImplSetSymbolRect( aInRect );
>
>         Which already seems to nudge the left boundary further left so ...
> and
> the way right-to-left works that should work in that mode too.
>
>         So - I don't really follow the bug; we could of course move the
> separator further across and make that drop-down area larger with some
> tweaks to the logic there, though that needs some UX input I think.
>
>         It seems (oddly, but ~normal for VCL) that most of the menubutton
> logic
> lives in 'button.cxx' itself as special cases ;-) so best to poke there
> really.
>
>         HTH !
>
>                 Michael.
>
> --
> michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120711/5bb658ac/attachment.html>


More information about the LibreOffice mailing list