resolve merge conflicts and merge branch scrollbar.

This commit is contained in:
Nathan Isom 2015-10-18 11:42:56 -05:00
commit ec3cafc293
4 changed files with 51 additions and 12 deletions

View File

@ -81,10 +81,24 @@ class CompletionView(QTreeView):
QTreeView:item::hover { QTreeView:item::hover {
border: 0px; border: 0px;
} }
"""
# FIXME style scrollbar QTreeView QScrollBar {
# https://github.com/The-Compiler/qutebrowser/issues/117 width: {{ config.get('completion', 'scrollbar.width') }}px;
background: {{ color['completion.scrollbar.bg'] }};
}
QTreeView QScrollBar::handle {
background: {{ color[completion.scrollbar.fg] }};
border: {{ config.get('completion', 'scrollbar.padding') }}px solid
{{ color['completion.scrollbar.bg'] }};
min-height: 10px;
}
QTreeView QScrollBar::sub-line, QScrollBar::add-line {
border: none;
background: none;
}
"""
resize_completion = pyqtSignal() resize_completion = pyqtSignal()

View File

@ -414,6 +414,14 @@ def data(readonly=False):
"Whether to shrink the completion to be smaller than the " "Whether to shrink the completion to be smaller than the "
"configured size if there are no scrollbars."), "configured size if there are no scrollbars."),
('scrollbar.width',
SettingValue(typ.Int(minval=0), '12'),
"Width of the scrollbar in the completion window (in px)."),
('scrollbar.padding',
SettingValue(typ.Int(minval=0), '2'),
"Padding of scrollbar handle in completion window (in px)."),
readonly=readonly readonly=readonly
)), )),
@ -872,6 +880,14 @@ def data(readonly=False):
SettingValue(typ.QssColor(), '#ff4444'), SettingValue(typ.QssColor(), '#ff4444'),
"Foreground color of the matched text in the completion."), "Foreground color of the matched text in the completion."),
('completion.scrollbar.fg',
SettingValue(typ.QssColor(), '${completion.fg}'),
"Color of the scrollbar handle in completion view."),
('completion.scrollbar.bg',
SettingValue(typ.QssColor(), '${completion.bg}'),
"Color of the scrollbar in completion view"),
('statusbar.fg', ('statusbar.fg',
SettingValue(typ.QssColor(), 'white'), SettingValue(typ.QssColor(), 'white'),
"Foreground color of the statusbar."), "Foreground color of the statusbar."),

View File

@ -1,4 +1,4 @@
# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: # vim: ft=python fileencoding=utf-8 sts=4 sw=4 et:D
# Copyright 2014-2015 Florian Bruhin (The Compiler) <mail@qutebrowser.org> # Copyright 2014-2015 Florian Bruhin (The Compiler) <mail@qutebrowser.org>
# #
@ -42,7 +42,8 @@ def get_stylesheet(template_str):
""" """
colordict = ColorDict(config.section('colors')) colordict = ColorDict(config.section('colors'))
template = jinja2.Template(template_str) template = jinja2.Template(template_str)
return template.render(color=colordict, font=config.section('fonts')) return template.render(color=colordict, font=config.section('fonts'),
config=objreg.get('config'))
def set_register_stylesheet(obj): def set_register_stylesheet(obj):

View File

@ -27,15 +27,25 @@ from PyQt5.QtGui import QColor
from qutebrowser.config import style from qutebrowser.config import style
def test_get_stylesheet(config_stub): @pytest.mark.parametrize('template, expected', [
("{{ color['completion.bg'] }}", "black"),
("{{ color['completion.fg'] }}", "red"),
("{{ font['completion'] }}", "foo"),
("{{ config.get('foo', 'bar') }}", "baz"),
])
def test_get_stylesheet(config_stub, template, expected):
config_stub.data = { config_stub.data = {
'colors': {'completion.bg': 'black'}, 'colors': {
'fonts': {'completion': 'foo'}, 'completion.bg': 'black',
'completion.fg': 'red',
},
'fonts': {
'completion': 'foo',
},
'foo': {'bar': 'baz'}, 'foo': {'bar': 'baz'},
} }
template = "{{ color['completion.bg'] }}\n{{ font['completion'] }}"
rendered = style.get_stylesheet(template) rendered = style.get_stylesheet(template)
assert rendered == 'black\nfoo' assert rendered == expected
class Obj(QObject): class Obj(QObject):
@ -105,5 +115,3 @@ class TestColorDict:
d['foo'] = QColor() d['foo'] = QColor()
with pytest.raises(TypeError): with pytest.raises(TypeError):
d['foo'] # pylint: disable=pointless-statement d['foo'] # pylint: disable=pointless-statement