mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-29 05:01:49 +00:00
Add feedback in status bar when zooming
Moreover enforce better the lower limit of 10 and avoid overflow due
to unsigned int.
Fixes bug #10212.
(cherry picked from commit 8884c4044d
)
This commit is contained in:
parent
32b56ee8f7
commit
6633e7aa3e
@ -604,6 +604,8 @@ LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool check_format)
|
|||||||
|
|
||||||
case RC_SCREEN_ZOOM:
|
case RC_SCREEN_ZOOM:
|
||||||
lexrc >> zoom;
|
lexrc >> zoom;
|
||||||
|
if (zoom < 10)
|
||||||
|
zoom = 10;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RC_GEOMETRY_SESSION:
|
case RC_GEOMETRY_SESSION:
|
||||||
|
@ -1988,6 +1988,8 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
|
|||||||
|
|
||||||
case LFUN_BUFFER_ZOOM_OUT:
|
case LFUN_BUFFER_ZOOM_OUT:
|
||||||
enable = doc_buffer && lyxrc.zoom > 10;
|
enable = doc_buffer && lyxrc.zoom > 10;
|
||||||
|
if (lyxrc.zoom <= 10)
|
||||||
|
flag.message(_("Zoom level cannot be less than 10%."));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_BUFFER_ZOOM_IN:
|
case LFUN_BUFFER_ZOOM_IN:
|
||||||
@ -3923,17 +3925,22 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_BUFFER_ZOOM_IN:
|
case LFUN_BUFFER_ZOOM_IN:
|
||||||
case LFUN_BUFFER_ZOOM_OUT:
|
case LFUN_BUFFER_ZOOM_OUT: {
|
||||||
|
// use a signed temp to avoid overflow
|
||||||
|
int zoom = lyxrc.zoom;
|
||||||
if (cmd.argument().empty()) {
|
if (cmd.argument().empty()) {
|
||||||
if (cmd.action() == LFUN_BUFFER_ZOOM_IN)
|
if (cmd.action() == LFUN_BUFFER_ZOOM_IN)
|
||||||
lyxrc.zoom += 20;
|
zoom += 20;
|
||||||
else
|
else
|
||||||
lyxrc.zoom -= 20;
|
zoom -= 20;
|
||||||
} else
|
} else
|
||||||
lyxrc.zoom += convert<int>(cmd.argument());
|
zoom += convert<int>(cmd.argument());
|
||||||
|
|
||||||
if (lyxrc.zoom < 10)
|
if (zoom < 10)
|
||||||
lyxrc.zoom = 10;
|
zoom = 10;
|
||||||
|
lyxrc.zoom = zoom;
|
||||||
|
|
||||||
|
dr.setMessage(bformat(_("Zoom level is now %1$d%"), lyxrc.zoom));
|
||||||
|
|
||||||
// The global QPixmapCache is used in GuiPainter to cache text
|
// The global QPixmapCache is used in GuiPainter to cache text
|
||||||
// painting so we must reset it.
|
// painting so we must reset it.
|
||||||
@ -3941,6 +3948,7 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
|||||||
guiApp->fontLoader().update();
|
guiApp->fontLoader().update();
|
||||||
lyx::dispatch(FuncRequest(LFUN_SCREEN_FONT_UPDATE));
|
lyx::dispatch(FuncRequest(LFUN_SCREEN_FONT_UPDATE));
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case LFUN_VC_REGISTER:
|
case LFUN_VC_REGISTER:
|
||||||
case LFUN_VC_RENAME:
|
case LFUN_VC_RENAME:
|
||||||
|
@ -20,6 +20,9 @@ What's new
|
|||||||
|
|
||||||
* USER INTERFACE
|
* USER INTERFACE
|
||||||
|
|
||||||
|
* When changing zoom level, show current value in status bar (bug
|
||||||
|
10212).
|
||||||
|
|
||||||
|
|
||||||
* DOCUMENTATION AND LOCALIZATION
|
* DOCUMENTATION AND LOCALIZATION
|
||||||
|
|
||||||
@ -42,7 +45,7 @@ What's new
|
|||||||
|
|
||||||
- Avoid crashing in release mode if we stumble across an unrealized font.
|
- Avoid crashing in release mode if we stumble across an unrealized font.
|
||||||
|
|
||||||
- Fix display of citations with two authors.
|
- Fix display of citations with two authors.
|
||||||
|
|
||||||
- Fix display of multi-author citations when the GUI language is not English.
|
- Fix display of multi-author citations when the GUI language is not English.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user