diff --git a/setup/installer/__init__.py b/setup/installer/__init__.py
index 4aa0585f3f..9b1f80f54b 100644
--- a/setup/installer/__init__.py
+++ b/setup/installer/__init__.py
@@ -42,7 +42,8 @@ class Push(Command):
threads = []
for host in (
r'Owner@winxp:/cygdrive/c/Documents\ and\ Settings/Owner/calibre',
- 'kovid@ox:calibre'
+ 'kovid@ox:calibre',
+ r'kovid@win7:/cygdrive/c/Users/kovid/calibre',
):
rcmd = BASE_RSYNC + EXCLUDES + ['.', host]
print '\n\nPushing to:', host, '\n'
diff --git a/src/calibre/gui2/actions/edit_metadata.py b/src/calibre/gui2/actions/edit_metadata.py
index a1f6a6ba90..9b3f2c5bb9 100644
--- a/src/calibre/gui2/actions/edit_metadata.py
+++ b/src/calibre/gui2/actions/edit_metadata.py
@@ -234,6 +234,7 @@ class EditMetadataAction(InterfaceAction):
ci = self.gui.library_view.model().index(dest_row, 0)
if ci.isValid():
self.gui.library_view.setCurrentIndex(ci)
+ self.gui.library_view.model().current_changed(ci, ci)
def add_formats(self, dest_id, src_books, replace=False):
for src_book in src_books:
diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py
index e531af9add..e5f23b1753 100644
--- a/src/calibre/gui2/book_details.py
+++ b/src/calibre/gui2/book_details.py
@@ -9,8 +9,8 @@ import os, collections, sys
from Queue import Queue
from PyQt4.Qt import QPixmap, QSize, QWidget, Qt, pyqtSignal, \
- QPropertyAnimation, QEasingCurve, QThread, \
- QSizePolicy, QPainter, QRect, pyqtProperty, QLayout
+ QPropertyAnimation, QEasingCurve, QThread, QApplication, QFontInfo, \
+ QSizePolicy, QPainter, QRect, pyqtProperty, QLayout, QPalette
from PyQt4.QtWebKit import QWebView
from calibre import fit_image, prepare_string_for_xml
@@ -210,23 +210,37 @@ class BookInfo(QWebView):
def _show_data(self, rows, comments):
+ f = QFontInfo(QApplication.font(self.parent())).pixelSize()
+ p = unicode(QApplication.palette().color(QPalette.Normal,
+ QPalette.Base).name())
+ templ = u'''\
+
+
+
+
+
+ %%s
+
+
+ '''%(p, f)
if self.vertical:
if comments:
rows += u'%s |
'%comments
- self.setHtml(u''%rows)
+ self.setHtml(templ%(u''%rows))
else:
left_pane = u''%rows
right_pane = u'%s
'%comments
- self.setHtml(u''
- % (left_pane, right_pane))
+ % (left_pane, right_pane)))
def mouseDoubleClickEvent(self, ev):
ev.ignore()
# }}}
-
class DetailsLayout(QLayout): # {{{
def __init__(self, vertical, parent):
diff --git a/src/calibre/gui2/dialogs/metadata_single.ui b/src/calibre/gui2/dialogs/metadata_single.ui
index 18bcf2dc4c..2bd85e30bb 100644
--- a/src/calibre/gui2/dialogs/metadata_single.ui
+++ b/src/calibre/gui2/dialogs/metadata_single.ui
@@ -456,7 +456,7 @@ Using this button to create author sort will change author sort from red to gree
16777215
- 130
+ 140
diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py
index 05f7bf5531..4ef2c34c03 100644
--- a/src/calibre/gui2/library/models.py
+++ b/src/calibre/gui2/library/models.py
@@ -328,7 +328,7 @@ class BooksModel(QAbstractTableModel): # {{{
sidx = self.db.series_index(idx)
sidx = fmt_sidx(sidx, use_roman = self.use_roman_numbers)
data[_('Series')] = \
- _('Book %s of %s.')%\
+ _('Book %s of %s.')%\
(sidx, prepare_string_for_xml(series))
mi = self.db.get_metadata(idx)
for key in mi.custom_field_keys():
diff --git a/src/calibre/gui2/search_box.py b/src/calibre/gui2/search_box.py
index 6e510cbfa5..ef32d14a19 100644
--- a/src/calibre/gui2/search_box.py
+++ b/src/calibre/gui2/search_box.py
@@ -148,6 +148,10 @@ class SearchBox2(QComboBox):
self.line_edit.setStyleSheet('QLineEdit { color: black; background-color: %s; }' % col)
def key_pressed(self, event):
+ k = event.key()
+ if k in (Qt.Key_Left, Qt.Key_Right, Qt.Key_Up, Qt.Key_Down,
+ Qt.Key_Home, Qt.Key_End, Qt.Key_PageUp, Qt.Key_PageDown):
+ return
self.normalize_state()
if self._in_a_search:
self.emit(SIGNAL('changed()'))
@@ -159,8 +163,11 @@ class SearchBox2(QComboBox):
def mouse_released(self, event):
self.normalize_state()
- if self.as_you_type:
- self.timer.start(1500)
+ # Dont trigger a search since it make
+ # re-positioning the cursor using the mouse
+ # impossible
+ #if self.as_you_type:
+ # self.timer.start(1500)
def timer_event(self):
self.do_search()