From 1e99920b355a1aad71f79f314f9e2d063b5abc5e Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Wed, 22 Feb 2023 11:16:46 +0100 Subject: [PATCH] Disable zoom in/out buttons when threshold is reached (#12676) --- src/frontends/qt/GuiView.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 461b09cfd5..f7222e402e 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -692,10 +692,12 @@ GuiView::GuiView(int id) zoom_out_->setAlignment(Qt::AlignCenter); statusBar()->addPermanentWidget(zoom_out_); - zoom_out_->setEnabled(currentBufferView()); + zoom_out_->setEnabled(currentBufferView() + && zoom_slider_->value() > zoom_slider_->minimum()); statusBar()->addPermanentWidget(zoom_slider_); zoom_slider_->setEnabled(currentBufferView()); - zoom_in_->setEnabled(currentBufferView()); + zoom_in_->setEnabled(currentBufferView() + && zoom_slider_->value() < zoom_slider_->maximum()); statusBar()->addPermanentWidget(zoom_in_); connect(zoom_slider_, SIGNAL(sliderMoved(int)), this, SLOT(zoomSliderMoved(int))); @@ -829,6 +831,10 @@ void GuiView::zoomSliderMoved(int value) dispatch(FuncRequest(LFUN_BUFFER_ZOOM, convert(value)), dr); scheduleRedrawWorkAreas(); zoom_value_->setText(toqstr(bformat(_("[[ZOOM]]%1$d%"), value))); + zoom_in_->setEnabled(currentBufferView() + && value < zoom_slider_->maximum()); + zoom_out_->setEnabled(currentBufferView() + && value > zoom_slider_->minimum()); } @@ -1011,6 +1017,8 @@ void GuiView::setCurrentZoom(const int v) { lyxrc.currentZoom = v; zoom_value_->setText(toqstr(bformat(_("[[ZOOM]]%1$d%"), v))); + zoom_in_->setEnabled(currentBufferView() && v < zoom_slider_->maximum()); + zoom_out_->setEnabled(currentBufferView() && v > zoom_slider_->minimum()); Q_EMIT currentZoomChanged(v); } @@ -1560,8 +1568,10 @@ void GuiView::onBufferViewChanged() updateDialogs(); zoom_slider_->setEnabled(currentBufferView()); zoom_value_->setEnabled(currentBufferView()); - zoom_in_->setEnabled(currentBufferView()); - zoom_out_->setEnabled(currentBufferView()); + zoom_in_->setEnabled(currentBufferView() + && zoom_slider_->value() < zoom_slider_->maximum()); + zoom_out_->setEnabled(currentBufferView() + && zoom_slider_->value() > zoom_slider_->minimum()); } -- 2.39.5