diff --git a/recipes/computer_active.recipe b/recipes/computer_active.recipe
index 93d8b5bbb5..b35e42ab01 100644
--- a/recipes/computer_active.recipe
+++ b/recipes/computer_active.recipe
@@ -1,10 +1,10 @@
#!/usr/bin/env python
__license__ = 'GPL v3'
-__author__ = 'Lorenzo Vigentini'
-__copyright__ = '2009, Lorenzo Vigentini '+_(
'Book formats from the selected books will be merged '
'into the first selected book (%s). '
- 'Metadata in the first selected book will not be changed.'
+ 'Metadata in the first selected book will not be changed. '
'Author, Title, ISBN and all other metadata will not be merged. '+_('Changing the authors for several books can '
'take a while. Are you sure?')
- +'
'
'After merger the second and subsequently '
'selected books, with any metadata they have will be deleted.
'
diff --git a/src/calibre/gui2/preferences/template_functions.py b/src/calibre/gui2/preferences/template_functions.py
index 7f310dace0..e2c880bcc9 100644
--- a/src/calibre/gui2/preferences/template_functions.py
+++ b/src/calibre/gui2/preferences/template_functions.py
@@ -155,7 +155,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
return
if self.argument_count.value() == 0:
box = warning_dialog(self.gui, _('Template functions'),
- _('Argument count should be -1 or greater than zero.'
+ _('Argument count should be -1 or greater than zero. '
'Setting it to zero means that this function cannot '
'be used in single function mode.'), det_msg = '',
show=False)
diff --git a/src/calibre/gui2/tag_browser/model.py b/src/calibre/gui2/tag_browser/model.py
index 6ac1366446..7ed6b473ab 100644
--- a/src/calibre/gui2/tag_browser/model.py
+++ b/src/calibre/gui2/tag_browser/model.py
@@ -12,7 +12,7 @@ import traceback, cPickle, copy
from itertools import repeat
from PyQt4.Qt import (QAbstractItemModel, QIcon, QVariant, QFont, Qt,
- QMimeData, QModelIndex, pyqtSignal)
+ QMimeData, QModelIndex, pyqtSignal, QObject)
from calibre.gui2 import NONE, gprefs, config, error_dialog
from calibre.library.database2 import Tag
@@ -227,6 +227,10 @@ class TagsModel(QAbstractItemModel): # {{{
self._build_in_progress = False
self.reread_collapse_model({}, rebuild=False)
+ @property
+ def gui_parent(self):
+ return QObject.parent(self)
+
def reread_collapse_model(self, state_map, rebuild=True):
if gprefs['tags_browser_collapse_at'] == 0:
self.collapse_model = 'disable'
@@ -726,12 +730,12 @@ class TagsModel(QAbstractItemModel): # {{{
if (key == 'authors' and len(ids) >= 5):
if not confirm('
'+_('Changing the metadata for that many books ' 'can take a while. Are you sure?') - +'
', 'tag_browser_many_changes', self.parent()): + +'', 'tag_browser_many_changes', self.gui_parent): return fm = self.db.metadata_for_field(key) @@ -875,13 +879,13 @@ class TagsModel(QAbstractItemModel): # {{{ # we position at the parent label val = unicode(value.toString()).strip() if not val: - error_dialog(self.parent(), _('Item is blank'), + error_dialog(self.gui_parent, _('Item is blank'), _('An item cannot be set to nothing. Delete it instead.')).exec_() return False item = self.get_node(index) if item.type == TagTreeItem.CATEGORY and item.category_key.startswith('@'): if val.find('.') >= 0: - error_dialog(self.parent(), _('Rename user category'), + error_dialog(self.gui_parent, _('Rename user category'), _('You cannot use periods in the name when ' 'renaming user categories'), show=True) return False @@ -901,7 +905,7 @@ class TagsModel(QAbstractItemModel): # {{{ if len(c) == len(ckey): if strcmp(ckey, nkey) != 0 and \ nkey_lower in user_cat_keys_lower: - error_dialog(self.parent(), _('Rename user category'), + error_dialog(self.gui_parent, _('Rename user category'), _('The name %s is already used')%nkey, show=True) return False user_cats[nkey] = user_cats[ckey] @@ -910,7 +914,7 @@ class TagsModel(QAbstractItemModel): # {{{ rest = c[len(ckey):] if strcmp(ckey, nkey) != 0 and \ icu_lower(nkey + rest) in user_cat_keys_lower: - error_dialog(self.parent(), _('Rename user category'), + error_dialog(self.gui_parent, _('Rename user category'), _('The name %s is already used')%(nkey+rest), show=True) return False user_cats[nkey + rest] = user_cats[ckey + rest] @@ -925,12 +929,12 @@ class TagsModel(QAbstractItemModel): # {{{ return False if key == 'authors': if val.find('&') >= 0: - error_dialog(self.parent(), _('Invalid author name'), + error_dialog(self.gui_parent, _('Invalid author name'), _('Author names cannot contain & characters.')).exec_() return False if key == 'search': if val in saved_searches().names(): - error_dialog(self.parent(), _('Duplicate search name'), + error_dialog(self.gui_parent, _('Duplicate search name'), _('The saved search name %s is already used.')%val).exec_() return False saved_searches().rename(unicode(item.data(role).toString()), val)