From ac9f766a8d133048fcf46115b60ba3df0e85cc34 Mon Sep 17 00:00:00 2001 From: John Schember Date: Sat, 18 Apr 2009 19:33:59 -0400 Subject: [PATCH] GUI: Do not enable send to card x when card x is not present. --- src/calibre/gui2/device.py | 19 +++++++++++++++++-- src/calibre/gui2/main.py | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index 8d1b7a1b3a..239fd4d37d 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -346,10 +346,25 @@ class DeviceMenu(QMenu): self.action_triggered(action) break - def enable_device_actions(self, enable): + def enable_device_actions(self, enable, card_prefix=(None, None)): for action in self.actions: if action.dest in ('main:', 'carda:0', 'cardb:0'): - action.setEnabled(enable) + if not enable: + action.setEnabled(False) + else: + if action.dest == 'main:': + action.setEnabled(True) + elif action.dest == 'carda:0': + if card_prefix[0] != None: + action.setEnabled(True) + else: + action.setEnabled(False) + elif action.dest == 'cardb:0': + if card_prefix[1] != None: + action.setEnabled(True) + else: + action.setEnabled(False) + class Emailer(Thread): diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 86d1b013e3..21d873db60 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -608,7 +608,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.device_manager.device.__class__.__name__+\ _(' detected.'), 3000) self.device_connected = True - self._sync_menu.enable_device_actions(True) + self._sync_menu.enable_device_actions(True, self.device_manager.device.card_prefix()) else: self.device_connected = False self._sync_menu.enable_device_actions(False)