Merge "Scroll from the window when rendering entire file"
This commit is contained in:
@@ -56,6 +56,7 @@ class DiffTable extends Composite {
|
|||||||
@UiField Element patchSetNavRow;
|
@UiField Element patchSetNavRow;
|
||||||
@UiField Element patchSetNavCellA;
|
@UiField Element patchSetNavCellA;
|
||||||
@UiField Element patchSetNavCellB;
|
@UiField Element patchSetNavCellB;
|
||||||
|
@UiField Element sidePanelCell;
|
||||||
@UiField FlowPanel widgets;
|
@UiField FlowPanel widgets;
|
||||||
@UiField static DiffTableStyle style;
|
@UiField static DiffTableStyle style;
|
||||||
|
|
||||||
|
@@ -44,6 +44,10 @@ limitations under the License.
|
|||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.difftable .CodeMirror {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
/* Preserve space for underscores. If this changes
|
/* Preserve space for underscores. If this changes
|
||||||
* see ChunkManager.addPadding() and adjust there.
|
* see ChunkManager.addPadding() and adjust there.
|
||||||
*/
|
*/
|
||||||
@@ -150,7 +154,9 @@ limitations under the License.
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td class='{style.sidePanelCell}'><d:SidePanel ui:field='sidePanel'/></td>
|
<td ui:field='sidePanelCell' class='{style.sidePanelCell}'>
|
||||||
|
<d:SidePanel ui:field='sidePanel'/>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<g:FlowPanel ui:field='widgets' visible='false'/>
|
<g:FlowPanel ui:field='widgets' visible='false'/>
|
||||||
|
@@ -33,6 +33,7 @@ limitations under the License.
|
|||||||
font-family: arial,sans-serif;
|
font-family: arial,sans-serif;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
position: fixed !important;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
text-shadow: 1px 1px 7px #000000;
|
text-shadow: 1px 1px 7px #000000;
|
||||||
min-width: 300px;
|
min-width: 300px;
|
||||||
|
@@ -52,6 +52,7 @@ import com.google.gwt.uibinder.client.UiField;
|
|||||||
import com.google.gwt.user.client.Window;
|
import com.google.gwt.user.client.Window;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
import com.google.gwt.user.client.ui.FlowPanel;
|
import com.google.gwt.user.client.ui.FlowPanel;
|
||||||
|
import com.google.gwt.user.client.ui.UIObject;
|
||||||
import com.google.gwtexpui.globalkey.client.GlobalKey;
|
import com.google.gwtexpui.globalkey.client.GlobalKey;
|
||||||
import com.google.gwtexpui.globalkey.client.KeyCommand;
|
import com.google.gwtexpui.globalkey.client.KeyCommand;
|
||||||
import com.google.gwtexpui.globalkey.client.KeyCommandSet;
|
import com.google.gwtexpui.globalkey.client.KeyCommandSet;
|
||||||
@@ -202,7 +203,8 @@ public class SideBySide2 extends Screen {
|
|||||||
@Override
|
@Override
|
||||||
public void onShowView() {
|
public void onShowView() {
|
||||||
super.onShowView();
|
super.onShowView();
|
||||||
Window.enableScrolling(false);
|
Window.enableScrolling(prefs.renderEntireFile());
|
||||||
|
UIObject.setVisible(diffTable.sidePanelCell, !prefs.renderEntireFile());
|
||||||
if (prefs.hideTopMenu()) {
|
if (prefs.hideTopMenu()) {
|
||||||
Gerrit.setHeaderVisible(false);
|
Gerrit.setHeaderVisible(false);
|
||||||
}
|
}
|
||||||
@@ -217,8 +219,10 @@ public class SideBySide2 extends Screen {
|
|||||||
operation(new Runnable() {
|
operation(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
cmA.setHeight(height);
|
if (!prefs.renderEntireFile()) {
|
||||||
cmB.setHeight(height);
|
cmA.setHeight(height);
|
||||||
|
cmB.setHeight(height);
|
||||||
|
}
|
||||||
cmA.refresh();
|
cmA.refresh();
|
||||||
cmB.refresh();
|
cmB.refresh();
|
||||||
}
|
}
|
||||||
@@ -471,11 +475,13 @@ public class SideBySide2 extends Screen {
|
|||||||
|
|
||||||
operation(new Runnable() {
|
operation(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
// Estimate initial CM3 height, fixed up in onShowView.
|
if (!prefs.renderEntireFile()) {
|
||||||
int height = Window.getClientHeight()
|
// Estimate initial CM3 height, fixed up in onShowView.
|
||||||
- (Gerrit.getHeaderFooterHeight() + 18);
|
int height = Window.getClientHeight()
|
||||||
cmA.setHeight(height);
|
- (Gerrit.getHeaderFooterHeight() + 18);
|
||||||
cmB.setHeight(height);
|
cmA.setHeight(height);
|
||||||
|
cmB.setHeight(height);
|
||||||
|
}
|
||||||
|
|
||||||
render(diff);
|
render(diff);
|
||||||
commentManager.render(comments, prefs.expandAllComments());
|
commentManager.render(comments, prefs.expandAllComments());
|
||||||
@@ -623,6 +629,9 @@ public class SideBySide2 extends Screen {
|
|||||||
return new Runnable() {
|
return new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
if (prefs.renderEntireFile()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
Viewport fromTo = cm.getViewport();
|
Viewport fromTo = cm.getViewport();
|
||||||
int size = fromTo.getTo() - fromTo.getFrom() + 1;
|
int size = fromTo.getTo() - fromTo.getFrom() + 1;
|
||||||
if (cm.getOldViewportSize() == size) {
|
if (cm.getOldViewportSize() == size) {
|
||||||
@@ -762,17 +771,25 @@ public class SideBySide2 extends Screen {
|
|||||||
if (prefs.renderEntireFile()) {
|
if (prefs.renderEntireFile()) {
|
||||||
cmA.addKeyMap(RENDER_ENTIRE_FILE_KEYMAP);
|
cmA.addKeyMap(RENDER_ENTIRE_FILE_KEYMAP);
|
||||||
cmB.addKeyMap(RENDER_ENTIRE_FILE_KEYMAP);
|
cmB.addKeyMap(RENDER_ENTIRE_FILE_KEYMAP);
|
||||||
|
cmA.setHeight("");
|
||||||
|
cmB.setHeight("");
|
||||||
}
|
}
|
||||||
|
|
||||||
cmA.setOption("viewportMargin", prefs.renderEntireFile() ? POSITIVE_INFINITY : 10);
|
cmA.setOption("viewportMargin", prefs.renderEntireFile() ? POSITIVE_INFINITY : 10);
|
||||||
cmB.setOption("viewportMargin", prefs.renderEntireFile() ? POSITIVE_INFINITY : 10);
|
cmB.setOption("viewportMargin", prefs.renderEntireFile() ? POSITIVE_INFINITY : 10);
|
||||||
|
|
||||||
|
Window.enableScrolling(prefs.renderEntireFile());
|
||||||
|
UIObject.setVisible(diffTable.sidePanelCell, !prefs.renderEntireFile());
|
||||||
|
resizeCodeMirror();
|
||||||
}
|
}
|
||||||
|
|
||||||
void resizeCodeMirror() {
|
void resizeCodeMirror() {
|
||||||
int height = getCodeMirrorHeight();
|
if (!prefs.renderEntireFile()) {
|
||||||
cmA.setHeight(height);
|
int height = getCodeMirrorHeight();
|
||||||
cmB.setHeight(height);
|
cmA.setHeight(height);
|
||||||
diffTable.sidePanel.adjustGutters(cmB);
|
cmB.setHeight(height);
|
||||||
|
diffTable.sidePanel.adjustGutters(cmB);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getCodeMirrorHeight() {
|
private int getCodeMirrorHeight() {
|
||||||
|
Reference in New Issue
Block a user