bloodhound-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject svn commit: r1455109 - in /incubator/bloodhound/branches/bep_0003_multiproduct: ./ bloodhound_dashboard/ bloodhound_multiproduct/ bloodhound_search/ bloodhound_search/bhsearch/ bloodhound_search/bhsearch/templates/ bloodhound_search/bhsearch/tests/ blo...
Date Mon, 11 Mar 2013 12:14:05 GMT
Author: jure
Date: Mon Mar 11 12:14:05 2013
New Revision: 1455109

URL: http://svn.apache.org/r1455109
Log:
Sync merge from trunk


Added:
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/query_parser.py
      - copied unchanged from r1455108, incubator/bloodhound/trunk/bloodhound_search/bhsearch/tests/query_parser.py
Modified:
    incubator/bloodhound/branches/bep_0003_multiproduct/   (props changed)
    incubator/bloodhound/branches/bep_0003_multiproduct/LICENSE
    incubator/bloodhound/branches/bep_0003_multiproduct/RELEASE_NOTES
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_dashboard/setup.py
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/setup.py
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/api.py
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/templates/bhsearch.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/api.py
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/whoosh_backend.py
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/whoosh_backend.py
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/setup.py
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/htdocs/bloodhound.css
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_attachment.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_browser.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dir_entries.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dirlist_thead.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_path_links.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_preview_file.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_report_edit.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_repository_index.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_sortable_th.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket_delete.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit_form.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_view.html
    incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/setup.py

