Description: I do not know the exact scope of this report/RFE, but since the questions seem open, I'd like to mention that typical keyboard shortcuts are not available when using the Function Wizard nor the Functions Deck sidebar. Examples: A. F4 (cycle between absolute/relative references) B. [CTRL]+([SHIFT])+... (e.g. [HOME], [END]...); [PgDn]; [PgUp]... C. arrow keys D. the [ENTER] key should have "smarter" default actions in each particular case. What specific shortcuts you wish to see here or would be most useful ? Actual Results: --- Expected Results: --- Reproducible: Always User Profile Reset: No Additional Info: Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 342670dc6b0fc5b93a40b9cf86b8cca67fac88a3 CPU threads: 4; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-US (en_US.UTF-8); UI: en-US Calc: threaded
I copied ady's comment from bug 161542 comment 1. I forgot to remove the context :)
(In reply to Ahmed Hamed from comment #0) > Description: > I do not know the exact scope of this report/RFE, but since the questions > seem open, I'd like to mention that typical keyboard shortcuts are not > available when using the Function Wizard nor the Functions Deck sidebar. > > Examples: > > A. F4 (cycle between absolute/relative references) > B. [CTRL]+([SHIFT])+... (e.g. [HOME], [END]...); [PgDn]; [PgUp]... > C. arrow keys > D. the [ENTER] key should have "smarter" default actions in each particular > case. > > What specific shortcuts you wish to see here or would be most useful ? How about starting by those listed as examples? For those that don't have enough experience with Calc (and spreadsheets in general)... When building a formula by typing-in in the formula bar input box, you can use the F4 key in order to cycle between absolute and relative the cell/range references. But when using the Function Wizard, F4 has no effect, so changing from relative to absolute references (and cycling between the 8 possible combinations) is only possible by manually adding the "$" symbol precisely where it is desired. Note that, depending on the specific function, the FW will automatically modify the type of reference (and that's fine). Sometimes this is exactly what the use-case needs, but sometimes it isn't, so the user needs to modify the absolute/relative combination. The alternative is to first introduce the formula with the FW, and then manually edit it in order to use the F4 key. The F4 key should work in the FW, whether the FW dialog is seen on screen, or when it is shrunk. ATM, it is not available in either case. The behavior should be the same as its behavior when introducing a formula by typing-in in the formula bar input box. And talking about the FW dialog being shrunk, the goal of that status is for the user to be able to select an area (or similar) in order for such selection to be automatically introduced into the relevant (argument) field of the FW, so when the dialog is shown again ("un-shrinking" it), the aforementioned selection would be in used in the relevant field. But... ...The FW does not support the use of typical selection keyboard shortcuts (see example "B" above). This means that, in the FW, the arguments have to be either manually typed-in, or the selection is quite inefficient (e.g. by mouse), instead of being able to use for example [CTRL]+[SHIFT]+[END] and other typical keyboard shortcuts). There are many more examples of features in the FW (that have been available and more efficiently used in other spreadsheet tools since decades ago). The more experience a user has with building formulas, the lack of keyboard shortcuts (and other inefficiencies) are more notable in Calc.
I suggest to focus on cycle reference and change the summary accordingly. MSO cycles in any UI, formular bar, range selector, function wizard etc., but not when the focus is in the sheet (probably to avoid accidental modifications). We cycle only in this case and in the formula bar. In case of a formula with more than one references like =A1+B1, MSO cycles the selection or the reference where the cursor is. We do the same, but assume a full selection when starting from the sheet.
You may check the function FindEndPosR1C1 to find where the actual cycle will be done.
https://opengrok.libreoffice.org/xref/core/sc/source/core/tool/reffind.cxx?r=dc80c92a#235
(In reply to Heiko Tietze from comment #3) > I suggest to focus on cycle reference and change the summary accordingly. Then please open a new RFE ticket to focus on: * navigation (e.g. [CTRL]+[HOME] or [CTRL]+[END] or [CTRL]+arrows or...) * and selection (e.g. [CTRL]+[SHIFT]+[HOME] or [CTRL]+[SHIFT]+[END] or [CTRL]+[SHIFT]+arrows or...). These are just as important for efficiency as the F4 key, or probably more. > > MSO cycles in any UI, formular bar, range selector, function wizard etc., > but not when the focus is in the sheet I am not sure what you mean with "but not when the focus is in the sheet". In Excel, every time users either create or modify a formula, F4 is available; for instance, in the formula bar input window box, or when pressing F2 to enter edit mode within the cell, or in the FW (with the dialog shown or shrunk). As long as the "caret / text insert cursor" is located either adjacent or within/over a reference, or a reference is (partially) selected (either in the formula bar, or in the FW, or in edit mode within the cell), then F4 should cycle between relative/absolute types of references (applied to the relevant references only).
(In reply to ady from comment #6) > Then please open a new RFE ticket to focus on: > > * navigation (e.g. [CTRL]+[HOME] or [CTRL]+[END] or [CTRL]+arrows or...) > > * and selection (e.g. [CTRL]+[SHIFT]+[HOME] or [CTRL]+[SHIFT]+[END] or > [CTRL]+[SHIFT]+arrows or...). What exactly is not working? Or in other words where else but the sheet would this be relevant? And please file a ticket yourself. If you disagree with my suggestion to change the summary, feel free to revert. IMO, it's just easier to handle thinking of one ticket, one patch. > > MSO cycles in any UI, formular bar, range selector, function wizard etc., > > but not when the focus is in the sheet > > I am not sure what you mean with "but not when the focus is in the sheet". Without any cell being in edit mode, eg. A1 is in focus and cursor right would go to B1. In this case Excel does not cycle but we do (for all references).
(In reply to Heiko Tietze from comment #7) > What exactly is not working? Or in other words where else but the sheet > would this be relevant? Use the FW for some function; when you have to introduce a range in an argument field, press the icon that shrinks the FW dialog. You are now looking at the main area, where you are supposed to select some range. After selecting the range, "un-shrink" the FW dialog. The selected range is now in the argument field. In that case, when you try to select the range while the FW is shrunk, the navigation and selection keyboard shortcuts are not available, just as F4 isn't. In this situation, currently you have to navigate and then select the range mostly using the mouse (and scroll bars), which is not efficient when the intended range is bigger than what you see on screen when shrinking the FW dialog. > > And please file a ticket yourself. If you disagree with my suggestion to > change the summary, feel free to revert. IMO, it's just easier to handle > thinking of one ticket, one patch. Well, that's the reason for my request. Just as it already happened for this ticket (originally opened by Ahmed Hamed, aimed at "keyboard shortcuts for FW and FD", now split to focus on "F4 available everywhere"), I have no idea what should be the target for one "such ticket - one patch" relation. Maybe navigation is one ticket and selection is another one; or maybe each shortcut has to go to each ticket. Or maybe FW is one ticket and FD is another ticket... I have opened tickets related to the FW in the past, without effective success. IIUC, this is all currently related to the work being done by Ahmed Hamed (and related mentors), so I'll leave the adequate splitting to whomever knows how to get the whole thing actually, effectively, successfully done. > > > > MSO cycles in any UI, formular bar, range selector, function wizard etc., > > > but not when the focus is in the sheet > > > > I am not sure what you mean with "but not when the focus is in the sheet". > Without any cell being in edit mode, eg. A1 is in focus and cursor right > would go to B1. In this case Excel does not cycle but we do (for all > references). OK, now I know why I didn't understand before. So, yes, Excel allows F4 to cycle the type of references "everywhere", but only when/while either creating or editing a formula. If the user is not creating nor editing a formula, then cycling the references type is not available. ATM, I don't recall whether F4 in Excel performs some other action when/while a formula is not being created or being edited (with whichever method: formula bar input window box, or F2 cell's edit mode, or the FW, or...). Possibly other frequent users and contributors to Calc might be able to point to additional dialogs (or whatever) in which cycling the type of references would be of help (e.g. Custom Conditional Format, Validation, Solver, etc.)
Created attachment 195661 [details] Screencast range picker (In reply to ady from comment #8) > Use the FW for some function; when you have to introduce a range in an > argument field, press the icon that shrinks the FW dialog. You are now > looking at the main area, where you are supposed to select some range. I get a range picker and have to select a cell to access sheet-level shortcuts. Do you expect sheet interactions when the focus is on the range picker?
(In reply to Heiko Tietze from comment #9) > Created attachment 195661 [details] > Screencast range picker > > (In reply to ady from comment #8) > > Use the FW for some function; when you have to introduce a range in an > > argument field, press the icon that shrinks the FW dialog. You are now > > looking at the main area, where you are supposed to select some range. > I get a range picker and have to select a cell to access sheet-level > shortcuts. Do you expect sheet interactions when the focus is on the range > picker? In that screen-cast, after you click once on cell A1, you should be able to use (for example) [CTRL]+[SHIFT]+[DownArrow] in order to select a contiguous range from cell A1 down (among all the typical selection and navigation keyboard shortcuts). On MS Windows, this is not possible. The shortcuts in such situation do not work. If this is possible under some circumstance or context, then I guess a lot of users (like myself) have been suffering from this shortcoming for decades, as it has _never_ worked with the FW (neither in AOO). Let me say it like this: this is _not_ a regression, and should had been a priority years ago already.
(In reply to Heiko Tietze from comment #9) > Do you expect sheet interactions when the focus is on the range > picker? Although I answered that question in comment 10 regarding the navigation and selection shortcuts, let me add that the F4 key should work on the argument field, whether the FW dialog is seen, or shrunk. To be clear JIC, on MS Windows the F4 "cycle" key doesn't not work / is not available ATM.
(In reply to ady from comment #10) > On MS Windows, this is not possible. True, the range picker immediately grabs the focus again (not happening on Linux, at least not on KDE). This should definitely be changed => bug 162310
(In reply to Heiko Tietze from comment #12) > (not happening on Linux, at least not on KDE) Since this problem on MS Windows was unknown to you, I would suggest that the availability of these keyboard shortcuts should be tested on other OS/DEs too. Every relevant OS/DE should have these shortcuts available, as the impact on users' efficiency is huge. Moreover, if possible, there should be some regression test too. That's how much an impact this can be IMNSHO.
Is the shortcut desired in the parameters entries, the formula section, or both? In addition, I would like some assistance on how to link a keyEvent to a ParaWin or a weld_text_view.
(In reply to Ahmed Hamed from comment #14) > Is the shortcut desired in the parameters entries, the formula section, or > both? In every situation in which a reference can be either introduced or edited, the F4 shortcut key should rather be available. Examples: * in each field of the Function Wizard (whether the wizard dialog is fully seen on screen or when it is shrunk in order to make the selection of a range easier) * In the FW, within the "Formula" big field that shows the "live" result of the formula (at the bottom area of the FW dialog), because this field is also editable * Manage Conditional Format dialog range * Conditional Format (we have several alternative dialogs now) * Data Validity (e.g. "Cell Range" and "Custom" types of Criteria) * Manage Names * ... ATM, it is only available in the formula bar input window box, when manually introducing or editing a formula. I have not checked whether the F4 key is reserved (for other purposes) under some specific condition within Calc (other than the formula bar input window box). IOW, I have not checked any potential keyboard shortcut conflict.
I'm a bit stuck and could use some assistance. I want to ensure that the F4 shortcut works everywhere, and I believe this might involve implementing it within a shell like ScEditShell, which handles cycling references in the formula bar's input window. I tried finding a shell that responds to key presses so I could add the reference toggle there, but I couldn't find one. I don't think creating a new shell is needed of course, so what would be the best approach to achieve this?
Best way to get a tip for implementation is to ask on IRC https://web.libera.chat/?chan=#libreoffice-dev