#@+leo-ver=5-thin
#@+node:ville.20090310191936.10: * @file ../plugins/colorize_headlines.py
""" Manipulates appearance of individual tree widget items. (Qt only).

This plugin is mostly an example of how to change the appearance of headlines. As
such, it does a relatively mundane chore of highlighting @thin, @auto, @shadow
nodes in bold.

"""
# By VMV.
#@+<< imports >>
#@+node:ville.20090310191936.13: ** << imports >>
from leo.core import leoGlobals as g
from leo.core import leoPlugins  # Uses leoPlugins.TryNext.
#@-<< imports >>
#@+others
#@+node:ville.20090310191936.14: ** init
def init():
    """Return True if the plugin has loaded successfully."""
    ok = g.app.gui.guiName() == "qt"
    if ok:
        g.visit_tree_item.add(colorize_headlines_visitor)
    return ok
#@+node:ville.20090310191936.19: ** colorize_headlines_visitor
def colorize_headlines_visitor(c, p, item):
    """ Changes @thin, @auto, @shadow to bold """
    t = p.h.split(None, 1)
    if t and t[0] in ['@file', '@thin', '@auto', '@shadow']:
        f = item.font(0)
        f.setBold(True)
        item.setFont(0, f)
    raise leoPlugins.TryNext
#@-others
#@@language python
#@@tabwidth -4
#@-leo
