mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Wire up the preferences dialog
This commit is contained in:
parent
f8c496a924
commit
a5e071d091
@ -31,6 +31,7 @@ from calibre.gui2.tweak_book.save import SaveManager
|
||||
from calibre.gui2.tweak_book.preview import parse_worker, font_cache
|
||||
from calibre.gui2.tweak_book.toc import TOCEditor
|
||||
from calibre.gui2.tweak_book.editor import editor_from_syntax, syntax_from_mime
|
||||
from calibre.gui2.tweak_book.preferences import Preferences
|
||||
|
||||
def get_container(*args, **kwargs):
|
||||
kwargs['tweak_mode'] = True
|
||||
@ -64,7 +65,8 @@ class Boss(QObject):
|
||||
self.gui.preview.split_requested.connect(self.split_requested)
|
||||
|
||||
def preferences(self):
|
||||
pass
|
||||
p = Preferences(self.gui)
|
||||
p.exec_()
|
||||
|
||||
def mkdtemp(self, prefix=''):
|
||||
self.container_count += 1
|
||||
|
@ -19,17 +19,28 @@ class Preferences(QDialog):
|
||||
QDialog.__init__(self, gui)
|
||||
self.l = l = QGridLayout(self)
|
||||
self.setLayout(l)
|
||||
self.setWindowTitle(_('Preferences for Tweak Book'))
|
||||
self.setWindowIcon(QIcon(I('config.png')))
|
||||
|
||||
self.stacks = QStackedWidget(self)
|
||||
l.addWidget(self.stacks, 0, 1, 1, 1)
|
||||
|
||||
self.categories_list = cl = QListWidget(self)
|
||||
cl.currentRowChanged.connect(self.stacks.setCurrentIndex)
|
||||
cl.clearPropertyFlags()
|
||||
cl.setViewMode(cl.IconMode)
|
||||
cl.setFlow(cl.TopToBottom)
|
||||
cl.setMovement(cl.Static)
|
||||
cl.setWrapping(False)
|
||||
cl.setSpacing(10)
|
||||
cl.setWordWrap(True)
|
||||
l.addWidget(cl, 0, 0, 1, 1)
|
||||
|
||||
self.bb = bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
|
||||
bb.accepted.connect(self.accept)
|
||||
bb.rejected.connect(self.reject)
|
||||
self.rdb = b = bb.addButton(_('Restore all defaults'), bb.ResetRole)
|
||||
b.clicked.connect(self.restore_all_defaults)
|
||||
l.addWidget(bb, 1, 0, 1, 2)
|
||||
|
||||
self.resize(800, 600)
|
||||
@ -40,16 +51,26 @@ class Preferences(QDialog):
|
||||
self.keyboard_panel = ShortcutConfig(self)
|
||||
self.keyboard_panel.initialize(gui.keyboard)
|
||||
|
||||
for name, icon, panel in [(_('Keyboard'), 'keyboard.png', 'keyboard')]:
|
||||
for name, icon, panel in [(_('Keyboard Shortcuts'), 'keyboard-prefs.png', 'keyboard')]:
|
||||
i = QListWidgetItem(QIcon(I(icon)), name, cl)
|
||||
cl.addItem(i)
|
||||
self.stacks.addWidget(getattr(self, panel + '_panel'))
|
||||
|
||||
cl.setCurrentRow(0)
|
||||
cl.item(0).setSelected(True)
|
||||
cl.setMaximumWidth(cl.sizeHintForColumn(0) + 30)
|
||||
l.setColumnStretch(1, 10)
|
||||
|
||||
def restore_all_defaults(self):
|
||||
for i in xrange(self.stacks.count()):
|
||||
w = self.stacks.widget(i)
|
||||
w.restore_defaults()
|
||||
|
||||
def accept(self):
|
||||
tprefs.set('preferences_geom', bytearray(self.saveGeometry()))
|
||||
for i in xrange(self.stacks.count()):
|
||||
w = self.stacks.widget(i)
|
||||
w.commit()
|
||||
QDialog.accept(self)
|
||||
|
||||
def reject(self):
|
||||
|
@ -131,7 +131,7 @@ class Main(MainWindow):
|
||||
self.container = None
|
||||
self.current_metadata = None
|
||||
self.blocking_job = BlockingJob(self)
|
||||
self.keyboard = KeyboardManager()
|
||||
self.keyboard = KeyboardManager(self, config_name='shortcuts/tweak_book')
|
||||
|
||||
self.central = Central(self)
|
||||
self.setCentralWidget(self.central)
|
||||
@ -173,7 +173,7 @@ class Main(MainWindow):
|
||||
if isinstance(keys, type('')):
|
||||
keys = (keys,)
|
||||
self.keyboard.register_shortcut(
|
||||
sid, unicode(ac.text()), default_keys=keys, description=description, action=ac, group=group)
|
||||
sid, unicode(ac.text()).replace('&', ''), default_keys=keys, description=description, action=ac, group=group)
|
||||
self.addAction(ac)
|
||||
return ac
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user