From ee9e45d50d9a48aec8b2386f28c961bb224d454e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 19 Dec 2009 18:18:13 -0700 Subject: [PATCH] Device drivers: Support for device specific icons --- resources/images/devices/italica.png | Bin 0 -> 7887 bytes resources/images/devices/kindle.jpg | Bin 0 -> 5885 bytes src/calibre/devices/eb600/driver.py | 1 + src/calibre/devices/interface.py | 2 ++ src/calibre/devices/kindle/driver.py | 1 + src/calibre/devices/usbms/device.py | 2 +- src/calibre/gui2/ui.py | 1 + src/calibre/gui2/widgets.py | 4 ++++ 8 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 resources/images/devices/italica.png create mode 100644 resources/images/devices/kindle.jpg diff --git a/resources/images/devices/italica.png b/resources/images/devices/italica.png new file mode 100644 index 0000000000000000000000000000000000000000..83852d9ffa41145a0404ea21ff391a29dbc70e26 GIT binary patch literal 7887 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 literal 0 HcmV?d00001 diff --git a/resources/images/devices/kindle.jpg b/resources/images/devices/kindle.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7641d88ed244abf0b3c7153460def9e2f7f41992 GIT binary patch literal 5885 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 GX8#W?eE4?& literal 0 HcmV?d00001 diff --git a/src/calibre/devices/eb600/driver.py b/src/calibre/devices/eb600/driver.py index f7ea9e0c24..738fcdf375 100644 --- a/src/calibre/devices/eb600/driver.py +++ b/src/calibre/devices/eb600/driver.py @@ -116,6 +116,7 @@ class ITALICA(EB600): name = 'Italica Device Interface' gui_name = 'Italica' + icon = I('devices/italica.png') FORMATS = ['epub', 'rtf', 'fb2', 'html', 'prc', 'mobi', 'pdf', 'txt'] diff --git a/src/calibre/devices/interface.py b/src/calibre/devices/interface.py index c9309a72fe..21aa3f5e5b 100644 --- a/src/calibre/devices/interface.py +++ b/src/calibre/devices/interface.py @@ -40,6 +40,8 @@ class DevicePlugin(Plugin): CAN_SET_METADATA = True #: Path separator for paths to books on device path_sep = os.sep + #: Icon for this device + icon = I('reader.svg') @classmethod def test_bcd_windows(cls, device_id, bcd): diff --git a/src/calibre/devices/kindle/driver.py b/src/calibre/devices/kindle/driver.py index de4ff19733..96aa296b5d 100644 --- a/src/calibre/devices/kindle/driver.py +++ b/src/calibre/devices/kindle/driver.py @@ -18,6 +18,7 @@ class KINDLE(USBMS): name = 'Kindle Device Interface' gui_name = 'Amazon Kindle' + icon = I('devices/kindle.jpg') description = _('Communicate with the Kindle eBook reader.') author = 'John Schember' supported_platforms = ['windows', 'osx', 'linux'] diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 33ba104e38..c34157e878 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -295,7 +295,7 @@ class Device(DeviceConfig, DevicePlugin): # This is typically needed when the device has the same # WINDOWS_MAIN_MEM and WINDOWS_CARD_A_MEM in which case - # if the devices is connected without a card, the above + # if the device is connected without a card, the above # will incorrectly identify the main mem as carda # See for example the driver for the Nook if 'main' not in drives and 'carda' in drives: diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index d8ab5fb7a1..0fafb572c1 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -775,6 +775,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): _(' detected.'), 3000) self.device_connected = True self._sync_menu.enable_device_actions(True, self.device_manager.device.card_prefix()) + self.location_view.model().device_connected(self.device_manager.device) else: self.save_device_view_settings() self.device_connected = False diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index 9bf904da71..cce594d557 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -242,6 +242,10 @@ class LocationModel(QAbstractListModel): return data + def device_connected(self, dev): + self.icons[1] = QIcon(dev.icon) + self.dataChanged.emit(self.index(1), self.index(1)) + def headerData(self, section, orientation, role): return NONE