Bug 154733 - Enhancement: Consistent behavior for change of zoom factor when using various plus and minus icons
Summary: Enhancement: Consistent behavior for change of zoom factor when using various...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
7.4.6.2 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: difficultyMedium, easyHack, skillCpp, topicUI
Depends on:
Blocks: Zoom
  Show dependency treegraph
 
Reported: 2023-04-09 17:11 UTC by Don Matschull
Modified: 2023-04-13 01:46 UTC (History)
6 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 Don Matschull 2023-04-09 17:11:05 UTC
Clicking on the Plus Sign at the right end of the Status Bar increases the zoom factor by 10%. Clicking on the icon with the Plus Sign in the Zoom toolbar doubles the zoom factor.

Clicking on the Minus Sign at the right end of the Status Bar decreases the zoom factor by 10%. Clicking on the icon with the Minus Sign in the Zoom toolbar reduces the zoom factor by one-half.

Consistent behavior by the plus and minus signs in these two areas would help eliminate confusion when working in LibreOffice Draw.
Comment 1 V Stuart Foote 2023-04-10 13:08:32 UTC
Can not confirm.

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 1e9f4de320f67d1218c710bcee1969a2324c6888
CPU threads: 8; OS: Windows 10.0 Build 19045; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded

Both zoom controls are proportional. Not fixed, i.e. the increment of the zoom is adjusted upward or downward as one zooms in or out.

...
32%
36%
40%
45%
50%
55%
60%
65%
75%
85%
95%
100%
110%
120%
130%
150%
170%
190%
200%
220%
250%
280%
...

The precise landing percentage can change, but the course sequencing remains in sync. Believe the Status Zoom bar and the Zoom toolbar use the same UNO control.

The mouse scroll zoom for sd Draw/Impress <Ctrl>+<MouseWheel> still needs residual work of bug 45705
Comment 2 Heiko Tietze 2023-04-11 14:46:07 UTC
View > Toolbars > Zoom: uno:ZoomPlus / ZoomMinus applies factor 2 while uno:Zoom on the statusbar does 10%. Makes no sense to double and using 10% is way more appropriate.

SID_ZOOM_IN / SID_ZOOM_OUT in void OutlineViewShell::FuTemporary(SfxRequest &rReq) must not use *2 resp. /2 but += / -= 0.1. Or we do something similar as done in sw/source/uibase/uiview/pview.cxx or sc/source/ui/view/tabvwsha.cxx (all modules seem to have individual implementations).

Medium difficult because it needs some checking since the commands are used on several places.
Comment 3 V Stuart Foote 2023-04-11 15:22:52 UTC
(In reply to Heiko Tietze from comment #2)
> View > Toolbars > Zoom: uno:ZoomPlus / ZoomMinus applies factor 2 while
> uno:Zoom on the statusbar does 10%. Makes no sense to double and using 10%
> is way more appropriate.
> 
> SID_ZOOM_IN / SID_ZOOM_OUT in void OutlineViewShell::FuTemporary(SfxRequest
> &rReq) must not use *2 resp. /2 but += / -= 0.1. Or we do something similar
> as done in sw/source/uibase/uiview/pview.cxx or
> sc/source/ui/view/tabvwsha.cxx (all modules seem to have individual
> implementations).
> 
> Medium difficult because it needs some checking since the commands are used
> on several places.

I think approach of https://gerrit.libreoffice.org/c/core/+/146825 for bug 45705 gets us partway in master against 7.6
Comment 4 Jim Raykowski 2023-04-13 01:46:03 UTC
(In reply to V Stuart Foote from comment #3)
> I think approach of https://gerrit.libreoffice.org/c/core/+/146825 for bug
> 45705 gets us partway in master against 7.6
Yes, this approach can be applied to the remaining places.

Here is a list of what is done and what needs to be done:

done by Rafael - https://gerrit.libreoffice.org/c/core/+/146825
basctl/source/basicide/basides1.cxx
void Shell::ExecuteGlobal( SfxRequest& rReq )

needs patched
sc/source/ui/view/prevwsh.cxx
void ScPreviewShell::Execute( SfxRequest& rReq )

done by me - https://gerrit.libreoffice.org/c/core/+/104196
sc/source/ui/view/tabvwsh3.cxx
void ScTabViewShell::Execute( SfxRequest& rReq )

done by Rafael - https://gerrit.libreoffice.org/c/core/+/146825
sd/source/ui/view/drviewse.cxx
void DrawViewShell::FuSupport(SfxRequest& rReq)

needs patched
sd/source/ui/view/outlnvs2.cxx
void OutlineViewShell::FuTemporary(SfxRequest &rReq)

needs patched
sw/source/uibase/uiview/pview.cxx
void  SwPagePreview::Execute( SfxRequest &rReq )

done by me - https://gerrit.libreoffice.org/c/core/+/102830
sw/source/uibase/uiview/view2.cxx
void SwView::Execute(SfxRequest &rReq)