%PDF- %PDF-
Direktori : /lib/calibre/calibre/gui2/preferences/ |
Current File : //lib/calibre/calibre/gui2/preferences/history.py |
#!/usr/bin/env python3 __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>' __docformat__ = 'restructuredtext en' import textwrap from qt.core import QComboBox, Qt from calibre.gui2 import config as gui_conf class HistoryBox(QComboBox): def __init__(self, parent=None): QComboBox.__init__(self, parent) self.setEditable(True) def initialize(self, opt_name, default, help=None): self.opt_name = opt_name self.set_value(default) if help: self.setStatusTip(help) help = '\n'.join(textwrap.wrap(help)) self.setToolTip(help) self.setWhatsThis(help) def set_value(self, val): history = gui_conf[self.opt_name] if val not in history: history.append(val) self.clear() self.addItems(history) self.setCurrentIndex(self.findText(val, Qt.MatchFlag.MatchFixedString)) def save_history(self, opt_name): history = [str(self.itemText(i)) for i in range(self.count())] ct = self.text() if ct not in history: history = [ct] + history gui_conf[opt_name] = history[:10] def text(self): return str(self.currentText()).strip()