Bug 129028 - When focus is in the Infobar some key input actions occur in the document
Summary: When focus is in the Infobar some key input actions occur in the document
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.0.0.0.alpha0+
Hardware: All All
: lowest trivial
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: difficultyMedium, easyHack, skillCpp, topicDebug
Depends on:
Blocks:
 
Reported: 2019-11-26 01:51 UTC by Jim Raykowski
Modified: 2022-05-03 11:32 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jim Raykowski 2019-11-26 01:51:26 UTC
Delete, Backspace, Enter, Page, Arrow and other navigation key actions occur in the document window when focus is the Infobar.

To repro:

Start Writer so the Infobar is displayed.
To do this the following steps work for me:
  i) soffice.bin --safe-mode
  ii) select Reset to factory settings radio button and check the two check boxes that become available; Reset settings and user interface modifications and Reset entire user profile and Apply Changes and Restart.
  iii) close and do soffice.bin --safe-mode again
  iv) select Continue in safe mode
When Writer starts the Infobar should be visible and show a message like "You are running version x.x of LibreOffice for the first time. Do you want to learn what's new? followed by a Release Notes button and an X close button.

1) Open a document or enter some text - "This is a Test"
2) Position the cursor around the middle of a sentence.
3) Press F6 until focus is lost in the Infobar. This requires three presses of F6 if standard toolbar and formatting toolbar are open.
4) Press Delete, Backspace, Enter and various navigation keys.

Results: Key action happens in the document window.

Expected results: Key action doesn't happen in document window.
Comment 1 Xisco Faulí 2019-11-26 10:26:41 UTC
Reproduced in

Version: 6.5.0.0.alpha0+
Build ID: d6e2d624a124454fa4ac80cb30a924571a609101
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US
Calc: threaded
Comment 2 Jim Raykowski 2019-12-18 23:44:44 UTC
Code pointer: overide Window::EventNotify in SfxInfoBarWindow to handle key input of interest.

Places to look how a key input event filter can be done for SfxInfoBarWindow. 

sfx2/source/sidebar/SidebarDockingWindow.cxx
SidebarDockingWindow::EventNotify

sfx2/source/control/charmapcontrol.cxx
SfxCharmapCtrl::EventNotify

Key input that should be passed to the parent Window::EventNotify for handling are tab, space, and enter. The rest should be consumed by the SfxInfoBarWindow::EventNotify.

SfxInfoBarWindow class definition and member function code 
include/sfx2/infobar.hxx 
sfx2/source/dialog/infobar.cxx
Comment 3 Deb 2021-07-24 08:20:24 UTC
I will try to fix it.
Comment 4 Xisco Faulí 2022-05-03 11:32:42 UTC
Dear Deb,
This bug has been in ASSIGNED status for more than 3 months without any
activity. Resetting it to NEW.
Please assign it back to yourself if you're still working on this.