diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index 93dda884cc..aea0e340c4 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -478,7 +478,7 @@ from calibre.devices.teclast.driver import TECLAST_K3, NEWSMY, IPAPYRUS, \ from calibre.devices.sne.driver import SNE from calibre.devices.misc import PALMPRE, AVANT, SWEEX, PDNOVEL, KOGAN, \ GEMEI, VELOCITYMICRO, PDNOVEL_KOBO, Q600, LUMIREAD, ALURATEK_COLOR, \ - TREKSTOR + TREKSTOR, EEEREADER from calibre.devices.folder_device.driver import FOLDER_DEVICE_FOR_CONFIG from calibre.devices.kobo.driver import KOBO from calibre.devices.bambook.driver import BAMBOOK @@ -605,6 +605,7 @@ plugins += [ ALURATEK_COLOR, BAMBOOK, TREKSTOR, + EEEREADER, ITUNES, ] plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ diff --git a/src/calibre/devices/misc.py b/src/calibre/devices/misc.py index a895948316..d4776ecca7 100644 --- a/src/calibre/devices/misc.py +++ b/src/calibre/devices/misc.py @@ -244,3 +244,23 @@ class TREKSTOR(USBMS): VENDOR_NAME = 'TREKSTOR' WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'EBOOK_PLAYER_7' +class EEEREADER(USBMS): + + name = 'Asus EEE Reader device interface' + gui_name = 'EEE Reader' + description = _('Communicate with the EEE Reader') + author = 'Kovid Goyal' + supported_platforms = ['windows', 'osx', 'linux'] + + # Ordered list of supported formats + FORMATS = ['epub', 'fb2', 'txt', 'pdf'] + + VENDOR_ID = [0x0b05] + PRODUCT_ID = [0x178f] + BCD = [0x0319] + + EBOOK_DIR_MAIN = 'Books' + + VENDOR_NAME = 'LINUX' + WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'FILE-STOR_GADGET' + diff --git a/src/calibre/gui2/comments_editor.py b/src/calibre/gui2/comments_editor.py index 2d0d1c209e..97a218a10b 100644 --- a/src/calibre/gui2/comments_editor.py +++ b/src/calibre/gui2/comments_editor.py @@ -479,6 +479,7 @@ class Editor(QWidget): # {{{ QWidget.__init__(self, parent) self.toolbar1 = QToolBar(self) self.toolbar2 = QToolBar(self) + self.toolbar3 = QToolBar(self) self.editor = EditorWidget(self) self.tabs = QTabWidget(self) self.tabs.setTabPosition(self.tabs.South) @@ -493,6 +494,7 @@ class Editor(QWidget): # {{{ l.setContentsMargins(0, 0, 0, 0) l.addWidget(self.toolbar1) l.addWidget(self.toolbar2) + l.addWidget(self.toolbar3) l.addWidget(self.editor) self._layout.addWidget(self.tabs) self.tabs.addTab(self.wyswyg, _('Normal view')) @@ -500,19 +502,7 @@ class Editor(QWidget): # {{{ self.tabs.currentChanged[int].connect(self.change_tab) self.highlighter = Highlighter(self.code_edit.document()) - for x in ('bold', 'italic', 'underline', 'strikethrough', - 'superscript', 'subscript', 'indent', 'outdent'): - ac = getattr(self.editor, 'action_'+x) - if x in ('superscript', 'indent'): - self.toolbar2.addSeparator() - self.toolbar2.addAction(ac) - self.toolbar2.addSeparator() - - for x in ('left', 'center', 'right', 'justified'): - ac = getattr(self.editor, 'action_align_'+x) - self.toolbar2.addAction(ac) - self.toolbar2.addSeparator() - + # toolbar1 {{{ self.toolbar1.addAction(self.editor.action_undo) self.toolbar1.addAction(self.editor.action_redo) self.toolbar1.addAction(self.editor.action_select_all) @@ -523,21 +513,39 @@ class Editor(QWidget): # {{{ for x in ('copy', 'cut', 'paste'): ac = getattr(self.editor, 'action_'+x) self.toolbar1.addAction(ac) - self.toolbar1.addSeparator() + self.toolbar1.addSeparator() + self.toolbar1.addAction(self.editor.action_background) + # }}} + + # toolbar2 {{{ for x in ('', 'un'): ac = getattr(self.editor, 'action_%sordered_list'%x) - self.toolbar1.addAction(ac) - self.toolbar1.addSeparator() + self.toolbar2.addAction(ac) + self.toolbar2.addSeparator() + for x in ('superscript', 'subscript', 'indent', 'outdent'): + self.toolbar2.addAction(getattr(self.editor, 'action_' + x)) + if x in ('subscript', 'outdent'): + self.toolbar2.addSeparator() - self.toolbar1.addAction(self.editor.action_color) - self.toolbar1.addAction(self.editor.action_background) - self.toolbar1.addSeparator() - - self.toolbar1.addAction(self.editor.action_block_style) - w = self.toolbar1.widgetForAction(self.editor.action_block_style) + self.toolbar2.addAction(self.editor.action_block_style) + w = self.toolbar2.widgetForAction(self.editor.action_block_style) w.setPopupMode(w.InstantPopup) self.toolbar2.addAction(self.editor.action_insert_link) + # }}} + + # toolbar3 {{{ + for x in ('bold', 'italic', 'underline', 'strikethrough'): + ac = getattr(self.editor, 'action_'+x) + self.toolbar3.addAction(ac) + self.toolbar3.addSeparator() + + for x in ('left', 'center', 'right', 'justified'): + ac = getattr(self.editor, 'action_align_'+x) + self.toolbar3.addAction(ac) + self.toolbar3.addSeparator() + self.toolbar3.addAction(self.editor.action_color) + # }}} self.code_edit.textChanged.connect(self.code_dirtied) self.editor.page().contentsChanged.connect(self.wyswyg_dirtied) diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index 343d85e63e..f77f23c154 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -769,7 +769,7 @@ class DocumentView(QWebView): # {{{ self.to_bottom = True if epf: self.flipper.initialize(self.current_page_image(), False) - self.manager.previous_document() + self.manager.previous_document() else: opos = self.document.ypos upper_limit = opos - delta_y @@ -783,8 +783,8 @@ class DocumentView(QWebView): # {{{ if epf: self.flipper(self.current_page_image(), duration=self.document.page_flip_duration) - if self.manager is not None: - self.manager.scrolled(self.scroll_fraction) + if self.manager is not None: + self.manager.scrolled(self.scroll_fraction) def next_page(self): if self.flipper.running and not self.is_auto_repeat_event: