[Libreoffice] [UX] [PATCH] EasyHacks 3.27 Change Sheet copy process

Kohei Yoshida kyoshida at novell.com
Wed Dec 22 08:22:25 PST 2010


On Wed, 2010-12-22 at 12:48 +0100, Joost Eekhoorn wrote:
> Hi all,
> 
> The proposed layout change of Bernhard looks good to me, but there are
> some pitfalls.
> 
> > Christoph wrote:
> > [...]
> >     * If the user copies a sheet (several sheets) within the same
> >       file, then the new sheets will be renamed anyway. Right?
> >       Although the user did not check the "Rename" checkbox ... -->
> As
> >       far as I understand, we require unique sheet names. The
> checkbox
> >       refers to a user intended name change.
> 
> That is just the problem for the programmer, that he does know what
> the user is going to do, and the user can change his mind.
> 
> + use case mc01: The user copies "SheetA" in the same document. The
> proposed new name becomes "SheetA_1". Now the user decides to copy the
> sheet to another document, where "SheetA" does not exist, the proposed
> new name should be "SheetA",
> but only if the user did not rename the new name!
> I do not known if that is possible, with keeping the code transparant.

Well, this is not that big of an issue since we do have access to the
ScDocument instance of the destination document.  When the user switches
the destination document, we can ask the new ScDocument instance whether
there is a name clash.  I already put some code to handle some aspect of
that.

> 
> > Bernhard wrote:
> > [...]
> > |    Place to insert
>    |
> > |
>  +-------------------------------------------------------------+  |
> > | /\ | Sheet 1
> |  |
> > | || |  $sheetname 2
> |  |
> > | \/ | Sheet 2
> |  |
> > |    | Sheet 3
> |  |
> > |
>  +-------------------------------------------------------------+  |
> 
> That is an challenge for the programmer, because the content of the
> list must change on the fly.Thus make the challenge not too big:
> display "- position -" instand of "$sheetname 2".

Yup, I agree.  Displaying the '- position -' or something like that
would make more sense, especially when the user is trying to move or
copy multiple sheets.

Changing the content of the list is, although it requires some code to
write, can be doable.  This just means we need to re-populate the list
content every time the insertion point moves, but it can be done.

> What to do when the user clicks "Sheet 3"?
> 
> Drag-and-drop of "- position -" must be implemented, but not for the
> existing sheets!

My preferred approach is to create two buttons to move the insertion
position up or down, instead of relying on the user clicking on the
sheet name in the list.  To me 1) that makes more sense, and 2) is
easier to implement than handling mouse click events on the list
control.

Kohei

-- 
Kohei Yoshida, LibreOffice hacker, Calc
<kyoshida at novell.com>



More information about the LibreOffice mailing list