Codebase list sugar-write-activity / 1ff13ea
Update upstream source from tag 'upstream/100' Update to upstream version '100' with Debian dir c3232ece7d65b695558b6d78fb8eb4d674f9a6fc Jonas Smedegaard 5 years ago
10 changed file(s) with 167 addition(s) and 98 deletion(s). Raw diff Collapse all Expand all
0 [flake8]
1
2 # E402 module level import not at top of file
3 # gi.require_version() is required before later imports
4
5 ignore = E402
2525
2626 import gi
2727 gi.require_version('Gtk', '3.0')
28 gi.require_version('TelepathyGLib', '0.12')
29
2830 from gi.repository import Gtk
29 import telepathy
30 import telepathy.client
31 from gi.repository import TelepathyGLib
3132
3233 from sugar3.activity import activity
3334 from sugar3.activity.widgets import StopButton
186187
187188 if self.shared_activity:
188189 # we are joining the activity
189 logger.error('We are joining an activity')
190 logger.debug('We are joining an activity')
190191 # display a icon while joining
191192 self._connecting_box.show()
192193 # disable the abi widget
200201 self._joined_cb(self)
201202 else:
202203 # we are creating the activity
203 logger.error("We are creating an activity")
204 logger.debug("We are creating an activity")
204205
205206 self.abiword_canvas.zoom_width()
206207 self.abiword_canvas.show()
222223 def __map_activity_event_cb(self, event, activity):
223224 # set custom keybindings for Write
224225 # we do it later because have problems if done before - OLPC #11049
225 logger.error('Loading keybindings')
226 logger.debug('Loading keybindings')
226227 keybindings_file = os.path.join(get_bundle_path(), 'keybindings.xml')
227228 self.abiword_canvas.invoke_ex(
228229 'com.abisource.abiword.loadbindings.fromURI',
230231 # set default font
231232 if self._new_instance:
232233 self.abiword_canvas.select_all()
233 logging.error('Setting default font to %s %d in new documents',
234 logging.debug('Setting default font to %s %d in new documents',
234235 self._default_font_face, self._default_font_size)
235236 self.abiword_canvas.set_font_name(self._default_font_face)
236237 self.abiword_canvas.set_font_size(str(self._default_font_size))
265266 return preview_data
266267
267268 def _shared_cb(self, activity):
268 logger.error('My Write activity was shared')
269 logger.debug('My Write activity was shared')
269270 self._sharing_setup()
270271
271272 self.shared_activity.connect('buddy-joined', self._buddy_joined_cb)
272273 self.shared_activity.connect('buddy-left', self._buddy_left_cb)
273274
274 channel = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES]
275 logger.error('This is my activity: offering a tube...')
275 channel = self.tubes_chan[TelepathyGLib.IFACE_CHANNEL_TYPE_TUBES]
276 logger.debug('This is my activity: offering a tube...')
276277 id = channel.OfferDBusTube('com.abisource.abiword.abicollab', {})
277 logger.error('Tube address: %s', channel.GetDBusTubeAddress(id))
278 logger.debug('Tube address: %s', channel.GetDBusTubeAddress(id))
278279
279280 def _sharing_setup(self):
280281 logger.debug("_sharing_setup()")
287288 self.tubes_chan = self.shared_activity.telepathy_tubes_chan
288289 self.text_chan = self.shared_activity.telepathy_text_chan
289290 self.tube_id = None
290 self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].connect_to_signal(
291 self.tubes_chan[
292 TelepathyGLib.IFACE_CHANNEL_TYPE_TUBES].connect_to_signal(
291293 'NewTube', self._new_tube_cb)
292294
293295 def _list_tubes_reply_cb(self, tubes):
298300 logger.error('ListTubes() failed: %s', e)
299301
300302 def _joined_cb(self, activity):
301 logger.error("_joined_cb()")
303 logger.debug("_joined_cb()")
302304 if not self.shared_activity:
303305 self._enable_collaboration()
304306 return
305307
306308 self.joined = True
307 logger.error('Joined an existing Write session')
309 logger.debug('Joined an existing Write session')
308310 self._sharing_setup()
309311
310 logger.error('This is not my activity: waiting for a tube...')
311 self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].ListTubes(
312 logger.debug('This is not my activity: waiting for a tube...')
313 self.tubes_chan[TelepathyGLib.IFACE_CHANNEL_TYPE_TUBES].ListTubes(
312314 reply_handler=self._list_tubes_reply_cb,
313315 error_handler=self._list_tubes_error_cb)
314316 self._enable_collaboration()
323325 self._connecting_box.hide()
324326
325327 def _new_tube_cb(self, id, initiator, type, service, params, state):
326 logger.error('New tube: ID=%d initiator=%d type=%d service=%s '
328 logger.debug('New tube: ID=%d initiator=%d type=%d service=%s '
327329 'params=%r state=%d', id, initiator, type, service,
328330 params, state)
329331
331333 # We are already using a tube
332334 return
333335
334 if type != telepathy.TUBE_TYPE_DBUS or \
336 if type != TelepathyGLib.TubeType.DBUS or \
335337 service != "com.abisource.abiword.abicollab":
336338 return
337339
338 channel = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES]
339
340 if state == telepathy.TUBE_STATE_LOCAL_PENDING:
340 channel = self.tubes_chan[TelepathyGLib.IFACE_CHANNEL_TYPE_TUBES]
341
342 if state == TelepathyGLib.TubeState.LOCAL_PENDING:
341343 channel.AcceptDBusTube(id)
342344
343345 # look for the initiator's D-Bus unique name
345347 dbus_names = channel.GetDBusNames(id)
346348 for handle, name in dbus_names:
347349 if handle == initiator:
348 logger.error('found initiator D-Bus name: %s', name)
350 logger.debug('found initiator D-Bus name: %s', name)
349351 initiator_dbus_name = name
350352 break
351353
357359 # pass this tube to abicollab
358360 address = channel.GetDBusTubeAddress(id)
359361 if self.joined:
360 logger.error('Passing tube address to abicollab (join): %s',
362 logger.debug('Passing tube address to abicollab (join): %s',
361363 address)
362364 self.abiword_canvas.invoke_ex(cmd_prefix + 'joinTube',
363365 address, 0, 0)
364366 # The intiator of the session has to be the first passed
365367 # to the Abicollab backend.
366 logger.error('Adding the initiator to the session: %s',
368 logger.debug('Adding the initiator to the session: %s',
367369 initiator_dbus_name)
368370 self.abiword_canvas.invoke_ex(cmd_prefix + 'buddyJoined',
369371 initiator_dbus_name, 0, 0)
370372 else:
371 logger.error('Passing tube address to abicollab (offer): %s',
373 logger.debug('Passing tube address to abicollab (offer): %s',
372374 address)
373375 self.abiword_canvas.invoke_ex(cmd_prefix + 'offerTube', address,
374376 0, 0)
385387 according members of the D-Bus tube. That's why we don't add/remove
386388 buddies in _buddy_{joined,left}_cb.
387389 """
388 logger.error('_on_dbus_names_changed')
390 logger.debug('_on_dbus_names_changed')
389391 # if tube_id == self.tube_id:
390392 cmd_prefix = 'com.abisource.abiword.abicollab.olpc'
391393 for handle, bus_name in added:
392 logger.error('added handle: %s, with dbus_name: %s',
394 logger.debug('added handle: %s, with dbus_name: %s',
393395 handle, bus_name)
394396 self.abiword_canvas.invoke_ex(cmd_prefix + '.buddyJoined',
395397 bus_name, 0, 0)
397399
398400 def _on_members_changed(self, message, added, removed, local_pending,
399401 remote_pending, actor, reason):
400 logger.error("_on_members_changed")
402 logger.debug("_on_members_changed")
401403 for handle in removed:
402404 bus_name = self.participants.pop(handle, None)
403405 if bus_name is None:
406408 continue
407409
408410 cmd_prefix = 'com.abisource.abiword.abicollab.olpc'
409 logger.error('removed handle: %d, with dbus name: %s', handle,
411 logger.debug('removed handle: %d, with dbus name: %s', handle,
410412 bus_name)
411413 self.abiword_canvas.invoke_ex(cmd_prefix + '.buddyLeft',
412414 bus_name, 0, 0)
413415
414416 def _buddy_joined_cb(self, activity, buddy):
415 logger.error('buddy joined with object path: %s', buddy.object_path())
417 logger.debug('buddy joined with object path: %s', buddy.object_path())
416418
417419 def _buddy_left_cb(self, activity, buddy):
418 logger.error('buddy left with object path: %s', buddy.object_path())
420 logger.debug('buddy left with object path: %s', buddy.object_path())
419421
420422 def read_file(self, file_path):
421423 logging.debug('AbiWordActivity.read_file: %s, mimetype: %s',
437439 logger.debug('Writing file as type source (text/plain)')
438440 self.abiword_canvas.save('file://' + file_path, 'text/plain', '')
439441 else:
440 #if the file is new, save in .odt format
442 # if the file is new, save in .odt format
441443 if self.metadata['mime_type'] == '':
442444 self.metadata['mime_type'] = 'application/rtf'
443445
0 100
1
2 * Fix create table function (Swarup N),
3 * Add merge and split table cells (Ezequiel Pereira López, Swarup N),
4 * Update POT file (James Cameron),
5 * New translations (Chris Leonard et al).
6
7 99.1
8
9 * Add paste unformatted option (Ezequiel Pereira),
10 * Demote errors to debug (James Cameron),
11 * Port to TelepathyGLib (Rahul Bothra),
12 * Add screenshots and update metadata (Vipul Gupta),
13 * Update POT file (James Cameron).
14
015 99
116
217 * Use menu item instead of checkbox for image palette (Sam Parkinson),
22 bundle_id = org.laptop.AbiWordActivity
33 exec = sugar-activity AbiWordActivity.AbiWordActivity
44 icon = activity-write
5 activity_version = 99
5 activity_version = 100
66 max_participants = 6
77 show_launcher = 1
88 mime_types = text/rtf;text/plain;application/x-abiword;text/x-xml-abiword;application/msword;application/rtf;application/xhtml+xml;text/html;application/vnd.oasis.opendocument.text
99 license = GPLv2+
1010 summary = Write provides a space to put your words. Write a story, poem, report, anything! Try changing the look, and size of your text; even insert an image!
11 repository = https://github.com/sugarlabs/write-activity.git
11 repository = https://github.com/sugarlabs/write-activity
12 url = https://help.sugarlabs.org/en/write.html
13 tags = Language;Documents;Media
77 msgstr ""
88 "Project-Id-Version: PACKAGE VERSION\n"
99 "Report-Msgid-Bugs-To: \n"
10 "POT-Creation-Date: 2018-03-31 13:10+1100\n"
10 "POT-Creation-Date: 2019-02-21 16:23+1100\n"
1111 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1212 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313 "Language-Team: LANGUAGE <LL@li.org>\n"
2626 "anything! Try changing the look, and size of your text; even insert an image!"
2727 msgstr ""
2828
29 #: AbiWordActivity.py:72
29 #: AbiWordActivity.py:73
3030 msgid "Connecting..."
3131 msgstr ""
3232
33 #: AbiWordActivity.py:102
33 #: AbiWordActivity.py:103
3434 msgid "Edit"
3535 msgstr ""
3636
37 #: AbiWordActivity.py:108
37 #: AbiWordActivity.py:109
3838 msgid "View"
3939 msgstr ""
4040
41 #: AbiWordActivity.py:123
41 #: AbiWordActivity.py:124
4242 msgid "Text"
4343 msgstr ""
4444
45 #: AbiWordActivity.py:129
45 #: AbiWordActivity.py:130
4646 msgid "Paragraph"
4747 msgstr ""
4848
49 #: AbiWordActivity.py:135
49 #: AbiWordActivity.py:136
5050 msgid "Table"
5151 msgstr ""
5252
53 #: AbiWordActivity.py:139
53 #: AbiWordActivity.py:140
5454 msgid "Insert Image"
5555 msgstr ""
5656
57 #: AbiWordActivity.py:147
57 #: AbiWordActivity.py:148
5858 msgid "Floating"
5959 msgstr ""
6060
7070 msgid "Stop"
7171 msgstr ""
7272
73 #: toolbar.py:100
73 #: toolbar.py:76
74 msgid "Paste unformatted"
75 msgstr ""
76
77 #: toolbar.py:109
7478 msgid "Search"
7579 msgstr ""
7680
77 #: toolbar.py:117
81 #: toolbar.py:126
7882 msgid "Find previous"
7983 msgstr ""
8084
81 #: toolbar.py:123
85 #: toolbar.py:132
8286 msgid "Find next"
8387 msgstr ""
8488
85 #: toolbar.py:226
89 #: toolbar.py:238
8690 msgid "Create table"
8791 msgstr ""
8892
89 #: toolbar.py:236
93 #: toolbar.py:248
9094 msgid "Insert Row"
9195 msgstr ""
9296
93 #: toolbar.py:242
97 #: toolbar.py:254
9498 msgid "Delete Row"
9599 msgstr ""
96100
97 #: toolbar.py:248
101 #: toolbar.py:260
98102 msgid "Insert Column"
99103 msgstr ""
100104
101 #: toolbar.py:254
105 #: toolbar.py:266
102106 msgid "Delete Column"
103107 msgstr ""
104108
105 #: toolbar.py:299
109 #: toolbar.py:272
110 msgid "Merge Cells"
111 msgstr ""
112
113 #: toolbar.py:278
114 msgid "Split Cells"
115 msgstr ""
116
117 #: toolbar.py:330
106118 msgid "Zoom Out"
107119 msgstr ""
108120
109 #: toolbar.py:306
121 #: toolbar.py:337
110122 msgid "Zoom In"
111123 msgstr ""
112124
113 #: toolbar.py:313
125 #: toolbar.py:344
114126 msgid "Zoom to width"
115127 msgstr ""
116128
117 #: toolbar.py:330
129 #: toolbar.py:361
118130 msgid "%"
119131 msgstr ""
120132
121 #: toolbar.py:342
133 #: toolbar.py:373
122134 msgid "Page: "
123135 msgstr ""
124136
125 #: toolbar.py:441
137 #: toolbar.py:472
126138 msgid "Bold"
127139 msgstr ""
128140
129 #: toolbar.py:450
141 #: toolbar.py:481
130142 msgid "Italic"
131143 msgstr ""
132144
133 #: toolbar.py:460
145 #: toolbar.py:491
134146 msgid "Underline"
135147 msgstr ""
136148
137 #: toolbar.py:490
149 #: toolbar.py:521
138150 msgid "Choose alignment"
139151 msgstr ""
140152
141 #: toolbar.py:498
153 #: toolbar.py:529
142154 msgid "Left justify"
143155 msgstr ""
144156
145 #: toolbar.py:502
157 #: toolbar.py:533
146158 msgid "Center justify"
147159 msgstr ""
148160
149 #: toolbar.py:506
161 #: toolbar.py:537
150162 msgid "Right justify"
151163 msgstr ""
152164
153 #: toolbar.py:510
165 #: toolbar.py:541
154166 msgid "Fill justify"
155167 msgstr ""
156168
157 #: toolbar.py:571 toolbar.py:620
169 #: toolbar.py:602 toolbar.py:651
158170 msgid "Normal"
159171 msgstr ""
160172
161 #: toolbar.py:577
173 #: toolbar.py:608
162174 msgid "Heading 1"
163175 msgstr ""
164176
165 #: toolbar.py:581
177 #: toolbar.py:612
166178 msgid "Heading 2"
167179 msgstr ""
168180
169 #: toolbar.py:585
181 #: toolbar.py:616
170182 msgid "Heading 3"
171183 msgstr ""
172184
173 #: toolbar.py:589
185 #: toolbar.py:620
174186 msgid "Heading 4"
175187 msgstr ""
176188
177 #: toolbar.py:593
189 #: toolbar.py:624
178190 msgid "Block Text"
179191 msgstr ""
180192
181 #: toolbar.py:597
193 #: toolbar.py:628
182194 msgid "Plain Text"
183195 msgstr ""
184196
185 #: toolbar.py:612
197 #: toolbar.py:643
186198 msgid "Select list"
187199 msgstr ""
188200
189 #: toolbar.py:630
201 #: toolbar.py:661
190202 msgid "Bullet List"
191203 msgstr ""
192204
193 #: toolbar.py:635
205 #: toolbar.py:666
194206 msgid "Dashed List"
195207 msgstr ""
196208
197 #: toolbar.py:640
209 #: toolbar.py:671
198210 msgid "Numbered List"
199211 msgstr ""
200212
201 #: toolbar.py:645
213 #: toolbar.py:676
202214 msgid "Lower Case List"
203215 msgstr ""
204216
205 #: toolbar.py:650
217 #: toolbar.py:681
206218 msgid "Upper Case List"
207219 msgstr ""
208220
66 "Project-Id-Version: pt_BR\n"
77 "Report-Msgid-Bugs-To: \n"
88 "POT-Creation-Date: 2017-03-24 17:39+1100\n"
9 "PO-Revision-Date: 2014-12-21 15:37+0000\n"
10 "Last-Translator: joaoeliakin <joaoeliakin@gmail.com>\n"
9 "PO-Revision-Date: 2018-09-03 20:02+0000\n"
10 "Last-Translator: Paulo Francisco <slomp@ufrgs.br>\n"
1111 "Language-Team: Brazilian Portuguese <fedora-docs-br@redhat.com>\n"
1212 "Language: pt_BR\n"
1313 "MIME-Version: 1.0\n"
1515 "Content-Transfer-Encoding: 8bit\n"
1616 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
1717 "X-Generator: Pootle 2.5.1.1\n"
18 "X-POOTLE-MTIME: 1419176240.000000\n"
18 "X-POOTLE-MTIME: 1536004978.000000\n"
1919
2020 #: activity/activity.info:2
2121 msgid "Write"
2828 msgstr ""
2929 "Write provê um espaço para colocar suas palavras. Escreva uma história, "
3030 "poema ou reportagem, qualquer coisa! Tente modificar a aparência e o tamanho "
31 "do seu texto; até mesmo insira uma imagem!"
31 "do seu texto; é possível inserir imagens!"
3232
3333 #: widgets.py:118
3434 msgid "Rich Text (RTF)"
5656
5757 #: widgets.py:137
5858 msgid "Portable Document Format (PDF)"
59 msgstr "Formato de documento portável (PDF)"
59 msgstr "Formato de Documento Portável (PDF)"
6060
6161 #: widgets.py:139
6262 msgid "PDF"
8888
8989 #: toolbar.py:236
9090 msgid "Insert Row"
91 msgstr "Inserir Linha"
91 msgstr "Inserir linha"
9292
9393 #: toolbar.py:242
9494 msgid "Delete Row"
95 msgstr "Remover Linha"
95 msgstr "Excluir linha"
9696
9797 #: toolbar.py:248
9898 msgid "Insert Column"
99 msgstr "Inserir Coluna"
99 msgstr "Inserir coluna"
100100
101101 #: toolbar.py:254
102102 msgid "Delete Column"
103 msgstr "Remover Coluna"
103 msgstr "Excluir Coluna"
104104
105105 #: toolbar.py:299
106106 msgid "Zoom Out"
137137
138138 #: toolbar.py:490
139139 msgid "Choose alignment"
140 msgstr "Alterar alinhamento"
140 msgstr "Escolher alinhamento"
141141
142142 #: toolbar.py:498
143143 msgid "Left justify"
144 msgstr "Ajustado à esquerda"
144 msgstr "Justificado à esquerda"
145145
146146 #: toolbar.py:502
147147 msgid "Center justify"
148 msgstr "Ajustado ao Centro"
148 msgstr "Justificar ao centro"
149149
150150 #: toolbar.py:506
151151 msgid "Right justify"
152 msgstr "Ajustado à direita"
152 msgstr "Justificar à direita"
153153
154154 #: toolbar.py:510
155155 msgid "Fill justify"
156 msgstr "Ajustado para preenchimento"
156 msgstr "Justificar ambos os lados"
157157
158158 #: toolbar.py:571 toolbar.py:620
159159 msgid "Normal"
190190 # I think it's better not to translate the term "bullet"
191191 #: toolbar.py:630
192192 msgid "Bullet List"
193 msgstr "Lista"
193 msgstr "Lista demarcada"
194194
195195 #: toolbar.py:635
196196 msgid "Dashed List"
213213
214214 #: fontcombobox.py:90
215215 msgid "Select font"
216 msgstr "Selecione a fonte"
216 msgstr "Selecionar fonte"
217217
218218 #: AbiWordActivity.py:69
219219 msgid "Connecting..."
Binary diff not shown
Binary diff not shown
3131 from sugar3.graphics.colorbutton import ColorToolButton
3232 from sugar3.graphics.toggletoolbutton import ToggleToolButton
3333 from sugar3.graphics.palettemenu import PaletteMenuBox
34 from sugar3.graphics.palettemenu import PaletteMenuItem
3435 from sugar3.graphics import iconentry
3536 from sugar3.graphics import style
3637 from sugar3.activity.widgets import CopyButton
6667 paste.connect('clicked', self.__paste_button_cb)
6768 self.insert(paste, -1)
6869 paste.show()
70
71 menu_box = PaletteMenuBox()
72 paste.props.palette.set_content(menu_box)
73 menu_box.show()
74 menu_item = PaletteMenuItem()
75 menu_item.set_label(_('Paste unformatted'))
76 menu_item.connect('activate', self.__paste_special_button_cb)
77 menu_box.append_item(menu_item)
6978
7079 separator = Gtk.SeparatorToolItem()
7180 self.insert(separator, -1)
160169 else:
161170 self._abiword_canvas.paste()
162171
172 def __paste_special_button_cb(self, button):
173 self._abiword_canvas.paste_special()
174
163175 def _search_entry_activated_cb(self, entry):
164176 logger.debug('_search_entry_activated_cb')
165177 if not self._search_entry.props.text:
223235
224236 self._table_btn = ToolButton('create-table')
225237 self._table_btn.set_tooltip(_('Create table'))
226 self.insert(self._table_btn, -1)
227238 self._grid_create = GridCreateWidget()
228239 self._grid_create.show()
229240 self._grid_create.connect('create-table', self._create_table_cb)
230241 palette = self._table_btn.get_palette()
231242 palette.set_content(self._grid_create)
232243 self._table_btn.connect('clicked', self._table_btn_clicked_cb)
244 self.insert(self._table_btn, -1)
233245
234246 self._table_rows_after = ToolButton('row-insert')
235247 self._table_rows_after.set_tooltip(_('Insert Row'))
255267 'clicked', self._table_delete_cols_cb)
256268 self.insert(self._table_delete_cols, -1)
257269
270 self._merge_cells = ToolButton('format-columns-single')
271 self._merge_cells.set_tooltip(_('Merge Cells'))
272 self._merge_cells_id = self._merge_cells.connect(
273 'clicked', self._merge_cells_cb)
274 self.insert(self._merge_cells, -1)
275
276 self._split_cells = ToolButton('format-columns-double')
277 self._split_cells.set_tooltip(_('Split Cells'))
278 self._split_cells_id = self._split_cells.connect(
279 'clicked', self._split_cells_cb)
280 self.insert(self._split_cells, -1)
281
258282 self.show_all()
259283
260284 self._abiword_canvas.connect('table-state', self._isTable_cb)
261 #self._abiword_canvas.connect('image-selected',
285 # self._abiword_canvas.connect('image-selected',
262286 # self._image_selected_cb)
263287
264288 def _table_btn_clicked_cb(self, button):
265 button.get_palette().popup(True, button.get_palette().SECONDARY)
289 button.get_palette().popup(True)
266290
267291 def _create_table_cb(self, abi, rows, cols):
268292 self._abiword_canvas.insert_table(rows, cols)
278302
279303 def _table_delete_cols_cb(self, button):
280304 self._abiword_canvas.invoke_ex('deleteColumns', '', 0, 0)
305
306 def _merge_cells_cb(self, button):
307 self._abiword_canvas.invoke('mergeCells')
308
309 def _split_cells_cb(self, button):
310 self._abiword_canvas.invoke('splitCells')
281311
282312 def _isTable_cb(self, abi, b):
283313 self._table_rows_after.set_sensitive(b)
284314 self._table_delete_rows.set_sensitive(b)
285315 self._table_cols_after.set_sensitive(b)
286316 self._table_delete_cols.set_sensitive(b)
317 self._merge_cells.set_sensitive(b)
318 self._split_cells.set_sensitive(b)
287319
288320
289321 class ViewToolbar(Gtk.Toolbar):
214214 try:
215215 self.connect('request-clear-area', self.__request_clear_area_cb)
216216 except:
217 logging.error('EXCEPTION: request-clear-area signal not available')
217 logging.debug('EXCEPTION: request-clear-area signal not available')
218218
219219 try:
220220 self.connect('unset-clear-area', self.__unset_clear_area_cb)
221221 except:
222 logging.error('EXCEPTION: unset-clear-area signal not available')
222 logging.debug('EXCEPTION: unset-clear-area signal not available')
223223
224224 self.osk_changed = False
225225 self.dy = 0
272272
273273 def get_version(self):
274274 version = Abi._version
275 logging.error('Abiword version %s', version)
275 logging.debug('Abiword version %s', version)
276276 return version