Bug 144733 - Introduce new interaction to open cross-references in a second window
Summary: Introduce new interaction to open cross-references in a second window
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: New-Window-Same-File
  Show dependency treegraph
 
Reported: 2021-09-26 08:55 UTC by Christian Lehmann
Modified: 2022-03-28 12:23 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments
Jump by hyperlink and use Navigation bar to get back (1.27 MB, video/mp4)
2021-10-18 16:12 UTC, Christian Lehmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Lehmann 2021-09-26 08:55:02 UTC
Description:
LO Writer currently has the following feature: The document contains a field which is a cross-reference to another object in the document. User can click this field and is taken to the target of the reference. More precisely: The document window is rewritten so that the target of the cross-reference is shown and the text cursor is positioned directly after the target. Fine.

Now the user is working on position A of his document and wants to check a passage in position B which is the target of a cross-reference which is in A. So he clicks on the cross-reference to jump to B. After inspecting B, he wants to return to A to continue working there. LO Writer supports this in no way; the user has to navigate his way back to A by some Ariadne's thread.

This use case is highly frequent in my work. Different solutions to the problem are conceivable. Ages ago I had suggested one which was ignored. Here is another suggestion: If there is no second window for the document open, open it. Execute the leap in the second window. End of the operation.

Currently, the jump to the reference target is executed by a simple click on it. The jump to the target in the second window could be executed by CTRL-Click. Or even: If a second window for the document is open, then a simple click on the cross-reference is always executed in the second window.

Steps to Reproduce:
1. Have a cross-reference inserted in your document.
2. Click on it.

Actual Results:
Document window is rewritten with cursor on reference target.

Expected Results:
This should happen in a second window on the same document.


Reproducible: Always


User Profile Reset: No



Additional Info:
1) I can find no mention of the possibility of jumping to a cross-reference target by clicking it  in the LibreOffice 7.2 Help. There is a mention in passing on https://help.libreoffice.org/6.1/he/text/swriter/guide/references.html.

2) Currently, there is no support for the user who does not want to lose track of is working position after a jump. Other methods of support than the one suggested above are conceivable and might be offered in addition.
Comment 1 Jan-Marek Glogowski 2021-09-26 10:19:06 UTC
You can already open a 2nd window of a document to edit and navigate it independently via "Window >> New Window" and then navigating via the navigator, but that seems awkward, especially if you have a lot of references.

The easiest would probably be to store the last followed reference and add an undo (stack) with some UNO command, which can then be bound to some button as needed. Somehow following the reference to a target in a 2nd view of the same document should also be easy to implement generally, but would definitely need some more thoughts on the UI / UX to make it usable.

> This use case is highly frequent in my work.

