summarylogtreecommitdiffstats
path: root/0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch
diff options
context:
space:
mode:
Diffstat (limited to '0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch')
-rw-r--r--0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch b/0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch
new file mode 100644
index 000000000000..6b0524dc247c
--- /dev/null
+++ b/0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch
@@ -0,0 +1,98 @@
+From 2cce6ea49696927300d324637255d3c2cd377e8b Mon Sep 17 00:00:00 2001
+From: Harald Weiner <timeraider@gmx.at>
+Date: Fri, 28 Jul 2017 07:07:57 +0200
+Subject: [PATCH 4/4] fixes #175 (Live Preview Mode Executes JavaScript)
+
+---
+ data/ui/RemarkableWindow.ui | 9 +++++++++
+ remarkable/RemarkableWindow.py | 26 ++++++++++++++++++++++----
+ 2 files changed, 31 insertions(+), 4 deletions(-)
+
+diff --git a/data/ui/RemarkableWindow.ui b/data/ui/RemarkableWindow.ui
+index ab0007c..ca2396e 100644
+--- a/data/ui/RemarkableWindow.ui
++++ b/data/ui/RemarkableWindow.ui
+@@ -405,6 +405,15 @@
+ <property name="active">True</property>
+ </object>
+ </child>
++ <child>
++ <object class="GtkCheckMenuItem" id="menuitem_js">
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="label" translatable="yes">Enable Java-Script</property>
++ <property name="use_underline">True</property>
++ <property name="active">True</property>
++ </object>
++ </child>
+ <child>
+ <object class="GtkCheckMenuItem" id="menuitem_vertical_layout">
+ <property name="visible">True</property>
+diff --git a/remarkable/RemarkableWindow.py b/remarkable/RemarkableWindow.py
+index ea00be9..c15886a 100644
+--- a/remarkable/RemarkableWindow.py
++++ b/remarkable/RemarkableWindow.py
+@@ -114,8 +114,8 @@ class RemarkableWindow(Window):
+ self.text_view.set_buffer(self.text_buffer)
+ self.text_view.set_wrap_mode(Gtk.WrapMode.WORD)
+
+- my_settings = self.create_webkit_settings()
+- self.live_preview = WebKit2.WebView.new_with_settings(my_settings)
++ self.webkit_settings = self.create_webkit_settings()
++ self.live_preview = WebKit2.WebView.new_with_settings(self.webkit_settings)
+ self.zoom_out(self.live_preview)
+
+ self.scrolledwindow_text_view = Gtk.ScrolledWindow()
+@@ -199,7 +199,8 @@ class RemarkableWindow(Window):
+ if not os.path.isfile(self.settings_path):
+ self.remarkable_settings = {}
+ self.remarkable_settings['css'] = ''
+- self.remarkable_settings['font'] = "Sans 10"
++ self.remarkable_settings['font'] = "Sans 10"
++ self.remarkable_settings['js'] = True
+ self.remarkable_settings['line-numbers'] = True
+ self.remarkable_settings['live-preview'] = True
+ self.remarkable_settings['nightmode'] = False
+@@ -234,6 +235,12 @@ class RemarkableWindow(Window):
+ # Disable word wrap on startup
+ self.builder.get_object("menuitem_word_wrap").set_active(False)
+ self.on_menuitem_word_wrap_activate(self)
++
++ if not 'js' in self.remarkable_settings:
++ self.remarkable_settings['js'] = True
++ if self.remarkable_settings['js'] == False:
++ # Disable Live Preview on startup
++ self.builder.get_object("menuitem_js").set_active(False)
+
+ if self.remarkable_settings['live-preview'] == False:
+ # Disable Live Preview on startup
+@@ -812,7 +819,16 @@ class RemarkableWindow(Window):
+ self.builder.get_object("toolbar1").set_visible(True)
+ self.update_live_preview(self)
+ self.write_settings()
+-
++
++ def on_menuitem_js_activate(self, widget):
++ self.toggle_js(self)
++
++ def toggle_js(self, widget):
++ state = self.webkit_settings.get_enable_javascript()
++ state = not state
++ self.remarkable_settings['js'] = state
++ self.webkit_settings.set_enable_javascript(state)
++ self.write_settings()
+
+ def on_menuitem_swap_activate(self, widget):
+ if self.live_preview.get_visible():
+@@ -1456,6 +1472,8 @@ class RemarkableWindow(Window):
+ def create_webkit_settings(self):
+ result = WebKit2.Settings()
+ result.set_enable_write_console_messages_to_stdout(False) # Suppress .js output
++ #js = self.remarkable_settings['js']
++ result.set_enable_javascript(True) # JS-Kill-Switch for issue #175
+ return result
+
+ """
+--
+2.16.2
+