forked from Mirrors/apostrophe
Remember autospellchek status
parent
d215f52fac
commit
a1a50d4890
|
@ -13,6 +13,13 @@
|
|||
asked to install them manually.
|
||||
</description>
|
||||
</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'>
|
||||
<default>"/tmp"</default>
|
||||
<summary>Open file base path</summary>
|
||||
|
|
|
@ -76,7 +76,6 @@
|
|||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="action_name">app.spellcheck</property>
|
||||
<property name="active">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
|
|
|
@ -28,8 +28,9 @@ import re
|
|||
from gettext import gettext as _
|
||||
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
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 Pango # pylint: disable=E0611
|
||||
|
||||
|
@ -44,7 +45,7 @@ from uberwriter_lib.gtkspellcheck import SpellChecker
|
|||
from .MarkupBuffer import MarkupBuffer
|
||||
from .UberwriterTextEditor import TextEditor
|
||||
from .UberwriterInlinePreview import UberwriterInlinePreview
|
||||
from .UberwriterSidebar import UberwriterSidebar
|
||||
# from .UberwriterSidebar import UberwriterSidebar
|
||||
from .UberwriterSearchAndReplace import UberwriterSearchAndReplace
|
||||
from .Settings import Settings
|
||||
# from .UberwriterAutoCorrect import UberwriterAutoCorrect
|
||||
|
@ -223,23 +224,7 @@ class UberwriterWindow(Gtk.ApplicationWindow):
|
|||
|
||||
# Setting up spellcheck
|
||||
self.auto_correct = None
|
||||
try:
|
||||
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.toggle_spellcheck(self.settings.get_value("spellcheck"))
|
||||
self.did_change = False
|
||||
|
||||
###
|
||||
|
@ -385,7 +370,7 @@ class UberwriterWindow(Gtk.ApplicationWindow):
|
|||
self.focusmode = True
|
||||
self.text_editor.grab_focus()
|
||||
self.check_scroll(self.text_buffer.get_insert())
|
||||
if self.spellcheck:
|
||||
if self.spell_checker:
|
||||
self.spell_checker._misspelled.set_property('underline', 0)
|
||||
self.click_event = self.text_editor.connect("button-release-event",
|
||||
self.on_focusmode_click)
|
||||
|
@ -403,7 +388,7 @@ class UberwriterWindow(Gtk.ApplicationWindow):
|
|||
self.text_editor.grab_focus()
|
||||
self.update_line_and_char_count()
|
||||
self.check_scroll()
|
||||
if self.spellcheck:
|
||||
if self.spell_checker:
|
||||
self.spell_checker._misspelled.set_property('underline', 4)
|
||||
_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
|
||||
"""
|
||||
|
||||
if self.spellcheck:
|
||||
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)
|
||||
if status.get_boolean():
|
||||
try:
|
||||
self.spellcheck = True
|
||||
self.spell_checker.enable()
|
||||
except:
|
||||
self.spell_checker = None
|
||||
self.spellcheck = False
|
||||
dialog = Gtk.MessageDialog(self,
|
||||
Gtk.DialogFlags.MODAL \
|
||||
| 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()
|
||||
try:
|
||||
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)
|
||||
except:
|
||||
self.spell_checker = None
|
||||
dialog = Gtk.MessageDialog(self,
|
||||
Gtk.DialogFlags.MODAL \
|
||||
| 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
|
||||
else:
|
||||
try:
|
||||
self.spell_checker.disable()
|
||||
except:
|
||||
pass
|
||||
return
|
||||
|
||||
def on_drag_data_received(self, _widget, drag_context, _x, _y,
|
||||
|
|
Loading…
Reference in New Issue