diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index 048e5b0ccb..1703e4a644 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -1135,4 +1135,5 @@ class DeviceGUI(object): resend_metadata = True if resend_metadata: # Correcting metadata cache on device. - self.device_manager.sync_booklists(None, booklists) + if self.device_manager.is_connected: + self.device_manager.sync_booklists(None, booklists) diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 8cd89bd397..725672324c 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -948,6 +948,8 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): Called when a device is connected to the computer. ''' if connected: + self._sync_menu.connect_to_folder_action.setEnabled(False) + self._sync_menu.disconnect_from_folder_action.setEnabled(False) self.device_manager.get_device_information(\ Dispatcher(self.info_read)) self.set_default_thumbnail(\ @@ -963,6 +965,8 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.eject_action.setEnabled(True) # don't refresh_ondevice here. It will happen in metadata_downloaded else: + self._sync_menu.connect_to_folder_action.setEnabled(True) + self._sync_menu.disconnect_from_folder_action.setEnabled(False) self.save_device_view_settings() self.device_connected = False self._sync_menu.enable_device_actions(False)