From 2645ef6209f33d486db7438a4a123517d6e67abc Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 21 Mar 2018 21:40:20 +0530 Subject: [PATCH] More actions for EM page comments editor --- imgsrc/srv/hr.svg | 5 +++++ imgsrc/srv/subscript.svg | 1 + imgsrc/srv/superscript.svg | 1 + src/pyj/book_list/comments_editor.pyj | 28 ++++++++++++++++++++++----- 4 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 imgsrc/srv/hr.svg create mode 100644 imgsrc/srv/subscript.svg create mode 100644 imgsrc/srv/superscript.svg diff --git a/imgsrc/srv/hr.svg b/imgsrc/srv/hr.svg new file mode 100644 index 0000000000..253cd71ee2 --- /dev/null +++ b/imgsrc/srv/hr.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/imgsrc/srv/subscript.svg b/imgsrc/srv/subscript.svg new file mode 100644 index 0000000000..cfc59243b4 --- /dev/null +++ b/imgsrc/srv/subscript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/imgsrc/srv/superscript.svg b/imgsrc/srv/superscript.svg new file mode 100644 index 0000000000..edf2e5c628 --- /dev/null +++ b/imgsrc/srv/superscript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pyj/book_list/comments_editor.pyj b/src/pyj/book_list/comments_editor.pyj index 24688e0bcd..98c687942b 100644 --- a/src/pyj/book_list/comments_editor.pyj +++ b/src/pyj/book_list/comments_editor.pyj @@ -27,7 +27,7 @@ add_extra_css(def(): ) -def all_editor_actions(): +def all_editor_actions(): # {{{ if not all_editor_actions.ans: all_editor_actions.ans = { 'select-all': { @@ -78,10 +78,27 @@ def all_editor_actions(): 'execute': def (editor, activated): editor.exec_command('strikeThrough') }, - + 'superscript': { + 'icon': 'superscript', + 'title': _('Superscript'), + 'execute': def (editor, activated): + editor.exec_command('superscript') + }, + 'subscript': { + 'icon': 'subscript', + 'title': _('Subscript'), + 'execute': def (editor, activated): + editor.exec_command('subscript') + }, + 'hr': { + 'icon': 'hr', + 'title': _('Insert separator'), + 'execute': def (editor, activated): + editor.exec_command('insertHorizontalRule') + }, } return all_editor_actions.ans - +# }}} class CommentsEditorBoss: @@ -100,6 +117,7 @@ class CommentsEditorBoss: window.onerror = self.onerror clear(document.body) document.execCommand("defaultParagraphSeparator", False, "div") + document.execCommand("styleWithCSS", False, False) document.body.style.margin = '0' document.body.style.padding = '0' document.documentElement.style.height = document.body.style.height = '100%' @@ -135,7 +153,7 @@ class CommentsEditorBoss: self.update_state() def update_state(self): - state = {name: document.queryCommandState(name) for name in 'bold italic underline'.split(' ')} + state = {name: document.queryCommandState(name) for name in 'bold italic underline superscript subscript'.split(' ')} state.strikethrough = document.queryCommandState('strikeThrough') self.comm.send_message('update_state', state=state) @@ -254,7 +272,7 @@ def create_comments_editor(container): toolbar1 = E.div(class_=TOOLBAR_CLASS) toolbars.appendChild(toolbar1) acmap = all_editor_actions() - for ac_name in 'undo redo select-all remove-format | bold italic underline strikethrough |'.split(' '): + for ac_name in 'undo redo select-all remove-format | bold italic underline strikethrough | hr superscript subscript'.split(' '): if acmap[ac_name]: add_action(toolbar1, ac_name, acmap[ac_name], editor.id) else: