Bug 270373 - Thunderbird needs smooth scrolling. r=bwinton, ui-r=bwinton
authorMagnus Melin <mkmelin+mozilla@iki.fi>
Fri, 15 Jun 2012 23:11:53 +0300
changeset 10441 397a74ee1e0082ee473db9186ba72e56cbc9aab6
parent 10440 a4dcfae6ddad9b35f21fd4e3a0232522c522e29a
child 10442 c0edd4f5d0e74833834c6eaa0d16c20fe61bed77
push id7897
push usermkmelin@iki.fi
push dateFri, 15 Jun 2012 20:13:40 +0000
treeherdercomm-central@397a74ee1e00 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbwinton, bwinton
bugs270373
Bug 270373 - Thunderbird needs smooth scrolling. r=bwinton, ui-r=bwinton
mail/app/profile/all-thunderbird.js
mail/components/preferences/advanced.xul
mail/locales/en-US/chrome/messenger/preferences/advanced.dtd
--- a/mail/app/profile/all-thunderbird.js
+++ b/mail/app/profile/all-thunderbird.js
@@ -151,16 +151,23 @@ pref("extensions.dss.switchPending", fal
 pref("extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.name", "chrome://messenger/locale/messenger.properties");
 pref("extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.description", "chrome://messenger/locale/messenger.properties");
 
 pref("lightweightThemes.update.enabled", true);
 
 pref("xpinstall.whitelist.add", "addons.mozilla.org");
 pref("xpinstall.whitelist.add.36", "getpersonas.com");
 
+pref("general.smoothScroll", true);
+#ifdef UNIX_BUT_NOT_MAC
+pref("general.autoScroll", false);
+#else
+pref("general.autoScroll", true);
+#endif
+
 pref("mail.shell.checkDefaultClient", true);
 pref("mail.spellcheck.inline", true);
 
 pref("mail.biff.alert.show_preview", true);
 pref("mail.biff.alert.show_subject", true);
 pref("mail.biff.alert.show_sender",  true);
 pref("mail.biff.alert.preview_length", 40);
 
--- a/mail/components/preferences/advanced.xul
+++ b/mail/components/preferences/advanced.xul
@@ -29,16 +29,24 @@
   <prefpane id="paneAdvanced" onpaneload="gAdvancedPane.init();">
     <script type="application/javascript" src="chrome://messenger/content/preferences/advanced.js"/>
     <script type="application/javascript" src="chrome://communicator/content/utilityOverlay.js"/>
 
     <preferences id="advancedPreferences">
       <preference id="mail.preferences.advanced.selectedTabIndex"
                   name="mail.preferences.advanced.selectedTabIndex" type="int"/>
       <!-- General tab -->
+
+      <preference id="general.autoScroll"
+                  name="general.autoScroll"
+                  type="bool"/>
+      <preference id="general.smoothScroll"
+                  name="general.smoothScroll"
+                  type="bool"/>
+
       <preference id="mailnews.database.global.indexer.enabled" 
                   name="mailnews.database.global.indexer.enabled" 
                   type="bool"/>
       <preference id="toolkit.telemetry.enabled" 
                   name="toolkit.telemetry.enabled" 
                   type="bool"/>
 #ifdef HAVE_SHELL_SERVICE
       <preference id="mail.shell.checkDefaultClient"
@@ -139,16 +147,30 @@
         <tabpanel orient="vertical">
           <hbox align="center">
             <description flex="1">&returnReceiptsInfo.label;</description>
             <button label="&showReturnReceipts.label;"
                     accesskey="&showReturnReceipts.accesskey;"
                     oncommand="gAdvancedPane.showReturnReceipts();"/>
           </hbox>
 
+          <!-- Scrolling -->
+          <groupbox id="scrollingGroup">
+            <caption label="&scrolling.label;"/>
+
+            <checkbox id="useAutoScroll"
+                      label="&useAutoScroll.label;"
+                      accesskey="&useAutoScroll.accesskey;"
+                      preference="general.autoScroll"/>
+            <checkbox id="useSmoothScrolling"
+                      label="&useSmoothScrolling.label;"
+                      accesskey="&useSmoothScrolling.accesskey;"
+                      preference="general.smoothScroll"/>
+          </groupbox>
+
 #ifdef HAVE_SHELL_SERVICE
           <groupbox id="systemDefaultsGroup" orient="vertical">
             <caption label="&systemIntegration.label;"/>
             <hbox id="checkDefaultBox" align="center" flex="1">
               <checkbox id="alwaysCheckDefault"
                         preference="mail.shell.checkDefaultClient"
                         label="&alwaysCheckDefault.label;"
                         accesskey="&alwaysCheckDefault.accesskey;" flex="1"/>
@@ -175,17 +197,17 @@
                           accesskey="&enableGlodaSearch.accesskey;"/>
               </hbox>
               <hbox>
                 <checkbox id="submitTelemetry"
                           preference="toolkit.telemetry.enabled"
                           label="&submitTelemetry.label;"
                           accesskey="&submitTelemetry.accesskey;"/>
               </hbox>
-              <hbox>
+              <hbox class="indent">
                 <label id="telemetryInfoLink"
                        class="text-link"
                        onclick="if (event.button == 0) openPrivacyPolicy('tab');"
                        value="&telemetryInfoLink.label;" />
 
               </hbox>
             </vbox>
             <vbox>
--- a/mail/locales/en-US/chrome/messenger/preferences/advanced.dtd
+++ b/mail/locales/en-US/chrome/messenger/preferences/advanced.dtd
@@ -10,16 +10,23 @@
 
 <!-- General Settings -->
 
 <!ENTITY submitTelemetry.label         "Submit Performance Data">
 <!ENTITY submitTelemetry.accesskey     "P">
 <!ENTITY telemetryInfoLink.label       "More information about Telemetry">
 <!ENTITY enableGlodaSearch.label       "Enable Global Search and Indexer">
 <!ENTITY enableGlodaSearch.accesskey   "E">
+
+<!ENTITY scrolling.label               "Scrolling">
+<!ENTITY useAutoScroll.label           "Use autoscrolling">
+<!ENTITY useAutoScroll.accesskey       "U">
+<!ENTITY useSmoothScrolling.label      "Use smooth scrolling">
+<!ENTITY useSmoothScrolling.accesskey  "m">
+
 <!ENTITY systemIntegration.label       "System Integration">
 <!ENTITY alwaysCheckDefault.label      "Always check to see if &brandShortName; is the default mail client on startup">
 <!ENTITY alwaysCheckDefault.accesskey  "A">
 <!ENTITY searchIntegration.label       "Allow &searchIntegration.engineName; to search messages">
 <!ENTITY searchIntegration.accesskey   "S">
 <!ENTITY checkNow.label                "Check Now">
 <!ENTITY checkNow.accesskey            "N">
 <!ENTITY configEditDesc.label          "Advanced Configuration">