Changeset 49769 in webkit
- Timestamp:
- Oct 19, 2009 12:17:40 AM (15 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r49767 r49769 1 2009-10-19 Jakob Truelsen <antialize@gmail.com> 2 3 Reviewed by Adam Barth. 4 5 https://bugs.webkit.org/show_bug.cgi?id=29042 6 Allow one to customize the minimal and maximal shrink factors used when printing. 7 8 * page/PrintContext.cpp: 9 (WebCore::PrintContext::begin): 10 * page/Settings.cpp: 11 (WebCore::Settings::Settings): 12 (WebCore::Settings::setPrintingMinimumShrinkFactor): 13 (WebCore::Settings::setPrintingMaximumShrinkFactor): 14 * page/Settings.h: 15 (WebCore::Settings::printingMinimumShrinkFactor): 16 (WebCore::Settings::printingMaximumShrinkFactor): 17 1 18 2009-10-18 Erik Arvidsson <arv@chromium.org> 2 19 … … 1963 1980 * inspector/front-end/ScriptsPanel.js: 1964 1981 1982 >>>>>>> .r49765 1965 1983 2009-10-13 Yongjun Zhang <yongjun.zhang@nokia.com> 1966 1984 -
trunk/WebCore/page/PrintContext.cpp
r47452 r49769 26 26 #include "FrameView.h" 27 27 #include "RenderView.h" 28 #include "Settings.h" 28 29 29 30 using namespace WebCore; … … 96 97 void PrintContext::begin(float width) 97 98 { 98 // By imaging to a width a little wider than the available pixels, 99 // thin pages will be scaled down a little, matching the way they 100 // print in IE and Camino. This lets them use fewer sheets than they 101 // would otherwise, which is presumably why other browsers do this. 102 // Wide pages will be scaled down more than this. 103 const float PrintingMinimumShrinkFactor = 1.25f; 99 float PrintingMinimumShrinkFactor = m_frame->settings() ? m_frame->settings()->printingMinimumShrinkFactor() : 0.0f; 100 float PrintingMaximumShrinkFactor = m_frame->settings() ? m_frame->settings()->printingMaximumShrinkFactor() : 0.0f; 104 101 105 // This number determines how small we are willing to reduce the page content 106 // in order to accommodate the widest line. If the page would have to be 107 // reduced smaller to make the widest line fit, we just clip instead (this 108 // behavior matches MacIE and Mozilla, at least) 109 const float PrintingMaximumShrinkFactor = 2.0f; 102 if (PrintingMaximumShrinkFactor < PrintingMinimumShrinkFactor || PrintingMinimumShrinkFactor <= 0.0f) { 103 // By imaging to a width a little wider than the available pixels, 104 // thin pages will be scaled down a little, matching the way they 105 // print in IE and Camino. This lets them use fewer sheets than they 106 // would otherwise, which is presumably why other browsers do this. 107 // Wide pages will be scaled down more than this. 108 PrintingMinimumShrinkFactor = 1.25f; 109 110 // This number determines how small we are willing to reduce the page content 111 // in order to accommodate the widest line. If the page would have to be 112 // reduced smaller to make the widest line fit, we just clip instead (this 113 // behavior matches MacIE and Mozilla, at least) 114 PrintingMaximumShrinkFactor = 2.0f; 115 } 110 116 111 117 float minLayoutWidth = width * PrintingMinimumShrinkFactor; -
trunk/WebCore/page/Settings.cpp
r49385 r49769 64 64 , m_localStorageQuota(5 * 1024 * 1024) // Suggested by the HTML5 spec. 65 65 , m_pluginAllowedRunTime(numeric_limits<unsigned>::max()) 66 , m_printingMinimumShrinkFactor(0.0f) 67 , m_printingMaximumShrinkFactor(0.0f) 66 68 , m_isJavaEnabled(false) 67 69 , m_loadsImagesAutomatically(false) … … 540 542 #endif 541 543 544 void Settings::setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor) 545 { 546 m_printingMinimumShrinkFactor = printingMinimumShrinkFactor; 547 } 548 549 void Settings::setPrintingMaximumShrinkFactor(float printingMaximumShrinkFactor) 550 { 551 m_printingMaximumShrinkFactor = printingMaximumShrinkFactor; 552 } 553 542 554 } // namespace WebCore -
trunk/WebCore/page/Settings.h
r49385 r49769 276 276 #endif 277 277 278 void setPrintingMinimumShrinkFactor(float); 279 float printingMinimumShrinkFactor() const { return m_printingMinimumShrinkFactor; } 280 281 void setPrintingMaximumShrinkFactor(float); 282 float printingMaximumShrinkFactor() const { return m_printingMaximumShrinkFactor; } 283 278 284 private: 279 285 Page* m_page; … … 298 304 unsigned m_localStorageQuota; 299 305 unsigned m_pluginAllowedRunTime; 306 float m_printingMinimumShrinkFactor; 307 float m_printingMaximumShrinkFactor; 300 308 bool m_isJavaEnabled : 1; 301 309 bool m_loadsImagesAutomatically : 1; -
trunk/WebKit/qt/Api/qwebsettings.cpp
r49492 r49769 63 63 QString offlineWebApplicationCachePath; 64 64 qint64 offlineStorageDefaultQuota; 65 float printingMinimumShrinkFactor; 66 float printingMaximumShrinkFactor; 65 67 66 68 void apply(); … … 174 176 QString storagePath = !localStoragePath.isEmpty() ? localStoragePath : global->localStoragePath; 175 177 settings->setLocalStorageDatabasePath(storagePath); 178 179 float minimumShrinkFactor = printingMinimumShrinkFactor > 0.0f ? printingMinimumShrinkFactor : global->printingMinimumShrinkFactor; 180 settings->setPrintingMinimumShrinkFactor(minimumShrinkFactor); 181 182 float maximumShrinkFactor = printingMaximumShrinkFactor > 0.0f ? printingMaximumShrinkFactor : global->printingMaximumShrinkFactor; 183 settings->setPrintingMaximumShrinkFactor(maximumShrinkFactor); 176 184 177 185 value = attributes.value(QWebSettings::ZoomTextOnly, … … 379 387 d->offlineStorageDefaultQuota = 5 * 1024 * 1024; 380 388 d->defaultTextEncoding = QLatin1String("iso-8859-1"); 389 d->printingMinimumShrinkFactor = 0.0f; 390 d->printingMaximumShrinkFactor = 0.0f; 381 391 } 382 392 … … 490 500 { 491 501 return d->defaultTextEncoding; 502 } 503 504 /*! 505 \since 4.7 506 Specifies minimum shrink fator allowed for printing. If set to 0 a 507 default value is used. 508 509 When printing, content will be shrunk to reduce page usage, it 510 will reduced by a factor between printingMinimumShrinkFactor and 511 printingMaximumShrinkFactor. 512 513 \sa printingMinimumShrinkFactor() 514 \sa setPrintingMaximumShrinkFactor() 515 \sa printingMaximumShrinkFactor() 516 */ 517 void QWebSettings::setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor) 518 { 519 d->printingMinimumShrinkFactor = printingMinimumShrinkFactor; 520 d->apply(); 521 } 522 523 /*! 524 \since 4.7 525 returns the minimum shrink factor used for printing. 526 527 \sa setPrintingMinimumShrinkFactor() 528 */ 529 float QWebSettings::printingMinimumShrinkFactor() const 530 { 531 return d->printingMinimumShrinkFactor; 532 } 533 534 /*! 535 \since 4.7 536 Specifies maximum shrink fator allowed for printing. If set to 0 a 537 default value is used. 538 539 \sa setPrintingMinimumShrinkFactor() 540 */ 541 void QWebSettings::setPrintingMaximumShrinkFactor(float printingMaximumShrinkFactor) 542 { 543 d->printingMaximumShrinkFactor = printingMaximumShrinkFactor; 544 d->apply(); 545 } 546 547 /*! 548 \since 4.7 549 returns the maximum shrink factor used for printing. 550 551 \sa setPrintingMinimumShrinkFactor() 552 */ 553 float QWebSettings::printingMaximumShrinkFactor() const 554 { 555 return d->printingMaximumShrinkFactor; 492 556 } 493 557 -
trunk/WebKit/qt/Api/qwebsettings.h
r48151 r49769 104 104 QString defaultTextEncoding() const; 105 105 106 void setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor); 107 float printingMinimumShrinkFactor() const; 108 109 void setPrintingMaximumShrinkFactor(float printingMaximimShrinkFactor); 110 float printingMaximumShrinkFactor() const; 111 106 112 static void setIconDatabasePath(const QString &location); 107 113 static QString iconDatabasePath(); -
trunk/WebKit/qt/ChangeLog
r49768 r49769 1 2009-10-19 Jakob Truelsen <antialize@gmail.com> 2 3 Reviewed by Adam Barth. 4 5 https://bugs.webkit.org/show_bug.cgi?id=29042 6 7 Allow one to costumize the minimal and maximal shrink factors, 8 Added methods setPrintingMinimumShrinkFactor, printingMinimumShrinkFactor, 9 setPrintingMaximumShrinkFactor, printingMaximumShrinkFactor to QWebSettings. 10 11 12 * Api/qwebsettings.cpp: 13 (QWebSettingsPrivate::apply): 14 (QWebSettings::QWebSettings): 15 (QWebSettings::setPrintingMinimumShrinkFactor): 16 (QWebSettings::printingMinimumShrinkFactor): 17 (QWebSettings::setPrintingMaximumShrinkFactor): 18 (QWebSettings::printingMaximumShrinkFactor): 19 * Api/qwebsettings.h: 20 1 21 2009-10-18 Kenneth Rohde Christiansen <kenneth@webkit.org> 2 22 … … 104 124 (QGraphicsWebView::event): 105 125 126 >>>>>>> .r49765 106 127 2009-10-13 Girish Ramakrishnan <girish@forwardbias.in> 107 128
Note: See TracChangeset
for help on using the changeset viewer.