diff options
| -rw-r--r-- | src/webview.cpp | 11 | ||||
| -rw-r--r-- | src/zoombar.cpp | 26 | 
2 files changed, 21 insertions, 16 deletions
diff --git a/src/webview.cpp b/src/webview.cpp index 00112d61..7272e2c2 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -864,17 +864,8 @@ void WebView::wheelEvent(QWheelEvent *event)          // Sync with the zoom slider          if (event->modifiers() == Qt::ControlModifier)          { -            // Limits of the slider -            if (zoomFactor() > 1.9) -                setZoomFactor(1.9); -            else if (zoomFactor() < 0.1) -                setZoomFactor(0.1); -              // Round the factor (Fix slider's end value) -            int newFactor = zoomFactor() * 10; -            if ((zoomFactor() * 10 - newFactor) > 0.5) -                newFactor++; - +            int newFactor = round(zoomFactor() * 10);              emit zoomChanged(newFactor);          }          else if (ReKonfig::smoothScrolling() && prevPos != newPos) diff --git a/src/zoombar.cpp b/src/zoombar.cpp index 292ef413..2cf30617 100644 --- a/src/zoombar.cpp +++ b/src/zoombar.cpp @@ -159,8 +159,10 @@ void ZoomBar::zoomNormal()  void ZoomBar::updateSlider(int webview)  {      WebTab *tab = 0; -    if (!rApp->mainWindowList().isEmpty()) -        tab = rApp->mainWindow()->mainView()->webTab(webview); +    MainView *mainView = static_cast<MainView *>(sender()); + +    if (mainView) +        tab = mainView->webTab(webview);      if (!tab)          return; @@ -172,12 +174,24 @@ void ZoomBar::updateSlider(int webview)  void ZoomBar::setValue(int value)  { -    m_zoomSlider->setValue(value); -    m_percentage->setText(i18nc("percentage of the website zoom", "%1%", QString::number(value * 10))); +    int boundedValue = value; + +    // Don't exceed the slider min/max value +    if (value < 1) +    { +        boundedValue = 1; +    } +    else if (value > 19) +    { +        boundedValue = 19; +    } + +    m_zoomSlider->setValue(boundedValue); +    m_percentage->setText(i18nc("percentage of the website zoom", "%1%", QString::number(boundedValue * 10)));      WebTab *tab = rApp->mainWindow()->currentTab(); -    saveZoomValue(tab->url().host(), value); -    tab->view()->setZoomFactor(QVariant(value).toReal() / 10);  // Don't allox max +1 values +    saveZoomValue(tab->url().host(), boundedValue); +    tab->view()->setZoomFactor(QVariant(boundedValue).toReal() / 10);  // Don't allox max +1 values  }  | 
