mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Show disabled device plugins in Preferences->Ignored Devices
This commit is contained in:
parent
f368250f1d
commit
e1d40f3603
@ -9,6 +9,7 @@ __docformat__ = 'restructuredtext en'
|
|||||||
|
|
||||||
from PyQt4.Qt import (QLabel, QVBoxLayout, QListWidget, QListWidgetItem, Qt)
|
from PyQt4.Qt import (QLabel, QVBoxLayout, QListWidget, QListWidgetItem, Qt)
|
||||||
|
|
||||||
|
from calibre.customize.ui import enable_plugin
|
||||||
from calibre.gui2.preferences import ConfigWidgetBase, test_widget
|
from calibre.gui2.preferences import ConfigWidgetBase, test_widget
|
||||||
|
|
||||||
class ConfigWidget(ConfigWidgetBase):
|
class ConfigWidget(ConfigWidgetBase):
|
||||||
@ -31,6 +32,18 @@ class ConfigWidget(ConfigWidgetBase):
|
|||||||
f.itemChanged.connect(self.changed_signal)
|
f.itemChanged.connect(self.changed_signal)
|
||||||
f.itemDoubleClicked.connect(self.toggle_item)
|
f.itemDoubleClicked.connect(self.toggle_item)
|
||||||
|
|
||||||
|
self.la2 = la = QLabel(_(
|
||||||
|
'The list of device plugins you have disabled. Uncheck an entry '
|
||||||
|
'to enable the plugin. calibre cannot detect devices that are '
|
||||||
|
'managed by disabled plugins.'))
|
||||||
|
la.setWordWrap(True)
|
||||||
|
l.addWidget(la)
|
||||||
|
|
||||||
|
self.device_plugins = f = QListWidget(f)
|
||||||
|
l.addWidget(f)
|
||||||
|
f.itemChanged.connect(self.changed_signal)
|
||||||
|
f.itemDoubleClicked.connect(self.toggle_item)
|
||||||
|
|
||||||
def toggle_item(self, item):
|
def toggle_item(self, item):
|
||||||
item.setCheckState(Qt.Checked if item.checkState() == Qt.Unchecked else
|
item.setCheckState(Qt.Checked if item.checkState() == Qt.Unchecked else
|
||||||
Qt.Unchecked)
|
Qt.Unchecked)
|
||||||
@ -46,6 +59,16 @@ class ConfigWidget(ConfigWidgetBase):
|
|||||||
item.setCheckState(Qt.Checked)
|
item.setCheckState(Qt.Checked)
|
||||||
self.devices.blockSignals(False)
|
self.devices.blockSignals(False)
|
||||||
|
|
||||||
|
self.device_plugins.blockSignals(True)
|
||||||
|
for dev in self.gui.device_manager.disabled_device_plugins:
|
||||||
|
n = dev.get_gui_name()
|
||||||
|
item = QListWidgetItem(n, self.device_plugins)
|
||||||
|
item.setData(Qt.UserRole, dev)
|
||||||
|
item.setFlags(Qt.ItemIsEnabled|Qt.ItemIsUserCheckable|Qt.ItemIsSelectable)
|
||||||
|
item.setCheckState(Qt.Checked)
|
||||||
|
self.device_plugins.sortItems()
|
||||||
|
self.device_plugins.blockSignals(False)
|
||||||
|
|
||||||
def restore_defaults(self):
|
def restore_defaults(self):
|
||||||
if self.devices.count() > 0:
|
if self.devices.count() > 0:
|
||||||
self.devices.clear()
|
self.devices.clear()
|
||||||
@ -63,6 +86,12 @@ class ConfigWidget(ConfigWidgetBase):
|
|||||||
for dev, bl in devs.iteritems():
|
for dev, bl in devs.iteritems():
|
||||||
dev.set_user_blacklisted_devices(bl)
|
dev.set_user_blacklisted_devices(bl)
|
||||||
|
|
||||||
|
for i in xrange(self.device_plugins.count()):
|
||||||
|
e = self.device_plugins.item(i)
|
||||||
|
dev = e.data(Qt.UserRole).toPyObject()
|
||||||
|
if e.checkState() == Qt.Unchecked:
|
||||||
|
enable_plugin(dev)
|
||||||
|
|
||||||
return True # Restart required
|
return True # Restart required
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user