Changeset 2920

Show
Ignore:
Timestamp:
12/18/07 16:52:03 (1 year ago)
Author:
eblot
Message:

RevtreePlugin: add an option to add Revtree links as a contextual navigation item instead of main menu item.

Read RevtreePlugin#Menuselection

Should implement #1287

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • revtreeplugin/0.11/revtree/web_ui.py

    r2841 r2920  
    2525from trac.util import TracError 
    2626from trac.util.datefmt import format_datetime, pretty_timedelta, to_timestamp 
    27 from trac.web import IRequestHandler 
    28 from trac.web.chrome import add_stylesheet, add_script, \ 
     27from trac.web import IRequestFilter, IRequestHandler 
     28from trac.web.chrome import add_ctxtnav, add_script, add_stylesheet, \ 
    2929                            INavigationContributor, ITemplateProvider 
    3030from trac.web.href import Href 
     
    124124     
    125125    implements(IPermissionRequestor, INavigationContributor, \ 
    126                IRequestHandler, ITemplateProvider) 
     126               IRequestFilter, IRequestHandler, ITemplateProvider) 
    127127                    
    128128    PERIODS = { 1: 'day', 2: '2 days', 3: '3 days', 5: '5 days', 7:'week', 
     
    143143        if not req.perm.has_permission('REVTREE_VIEW'): 
    144144            return 
     145        if self.contexts: 
     146            return 
    145147        yield ('mainnav', 'revtree',  
    146148               tag.a('Rev Tree', href=req.href.revtree())) 
     149 
     150    # IRequestFilter methods 
     151 
     152    def pre_process_request(self, req, handler): 
     153        return handler 
     154 
     155    def post_process_request(self, req, template, data, content_type): 
     156        if req.perm.has_permission('REVTREE_VIEW'): 
     157            url_parts = req.path_info.split(u'/') 
     158            if (url_parts > 1) and (url_parts[1] in self.contexts): 
     159                add_ctxtnav(req, 'Revtree', href=req.href.revtree()) 
     160        return (template, data, content_type) 
    147161 
    148162    # IRequestHandler methods 
     
    196210            self.env.log.warning("Unsupported style: %s" % self.style) 
    197211            self.style = 'compact' 
     212        contexts = self.config.get('revtree', 'contexts', None) 
     213        self.contexts = contexts and [c.strip() for c in contexts.split(u',')] 
    198214        self.rt = RevtreeSystem(self.env) 
    199215 
  • revtreeplugin/0.11/setup.py

    r2841 r2920  
    1616 
    1717PACKAGE = 'TracRevtreePlugin' 
    18 VERSION = '0.5.12
     18VERSION = '0.5.13
    1919 
    2020setup ( 
    2121    name = PACKAGE, 
    2222    version = VERSION, 
    23     description = 'Revision Graph for the Version Control Browser', 
     23    description = 'Revision graph visualizer for the Trac VCS browser', 
    2424    author = 'Emmanuel Blot', 
    2525    author_email = 'emmanuel.blot@free.fr', 
    2626    license='BSD',  
    2727    url='http://trac-hacks.org/wiki/RevtreePlugin', 
    28     keywords = "trac revision svg graphical tree browser", 
     28    keywords = "trac revision svg graphical tree browser visual", 
     29    install_requires = [ 'Trac>=0.11dev-r6363', 'Trac<0.12'], 
    2930    packages = find_packages(exclude=['ez_setup', '*.tests*', '*.enhancers.*']), 
    3031    package_data={