Propchange: incubator/bloodhound/branches/bep_0003_multiproduct/
------------------------------------------------------------------------------
  Merged /incubator/bloodhound/trunk:r1453380-1455108

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/LICENSE
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/LICENSE?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/LICENSE (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/LICENSE Mon Mar 11 12:14:05 2013
@@ -211,7 +211,7 @@ following licenses.
 
 For Trac, found in the trac/ directory:
 
-    Copyright (C) 2003-2012 Edgewall Software
+    Copyright (C) 2003-2013 Edgewall Software
     All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
@@ -259,8 +259,8 @@ and the bloodhound_dashboard/bhdashboard
     See the License for the specific language governing permissions and
     limitations under the License.
 
-For JQuery, in the file
-bloodhound_theme/bhtheme/htdocs/js/jquery-1.7.1.min.js
+For jQuery, in the file
+trac/trac/htdocs/js/jquery.js
 
     Copyright 2011 jQuery Foundation and other contributors
     http://jquery.com/

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/RELEASE_NOTES
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/RELEASE_NOTES?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/RELEASE_NOTES (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/RELEASE_NOTES Mon Mar 11 12:14:05 2013
@@ -1,9 +1,12 @@
 0.5
 
+ * Implemented Bootstrap templates for the repository browser, log viewer and attachment pages.
  * Upgraded Bootstrap to version 2.3.1.
  * Upgraded Trac to version 1.0.1.
- * Implemented Bootstrap templates for the repository browser and log viewer.
- * Various bug fixes.
+ * Various bug fixes and enhancements.
+
+ * Not fixed for this release:
+   * No major outstanding issues
 
 0.4
 

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_dashboard/setup.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_dashboard/setup.py?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_dashboard/setup.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_dashboard/setup.py Mon Mar 11 12:14:05 2013
@@ -34,6 +34,7 @@ versions = [
     (0, 3, 0),
     (0, 4, 0),
     (0, 5, 0),
+    (0, 6, 0),
     ]
     
 latest = '.'.join(str(x) for x in versions[-1])

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/setup.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/setup.py?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/setup.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/setup.py Mon Mar 11 12:14:05 2013
@@ -21,7 +21,7 @@ from setuptools import setup
 
 setup(
     name = 'BloodhoundMultiProduct',
-    version = '0.5.0',
+    version = '0.6.0',
     description = "Multiproduct support for Apache(TM) Bloodhound.",
     author = "Apache Bloodhound",
     license = "Apache License v2",

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/api.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/api.py?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/api.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/api.py Mon Mar 11 12:14:05 2013
@@ -20,7 +20,9 @@
 
 r"""Core Bloodhound Search components."""
 from trac.config import ExtensionOption
-from trac.core import Interface, Component, ExtensionPoint, TracError
+from trac.core import (Interface, Component, ExtensionPoint, TracError,
+    implements)
+from trac.env import IEnvironmentSetupParticipant
 
 ASC = "asc"
 DESC = "desc"
@@ -103,6 +105,11 @@ class ISearchBackend(Interface):
         Optimize index if needed
         """
 
+    def is_index_outdated():
+        """
+        Check if index is outdated and needs to be recreated.
+        """
+
     def recreate_index():
         """
         Create a new index, if index exists, it will be deleted
@@ -220,6 +227,8 @@ class BloodhoundSearchApi(Component):
     """Implements core indexing functionality, provides methods for
     searching, adding and deleting documents from index.
     """
+    implements(IEnvironmentSetupParticipant)
+
     backend = ExtensionOption('bhsearch', 'search_backend',
         ISearchBackend, 'WhooshBackend',
         'Name of the component implementing Bloodhound Search backend \
@@ -352,5 +361,13 @@ class BloodhoundSearchApi(Component):
         """
         self.backend.delete_doc(doc_type, doc_id)
 
+    # IEnvironmentSetupParticipant methods
+
+    def environment_created(self):
+        self.upgrade_environment(self.env.db_transaction)
 
+    def environment_needs_upgrade(self, db):
+        return self.backend.is_index_outdated()
 
+    def upgrade_environment(self, db):
+        self.rebuild_index()

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/templates/bhsearch.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/templates/bhsearch.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/templates/bhsearch.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/templates/bhsearch.html Mon Mar 11 12:14:05 2013
@@ -113,7 +113,6 @@
           <div class="span3 facets">
             <py:if test="facet_counts">
               <!--Render facet counts-->
-              <h3>Facets</h3>
               <ul id="facet_counts">
                 <li py:for="field, per_value_counts in facet_counts.iteritems()">
                   <h4 style="display: inline;">${field}</h4>

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/api.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/api.py?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/api.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/api.py Mon Mar 11 12:14:05 2013
@@ -119,6 +119,16 @@ class ApiQueryWithWhooshTestCase(BaseBlo
         self.assertEqual("t1", docs[0]["summary"])
         self.assertEqual("t2", docs[1]["summary"])
 
+    def test_that_upgrading_environment_adds_documents_to_index(self):
+        self.insert_ticket("t1")
+        self.insert_ticket("t2")
+
+        self.search_api.upgrade_environment(self.env.db_transaction)
+
+        results = self.search_api.query("type:ticket")
+
+        self.assertEqual(2, results.hits)
+
 
 #TODO: check this later
 #    @unittest.skip("Check with Whoosh community")

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/whoosh_backend.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/whoosh_backend.py?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/whoosh_backend.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/tests/whoosh_backend.py Mon Mar 11 12:14:05 2013
@@ -31,7 +31,7 @@ from trac.util.datefmt import FixedOffse
 from whoosh import index, sorting, query
 from whoosh.fields import Schema, ID, TEXT, KEYWORD
 from whoosh.qparser import MultifieldPlugin, QueryParser, WhitespacePlugin, \
-    PhrasePlugin
+    PhrasePlugin, MultifieldParser
 
 
 class WhooshBackendTestCase(BaseBloodhoundSearchTest):
@@ -416,6 +416,20 @@ class WhooshBackendTestCase(BaseBloodhou
     def _highlighted(self, term):
         return '<em>%s</em>' % term
 
+    def test_detects_that_index_needs_upgrade(self):
+        index_dir = self.whoosh_backend.index.storage.folder
+        wrong_schema = Schema(content=TEXT())
+        ix = index.create_in(index_dir, schema=wrong_schema)
+
+        self.assertEqual(self.whoosh_backend.is_index_outdated(), False)
+
+        # Inform WhooshBackend about the new index
+        self.whoosh_backend.index = ix
+        self.assertEqual(self.whoosh_backend.is_index_outdated(), True)
+        # Recreate index
+        self.whoosh_backend.recreate_index()
+        self.assertEqual(self.whoosh_backend.is_index_outdated(), False)
+
 
 class WhooshFunctionalityTestCase(unittest.TestCase):
     def setUp(self):
@@ -567,6 +581,32 @@ class WhooshFunctionalityTestCase(unitte
             results = s.search(query.Every())
             self.assertEquals(0, len(results))
 
+    def test_handles_stop_words_in_queries(self):
+        schema = WhooshBackend.SCHEMA
+        ix = index.create_in(self.index_dir, schema=schema)
+        with ix.writer() as w:
+            w.add_document(content=u"A nice sentence with stop words.")
+
+        with ix.searcher() as s:
+            query = u"with stop"
+
+            # field_names both ignore stop words
+            q = MultifieldParser(['content', 'summary'],
+                                 WhooshBackend.SCHEMA).parse(query)
+            self.assertEqual(q.simplify(s).__unicode__(),
+                             u'((content:with OR summary:with) AND '
+                             u'(content:stop OR summary:stop))')
+            self.assertEqual(len(s.search(q)), 1)
+
+            # 'content' and 'id' ignores stop words
+            q = MultifieldParser(['content', 'id'],
+                                 WhooshBackend.SCHEMA).parse(query)
+            self.assertEqual(q.simplify(s).__unicode__(),
+                             u'((content:with OR id:with) AND '
+                             u'(content:stop OR id:stop))')
+            self.assertEqual(len(s.search(q)), 1)
+
+
 class WhooshEmptyFacetErrorWorkaroundTestCase(BaseBloodhoundSearchTest):
     def setUp(self):
         super(WhooshEmptyFacetErrorWorkaroundTestCase, self).setUp()

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/whoosh_backend.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/whoosh_backend.py?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/whoosh_backend.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/bhsearch/whoosh_backend.py Mon Mar 11 12:14:05 2013
@@ -29,7 +29,7 @@ from trac.config import Option, IntOptio
 from trac.util.text import empty
 from trac.util.datefmt import utc
 from whoosh.fields import Schema, ID, DATETIME, KEYWORD, TEXT
-from whoosh import index
+from whoosh import index, analysis
 import whoosh
 import whoosh.highlight
 from whoosh.writing import AsyncWriter
@@ -64,9 +64,11 @@ class WhooshBackend(Component):
         status=ID(stored=True),
         resolution=ID(stored=True),
         keywords=KEYWORD(scorable=True),
-        summary=TEXT(stored=True),
-        content=TEXT(stored=True),
-        changes=TEXT(),
+        summary=TEXT(stored=True,
+                     analyzer=analysis.StandardAnalyzer(stoplist=None)),
+        content=TEXT(stored=True,
+                     analyzer=analysis.StandardAnalyzer(stoplist=None)),
+        changes=TEXT(analyzer=analysis.StandardAnalyzer(stoplist=None)),
         )
 
     max_fragment_size = IntOption('bhsearch', 'max_fragment_size', 240,
@@ -151,10 +153,14 @@ class WhooshBackend(Component):
         writer = AsyncWriter(self.index)
         writer.commit(optimize=True)
 
+    def is_index_outdated(self):
+        return not self.index.schema == self.SCHEMA
+
     def recreate_index(self):
         self.log.info('Creating Whoosh index in %s' % self.index_dir)
         self._make_dir_if_not_exists()
-        return index.create_in(self.index_dir, schema=self.SCHEMA)
+        self.index = index.create_in(self.index_dir, schema=self.SCHEMA)
+        return self.index
 
     def _open_or_create_index_if_missing(self):
         if index.exists_in(self.index_dir):

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/setup.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/setup.py?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/setup.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_search/setup.py Mon Mar 11 12:14:05 2013
@@ -31,6 +31,7 @@ Add free text search and query functiona
 versions = [
     (0, 4, 0),
     (0, 5, 0),
+    (0, 6, 0),
     ]
 
 latest = '.'.join(str(x) for x in versions[-1])

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/htdocs/bloodhound.css
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/htdocs/bloodhound.css?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/htdocs/bloodhound.css (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/htdocs/bloodhound.css Mon Mar 11 12:14:05 2013
@@ -356,6 +356,31 @@ h1, h2, h3, h4 {
 
 .table tbody tr:hover td { background: #eed !important }
 
+/* copied from bootstrap for appropriate focus/unfocused state for contenteditable*/
+span[contenteditable="true"] {
+  border-radius: 4px 4px 4px 4px;
+  background-color: #ffffff;
+  border: 1px solid #cccccc;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
+     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
+       -o-transition: border linear 0.2s, box-shadow linear 0.2s;
+          transition: border linear 0.2s, box-shadow linear 0.2s;
+}
+
+span[contenteditable="true"]:focus {
+  border-color: rgba(82, 168, 236, 0.8);
+  outline: 0;
+  outline: thin dotted \9;
+  /* IE6-9 */
+
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+}
+
 /* @end */
 
 /* @group Alternate download links */
@@ -457,6 +482,16 @@ h1, h2, h3, h4 {
   display: none;
 }
 
+.report input#title {
+  max-width: 500px;
+  width: 100%;
+}
+
+.report textarea.trac-resizable {
+  max-width: 500px;
+  width: 100%;
+}
+
 table.listing th.sel, table.listing td.sel {
  text-align: center;
  width: 1%

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_attachment.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_attachment.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_attachment.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_attachment.html Mon Mar 11 12:14:05 2013
@@ -1,3 +1,22 @@
+<!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_browser.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_browser.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_browser.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_browser.html Mon Mar 11 12:14:05 2013
@@ -1,3 +1,22 @@
+<!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dir_entries.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dir_entries.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dir_entries.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dir_entries.html Mon Mar 11 12:14:05 2013
@@ -1,3 +1,22 @@
+<!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
 <!--! Template for generating rows corresponding to directory entries -->
 <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:py="http://genshi.edgewall.org/"

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dirlist_thead.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dirlist_thead.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dirlist_thead.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_dirlist_thead.html Mon Mar 11 12:14:05 2013
@@ -1,3 +1,22 @@
+<!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
 <!--! Template snippet for a standard table header for a dirlist -->
 <html xmlns="http://www.w3.org/1999/xhtml"
     xmlns:py="http://genshi.edgewall.org/"

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_path_links.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_path_links.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_path_links.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_path_links.html Mon Mar 11 12:14:05 2013
@@ -1,3 +1,22 @@
+<!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
 <div xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://genshi.edgewall.org/" py:strip="">
   <!--!  Display a sequence of path components.

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_preview_file.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_preview_file.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_preview_file.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_preview_file.html Mon Mar 11 12:14:05 2013
@@ -1,4 +1,23 @@
 <!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+<!--!
 Display a div for visualizing a preview of a file content.
 
 Arguments:

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_report_edit.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_report_edit.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_report_edit.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_report_edit.html Mon Mar 11 12:14:05 2013
@@ -37,25 +37,25 @@
       </h1>
       <div class="span12">
         <form action="${href.report(report.id)}" method="post" id="edit_report"
-            class="form-horizontal">
+              class="form-horizontal">
           <input type="hidden" name="action" value="$action" />
           <div>
             <div class="control-group">
               <label class="control-label" for="title">Report Title:</label>
               <div class="controls">
-                <input type="text" id="title" name="title" value="$report.title" size="50"/><br />
+                <input type="text" id="title" name="title" value="$report.title" /><br />
               </div>
             </div>
             <div class="control-group">
-              <label for="description" class="control-label" i18n:msg="">
+              <label class="control-label" for="description" i18n:msg="">
                 Description:
               </label>
               <div class="controls">
-                <textarea id="description" name="description" class="wikitext trac-resizable" rows="10" cols="78">
+                <textarea id="description" name="description" class="wikitext trac-resizable" rows="10">
 $report.description</textarea>
                 <p class="help-block">
                   <span class="label label-info">Tip</span>
-                  (you may use <a tabindex="42" href="${href.wiki('WikiFormatting')}">WikiFormatting</a> here)
+                  You may use <a tabindex="42" href="${href.wiki('WikiFormatting')}">WikiFormatting</a> here.
                 </p>
               </div>
             </div>
@@ -64,15 +64,15 @@ $report.description</textarea>
                 <span class="label label-important">Error:</span> $error
               </div>
               <label class="control-label" for="query" i18n:msg="">
-                Query for Report
+                Query for Report:
               </label>
               <div class="controls">
-                <textarea id="query" name="query" class="trac-resizable" cols="85" rows="20">
+                <textarea id="query" name="query" class="trac-resizable" rows="20">
 $report.sql</textarea>
                 <p class="help-block">
                   <span class="label label-info">Tip</span>
-                  can be either SQL or, if starting with <code>query:</code>,
-                  a <a tabindex="42" href="${href.wiki('TracQuery') + '#QueryLanguage'}">TracQuery</a> expression)
+                  Can be either SQL or, if starting with <code>query:</code>,
+                  a <a tabindex="42" href="${href.wiki('TracQuery') + '#QueryLanguage'}">TracQuery</a> expression.
                 </p>
               </div>
             </div>

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_repository_index.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_repository_index.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_repository_index.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_repository_index.html Mon Mar 11 12:14:05 2013
@@ -1,3 +1,22 @@
+<!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
 <!--! Template snippet for a table of repositories -->
 <html xmlns="http://www.w3.org/1999/xhtml"
     xmlns:py="http://genshi.edgewall.org/"

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_sortable_th.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_sortable_th.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_sortable_th.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_sortable_th.html Mon Mar 11 12:14:05 2013
@@ -1,3 +1,22 @@
+<!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
 <!--! Snippet for a <th> corresponding to a sortable column.
 
     Expects the following variables to be set specifically:

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket.html Mon Mar 11 12:14:05 2013
@@ -101,15 +101,24 @@
           if ($('#vc-summary').is('.edit-active'))
             // Already in editable state
             return;
+          $('h2#vc-summary span').attr('contenteditable', 'true');
           $('[data-edit="inplace"]').each(function() {
               var fc = $(this).addClass('edit-active');
               var fieldnm = fc.attr('id').substr(3);
-              fc.attr('data-edit-orig', fc.html()).empty();
+              fc.attr('data-edit-orig', fc.html());
+              
+              if (fieldnm != 'summary') {
+                fc.empty();
+              }
               var editor = $('#properties #field-' + fieldnm);
               if (editor.length == 0)
                 editor = $('#editor-' + fieldnm);
               var fieldval = editor.val();
-              editor = editor.clone(false).appendTo(fc).val(fieldval);
+              editor = editor.clone(false);
+              if (fieldnm === 'summary') {
+                editor.hide();
+              }
+              editor.appendTo(fc).val(fieldval);
               if (editor.prop('tagName') === 'TEXTAREA') {
                 if (editor.is('.wikitext'))
                   addWikiFormattingToolbar(editor.get(0));
@@ -161,8 +170,9 @@
           //$('#inplace-propertyform').autoSubmit({preview : 1}, 
           //    full_preview, '#overview .trac-loading')
           $('#inplace-propertyform').submit(function() {
-              $('#hidden-comment').val($('#comment').val())
+              $('#hidden-comment').val($('#comment').val());
             })
+          $('#inplace-edit-button').hide();
         }
 
         function revert_ticket() {
@@ -170,9 +180,20 @@
               var fc = $(this).removeClass('edit-active');
               fc.html(fc.attr('data-edit-orig')).attr('data-edit-orig', '');
             });
+          $('#inplace-edit-button').show();
+          $('h2#vc-summary span').attr('contenteditable', 'false');
         }
 
-        $('.local-nav a[href = "#inplace-edit"]').click(modify_ticket);
+        $('h2#vc-summary span').blur(function () {
+          if ($('#vc-summary.edit-active').length == 1) {
+            $('#vc-summary.ticket-summary input#field-summary').val($('#vc-summary span').text());
+          }
+        });
+
+        $('#inplace-edit-button button#inplace-edit').click(function (e) {
+          modify_ticket();
+          e.preventDefault();
+        });
         </py:if>
 
         $('body').scrollspy({
@@ -254,33 +275,18 @@
 
     <py:def function="render_ticket_summary(t, showid)">
       <h2 class="ticket-summary searchable clip-affix" py:choose="" data-edit="${'inplace' if can_modify or can_create else None}" id="vc-summary">
-        <py:when test="t.exists"><py:if test="showid"><span class="visible-phone">#$t.id - </span></py:if>  &#9734; $t.summary</py:when>
+        <py:when test="t.exists"><py:if test="showid">
+        <span class="visible-phone">#$t.id - </span></py:if>  &#9734; <span contenteditable="false">$t.summary</span></py:when>
         <py:otherwise>Create Ticket</py:otherwise>
       </h2>
-    </py:def>
-
-    <py:def function="render_ticket_navbar(t)">
-      <div class="ticket-navbar" py:if="t.exists"
-          py:with="sections = (
-                  (_('Overview'), 'content', True, _('View ticket fields and description'), 'icon-list'),
-                  (_('Attachments'), 'attachments', attachments.attachments or attachments.can_create, _('Go to the list of attachments'), 'icon-file'),
-                  (_('Comments'), 'changelog', True, _('Go to the changelog'), 'icon-comment'),
-                  (_('Add comment'), 'propertyform', t.exists and can_append, _('Go to the ticket editor'), 'icon-plus-sign'),
-                  (_('Modify Ticket'), 'inplace-edit', can_modify or can_edit or can_create, _('Modify ticket fields and description'), 'icon-edit'),
-              )">
-          <ul class="btn-group local-nav nav">
-            <li py:for="s in sections" py:if="s[2]" class="btn">
-              <a href="#${s[1]}" title="${s[3]}">
-                <i class="${s[4]}"></i>
-                <!-- show first three descriptions on tables, hide all on phones -->
-                <py:choose>
-                  <span py:when="sections.index(s) > 2" class="hidden-phone hidden-tablet">${s[0]}</span>
-                  <span py:otherwise="" class="hidden-phone">${s[0]}</span>
-                </py:choose>
-              </a>
-            </li>
-          </ul>
-      </div>
+      <py:if test="t.exists">
+        <div id="inplace-edit-button" py:if="can_modify or can_edit or can_create" class="btn-toolbar">
+          <button id="inplace-edit" class="btn">
+            <i class="icon-edit"></i>
+            <span class="hidden-phone hidden-tablet">${_('Modify Ticket')}</span>
+          </button>
+        </div>
+      </py:if>
     </py:def>
 
     <div class="ticket">
@@ -329,9 +335,6 @@
                     </span>
                   </h5>
                 </div>
-
-                <!--! ticket navbar -->
-                ${render_ticket_navbar(ticket)}
               </div>
 
               <!--! activity header -->

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket_delete.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket_delete.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket_delete.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_ticket_delete.html Mon Mar 11 12:14:05 2013
@@ -1,3 +1,22 @@
+<!--!
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
 <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit.html Mon Mar 11 12:14:05 2013
@@ -55,24 +55,50 @@
         $("#editrows").change(function() {
           resizeTextArea("text", this.options[this.selectedIndex].value);
         });
+        $("#sidebyside").change(function() {
+          $("#edit input[type=submit][name=preview]").click();
+        });
         <py:if test="not sidebyside and (action == 'preview' or diff)">
           $("#info").scrollToTop();
         </py:if>
-        <py:if test="sidebyside">
+        <py:if test="sidebyside">/*<![CDATA[*/
+          function editorHeight() {
+            return $("#text").closest("fieldset").innerHeight();
+          }
+          function previewHeight() {
+            return $("#preview").innerHeight();
+          }
+          var preview_pad = previewHeight() - $("#preview").height();
+          var editor_pad = editorHeight() - $("#text").height();
           function autoResizeText() {
-            var preview_height = $("#preview").height();
-            if (preview_height)
-              $("#text").height(preview_height + 15);
+            $("#preview").height(0); // neutralize preview
+            $("#text").height("auto"); // adapt textarea to its content
+            var text_height = $("#text").prop("scrollHeight");
+            var wikipage_height = $("#preview div.wikipage").height();
+            if (wikipage_height > text_height) {
+              // expand #text to its natural height and adapt #preview to it
+              $("#text").height(text_height).css("overflow-y", "hidden");
+              $("#preview").height(Math.max(16, editorHeight() - preview_pad));
+            } else {
+              // expand .wikipage to its natural height and adapt #text to it
+              $("#preview").height("auto");
+              $("#text").height(Math.max(16, previewHeight() - editor_pad))
+                .css("overflow-y", "auto");
+            }
           }
           autoResizeText();
           $(window).resize(autoResizeText);
-        </py:if>
+        /*]]>*/</py:if>
         <py:if test="sidebyside and not diff">
           $("#text").autoPreview("${href.wiki_render()}", {
               realm: "${page.resource.realm}", id: "${page.resource.id}"
             }, function(textarea, text, rendered) {
+              var window_scroll_top = $(window).scrollTop();
+              var editor_scroll_top = $("#text").scrollTop();
               $("#preview div.wikipage").html(rendered);
               autoResizeText();
+              $(window).scrollTop(window_scroll_top);
+              $("#text").scrollTop(editor_scroll_top);
           });
         </py:if>
         $(".foldable").enableFolding(true, true);
@@ -83,18 +109,15 @@
   <body>
     <div id="content" class="wiki row"
          py:with="preview_or_review = action == 'preview' and (not diff or changes[0].diffs)">
-      <div class="trac-topnav span12" py:if="sidebyside or preview_or_review" py:choose="">
-        <a py:when="sidebyside" href="#changeinfo"
-           title="Go to Save, Preview, Review or Cancel buttons">Actions</a>
+      <div class="trac-topnav span12" py:if="not sidebyside and preview_or_review" py:choose="">
         <a py:when="diff" href="#info" title="See the diffs">Review</a>
         <a py:otherwise="" href="#info" title="See the preview">Preview</a>
         &darr;
       </div>
-      <span class="span12"><h1 i18n:msg="name">Editing ${name_of(page.resource)}</h1></span>
+      <h1 class="span12" i18n:msg="name">Editing ${name_of(page.resource)}</h1>
       <div py:if="merge" class="system-message span12">
         <div class="alert">
-          <p>
-          <span class="label label-important">Important</span>
+          <p><span class="label label-important">Important</span>
           Someone else has modified that page since you started your edits.</p><br />
           <p i18n:msg=""><strong>If you save right away, you risk to revert those changes
           (highlighted below as deletions).</strong></p><br />
@@ -130,7 +153,7 @@
       (the  #preview will float at the right of the edit form's textarea)
 
       -->
-      <div class="span12" py:if="not sidebyside">
+      <div py:if="not sidebyside" class="span12">
         <xi:include href="bh_wiki_edit_form.html" />
       </div>
       <py:choose test="action">
@@ -152,15 +175,15 @@
           </div>
           <div class="${sidebyside and 'sidebyside preview-right span6' or 'span12'}"
               py:choose="">
-            <div class="trac-nav" py:if="not sidebyside and preview_or_review">
+            <div py:if="not sidebyside and preview_or_review" class="trac-nav">
               <a href="#content" title="Go to the editor">Edit</a> &uarr;
             </div>
-            <h2 py:choose="">
+            <h2 py:if="not sidebyside" py:choose="">
               <py:when test="preview_or_review and diff">Review Changes</py:when>
-              <py:when test="preview_or_review">Preview</py:when>
+              <py:when test="preview_or_review"></py:when>
               <py:otherwise>No changes</py:otherwise>
             </h2>
-            <div id="preview">
+            <div id="preview" class="trac-content">
               <div py:when="diff" class="diff">
                 <xi:include href="diff_div.html" py:with="no_id=True" />
               </div>

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit_form.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit_form.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit_form.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_edit_form.html Mon Mar 11 12:14:05 2013
@@ -24,7 +24,7 @@
       xmlns:py="http://genshi.edgewall.org/"
       xmlns:i18n="http://genshi.edgewall.org/i18n" py:strip="">
   <form id="edit" action="${href.wiki(page.name)}" method="post">
-    <fieldset class="iefix control-group">
+    <fieldset class="${classes('controlgroup', sidebyside=sidebyside)}">
       <input type="hidden" name="from_editor" value="1" />
       <input type="hidden" name="action" value="edit" />
       <input type="hidden" name="version" value="$page.version" />
@@ -32,20 +32,20 @@
              value="$scroll_bar_pos" />
       <div id="rows">
         <py:if test="not sidebyside">
-          <label for="editrows">Adjust edit area height:</label>
-          <select size="1" name="editrows" id="editrows" tabindex="43">
-            <option py:for="rows in range(8, 42, 4)" value="$rows"
-                    selected="${str(rows) == edit_rows or None}">
-              $rows
-            </option>
-          </select>
-        </py:if>
-        <span class="pull-right">
-          <label for="sidebyside" title="Selecting and pressing 'Preview' enters a two-column [edit|preview] mode">
-            Edit side-by-side
+          <label for="editrows">Adjust edit area height:
+            <select id="editrows" class="span1" name="editrows" tabindex="43">
+              <option py:for="rows in range(8, 42, 4)" value="$rows"
+                      selected="${str(rows) == edit_rows or None}">
+                $rows
+              </option>
+            </select>
           </label>
+        </py:if>
+        <label for="sidebyside" class="pull-right"
+               title="Selecting and pressing 'Preview' enters a two-column [edit|preview] mode">
+          Edit side-by-side
           <input type="checkbox" name="sidebyside" id="sidebyside" checked="$sidebyside" />
-        </span>
+        </label>
         <br/>
       </div>
       <p><textarea id="text" class="wikitext${' trac-resizable' if not sidebyside else None}"
@@ -58,18 +58,13 @@ $page.text</textarea>
         <a href="${href.wiki('TracWiki')}">TracWiki</a> for help on editing wiki content.
       </div>
     </fieldset>
-    <div class="trac-nav" py:if="sidebyside" py:choose="">
-      <a py:when="diff" href="#content" title="See the start of the diffs">Review</a>
-      <a py:otherwise="" href="#content" title="See the start of the preview">Preview</a>
-      &uarr;
-    </div>
     <div class="well">
       <fieldset id="changeinfo">
         <legend>Change information</legend>
         <div id="changeinfo1">
           <div py:if="authname == 'anonymous'" class="field">
             <label>Your email or username:<br />
-              <input id="author" type="text" name="author" size="30" value="$author" />
+              <input id="author" type="text" class="input-xlarge" name="author" value="$author" />
             </label>
             <p py:if="author == 'anonymous'" class="hint">
               <i18n:msg>E-mail address and user name can be saved in the <a href="${href.prefs()}">Preferences</a>.</i18n:msg>
@@ -77,7 +72,7 @@ $page.text</textarea>
           </div>
           <div class="field">
             <label>Comment about this change (optional):<br />
-              <input id="comment" type="text" name="comment" size="60" value="$comment" />
+              <input id="comment" type="text" class="input-xlarge" name="comment" value="$comment" />
             </label>
           </div>
         </div>

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_view.html
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_view.html?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_view.html (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/bhtheme/templates/bh_wiki_view.html Mon Mar 11 12:14:05 2013
@@ -49,20 +49,22 @@
     <div id="content" class="wiki row">
 
       <py:if test="version">
-        <br />
-        <table id="info" summary="Revision info">
-          <tbody>
-            <tr><th scope="row" i18n:msg="version, author, date">
-               Version $page.version (modified by ${authorinfo(page.author)}, ${pretty_dateinfo(page.time)})
-               (<a href="${href.wiki(page.name, action='diff', version=page.version)}">diff</a>)
-            </th></tr>
-            <tr><td xml:space="preserve">
-              <div class="alert alert-success">
-                ${wiki_to_html(context, page.comment or '--')}
-              </div>
-            </td></tr>
-          </tbody>
-        </table>
+        <div class="span12">
+          <br />
+          <table id="info" summary="Revision info">
+            <tbody>
+              <tr><th scope="row" i18n:msg="version, author, date">
+                 Version $page.version (modified by ${authorinfo(page.author)}, ${pretty_dateinfo(page.time)})
+                 (<a href="${href.wiki(page.name, action='diff', version=page.version)}">diff</a>)
+              </th></tr>
+              <tr><td xml:space="preserve">
+                <div class="alert alert-success">
+                  ${wiki_to_html(context, page.comment or '--')}
+                </div>
+              </td></tr>
+            </tbody>
+          </table>
+        </div>
       </py:if>
 
       <div class="wikipage searchable span12" py:choose="" xml:space="preserve">

Modified: incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/setup.py
URL: http://svn.apache.org/viewvc/incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/setup.py?rev=1455109&r1=1455108&r2=1455109&view=diff
==============================================================================
--- incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/setup.py (original)
+++ incubator/bloodhound/branches/bep_0003_multiproduct/bloodhound_theme/setup.py Mon Mar 11 12:14:05 2013
@@ -23,7 +23,7 @@ import sys
 
 setup(
   name = 'BloodhoundTheme',
-  version = '0.5.0',
+  version = '0.6.0',
   description = "Theme for Apache(TM) Bloodhound.",
   author = "Apache Bloodhound",
   license = "Apache License v2",



Mime
View raw message