Hmm. If that feature would save a lot of time at your workplace, I suggest you get in contact with some of the professional support providers and pay for an implementation: https://www.libreoffice.org/get-help/professional-support/
Comment 2 Christian Lehmann 2021-10-06 15:11:15 UTC
(In reply to Jan-Marek Glogowski from comment #1)
> 
> Hmm. If that feature would save a lot of time at your workplace, I suggest
> you get in contact with some of the professional support providers and pay
> for an implementation:
> https://www.libreoffice.org/get-help/professional-support/

I have read this kind of reply before. Unless I am mistaken, there are different ways of supporting LibreOffice. One of them is with money. Another is by reporting bugs and suggesting enhancements. I hope the latter is appreciated, too.
Comment 3 Timur 2021-10-06 17:27:14 UTC Comment hidden (obsolete)
Comment 4 Christian Lehmann 2021-10-06 17:34:17 UTC
(In reply to Timur from comment #3)
> Not sure but seems like a duplicate of a sidebar proposal.
> 
> *** This bug has been marked as a duplicate of bug 87078 ***


Sorry, Timur, but the present proposal has absolutely nothing to do with the proposal in 87078. This latter is about inserting cross-references. A valuable proposal in itself, which should be further pursued.

The present proposal is about _using_ an existent cross-reference to jump to its target.
Comment 5 Heiko Tietze 2021-10-18 11:08:02 UTC
We do have the requested feature: show the navigation toolbar (View > Toolbars > Navigation) to jump forward/backward. See https://help.libreoffice.org/Writer/Navigation (not up to date though) and bug 115817 for remaining issues from this GSoC project. My take: resolve WFM.
Comment 6 Christian Lehmann 2021-10-18 13:02:16 UTC
@Heiko: If there is anything the extended discussion of Bug 115817 shows, it is this: Nobody knows where exactly the <- of the Navigation function will take you, and much less does the Help function tell you the truth about it. One thing is for sure: it does not do what one might think it does and what I requested here, namely to take you back where you came from after using an internal hyperlink. Only if the Navigation function would fulfill this requirement would the present enhancement proposal be satisfied at least in part (opening the jump target in a separate document window still seems the more elegant solution).
Comment 7 Heiko Tietze 2021-10-18 13:25:34 UTC
But if you agree that this navigation bar is the solution to your request we should  rather fix the issues there. And actually I cannot confirm the issues, forward/backward takes me exactly where I came from. => WFM
Comment 8 V Stuart Foote 2021-10-18 13:44:26 UTC Comment hidden (obsolete)
Comment 9 V Stuart Foote 2021-10-18 14:11:56 UTC
(In reply to V Stuart Foote from comment #8)
> (In reply to Heiko Tietze from comment #5)
> > We do have the requested feature: show the navigation toolbar (View >
> > Toolbars > Navigation) to jump forward/backward. See
> > https://help.libreoffice.org/Writer/Navigation (not up to date though) and
> > bug 115817 for remaining issues from this GSoC project. My take: resolve WFM.
> 
> Except the navmgr 'Recency' stack of the Navigation TB, or now SB Navigator
> mode, do not apply to the second 'Window' instance of a document [opened
> from main menu -> Window -> New Window).
> 
> See this lack of a shared navmgr stack in the child window (with independent
> pointers) as a bug against effective Split Window editing of bug 141843, not
> really against 115817
> 
> Either GUI control Navigation Toolbar or SB Navigator deck (but perhaps a
> new content panel for cross-references and footnote/endnotes -- linking the
> anchor to entries).

Interestingly, in 'Reminder' mode a reminders (stack of five available by default) set in the parent VCL canvas are available in the 'New Window' child. But being able to navigate between anchor and text of a reference/footnote/endnote would be helpful.
Comment 10 Heiko Tietze 2021-10-18 14:14:30 UTC
Bugs of the existing solution are a different topic. We should not introduce new means to navigate through the document. My take is still WFM.
Comment 11 Christian Lehmann 2021-10-18 16:12:03 UTC
Created attachment 175821 [details]
Jump by hyperlink and use Navigation bar to get back

This is really about Bug 115817, but since you transferred the discussion to this place:

It certainly does not work for me. Please look at the video enclosed here to verify:

I click an internal hyperlink: I jump to the target.
I click the < arrow of the Navigation bar: I am taken to some unpredictable place.
Comment 12 V Stuart Foote 2021-10-18 17:11:14 UTC
(In reply to Christian Lehmann from comment #11)
> Created attachment 175821 [details]
> Jump by hyperlink and use Navigation bar to get back
> 
> This is really about Bug 115817, but since you transferred the discussion to
> this place:
> 
> It certainly does not work for me. Please look at the video enclosed here to
> verify:
> 

The Navigation toolbar (and corresponding backward/forward controls on the Navigator in 'Recency' mode) are a special multi-reference movement (as implemented for GSOC 2009 and brought in for bug 32869, and reworked as described in bug 115817).

Still open against Navigation TB (navmgr) are 
bug 54412 is open for cross-reference
bug 74604 is open for hyperlinks

both of which are at issue here.

But neither Navigation (navmgr) nor Navigator (in Recency mode) work consistently for a multi-window editing that many workflows would need.

An issue of supporting navigation when working with split-windows/multi-windows is a valid enhancement.
Comment 13 Jim Raykowski 2021-10-19 06:11:18 UTC
Here is effort to make recency work for hyperlink, fields, and footnote cursor position changes:
https://gerrit.libreoffice.org/c/core/+/123793
Comment 14 Heiko Tietze 2021-11-16 08:30:32 UTC
Christian, mind to test the navigation with a nightly build?

Regarding the second window I could imagine this as a workflow with ctrl+click. It jumps to the target not in the current but a second window, and opens one if not done before.
Comment 15 Christian Lehmann 2021-11-16 08:36:08 UTC
(In reply to Heiko Tietze from comment #14)
> Christian, mind to test the navigation with a nightly build?
Sorry, I am currently abroad. Promise to do so when back home. 
> 
> Regarding the second window I could imagine this as a workflow with
> ctrl+click. It jumps to the target not in the current but a second window,
> and opens one if not done before.

Good idea.