forked from Mirrors/apostrophe
Remember autospellchek status
parent
d215f52fac
commit
a1a50d4890
|
@ -13,6 +13,13 @@
|
||||||
asked to install them manually.
|
asked to install them manually.
|
||||||
</description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
|
<key name='spellcheck' type='b'>
|
||||||
|
<default>true</default>
|
||||||
|
<summary>Spellcheck</summary>
|
||||||
|
<description>
|
||||||
|
Enable/disable spellchecking in the application.
|
||||||
|
</description>
|
||||||
|
</key>
|
||||||
<key name='open-file-path' type='s'>
|
<key name='open-file-path' type='s'>
|
||||||
<default>"/tmp"</default>
|
<default>"/tmp"</default>
|
||||||
<summary>Open file base path</summary>
|
<summary>Open file base path</summary>
|
||||||
|
|
|
@ -76,7 +76,6 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="action_name">app.spellcheck</property>
|
<property name="action_name">app.spellcheck</property>
|
||||||
<property name="active">True</property>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">1</property>
|
<property name="left_attach">1</property>
|
||||||
|
|
|
@ -28,8 +28,9 @@ import re
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
|
|
||||||
import gi
|
import gi
|
||||||
|
gi.require_version('Gtk', '3.0')
|
||||||
gi.require_version('WebKit2', '4.0') # pylint: disable=wrong-import-position
|
gi.require_version('WebKit2', '4.0') # pylint: disable=wrong-import-position
|
||||||
from gi.repository import Gtk, Gdk, GObject, GLib, Gio # pylint: disable=E0611
|
from gi.repository import Gtk, Gdk, GObject, GLib, Gio
|
||||||
from gi.repository import WebKit2 as WebKit
|
from gi.repository import WebKit2 as WebKit
|
||||||
from gi.repository import Pango # pylint: disable=E0611
|
from gi.repository import Pango # pylint: disable=E0611
|
||||||
|
|
||||||
|
@ -44,7 +45,7 @@ from uberwriter_lib.gtkspellcheck import SpellChecker
|
||||||
from .MarkupBuffer import MarkupBuffer
|
from .MarkupBuffer import MarkupBuffer
|
||||||
from .UberwriterTextEditor import TextEditor
|
from .UberwriterTextEditor import TextEditor
|
||||||
from .UberwriterInlinePreview import UberwriterInlinePreview
|
from .UberwriterInlinePreview import UberwriterInlinePreview
|
||||||
from .UberwriterSidebar import UberwriterSidebar
|
# from .UberwriterSidebar import UberwriterSidebar
|
||||||
from .UberwriterSearchAndReplace import UberwriterSearchAndReplace
|
from .UberwriterSearchAndReplace import UberwriterSearchAndReplace
|
||||||
from .Settings import Settings
|
from .Settings import Settings
|
||||||
# from .UberwriterAutoCorrect import UberwriterAutoCorrect
|
# from .UberwriterAutoCorrect import UberwriterAutoCorrect
|
||||||
|
@ -223,23 +224,7 @@ class UberwriterWindow(Gtk.ApplicationWindow):
|
||||||
|
|
||||||
# Setting up spellcheck
|
# Setting up spellcheck
|
||||||
self.auto_correct = None
|
self.auto_correct = None
|
||||||
try:
|
self.toggle_spellcheck(self.settings.get_value("spellcheck"))
|
||||||
self.spell_checker = SpellChecker(
|
|
||||||
self.text_editor, locale.getdefaultlocale()[0],
|
|
||||||
collapse=False)
|
|
||||||
if self.auto_correct:
|
|
||||||
self.auto_correct.set_language(self.spell_checker.language)
|
|
||||||
self.spell_checker.connect_language_change( #pylint: disable=no-member
|
|
||||||
self.auto_correct.set_language)
|
|
||||||
|
|
||||||
self.spellcheck = True
|
|
||||||
except:
|
|
||||||
self.spell_checker = None
|
|
||||||
self.spellcheck = False
|
|
||||||
|
|
||||||
if self.spellcheck:
|
|
||||||
self.spell_checker.append_filter('[#*]+', SpellChecker.FILTER_WORD)
|
|
||||||
|
|
||||||
self.did_change = False
|
self.did_change = False
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -385,7 +370,7 @@ class UberwriterWindow(Gtk.ApplicationWindow):
|
||||||
self.focusmode = True
|
self.focusmode = True
|
||||||
self.text_editor.grab_focus()
|
self.text_editor.grab_focus()
|
||||||
self.check_scroll(self.text_buffer.get_insert())
|
self.check_scroll(self.text_buffer.get_insert())
|
||||||
if self.spellcheck:
|
if self.spell_checker:
|
||||||
self.spell_checker._misspelled.set_property('underline', 0)
|
self.spell_checker._misspelled.set_property('underline', 0)
|
||||||
self.click_event = self.text_editor.connect("button-release-event",
|
self.click_event = self.text_editor.connect("button-release-event",
|
||||||
self.on_focusmode_click)
|
self.on_focusmode_click)
|
||||||
|
@ -403,7 +388,7 @@ class UberwriterWindow(Gtk.ApplicationWindow):
|
||||||
self.text_editor.grab_focus()
|
self.text_editor.grab_focus()
|
||||||
self.update_line_and_char_count()
|
self.update_line_and_char_count()
|
||||||
self.check_scroll()
|
self.check_scroll()
|
||||||
if self.spellcheck:
|
if self.spell_checker:
|
||||||
self.spell_checker._misspelled.set_property('underline', 4)
|
self.spell_checker._misspelled.set_property('underline', 4)
|
||||||
_click_event = self.text_editor.disconnect(self.click_event)
|
_click_event = self.text_editor.disconnect(self.click_event)
|
||||||
|
|
||||||
|
@ -753,37 +738,38 @@ class UberwriterWindow(Gtk.ApplicationWindow):
|
||||||
status {gtk bool} -- Desired status of the spellchecking
|
status {gtk bool} -- Desired status of the spellchecking
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if self.spellcheck:
|
if status.get_boolean():
|
||||||
if status.get_boolean():
|
|
||||||
self.spell_checker.enable()
|
|
||||||
else:
|
|
||||||
self.spell_checker.disable()
|
|
||||||
|
|
||||||
elif status.get_boolean():
|
|
||||||
self.spell_checker = SpellChecker(
|
|
||||||
self.text_editor, self, locale.getdefaultlocale()[0],
|
|
||||||
collapse=False)
|
|
||||||
if self.auto_correct:
|
|
||||||
self.auto_correct.set_language(self.spell_checker.language)
|
|
||||||
self.spell_checker.connect_language_change( # pylint: disable=no-member
|
|
||||||
self.auto_correct.set_language)
|
|
||||||
try:
|
try:
|
||||||
self.spellcheck = True
|
self.spell_checker.enable()
|
||||||
except:
|
except:
|
||||||
self.spell_checker = None
|
try:
|
||||||
self.spellcheck = False
|
self.spell_checker = SpellChecker(
|
||||||
dialog = Gtk.MessageDialog(self,
|
self.text_editor, locale.getdefaultlocale()[0],
|
||||||
Gtk.DialogFlags.MODAL \
|
collapse=False)
|
||||||
| Gtk.DialogFlags.DESTROY_WITH_PARENT,
|
if self.auto_correct:
|
||||||
Gtk.MessageType.INFO,
|
self.auto_correct.set_language(self.spell_checker.language)
|
||||||
Gtk.ButtonsType.NONE,
|
self.spell_checker.connect_language_change( # pylint: disable=no-member
|
||||||
_("You can not enable the Spell Checker.")
|
self.auto_correct.set_language)
|
||||||
)
|
except:
|
||||||
dialog.format_secondary_text(
|
self.spell_checker = None
|
||||||
_("Please install 'hunspell' or 'aspell' dictionarys"
|
dialog = Gtk.MessageDialog(self,
|
||||||
+ " for your language from the software center."))
|
Gtk.DialogFlags.MODAL \
|
||||||
_response = dialog.run()
|
| Gtk.DialogFlags.DESTROY_WITH_PARENT,
|
||||||
|
Gtk.MessageType.INFO,
|
||||||
|
Gtk.ButtonsType.NONE,
|
||||||
|
_("You can not enable the Spell Checker.")
|
||||||
|
)
|
||||||
|
dialog.format_secondary_text(
|
||||||
|
_("Please install 'hunspell' or 'aspell' dictionarys"
|
||||||
|
+ " for your language from the software center."))
|
||||||
|
_response = dialog.run()
|
||||||
return
|
return
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
self.spell_checker.disable()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
return
|
return
|
||||||
|
|
||||||
def on_drag_data_received(self, _widget, drag_context, _x, _y,
|
def on_drag_data_received(self, _widget, drag_context, _x, _y,
|
||||||
|
|
Loading…
Reference in New Issue