commit 8a605ca8ad82aab306e5ea94c290b92f13544c6f Author: Juergen Spitzmueller <sp...@lyx.org> Date: Thu Mar 11 18:41:02 2021 +0100
Add option to toggle zoom slider to zoom statusbar menu --- src/frontends/qt/GuiView.cpp | 26 +++++++++++++++++++++----- src/frontends/qt/GuiView.h | 4 ++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 23252c0..4c62484 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -690,9 +690,12 @@ GuiView::GuiView(int id) lyxrc.defaultZoom)), this); act_zoom_in_ = new QAction(qt_("Zoom &in"), this); act_zoom_out_ = new QAction(qt_("Zoom &out"), this); + act_zoom_show_ = new QAction(qt_("Show zoom slider")); + act_zoom_show_->setCheckable(true); zoom_value_->addAction(act_zoom_default_); zoom_value_->addAction(act_zoom_in_); zoom_value_->addAction(act_zoom_out_); + zoom_value_->addAction(act_zoom_show_); enableZoomOptions(); connect(act_zoom_default_, SIGNAL(triggered()), this, SLOT(resetDefaultZoom())); @@ -700,6 +703,8 @@ GuiView::GuiView(int id) this, SLOT(zoomInPressed())); connect(act_zoom_out_, SIGNAL(triggered()), this, SLOT(zoomOutPressed())); + connect(act_zoom_show_, SIGNAL(triggered()), + this, SLOT(toogleZoomSlider())); int const iconheight = max(int(d.normalIconSize), fm.height()); QSize const iconsize(iconheight, iconheight); @@ -840,6 +845,13 @@ void GuiView::zoomOutPressed() } +void GuiView::toogleZoomSlider() +{ + DispatchResult dr; + dispatch(FuncRequest(LFUN_UI_TOGGLE, "zoomslider"), dr); +} + + void GuiView::resetDefaultZoom() { zoomValueChanged(lyxrc.defaultZoom); @@ -993,8 +1005,11 @@ bool GuiView::restoreLayout() //code below is skipped when when ~/.config/LyX is (re)created setIconSize(d.iconSize(settings.value(icon_key).toString())); - zoom_slider_->setVisible(settings.value("zoom_slider_visible", true).toBool()); - zoom_value_->setVisible(settings.value("zoom_slider_visible", true).toBool()); + bool const show_zoom_slider = settings.value("zoom_slider_visible", true).toBool(); + zoom_slider_->setVisible(show_zoom_slider); + act_zoom_show_->setChecked(show_zoom_slider); + zoom_in_->setVisible(show_zoom_slider); + zoom_out_->setVisible(show_zoom_slider); if (guiApp->platformName() == "qt4x11" || guiApp->platformName() == "xcb") { QPoint pos = settings.value("pos", QPoint(50, 50)).toPoint(); @@ -4852,9 +4867,10 @@ bool GuiView::lfunUiToggle(string const & ui_component) menuBar()->setVisible(!menuBar()->isVisible()); } else if (ui_component == "zoomslider") { zoom_slider_->setVisible(!zoom_slider_->isVisible()); - zoom_value_->setVisible(!zoom_value_->isVisible()); - } else - if (ui_component == "frame") { + zoom_in_->setVisible(zoom_slider_->isVisible()); + zoom_out_->setVisible(zoom_slider_->isVisible()); + act_zoom_show_->setChecked(zoom_slider_->isVisible()); + } else if (ui_component == "frame") { int const l = contentsMargins().left(); //are the frames in default state? diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h index 015f885..849718d 100644 --- a/src/frontends/qt/GuiView.h +++ b/src/frontends/qt/GuiView.h @@ -256,6 +256,8 @@ private Q_SLOTS: /// void resetDefaultZoom(); /// + void toogleZoomSlider(); + /// void on_currentWorkAreaChanged(GuiWorkArea *); /// void onBufferViewChanged(); @@ -518,6 +520,8 @@ private: QAction * act_zoom_in_; /// Zoom out menu action QAction * act_zoom_out_; + /// Show zoom slider + QAction * act_zoom_show_; /// The rate from which the actual zoom value is calculated /// from the default zoom pref -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs