Overview
Comment: | [lo] update UI for dictionaries options |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | lo | multid |
Files: | files | file ages | folders |
SHA3-256: |
1aa225b40a05649838a3b296f867135a |
User & Date: | olr on 2018-02-19 16:58:42 |
Other Links: | branch diff | manifest | tags |
Context
2018-02-19
| ||
17:09 | [lo] move helpers.py from gc_lang to core check-in: 877ad25492 user: olr tags: lo, multid | |
16:58 | [lo] update UI for dictionaries options check-in: 1aa225b40a user: olr tags: lo, multid | |
12:40 | [lo] dictionaries options: update UI (buggy: file picker crashes) check-in: 19496b5d36 user: olr tags: lo, multid | |
Changes
Modified gc_core/py/oxt/OptionsDialog.xcs from [bfbbfee5a6] to [412b78821f].
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <templates> <group oor:name="${lang}"> <info> <desc>The data for one leaf.</desc> </info> ${xcs_options} </group> </templates> <component> <group oor:name="Leaves"> <node-ref oor:name="${lang}" oor:node-type="${lang}" /> </group> </component> </oor:component-schema> | > > > > > > > > > > > > > > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <templates> <group oor:name="${lang}"> <info> <desc>The data for one leaf.</desc> </info> ${xcs_options} </group> <group oor:name="o_${lang}"> <info> <desc>The data for one leaf.</desc> </info> <prop oor:name="graphspell" oor:type="xs:int"><value>1</value></prop> <prop oor:name="graphspellsugg" oor:type="xs:int"><value>1</value></prop> <prop oor:name="extended_dic" oor:type="xs:int"><value>0</value></prop> <prop oor:name="personal_dic" oor:type="xs:int"><value>1</value></prop> </group> </templates> <component> <group oor:name="Leaves"> <node-ref oor:name="${lang}" oor:node-type="${lang}" /> </group> <group oor:name="Other"> <node-ref oor:name="o_${lang}" oor:node-type="o_${lang}" /> </group> </component> </oor:component-schema> |
Modified gc_lang/fr/oxt/DictOptions/DictOptions.py from [4af54009de] to [f2a4dbbf81].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # Dictionary Options # by Olivier R. # License: MPL 2 import unohelper import uno import traceback import helpers import do_strings from com.sun.star.task import XJobExecutor from com.sun.star.awt import XActionListener from com.sun.star.beans import PropertyValue | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # Dictionary Options # by Olivier R. # License: MPL 2 import unohelper import uno import traceback import time import helpers import do_strings from com.sun.star.task import XJobExecutor from com.sun.star.awt import XActionListener from com.sun.star.beans import PropertyValue |
︙ | ︙ | |||
33 34 35 36 37 38 39 | setattr(xWidget, k, w) self.xDialog.insertByName(name, xWidget) return xWidget def run (self, sLang): dUI = do_strings.getUI(sLang) | < | < | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | setattr(xWidget, k, w) self.xDialog.insertByName(name, xWidget) return xWidget def run (self, sLang): dUI = do_strings.getUI(sLang) self.xSettingNode = helpers.getConfigSetting("/org.openoffice.Lightproof_grammalecte/Other/", True) # dialog self.xDialog = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlDialogModel', self.ctx) self.xDialog.Width = 200 self.xDialog.Height = 255 self.xDialog.Title = dUI.get('title', "#title#") xWindowSize = helpers.getWindowSize() self.xDialog.PositionX = int((xWindowSize.Width / 2) - (self.xDialog.Width / 2)) |
︙ | ︙ | |||
68 69 70 71 72 73 74 | nY3 = nY2 + 70 nWidth = self.xDialog.Width - 20 nHeight = 10 # Spell checker section self._addWidget("spelling_section", 'FixedLine', nX, nY1, nWidth, nHeight, Label = dUI.get("spelling_section", "#err"), FontDescriptor = xFDTitle) | | | | > > > < | | < | | < < | < < | | < | < > > > > > > > > > > > | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | nY3 = nY2 + 70 nWidth = self.xDialog.Width - 20 nHeight = 10 # Spell checker section self._addWidget("spelling_section", 'FixedLine', nX, nY1, nWidth, nHeight, Label = dUI.get("spelling_section", "#err"), FontDescriptor = xFDTitle) self.xGraphspell = self._addWidget('activate_main', 'CheckBox', nX, nY1+15, nWidth, nHeight, Label = dUI.get('activate_main', "#err")) self._addWidget('activate_main_descr', 'FixedText', nX, nY1+25, nWidth, nHeight*2, Label = dUI.get('activate_main_descr', "#err"), MultiLine = True) # Spell suggestion engine section self._addWidget("suggestion_section", 'FixedLine', nX, nY2, nWidth, nHeight, Label = dUI.get("suggestion_section", "#err"), FontDescriptor = xFDTitle) self.xGraphspellSugg = self._addWidget('activate_spell_sugg', 'CheckBox', nX, nY2+15, nWidth, nHeight, Label = dUI.get('activate_spell_sugg', "#err")) self._addWidget('activate_spell_sugg_descr', 'FixedText', nX, nY2+25, nWidth, nHeight*4, Label = dUI.get('activate_spell_sugg_descr', "#err"), MultiLine = True) # Personal dictionary section self._addWidget("personal_section", 'FixedLine', nX, nY3, nWidth, nHeight, Label = dUI.get("personal_section", "#err"), FontDescriptor = xFDTitle) self.xPersonalDic = self._addWidget('activate_personal', 'CheckBox', nX, nY3+15, nWidth, nHeight, Label = dUI.get('activate_personal', "#err")) self._addWidget('activate_personnal_descr', 'FixedText', nX, nY3+25, nWidth, nHeight*3, Label = dUI.get('activate_personal_descr', "#err"), MultiLine = True) self._addWidget('import_personal', 'FixedText', nX, nY3+55, nWidth-60, nHeight, Label = dUI.get('import_personal', "#err"), FontDescriptor = xFDSubTitle) self.xMsg = self._addWidget('msg', 'FixedText', nX, nY3+65, nWidth-50, nHeight, Label = "[néant]") self._addWidget('import_button', 'Button', self.xDialog.Width-50, nY3+65, 40, 10, Label = dUI.get('import_button', "#err"), TextColor = 0x005500) self._addWidget('create_dictionary', 'FixedText', nX, nY3+75, nWidth, nHeight*2, Label = dUI.get('create_dictionary', "#err"), MultiLine = True) # Button self._addWidget('apply_button', 'Button', self.xDialog.Width-120, self.xDialog.Height-25, 50, 14, Label = dUI.get('apply_button', "#err"), FontDescriptor = xFDTitle, TextColor = 0x005500) self._addWidget('cancel_button', 'Button', self.xDialog.Width-60, self.xDialog.Height-25, 50, 14, Label = dUI.get('cancel_button', "#err"), FontDescriptor = xFDTitle, TextColor = 0x550000) self._loadOptions() # container self.xContainer = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlDialog', self.ctx) self.xContainer.setModel(self.xDialog) self.xContainer.getControl('apply_button').addActionListener(self) self.xContainer.getControl('apply_button').setActionCommand('Apply') self.xContainer.getControl('import_button').addActionListener(self) self.xContainer.getControl('import_button').setActionCommand('Import') self.xContainer.getControl('cancel_button').addActionListener(self) self.xContainer.getControl('cancel_button').setActionCommand('Cancel') self.xContainer.setVisible(False) toolkit = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.ExtToolkit', self.ctx) self.xContainer.createPeer(toolkit, None) self.xContainer.execute() # XActionListener def actionPerformed (self, xActionEvent): try: xChild = self.xSettingNode.getByName("o_fr") if xActionEvent.ActionCommand == 'Apply': xChild.setPropertyValue("graphspell", self.xGraphspell.State) xChild.setPropertyValue("graphspellsugg", self.xGraphspellSugg.State) #xChild.setPropertyValue("extended_dic", self.xExtendedDic.State) xChild.setPropertyValue("personal_dic", self.xPersonalDic.State) self.xSettingNode.commitChanges() elif xActionEvent.ActionCommand == "Import": xFilePicker = self.xSvMgr.createInstanceWithContext('com.sun.star.ui.dialogs.SystemFilePicker', self.ctx) xFilePicker.appendFilter("Supported files", "*.json; *.bdic") #xFilePicker.setDisplayDirectory("") #xFilePicker.setMultiSelectionMode(True) nResult = xFilePicker.execute() if nResult == 1: pass #lFile = xFilePicker.getSelectedFiles() #lFile = xFilePicker.getFiles() else: pass self.xContainer.endExecute() except: traceback.print_exc() # XJobExecutor def trigger (self, args): try: dialog = DictOptions(self.ctx) dialog.run() except: traceback.print_exc() def _loadOptions (self): print("load options") try: xChild = self.xSettingNode.getByName("o_fr") self.xGraphspell.State = xChild.getPropertyValue("graphspell") self.xGraphspellSugg.State = xChild.getPropertyValue("graphspellsugg") #self.xExtendedDic.State = xChild.getPropertyValue("extended_dic") self.xPersonalDic.State = xChild.getPropertyValue("personal_dic") except: traceback.print_exc() #g_ImplementationHelper = unohelper.ImplementationHelper() #g_ImplementationHelper.addImplementation(DictOptions, 'net.grammalecte.graphspell.DictOptions', ('com.sun.star.task.Job',)) |
Modified gc_lang/fr/oxt/helpers.py from [0c0cec83d0] to [f3ef6493bc].
︙ | ︙ | |||
27 28 29 30 31 32 33 | try: xMri = ctx.ServiceManager.createInstanceWithContext("mytools.Mri", ctx) xMri.inspect(xTarget) except: raise _rtex("\nPython extension MRI is not installed", uno.getComponentContext()) | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | try: xMri = ctx.ServiceManager.createInstanceWithContext("mytools.Mri", ctx) xMri.inspect(xTarget) except: raise _rtex("\nPython extension MRI is not installed", uno.getComponentContext()) def getConfigSetting (sNodeConfig, bUpdate=False): "get a configuration node" # example: xNode = getConfigSetting("/org.openoffice.Office.Common/Path/Current", False) xSvMgr = uno.getComponentContext().ServiceManager xConfigProvider = xSvMgr.createInstanceWithContext("com.sun.star.configuration.ConfigurationProvider", uno.getComponentContext()) xPropertyValue = uno.createUnoStruct("com.sun.star.beans.PropertyValue") xPropertyValue.Name = "nodepath" xPropertyValue.Value = sNodeConfig |
︙ | ︙ |