mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Added setup_help_handler to complement all the other handlers (set_value_handler, get_value_handler, connect_gui_obj_handler)
This allows adding options not tied to a widget without having to change Widget
This commit is contained in:
parent
051d7c71c2
commit
298654d9fa
@ -233,19 +233,22 @@ class Widget(QWidget):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def setup_help(self, help_provider):
|
def setup_help(self, help_provider):
|
||||||
w = textwrap.TextWrapper(80)
|
|
||||||
for name in self._options:
|
for name in self._options:
|
||||||
g = getattr(self, 'opt_'+name, None)
|
g = getattr(self, 'opt_'+name, None)
|
||||||
if g is None:
|
if g is None:
|
||||||
continue
|
continue
|
||||||
help = help_provider(name)
|
help = help_provider(name)
|
||||||
if not help: continue
|
if not help: continue
|
||||||
|
if self.setup_help_handler(g, help): continue
|
||||||
g._help = help
|
g._help = help
|
||||||
htext = u'<div>%s</div>'%prepare_string_for_xml(
|
self.setup_widget_help(g)
|
||||||
'\n'.join(w.wrap(help)))
|
|
||||||
g.setToolTip(htext)
|
def setup_widget_help(self, g):
|
||||||
g.setWhatsThis(htext)
|
w = textwrap.TextWrapper(80)
|
||||||
g.__class__.enterEvent = lambda obj, event: self.set_help(getattr(obj, '_help', obj.toolTip()))
|
htext = u'<div>%s</div>'%prepare_string_for_xml('\n'.join(w.wrap(g._help)))
|
||||||
|
g.setToolTip(htext)
|
||||||
|
g.setWhatsThis(htext)
|
||||||
|
g.__class__.enterEvent = lambda obj, event: self.set_help(getattr(obj, '_help', obj.toolTip()))
|
||||||
|
|
||||||
|
|
||||||
def set_value_handler(self, g, val):
|
def set_value_handler(self, g, val):
|
||||||
@ -260,6 +263,9 @@ class Widget(QWidget):
|
|||||||
def post_get_value(self, g):
|
def post_get_value(self, g):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def setup_help_handler(self, g, help):
|
||||||
|
return False
|
||||||
|
|
||||||
def break_cycles(self):
|
def break_cycles(self):
|
||||||
self.db = None
|
self.db = None
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user