Bug 503329

Summary: Many changes in behavior of lokalize (unwanted)
Product: [Applications] lokalize Reporter: Freek de Kruijf <freekdekruijf>
Component: generalAssignee: Simon Depiets <sdepiets>
Status: RESOLVED FIXED    
Severity: major CC: aacid, fin-w, shafff
Priority: NOR    
Version First Reported In: 25.04.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Freek de Kruijf 2025-04-25 08:53:47 UTC
Operating System: openSUSE Tumbleweed 20250423
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.13.0
Qt Version: 6.9.0
Kernel Version: 6.14.3-1-default (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i3-9100 CPU @ 3.60GHz
Memory: 7.5 GiB of RAM
Graphics Processor: Intel® UHD Graphics 630

1. Quite a number of keys do not work anymore. Pressing "arrow right" after opening a project does not do anything, neither does key End. The only way to unfold i.e. folder docmessages is to use the mouse and pressing > on the screen.
2. After opening a .po file the layout of the window used to have on the right halve of the screen the panels with English and Dutch version. Now almost all of the screen gets these panels and using the mouse on the left line of these panels need to be moved to the middle of the screen; also to reveal what is to the left of that line.
3. Normally I have in the Project overview the button to hide fully translated files pressed. When selecting Open Project to open another project file, this situation remained. Now however this button needs to be pressed again.
Comment 1 Finley Watson 2025-04-25 10:04:18 UTC
Thanks for reporting.

1. Do the arrow keys etc work after pressing TAB twice in the Project Overview tab, or after clicking on the navigation widget with the mouse? Looks like it's an issue of the tab being focused by default, instead of the file / directory navigation widget, a bug fix will be ready for 25.04.1

2. I have fixed the state save / restore issues a few times, I can only apologise that it's still not quite right. The internals of Lokalize are being worked on which can break this and I suspect the current has some race conditions or something going on because it's fragile and hard to test reliably. I'll make a bugfix for 25.04.1 if I can figure out what is wrong this time, otherwise it might take longer. I'm aware of the problem though, and in the long term this should be fixed.

3. You're asking for the "Hide completed items" button enabled / disabled state to remain across projects? That should be easy to do, I can check where it broke and make a MR for 25.04.1
Comment 2 Bug Janitor Service 2025-04-25 10:23:10 UTC
A possibly relevant merge request was started @ https://invent.kde.org/sdk/lokalize/-/merge_requests/230
Comment 3 Freek de Kruijf 2025-04-25 11:19:55 UTC
(In reply to fin-w from comment #1)
> Thanks for reporting.
> 
> 1. Do the arrow keys etc work after pressing TAB twice in the Project
> Overview tab, or after clicking on the navigation widget with the mouse?
> Looks like it's an issue of the tab being focused by default, instead of the
> file / directory navigation widget, a bug fix will be ready for 25.04.1

Yes. After pressing twice key Tab the arrow keys work.
> 
> 2. I have fixed the state save / restore issues a few times, I can only
> apologise that it's still not quite right. The internals of Lokalize are
> being worked on which can break this and I suspect the current has some race
> conditions or something going on because it's fragile and hard to test
> reliably. I'll make a bugfix for 25.04.1 if I can figure out what is wrong
> this time, otherwise it might take longer. I'm aware of the problem though,
> and in the long term this should be fixed.
> 
> 3. You're asking for the "Hide completed items" button enabled / disabled
> state to remain across projects? That should be easy to do, I can check
> where it broke and make a MR for 25.04.1

Indeed I very much like it that way.
Comment 4 Finley Watson 2025-04-25 13:51:28 UTC
Git commit c2134a6c7db3f5797dd6296a723f9223b950338d by Finley Watson.
Committed on 25/04/2025 at 13:51.
Pushed by finw into branch 'master'.

Set Project Overview tab focus proxy to its file browser widget

Also focus file browser after Enter key is pressed in the search QLineEdit

Needs to be cherry-picked for the 25.04.1 release.

M  +4    -0    src/project/projecttab.cpp

https://invent.kde.org/sdk/lokalize/-/commit/c2134a6c7db3f5797dd6296a723f9223b950338d
Comment 5 Finley Watson 2025-04-25 14:05:34 UTC
Git commit 3a8f1e767127dddd08314b909dcd8313802324eb by Finley Watson.
Committed on 25/04/2025 at 14:01.
Pushed by finw into branch 'release/25.04'.

Set Project Overview tab focus proxy to its file browser widget

Also focus file browser after Enter key is pressed in the search QLineEdit

Needs to be cherry-picked for the 25.04.1 release.
(cherry picked from commit c2134a6c7db3f5797dd6296a723f9223b950338d)

M  +4    -0    src/project/projecttab.cpp

https://invent.kde.org/sdk/lokalize/-/commit/3a8f1e767127dddd08314b909dcd8313802324eb
Comment 6 Finley Watson 2025-04-29 02:57:52 UTC
Please test this merge request if you are able. If not, tell me what you think, based on the description of behaviour in the merge request. It should be in 25.04.1 so you should see the fix fairly soon. https://invent.kde.org/sdk/lokalize/-/merge_requests/233
Comment 7 Finley Watson 2025-05-01 08:45:05 UTC
Git commit 081c153263e8ad7684208fead066ba586f2a8101 by Finley Watson.
Committed on 01/05/2025 at 08:45.
Pushed by finw into branch 'master'.

Use one global synchronised editor layout across all projects and all editors

Completely change the behaviour of the editor tab state management.
Editor tabs have widgets associated with them (dock widgets) which
can be resized (the editor tab's state). Here the resizing is watched
for changes, changes are "debounced" so every pixel change doesn't
write to disk, then after 0.5s without resizing occurring, the state
is saved to disk meaning reopening Lokalize opens editors with the
same layout. The state is also applied to all open editor tabs,
meaning they all share the same layout at all times.

The glossary widget is moved to `m_glossaryView` in line with the
other widgets belonging to the editor tab.
Related: bug 503042

M  +2    -0    src/CMakeLists.txt
M  +16   -7    src/editortab.cpp
M  +5    -0    src/editortab.h
M  +46   -21   src/lokalizemainwindow.cpp
M  +3    -1    src/lokalizemainwindow.h
A  +62   -0    src/resizewatcher.cpp  *
A  +33   -0    src/resizewatcher.h  *

The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


https://invent.kde.org/sdk/lokalize/-/commit/081c153263e8ad7684208fead066ba586f2a8101
Comment 8 Finley Watson 2025-05-01 09:02:11 UTC
Git commit cf7492fa762dcabbe97423195282f74a06e3e621 by Finley Watson.
Committed on 01/05/2025 at 09:00.
Pushed by finw into branch 'release/25.04'.

Use one global synchronised editor layout across all projects and all editors

Completely change the behaviour of the editor tab state management.
Editor tabs have widgets associated with them (dock widgets) which
can be resized (the editor tab's state). Here the resizing is watched
for changes, changes are "debounced" so every pixel change doesn't
write to disk, then after 0.5s without resizing occurring, the state
is saved to disk meaning reopening Lokalize opens editors with the
same layout. The state is also applied to all open editor tabs,
meaning they all share the same layout at all times.

The glossary widget is moved to `m_glossaryView` in line with the
other widgets belonging to the editor tab.
Related: bug 503042
(cherry picked from commit 081c153263e8ad7684208fead066ba586f2a8101)

M  +2    -0    src/CMakeLists.txt
M  +16   -7    src/editortab.cpp
M  +5    -0    src/editortab.h
M  +46   -21   src/lokalizemainwindow.cpp
M  +3    -1    src/lokalizemainwindow.h
A  +62   -0    src/resizewatcher.cpp  *
A  +33   -0    src/resizewatcher.h  *

The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


https://invent.kde.org/sdk/lokalize/-/commit/cf7492fa762dcabbe97423195282f74a06e3e621
Comment 9 Finley Watson 2025-05-01 15:08:19 UTC
Git commit b6a8be7fb914abb1fa7d38ce8b10ca0ee878f649 by Finley Watson.
Committed on 01/05/2025 at 15:08.
Pushed by finw into branch 'master'.

Set initial value of "Hide translated items" button to saved state

Remember whether fully translated files are shown or not in the
Project Overview file browser based on a saved state, and remember
this state between projects and through project / program reloads.

M  +5    -0    src/project/projecttab.cpp
M  +16   -0    src/project/projectwidget.cpp
M  +3    -8    src/project/projectwidget.h

https://invent.kde.org/sdk/lokalize/-/commit/b6a8be7fb914abb1fa7d38ce8b10ca0ee878f649
Comment 10 Finley Watson 2025-05-01 15:09:54 UTC
Git commit db4e3cf26ac694d8d9cd986cf9042a1f072d6b18 by Finley Watson.
Committed on 01/05/2025 at 15:09.
Pushed by finw into branch 'release/25.04'.

Set initial value of "Hide translated items" button to saved state

Remember whether fully translated files are shown or not in the
Project Overview file browser based on a saved state, and remember
this state between projects and through project / program reloads.
(cherry picked from commit b6a8be7fb914abb1fa7d38ce8b10ca0ee878f649)

M  +5    -0    src/project/projecttab.cpp
M  +16   -0    src/project/projectwidget.cpp
M  +3    -8    src/project/projectwidget.h

https://invent.kde.org/sdk/lokalize/-/commit/db4e3cf26ac694d8d9cd986cf9042a1f072d6b18
Comment 11 Finley Watson 2025-05-01 15:11:54 UTC
All your issues should be resolved in Lokalize 25.04.1 / are now resolved on the git main branch. Let me know if anything still seems wrong! :)