Minor cleanup within change view and diff view

+ Break some things out into functions in change view.
+ Move position of preferences and diff mode toggle.

Change-Id: I2deab3af58193a0bb316e86c8b577a24e9b7a166
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
index a3d2146..106c67f 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
@@ -171,7 +171,7 @@
     },
 
     _paramsChanged: function(value) {
-      if (value.view != this.tagName.toLowerCase()) { return; }
+      if (value.view !== this.tagName.toLowerCase()) { return; }
 
       this._changeNum = value.changeNum;
       this._patchRange = {
@@ -188,29 +188,15 @@
         this._resetFileListViewState();
       }
 
-      if (!this._changeNum) {
-        return;
-      }
       this._reload().then(function() {
         this.$.messageList.topMargin = this._headerEl.offsetHeight;
 
         // Allow the message list to render before scrolling.
         this.async(function() {
-          var msgPrefix = '#message-';
-          var hash = window.location.hash;
-          if (hash.indexOf(msgPrefix) == 0) {
-            this.$.messageList.scrollToMessage(hash.substr(msgPrefix.length));
-          }
+          this._maybeScrollToMessage();
         }.bind(this), 1);
 
-        this._getLoggedIn().then(function(loggedIn) {
-          if (!loggedIn) { return; }
-
-          if (this.viewState.showReplyDialog) {
-            this.$.replyOverlay.open();
-            this.set('viewState.showReplyDialog', false);
-          }
-        }.bind(this));
+        this._maybeShowReplyDialog();
 
         this.$.jsAPI.handleEvent(this.$.jsAPI.EventType.SHOW_CHANGE, {
           change: this._change,
@@ -219,6 +205,25 @@
       }.bind(this));
     },
 
+    _maybeScrollToMessage: function() {
+      var msgPrefix = '#message-';
+      var hash = window.location.hash;
+      if (hash.indexOf(msgPrefix) === 0) {
+        this.$.messageList.scrollToMessage(hash.substr(msgPrefix.length));
+      }
+    },
+
+    _maybeShowReplyDialog: function() {
+      this._getLoggedIn().then(function(loggedIn) {
+        if (!loggedIn) { return; }
+
+        if (this.viewState.showReplyDialog) {
+          this.$.replyOverlay.open();
+          this.set('viewState.showReplyDialog', false);
+        }
+      }.bind(this));
+    },
+
     _resetFileListViewState: function() {
       this.set('viewState.selectedFileIndex', 0);
       this.set('viewState.changeNum', this._changeNum);
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.html b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.html
index b916571..c52289f 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.html
@@ -172,15 +172,16 @@
             available-patches="[[_computeAvailablePatches(_change.revisions)]]">
         </gr-patch-range-select>
         <div>
-          <gr-button link
-              class="prefsButton"
-              on-tap="_handlePrefsTap"
-              hidden$="[[_computePrefsButtonHidden(_prefs, _loggedIn)]]"
-              hidden>Diff View Preferences</gr-button>
           <select id="modeSelect" on-change="_handleModeChange">
             <option value="SIDE_BY_SIDE">Side By Side</option>
             <option value="UNIFIED_DIFF">Unified</option>
           </select>
+          <span hidden$="[[_computePrefsButtonHidden(_prefs, _loggedIn)]]">
+            /
+            <gr-button link
+                class="prefsButton"
+                on-tap="_handlePrefsTap">Preferences</gr-button>
+          </span>
         </div>
       </div>
       <gr-overlay id="prefsOverlay" with-backdrop>