diff --git a/src/calibre/ebooks/epub/fix/epubcheck.py b/src/calibre/ebooks/epub/fix/epubcheck.py index f5c8086e7c..fd913a654b 100644 --- a/src/calibre/ebooks/epub/fix/epubcheck.py +++ b/src/calibre/ebooks/epub/fix/epubcheck.py @@ -21,7 +21,7 @@ class Epubcheck(ePubFixer): def long_description(self): return _('Workarounds for bugs in the latest release of epubcheck. ' 'epubcheck reports many things as errors that are not ' - 'actually errors. %prog will try to detect these and replace ' + 'actually errors. epub-fix will try to detect these and replace ' 'them with constructs that epubcheck likes. This may cause ' 'significant changes to your epub, complain to the epubcheck ' 'project.') diff --git a/src/calibre/ebooks/epub/fix/unmanifested.py b/src/calibre/ebooks/epub/fix/unmanifested.py index 71913e9d50..da7a9a9d0e 100644 --- a/src/calibre/ebooks/epub/fix/unmanifested.py +++ b/src/calibre/ebooks/epub/fix/unmanifested.py @@ -18,7 +18,7 @@ class Unmanifested(ePubFixer): @property def long_description(self): - return _('Fix unmanifested files. %prog can either add them to ' + return _('Fix unmanifested files. epub-fix can either add them to ' 'the manifest or delete them as specified by the ' 'delete unmanifested option.') diff --git a/src/calibre/gui2/dialogs/config/add_save.ui b/src/calibre/gui2/dialogs/config/add_save.ui index 9ded5d91c2..80df2d80ca 100644 --- a/src/calibre/gui2/dialogs/config/add_save.ui +++ b/src/calibre/gui2/dialogs/config/add_save.ui @@ -6,7 +6,7 @@ 0 0 - 599 + 953 516 @@ -14,7 +14,7 @@ TabWidget - 2 + 0 @@ -177,50 +177,37 @@ Title match ignores leading indefinite articles ("the", "a", Sending to &device - - - - - - Manual management. Calibre updates cached metadata and adds collections, but never removes them - - - - - Calibre manages metadata when sending books. Calibre updates cached metadata, and adds/remove collections - - - - - Calibre manages metadata at device connection. Calibre updates cached metadata, and adds/removes collections - - + + + + + Metadata &management: + + + manage_device_metadata + - + - Choose 'Manual Management', to have Calibre update the metadata cache (not the book) and add collections when a book is sent. With this option, calibre will never remove a collection. Choose 'Calibre manages metadata when sending books' to have Calibre update the metadata cache and add/remove collections for a book when it is sent to the device. Choose 'Calibre manages metadata when device is connected' to have Calibre update the metadata cache and add/remove collections when calibre connects to the device and when you send a book. - - - Qt::PlainText - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + <li><b>Manual Management</b>: Calibre updates the metadata and adds collections only when a book is sent. With this option, calibre will never remove a collection.</li> +<li><b>Only on send</b>: Calibre updates metadata and adds/removes collections for a book only when it is sent to the device. </li> +<li><b>Automatic management</b>: Calibre automatically keeps metadata on the device in sync with the calibre library, on every connect</li></ul> true - + - + Here you can control how calibre will save your books when you click the Send to Device button. This setting can be overriden for individual devices by customizing the device interface plugins in Preferences->Plugins @@ -230,9 +217,28 @@ Title match ignores leading indefinite articles ("the", "a", - + + + + + + Manual management + + + + + Only on send + + + + + Automatic management + + + + diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py index 9a4bb22f82..2d038d9ddc 100644 --- a/src/calibre/gui2/init.py +++ b/src/calibre/gui2/init.py @@ -409,7 +409,8 @@ class StatusBar(QStatusBar): # {{{ self.clearMessage() def message_changed(self, msg): - if not msg or msg.isEmpty() or msg.isNull(): + if not msg or msg.isEmpty() or msg.isNull() or \ + not unicode(msg).strip(): extra = '' if self.device_string: extra = ' ..::.. ' + self.device_string diff --git a/src/calibre/gui2/layout.py b/src/calibre/gui2/layout.py index 7b70224872..c44efa2354 100644 --- a/src/calibre/gui2/layout.py +++ b/src/calibre/gui2/layout.py @@ -8,13 +8,13 @@ __docformat__ = 'restructuredtext en' from PyQt4.Qt import QIcon, Qt, QWidget, QAction, QToolBar, QSize, QVariant, \ QAbstractListModel, QFont, QApplication, QPalette, pyqtSignal, QToolButton, \ QModelIndex, QListView, QAbstractButton, QPainter, QPixmap, QColor, \ - QVBoxLayout, QSizePolicy, QLabel, QHBoxLayout, QComboBox + QVBoxLayout, QSizePolicy, QLabel, QHBoxLayout from calibre.constants import __appname__, filesystem_encoding from calibre.gui2.search_box import SearchBox2, SavedSearchBox -from calibre.gui2.widgets import ComboBoxWithHelp from calibre.gui2.throbber import ThrobbingButton from calibre.gui2 import NONE +from calibre.gui2.widgets import ComboBoxWithHelp from calibre import human_readable class ToolBar(QToolBar): # {{{ diff --git a/src/calibre/gui2/search_restriction_mixin.py b/src/calibre/gui2/search_restriction_mixin.py index 6f31f65c13..f677c839d8 100644 --- a/src/calibre/gui2/search_restriction_mixin.py +++ b/src/calibre/gui2/search_restriction_mixin.py @@ -7,7 +7,7 @@ Created on 10 Jun 2010 class SearchRestrictionMixin(object): def __init__(self): - self.search_restriction.initialize(help_text=_('Restrict To')) + self.search_restriction.initialize(help_text=_('Restrict to')) self.search_restriction.activated[int].connect(self.apply_search_restriction) self.library_view.model().count_changed_signal.connect(self.restriction_count_changed) self.search_restriction.setSizeAdjustPolicy(self.search_restriction.AdjustToMinimumContentsLengthWithIcon) diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index 798d343e87..e3874fdc3a 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -1,4 +1,3 @@ -__license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' ''' Miscellaneous widgets used in the GUI @@ -546,8 +545,7 @@ class ComboBoxWithHelp(QComboBox): ''' def __init__(self, parent=None): QComboBox.__init__(self, parent) - self.normal_background = 'rgb(255, 255, 255, 0%)' - self.connect(self, SIGNAL('currentIndexChanged(int)'), self.index_changed) + self.currentIndexChanged[int].connect(self.index_changed) self.help_text = '' self.state_set = False @@ -559,14 +557,10 @@ class ComboBoxWithHelp(QComboBox): if not self.state_set: if self.currentIndex() == 0: self.setItemText(0, self.help_text) - self.setStyleSheet( - 'QComboBox { color: gray; background-color: %s; }' % - self.normal_background) + self.setStyleSheet('QComboBox { color: gray }') else: self.setItemText(0, '') - self.setStyleSheet( - 'QComboBox { color: black; background-color: %s; }' % - self.normal_background) + self.setStyleSheet('QComboBox { color: black }') def index_changed(self, index): self.state_set = False