From 2cebf59638a0d53b740714d7e6b1d81c01592f84 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 6 Jul 2011 09:31:04 -0600 Subject: [PATCH] Warn the user when enabling the DOuban metadata download plugin that it is useful only for Chinese language books --- src/calibre/ebooks/metadata/sources/douban.py | 3 ++- src/calibre/gui2/preferences/metadata_sources.py | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/sources/douban.py b/src/calibre/ebooks/metadata/sources/douban.py index 8f8f5b80c4..06e874e8ca 100644 --- a/src/calibre/ebooks/metadata/sources/douban.py +++ b/src/calibre/ebooks/metadata/sources/douban.py @@ -153,7 +153,8 @@ class Douban(Source): author = 'Li Fanxi' version = (2, 0, 0) - description = _('Downloads metadata and covers from Douban.com') + description = _('Downloads metadata and covers from Douban.com. ' + 'Useful only for chinese language books.') capabilities = frozenset(['identify', 'cover']) touched_fields = frozenset(['title', 'authors', 'tags', diff --git a/src/calibre/gui2/preferences/metadata_sources.py b/src/calibre/gui2/preferences/metadata_sources.py index ae882ce255..6c9122abf7 100644 --- a/src/calibre/gui2/preferences/metadata_sources.py +++ b/src/calibre/gui2/preferences/metadata_sources.py @@ -17,12 +17,13 @@ from calibre.gui2.preferences.metadata_sources_ui import Ui_Form from calibre.ebooks.metadata.sources.base import msprefs from calibre.customize.ui import (all_metadata_plugins, is_disabled, enable_plugin, disable_plugin, default_disabled_plugins) -from calibre.gui2 import NONE, error_dialog +from calibre.gui2 import NONE, error_dialog, question_dialog class SourcesModel(QAbstractTableModel): # {{{ def __init__(self, parent=None): QAbstractTableModel.__init__(self, parent) + self.gui_parent = parent self.plugins = [] self.enabled_overrides = {} @@ -87,6 +88,15 @@ class SourcesModel(QAbstractTableModel): # {{{ if col == 0 and role == Qt.CheckStateRole: val, ok = val.toInt() if ok: + if val == Qt.Checked and 'Douban' in plugin.name: + if not question_dialog(self.gui_parent, + _('Are you sure?'), '

'+ + _('This plugin is useful only for Chinese' + ' language books. It can return incorrect' + ' results for books in English. Are you' + ' sure you want to enable it?'), + show_copy_button=False): + return ret self.enabled_overrides[plugin] = val ret = True if col == 1 and role == Qt.EditRole: