<html>
<head>
  <title>Issue votes overview</title>
<!-- Start header -->

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <!-- >
  page comments
  $Id: iz_votes.html,v 1.41 2006/02/19 15:31:49 andreschnabel Exp $
  < -->
<!-- End de-header -->
<script type="text/javascript"><!--
/*-------------------------------------------------------------
  alternating table rows
  orginal code http://mrclay.org/web_design/table_decoration/
  using for OOo websit with permissions of Steve Clay
-------------------------------------------------------------*/

// alternately you can place these in a script element..
var tableDecorate_rows = true;
var tableDecorate_columns = false;

function tableDecorate(e) {
  if (!tableDecorate_rows && !tableDecorate_columns) return;
  if (!document.getElementsByTagName) return;
  var counter,
      c,      // columns
      r,      // rows
      t;      // tables
  t=document.getElementsByTagName("table");
  for (var i=0; i<t.length; i++) {
    if (t[i].className == "decorate") {
      r=t[i].getElementsByTagName("tr");
      for (var j=0; j<r.length; j++) {
        // add "oddRow" class to odd rows
          if (tableDecorate_rows && (j % 2 == 1)) {
          r[j].className = "oddRow " + r[j].className;
        }
      }
    }
  }
}

// alternately you can call the function directly (after onload)..
if (window.attachEvent) {
  window.attachEvent('onload',tableDecorate);
} else if (window.addEventListener) {
  window.addEventListener('load',tableDecorate,false);
}

/*-------------------------------------------------------------
  End alternating table rows
-------------------------------------------------------------*/

--></script>

<style type="text/css"><!--
#body_qa table{
  background-color:#fff; color:0;
  border-collapse:collapse; border-spacing:0;
  border-style: solid; border-width: 2px; border-color: #fff;
  margin-bottom:5px;
}
#body_qa table caption  {
  background-image: url(/branding/images/nw_maj_rond.gif); background-repeat: no-repeat;
  background-color:#036; color:#fff;
  font-weight:bold; font-size: 100%; font-variant:small-caps;
  text-align:left; padding:4px;
  border-style: solid; border-width: 2px; border-color: #fff;
  margin-top:5px;
}
#body_qa th  {
  background-color:#bbb;  color:0;
  padding:3px; padding-top:5px;
  border-style: solid; border-width: 2px; border-color: #fff;
}
#body_qa td {
  background-color:#efefef; color:0;
  padding:2px;
  border-style: solid; border-width: 1px; border-color: #fff;
}
#body_qa .oddRow td{
  background-color:#ddd
}

--></style>

</head>
<body>
<div id="body_qa">
<p>You may download a <a href="http://qa.openoffice.org/files/documents/77/1689/issuevotes.ots">
  template</a> to generate this statistics from the 
  <a href="http://qa.openoffice.org/servlets/ProjectDocumentList">
  Documents &amp; files section.</a>
</p>

<table class="decorate" summary="Issue votes overview" border="0" cellspacing="0" cellpadding="0">
<caption>Issue votes overview</caption>
<colgroup>
  <col width="10%"> <col width="10%"> <col width="10%"> <col width="50%"> <col width="10%"> <col width="10%"></colgroup>
