diff options
author | Liang Qi <liang.qi@qt.io> | 2016-11-11 09:08:50 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-11-11 12:05:38 +0100 |
commit | 39f7ce19dbce34dfa7e730d6fa743d88109c3369 (patch) | |
tree | 8b99513fe8a906807a0e3fac2780b9d1e6a63827 /src/core/print_view_manager_qt.cpp | |
parent | 6c941affb2dd263d929b69afae3a0b9664869a9d (diff) | |
parent | 2d49b1b20f3275316310df599f1363ac86b8f078 (diff) |
Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
src/core/content_browser_client_qt.cpp
src/core/content_browser_client_qt.h
src/core/gl_surface_qt.cpp
src/core/print_view_manager_qt.cpp
src/core/web_contents_delegate_qt.cpp
src/core/web_engine_context.cpp
src/webengine/doc/src/qtwebengine-overview.qdoc
src/webengine/doc/src/qtwebengine-platform-notes.qdoc
src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
src/webenginewidgets/webenginewidgets.pro
sync.profile
Change-Id: I44495f4d899580c882d6b86d68d7f6b77c8e91f6
Diffstat (limited to 'src/core/print_view_manager_qt.cpp')
-rw-r--r-- | src/core/print_view_manager_qt.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/core/print_view_manager_qt.cpp b/src/core/print_view_manager_qt.cpp index 8f52cc24a..0231df8bd 100644 --- a/src/core/print_view_manager_qt.cpp +++ b/src/core/print_view_manager_qt.cpp @@ -136,14 +136,16 @@ static base::DictionaryValue *createPrintSettings() return printSettings; } -static void applyQPageLayoutSettingsToDictionary(const QPageLayout &pageLayout, base::DictionaryValue &printSettings) +static base::DictionaryValue *createPrintSettingsFromQPageLayout(const QPageLayout &pageLayout) { + base::DictionaryValue *printSettings = createPrintSettings(); + //Set page size attributes, chromium expects these in micrometers QSizeF pageSizeInMilimeter = pageLayout.pageSize().size(QPageSize::Millimeter); std::unique_ptr<base::DictionaryValue> sizeDict(new base::DictionaryValue); sizeDict->SetInteger(printing::kSettingMediaSizeWidthMicrons, pageSizeInMilimeter.width() * kMicronsToMillimeter); sizeDict->SetInteger(printing::kSettingMediaSizeHeightMicrons, pageSizeInMilimeter.height() * kMicronsToMillimeter); - printSettings.Set(printing::kSettingMediaSize, std::move(sizeDict)); + printSettings->Set(printing::kSettingMediaSize, std::move(sizeDict)); // Apply page margins QMargins pageMarginsInPoints = pageLayout.marginsPoints(); @@ -152,10 +154,13 @@ static void applyQPageLayoutSettingsToDictionary(const QPageLayout &pageLayout, marginsDict->SetInteger(printing::kSettingMarginBottom, pageMarginsInPoints.bottom()); marginsDict->SetInteger(printing::kSettingMarginLeft, pageMarginsInPoints.left()); marginsDict->SetInteger(printing::kSettingMarginRight, pageMarginsInPoints.right()); - printSettings.Set(printing::kSettingMarginsCustom, std::move(marginsDict)); - printSettings.SetInteger(printing::kSettingMarginsType, printing::CUSTOM_MARGINS); - printSettings.SetBoolean(printing::kSettingLandscape, pageLayout.orientation() == QPageLayout::Landscape); + printSettings->Set(printing::kSettingMarginsCustom, std::move(marginsDict)); + printSettings->SetInteger(printing::kSettingMarginsType, printing::CUSTOM_MARGINS); + + printSettings->SetBoolean(printing::kSettingLandscape, pageLayout.orientation() == QPageLayout::Landscape); + + return printSettings; } } // namespace @@ -209,12 +214,11 @@ bool PrintViewManagerQt::PrintToPDFInternal(const QPageLayout &pageLayout, bool { if (!pageLayout.isValid()) return false; - m_printSettings.reset(createPrintSettings()); - m_printSettings->SetInteger(printing::kSettingColor, printInColor ? printing::COLOR : printing::GRAYSCALE); - applyQPageLayoutSettingsToDictionary(pageLayout, *m_printSettings); + m_printSettings.reset(createPrintSettingsFromQPageLayout(pageLayout)); m_printSettings->SetBoolean(printing::kSettingShouldPrintBackgrounds , web_contents()->GetRenderViewHost()->GetWebkitPreferences().should_print_backgrounds); + m_printSettings->SetInteger(printing::kSettingColor, printInColor ? printing::COLOR : printing::GRAYSCALE); return Send(new PrintMsg_InitiatePrintPreview(routing_id(), false)); } |