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
|
||||
|
||||
def setup_help(self, help_provider):
|
||||
w = textwrap.TextWrapper(80)
|
||||
for name in self._options:
|
||||
g = getattr(self, 'opt_'+name, None)
|
||||
if g is None:
|
||||
continue
|
||||
help = help_provider(name)
|
||||
if not help: continue
|
||||
if self.setup_help_handler(g, help): continue
|
||||
g._help = help
|
||||
htext = u'<div>%s</div>'%prepare_string_for_xml(
|
||||
'\n'.join(w.wrap(help)))
|
||||
g.setToolTip(htext)
|
||||
g.setWhatsThis(htext)
|
||||
g.__class__.enterEvent = lambda obj, event: self.set_help(getattr(obj, '_help', obj.toolTip()))
|
||||
self.setup_widget_help(g)
|
||||
|
||||
def setup_widget_help(self, g):
|
||||
w = textwrap.TextWrapper(80)
|
||||
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):
|
||||
@ -260,6 +263,9 @@ class Widget(QWidget):
|
||||
def post_get_value(self, g):
|
||||
pass
|
||||
|
||||
def setup_help_handler(self, g, help):
|
||||
return False
|
||||
|
||||
def break_cycles(self):
|
||||
self.db = None
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user