blob: 2b09ef9e555a26760a0216af42b56c0914823edb [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<ui:UiBinder
xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:c='urn:import:com.google.gerrit.client.change'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:x='urn:import:com.google.gerrit.client.ui'>
<ui:with field='ico' type='com.google.gerrit.client.GerritResources'/>
<ui:with field='res' type='com.google.gerrit.client.change.Resources'/>
<ui:style type='com.google.gerrit.client.change.ChangeScreen2.Style'>
@eval textColor com.google.gerrit.client.Gerrit.getTheme().textColor;
@eval trimColor com.google.gerrit.client.Gerrit.getTheme().trimColor;
@def COMMIT_WIDTH 560px;
@def HEADER_HEIGHT 29px;
.cs2 {
margin-bottom: 1em;
}
.headerLine {
position: relative;
background-color: trimColor;
height: HEADER_HEIGHT;
margin: 0 -5px;
padding: 0 5px;
}
.subjectLine {
position: relative;
width: COMMIT_WIDTH;
height: HEADER_HEIGHT;
background-color: trimColor;
color: textColor;
font-family: sans-serif;
}
.subjectText {
width: 460px;
height: HEADER_HEIGHT;
line-height: HEADER_HEIGHT;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.subjectButtons {
position: absolute;
top: 0;
right: 3px;
height: HEADER_HEIGHT;
line-height: HEADER_HEIGHT;
}
.infoLine {
position: absolute;
top: 0;
left: COMMIT_WIDTH;
height: HEADER_HEIGHT;
padding-left: 25px;
}
.infoLineHeaderButtons {
display: inline-block;
height: HEADER_HEIGHT;
line-height: HEADER_HEIGHT;
vertical-align: top;
}
.statusRight {
position: absolute;
top: 0;
right: 0;
height: HEADER_HEIGHT;
}
.idAndStatus {
display: inline-block;
position: relative;
height: HEADER_HEIGHT;
width: 300px;
}
.star {
position: absolute;
top: 5px;
right: 2px;
cursor: pointer;
outline: none;
}
.changeId {
width: 300px;
white-space: nowrap;
line-height: HEADER_HEIGHT;
overflow: hidden;
text-overflow: ellipsis;
}
.statusText {
font-weight: bold;
}
div.popdown {
display: inline-block;
margin-top: 2px;
margin-left: 5px;
margin-right: 25px;
}
.popdown button {
cursor: pointer;
height: 25px;
border: none;
border-left: 2px solid #fff;
border-right: 2px solid #fff;
background-color: trimColor;
margin: 0 0 0 -2px;
padding-left: 2px;
padding-right: 2px;
min-width: 100px;
}
.popdown button div {
padding-left: 6px;
padding-right: 6px;
}
.popdown button div:after {
content: " \25bc";
}
.popdown button.selected {
font-weight: bold;
}
.popdown button:focus {
outline: none;
}
.headerButtons button:disabled,
#change_infoTable button:disabled,
.popdown button:disabled {
background-color: #999;
background-image: -webkit-linear-gradient(top, #999, #999);
}
.infoTable {
border-spacing: 0;
}
.infoTable th {
width: 60px;
color: #444;
font-weight: normal;
vertical-align: top;
text-align: left;
padding: 0 5px 0 0;
}
.projectSettings {
float: right;
cursor: pointer;
}
.infoColumn {
width: 440px;
padding-left: 17px;
padding-right: 17px;
vertical-align: top;
}
#change_infoTable {
border-spacing: 0;
width: 100%;
margin-left: 2px;
margin-right: 5px;
}
.notMergeable {
float: right;
font-weight: bold;
color: #d00;
}
.commitColumn, .relatedColumn {
padding: 0;
vertical-align: top;
}
.commitColumn { width: COMMIT_WIDTH; }
.relatedColumn { width: 375px; }
.labels {
border-spacing: 0;
padding: 0;
}
.labelName {
color: #444;
vertical-align: top;
text-align: left;
padding-top: 3px;
padding-right: 5px;
white-space: nowrap;
}
.label_user {
display: inline-block;
margin-bottom: 2px;
padding: 1px 3px 0px 3px;
border-radius: 5px;
-webkit-border-radius: 5px;
background: trimColor;
border: 1px solid trimColor;
white-space: nowrap;
}
.label_user img.avatar {
margin: 0 2px 0 0;
width: 16px;
height: 16px;
vertical-align: bottom;
}
.label_user button {
cursor: pointer;
padding: 0;
margin: 0 0 0 5px;
border: 0;
background-color: transparent;
white-space: nowrap;
}
.label_ok {color: #060;}
.label_reject {color: #d14836;}
.label_need {color: #000;}
.label_may {color: #777;}
.headerButtons button {
margin: 6px 3px 0 0;
border-color: rgba(0, 0, 0, 0.1);
text-align: center;
font-size: 8pt;
font-weight: bold;
border: 1px solid;
cursor: pointer;
color: #444;
background-color: #f5f5f5;
background-image: -webkit-linear-gradient(top, #f5f5f5, #f1f1f1);
-webkit-border-radius: 2px;
-webkit-box-sizing: content-box;
}
.headerButtons button div {
color: #444;
height: 10px;
min-width: 54px;
line-height: 10px;
white-space: nowrap;
}
button.quickApprove {
background-color: #4d90fe;
background-image: -webkit-linear-gradient(top, #4d90fe, #4d90fe);
}
button.quickApprove div { color: #fff; }
.sectionHeader {
position: relative;
background-color: trimColor;
font-weight: bold;
color: textColor;
height: 18px;
margin: 0 -5px;
padding: 5px 5px;
}
.sectionHeader .headerButtons {
position: absolute;
left: 300px;
top: 2px;
height: 18px;
line-height: 18px;
border-left: 1px inset #fff;
padding-left: 5px;
padding-top: 3px;
padding-bottom: 3px;
}
.sectionHeader button { margin-top: 0; }
.diffBase {
display: inline-block;
height: 18px;
line-height: 18px;
font-size: smaller;
font-weight: normal;
vertical-align: top;
}
.diffBase select {
margin: 0;
border: 1px solid #bbb;
font-size: smaller;
}
.replyBox {
background-color: trimColor;
}
.ownerPanel img {
margin: 0 2px 0 0;
width: 16px;
height: 16px !important;
vertical-align: bottom;
}
</ui:style>
<g:HTMLPanel styleName='{style.cs2}'>
<g:HTMLPanel styleName='{style.headerLine}' ui:field='headerLine'>
<div class='{style.subjectLine}'>
<div class='{style.idAndStatus}'>
<span class='{style.changeId}'>
<ui:msg>Change <g:Anchor ui:field='permalink' title='Reload the change (Shortcut: R)'>
<ui:attribute name='title'/>
</g:Anchor> - <span ui:field='statusText' class='{style.statusText}'/></ui:msg>
</span>
</div>
<div class='{style.subjectButtons} {style.headerButtons}'>
<g:Button ui:field='editMessage'
styleName=''
visible='false'
title='Edit commit message (Shortcut: e)'>
<ui:attribute name='title'/>
<div><ui:msg>Edit Message</ui:msg></div>
</g:Button>
</div>
</div>
<div class='{style.infoLine}'>
<div class='{style.headerButtons} {style.infoLineHeaderButtons}'>
<g:Button ui:field='reply'
styleName=''
title='Reply and score (Shortcut: a)'>
<ui:attribute name='title'/>
<div><ui:msg>Reply&#8230;</ui:msg></div>
</g:Button>
<c:QuickApprove ui:field='quickApprove'
styleName='{style.quickApprove}'
title='Apply score with one click'>
<ui:attribute name='title'/>
</c:QuickApprove>
</div>
</div>
<div class='{style.statusRight}'>
<g:FlowPanel styleName='{style.popdown}'>
<g:Button ui:field='includedIn' styleName='' visible="false">
<div><ui:msg>Included in</ui:msg></div>
</g:Button>
<g:Button ui:field='patchSets' styleName=''>
<div ui:field='patchSetsText'/>
</g:Button>
<g:Button ui:field='download' styleName=''>
<div><ui:msg>Download</ui:msg></div>
</g:Button>
</g:FlowPanel>
<c:StarIcon ui:field='star' styleName='{style.star}' title='Star the change (Shortcut: s)'>
<ui:attribute name='title'/>
</c:StarIcon>
</div>
</g:HTMLPanel>
<table class='{style.infoTable}'>
<tr>
<td class='{style.commitColumn}'>
<c:CommitBox ui:field='commit'/>
</td>
<td class='{style.infoColumn}'>
<table id='change_infoTable'>
<tr>
<th><ui:msg>Owner</ui:msg></th>
<td>
<g:FlowPanel ui:field='ownerPanel' styleName='{style.ownerPanel}'>
<x:InlineHyperlink ui:field='ownerLink'/>
</g:FlowPanel>
</td>
</tr>
<tr>
<th><ui:msg>Reviewers</ui:msg></th>
<td>
<c:Reviewers ui:field='reviewers'/>
</td>
</tr>
<tr>
<th/>
<td ui:field='ccText'/>
</tr>
<tr>
<th><ui:msg>Project</ui:msg></th>
<td><x:InlineHyperlink ui:field='projectDashboard'
title='Go to project dashboard'>
<ui:attribute name='title'/>
</x:InlineHyperlink>
<a ui:field='projectSettingsLink'
class='{style.projectSettings}'>
<g:Image
ui:field='projectSettings'
resource='{ico.gear}'
title='Go to project settings'>
<ui:attribute name='title'/>
</g:Image>
</a>
</td>
</tr>
<tr>
<th><ui:msg>Branch</ui:msg></th>
<td><x:InlineHyperlink ui:field='branchLink'
title='Search for changes on this branch'>
<ui:attribute name='title'/>
</x:InlineHyperlink>
</td>
</tr>
<tr>
<th><ui:msg>Topic</ui:msg></th>
<td><c:Topic ui:field='topic'/></td>
</tr>
<tr ui:field='strategy'>
<th><ui:msg>Strategy</ui:msg></th>
<td>
<span ui:field='submitActionText'/>
<div ui:field='notMergeable'
class='{style.notMergeable}'
style='display: none'
aria-hidden='true'
title='The change cannot be merged due to a path conflict. Rebase the change locally and upload the rebased commit for review.'>
<ui:attribute name='title'/>
<ui:msg>Cannot Merge</ui:msg>
</div>
</td>
</tr>
<tr>
<th ui:field='actionText'/>
<td ui:field='actionDate'/>
</tr>
<tr><td colspan='2'><c:Actions ui:field='actions'/></td></tr>
</table>
<hr/>
<c:Labels ui:field='labels' styleName='{style.labels}'/>
<div id='change_plugins'/>
</td>
<td class='{style.relatedColumn}'>
<c:RelatedChanges ui:field='related'/>
</td>
</tr>
</table>
<div class='{style.sectionHeader}'>
<ui:msg>Files</ui:msg>
<div class='{style.headerButtons}'>
<g:Button ui:field='openAll'
styleName=''
title='Open each file in a new tab'>
<ui:attribute name='title'/>
<div><ui:msg>Open All</ui:msg></div>
</g:Button>
<div class='{style.diffBase}'>
<ui:msg>Diff against: <g:ListBox ui:field='diffBase' styleName=''/></ui:msg>
</div>
</div>
</div>
<c:FileTable ui:field='files'/>
<div class='{style.sectionHeader}'>
<ui:msg>History</ui:msg>
<div class='{style.headerButtons}'>
<g:Button ui:field='expandAll'
styleName=''
title='Expand all messages in the change history'>
<ui:attribute name='title'/>
<div><ui:msg>Expand All</ui:msg></div>
</g:Button>
<g:Button ui:field='collapseAll'
styleName=''
visible='false'
title='Collapse all messages in the change history'>
<ui:attribute name='title'/>
<div><ui:msg>Collapse All</ui:msg></div>
</g:Button>
</div>
</div>
<c:History ui:field='history'/>
</g:HTMLPanel>
</ui:UiBinder>