Re: 2ond patch for using gtk dnd in unix

From: Tomeu Vizoso <tomeu_at_tomeuvizoso.net>
Date: Thu Feb 01 2007 - 11:54:59 CET

Hi,

attached is a patch that now has a much closer feeling as the xp visual
dnd. Some comments inline.

Images have worked, but I had to disable an assert in
gr_UnixPangoGraphics.cpp. You can reproduce it by selecting an image.

I expect to have them working in the next version of this patch.

On Wed, 2007-01-31 at 18:13 +1100, msevior@physics.unimelb.edu.au wrote:
> > Sorry, that last one was bad. This one should actually drop data.
> >
> > On Tue, 2007-01-30 at 16:03 +0100, Tomeu Vizoso wrote:
> >> Hi,
> >>
> >> this patch solves many of the issues of the other one. Plus, have put
> >> again the code in UnixFrameImpl that I had previously moved.
> >>
> >> If anyone could apply it, test and criticise, would be great.
> >>
> >> Thanks,
> >>
> >> Tomeu
> >
>
> Hi Tomeu,
> This is great progress but there is quite a way to go yet.
>
> For a start the default behaviour of visual drag and drop is to cut the
> selected text, then drag it to where it needs to go.
>
> If you hold down the control key and drag then you do a copy like what
> you're doing now.

This should be implemented now.

> Next upon release the selection changes to something much large than the
> dragged text.

This only happens now when copying text. Any hints about why this
happens?

> Multi-line selections look rather strange since a bit amount of white
> background is included in the selection.

Yes, I think this was also the case with the xp visual dnd (I'm invoking
the xp getImageFromSelection() method).

> The code to determine whether the text should be visually dragged seems
> correct so far.
>
> I like the behaviour of dragging the text outside abiword. We need to
> implement some nautilus target method so text dropped onto the background
> gets converted into a file.

Yes, I think this will be easy.

> I guess the main benefit of this is to do something similar on OLPC.
>
> To get the cut/copy/paste behaviour right we need to implement the methods:
>
> void FV_UnixVisualDrag::mouseCut(UT_sint32 x, UT_sint32 y)

Using it now.

> void FV_UnixVisualDrag::mouseCopy(UT_sint32 x, UT_sint32 y)

Using it now.

> void FV_UnixVisualDrag::mouseRelease(UT_sint32 x, UT_sint32 y)

Not using it, using instead the drag-end signal.

> void FV_UnixVisualDrag::abortDrag(void)

Not using it, using instead the drag-end signal.

> Cheers
>
> Martin
>
>

Received on Thu Feb 1 11:55:03 2007

This archive was generated by hypermail 2.1.8 : Thu Feb 01 2007 - 11:55:04 CET