<?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.gwtexpui.globalkey.client'
    xmlns:g='urn:import:com.google.gwt.user.client.ui'>
  <ui:style>
    .popup {
      position: fixed;
      bottom: 0;
      right: 0;
      z-index: 10;
      padding: 5px;
    }
    .bar {
      background-color: #fff1a8;
      border: 1px solid #ccc;
      padding: 5px 10px;
      font-size: 80%;
      color: #222;
      white-space: nowrap;
      width: auto;
      height: auto;
    }
    a.action {
      color: #222;
      text-decoration: underline;
      display: inline-block;
      margin-left: 0.5em;
    }
  </ui:style>
  <g:HTMLPanel styleName='{style.popup}'>
    <div class='{style.bar}'>
      <ui:msg>Update from <span ui:field='author'/></ui:msg>
      <g:Anchor ui:field='show'
          styleName='{style.action}'
          href='javascript:;'
          title='Refresh screen and display updates'>
        <ui:attribute name='title'/>
        <ui:msg>Show</ui:msg>
      </g:Anchor>
      <g:Anchor ui:field='ignore'
          styleName='{style.action}'
          href='javascript:;'
          title='Ignore this update'>
        <ui:attribute name='title'/>
        <ui:msg>Ignore</ui:msg>
      </g:Anchor>
    </div>
  </g:HTMLPanel>
</ui:UiBinder>
