def remote_file_dropped_on_book(self, url, fname): if self.gui.current_view() is not self.gui.library_view: return db = self.gui.library_view.model().db current_idx = self.gui.library_view.currentIndex() if not current_idx.isValid(): return cid = db.id(current_idx.row()) from calibre.gui2.dnd import DownloadDialog d = DownloadDialog(url, fname, self.gui) d.start_download() if d.err is None: self.files_dropped_on_book(None, [d.fpath], cid=cid)
def dropEvent(self, event): event.setDropAction(Qt.CopyAction) md = event.mimeData() # Now look for ebook files urls, filenames = dnd_get_files(md, self.DROPABBLE_EXTENSIONS) if not urls: # Nothing found return if not filenames: # Local files self.formats_dropped.emit(event, urls) else: # Remote files, use the first file d = DownloadDialog(urls[0], filenames[0], self) d.start_download() if d.err is None: self.formats_dropped.emit(event, [d.fpath])
def dropEvent(self, event): event.setDropAction(Qt.CopyAction) md = event.mimeData() x, y = dnd_get_image(md) if x is not None: # We have an image, set cover event.accept() if y is None: # Local image self.handle_image_drop(x) else: # Remote files, use the first file d = DownloadDialog(x, y, self) d.start_download() if d.err is None: pmap = QPixmap() pmap.loadFromData(open(d.fpath, 'rb').read()) if not pmap.isNull(): self.handle_image_drop(pmap)
def dropEvent(self, event): event.setDropAction(Qt.CopyAction) md = event.mimeData() # Now look for ebook files urls, filenames = dnd_get_files(md, self.DROPABBLE_EXTENSIONS, allow_all_extensions=True) if not urls: # Nothing found return if not filenames: # Local files self.formats_dropped.emit(event, urls) else: # Remote files, use the first file d = DownloadDialog(urls[0], filenames[0], self) d.start_download() if d.err is None: self.formats_dropped.emit(event, [d.fpath])
def dropEvent(self, event): event.setDropAction(Qt.CopyAction) md = event.mimeData() x, y = dnd_get_image(md) if x is not None: # We have an image, set cover event.accept() if y is None: # Local image self.undo_stack.push(Replace(x.toImage(), _('Drop image'), self)) else: d = DownloadDialog(x, y, self.gui) d.start_download() if d.err is None: with open(d.fpath, 'rb') as f: img = QImage() img.loadFromData(f.read()) if not img.isNull(): self.undo_stack.push(Replace(img, _('Drop image'), self)) event.accept()