<!--- table starts here-->
<tr> <th>Votes</th><th>ID </th><th>State</th><th>Summary</th><th>Type</th></tr>
<tr> <th colspan=5>Overall Top Twenty issues (including Bugs and RFE's in non-fixed state)</th></tr>
<tr> <td>300</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=2497">2497</a></td><td>NEW</td><td>allow import of SVG (Scalable Vector Graphics)</td><td>ENHANC</td></tr>
<tr> <td>133</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=30631">30631</a></td><td>STAR</td><td>R2L enabled controls</td><td>FEATUR</td></tr>
<tr> <td>120</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=12686">12686</a></td><td>NEW</td><td>Tabbed Document Windows</td><td>FEATUR</td></tr>
<tr> <td>119</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=12719">12719</a></td><td>NEW</td><td>Support for multiscreen displays (dual monitors)</td><td>FEATUR</td></tr>
<tr> <td>118</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=972">972</a></td><td>STAR</td><td>Alignment of baselines of formula and text in writer</td><td>ENHANC</td></tr>
<tr> <td>85</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=32117">32117</a></td><td>NEW</td><td>SQLite SDBC driver for OOo</td><td>FEATUR</td></tr>
<tr> <td>84</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=49991">49991</a></td><td>NEW</td><td>Allow embedding SVG vector graphics into all documents.</td><td>FEATUR</td></tr>
<tr> <td>82</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=18024">18024</a></td><td>STAR</td><td>Direction of weak characters: A new method for dealing with</td><td>ENHANC</td></tr>
<tr> <td>78</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=8949">8949</a></td><td>NEW</td><td>[RFE] query on several tables of a DBase/Calc database</td><td>FEATUR</td></tr>
<tr> <td>76</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=10384">10384</a></td><td>NEW</td><td>filter to import pdf files</td><td>ENHANC</td></tr>
<tr> <td>75</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=16295">16295</a></td><td>STAR</td><td>directionality lost when exporting a presentation to text</td><td>DEFECT</td></tr>
<tr> <td>75</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=28526">28526</a></td><td>NEW</td><td>Allow anti-aliasing of drawing objects</td><td>ENHANC</td></tr>
<tr> <td>70</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=17514">17514</a></td><td>STAR</td><td>incorrect letter order / word order when exporting Hebrew a</td><td>DEFECT</td></tr>
<tr> <td>64</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=6193">6193</a></td><td>NEW</td><td>Notes hard to see and edit</td><td>ENHANC</td></tr>
<tr> <td>63</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=3395">3395</a></td><td>STAR</td><td>Reveal formatting codes</td><td>ENHANC</td></tr>
<tr> <td>59</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=11215">11215</a></td><td>NEW</td><td>Lotus Wordpro Filters Needed</td><td>ENHANC</td></tr>
<tr> <td>59</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=22406">22406</a></td><td>STAR</td><td>Mozilla / Firefox-like plug-in (stand alone) for viewing OOo</td><td>ENHANC</td></tr>
<tr> <td>58</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=25072">25072</a></td><td>NEW</td><td>Specification: Cross-References to Headings</td><td>FEATUR</td></tr>
<tr> <td>57</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=366">366</a></td><td>NEW</td><td>Select 'Range' for error bars</td><td>FEATUR</td></tr>
<tr> <td>53</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=3997">3997</a></td><td>STAR</td><td>Flexible source ranges - Add option, to select x-values for</td><td>FEATUR</td></tr>
<tr> <th colspan=5>Top Ten Defects (in non-fixed state)</th></tr>
<tr> <td>75</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=16295">16295</a></td><td>STAR</td><td>directionality lost when exporting a presentation to text</td><td>DEFECT</td></tr>
<tr> <td>70</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=17514">17514</a></td><td>STAR</td><td>incorrect letter order / word order when exporting Hebrew a</td><td>DEFECT</td></tr>
<tr> <td>50</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=30518">30518</a></td><td>NEW</td><td>brochure printing is always LTR, even when locale/document a</td><td>DEFECT</td></tr>
<tr> <td>46</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=9899">9899</a></td><td>STAR</td><td>Mail merge from Calc or Excel - embedded fields not updating</td><td>DEFECT</td></tr>
<tr> <td>35</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=54320">54320</a></td><td>STAR</td><td>Paragraph Style's Default settings</td><td>DEFECT</td></tr>
<tr> <td>32</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=55356">55356</a></td><td>NEW</td><td>Impossible to use IME's single character Hangul/Hanja Conver</td><td>DEFECT</td></tr>
<tr> <td>29</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=41800">41800</a></td><td>STAR</td><td>Move along curve not implemented in OOo1 975</td><td>DEFECT</td></tr>
<tr> <td>25</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=53184">53184</a></td><td>NEW</td><td>cannot open files from shell if UNC server has a _</td><td>DEFECT</td></tr>
<tr> <td>24</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=54293">54293</a></td><td>NEW</td><td>Tables in header are lost after saving to Word 97 file forma</td><td>DEFECT</td></tr>
<tr> <td>23</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=38494">38494</a></td><td>STAR</td><td>Copy/Paste numbers from Writer to Calc: decimal separator in</td><td>DEFECT</td></tr>
<tr> <th colspan=5>Top Ten Issues without target milestone (or 'OOo later') – open for contribution</th></tr>
<tr> <td>300</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=2497">2497</a></td><td>NEW</td><td>allow import of SVG (Scalable Vector Graphics)</td><td>ENHANC</td></tr>
<tr> <td>120</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=12686">12686</a></td><td>NEW</td><td>Tabbed Document Windows</td><td>FEATUR</td></tr>
<tr> <td>119</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=12719">12719</a></td><td>NEW</td><td>Support for multiscreen displays (dual monitors)</td><td>FEATUR</td></tr>
<tr> <td>85</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=32117">32117</a></td><td>NEW</td><td>SQLite SDBC driver for OOo</td><td>FEATUR</td></tr>
<tr> <td>84</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=49991">49991</a></td><td>NEW</td><td>Allow embedding SVG vector graphics into all documents.</td><td>FEATUR</td></tr>
<tr> <td>78</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=8949">8949</a></td><td>NEW</td><td>[RFE] query on several tables of a DBase/Calc database</td><td>FEATUR</td></tr>
<tr> <td>76</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=10384">10384</a></td><td>NEW</td><td>filter to import pdf files</td><td>ENHANC</td></tr>
<tr> <td>75</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=28526">28526</a></td><td>NEW</td><td>Allow anti-aliasing of drawing objects</td><td>ENHANC</td></tr>
<tr> <td>64</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=6193">6193</a></td><td>NEW</td><td>Notes hard to see and edit</td><td>ENHANC</td></tr>
<tr> <td>59</td><td><a href="http://www.openoffice.org/issues/show_bug.cgi?id=11215">11215</a></td><td>NEW</td><td>Lotus Wordpro Filters Needed</td><td>ENHANC</td></tr>
<!--- end of table -->
</table>
<p class="smaller">
last update: $Date: 2006/02/19 15:31:49 $
</p>
</div>
</body>

</html>
