~mardy/signon-ui/make-dist

« back to all changes in this revision

Viewing changes to src/browser-request.cpp

  • Committer: Tarmac
  • Author(s): Alberto Mardegan
  • Date: 2013-03-21 11:59:13 UTC
  • mfrom: (80.1.2 sizing)
  • Revision ID: tarmac-20130321115913-zdbw1rn7nvmshkkh
Allow configuring scrollbar behaviour

Add configuration options to force the visibility of vertical and horizontal scrollbars. Fixes: https://bugs.launchpad.net/bugs/1158173.

Approved by David King, PS Jenkins bot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
namespace SignOnUi {
49
49
 
50
50
static const QString keyPreferredWidth = QString("PreferredWidth");
 
51
static const QString keyHorizontalScrollBar = QString("HorizontalScrollBar");
 
52
static const QString keyVerticalScrollBar = QString("VerticalScrollBar");
51
53
static const QString keyTextSizeMultiplier = QString("TextSizeMultiplier");
52
54
static const QString keyUserAgent = QString("UserAgent");
53
55
static const QString keyViewportWidth = QString("ViewportWidth");
59
61
static const QString keyInternalLinksPattern = QString("InternalLinksPattern");
60
62
static const QString keyExternalLinksPattern = QString("ExternalLinksPattern");
61
63
static const QString keyAllowedUrls = QString("AllowedUrls");
 
64
static const QString valueAlwaysOn = QString("alwaysOn");
 
65
static const QString valueAlwaysOff = QString("alwaysOff");
62
66
 
63
67
/* Additional session-data keys we support. */
64
68
static const QString keyCookies = QString("Cookies");
579
583
    q->setWidget(m_dialog);
580
584
}
581
585
 
 
586
static Qt::ScrollBarPolicy scrollPolicyFromValue(const QVariant &value)
 
587
{
 
588
    QString stringValue = value.toString();
 
589
    if (stringValue == valueAlwaysOn) {
 
590
        return Qt::ScrollBarAlwaysOn;
 
591
    } else if (stringValue == valueAlwaysOff) {
 
592
        return Qt::ScrollBarAlwaysOff;
 
593
    } else {
 
594
        return Qt::ScrollBarAsNeeded;
 
595
    }
 
596
}
 
597
 
582
598
void BrowserRequestPrivate::setupViewForUrl(const QUrl &url)
583
599
{
584
600
    QString host = url.host();
617
633
        m_webView->setZoomFactor(m_settings->value(keyZoomFactor).toReal());
618
634
    }
619
635
 
 
636
    if (m_settings->contains(keyHorizontalScrollBar)) {
 
637
        Qt::ScrollBarPolicy policy =
 
638
            scrollPolicyFromValue(m_settings->value(keyHorizontalScrollBar));
 
639
        page->mainFrame()->setScrollBarPolicy(Qt::Horizontal, policy);
 
640
    }
 
641
 
 
642
    if (m_settings->contains(keyVerticalScrollBar)) {
 
643
        Qt::ScrollBarPolicy policy =
 
644
            scrollPolicyFromValue(m_settings->value(keyVerticalScrollBar));
 
645
        page->mainFrame()->setScrollBarPolicy(Qt::Vertical, policy);
 
646
    }
 
647
 
620
648
    page->setExternalLinksPattern(m_settings->value(keyExternalLinksPattern).
621
649
                                  toString());
622
650
    page->setInternalLinksPattern(m_settings->value(keyInternalLinksPattern).