ability to show HTML in plugin descriptions
This commit is contained in:
parent
bdda090d80
commit
627fe59cf1
|
@ -248,17 +248,14 @@
|
|||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTextView" id="plugin_description_textview">
|
||||
<object class="GtkScrolledWindow" id="scrolledwindow2">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="pixels_above_lines">6</property>
|
||||
<property name="editable">False</property>
|
||||
<property name="wrap_mode">word</property>
|
||||
<property name="left_margin">6</property>
|
||||
<property name="right_margin">6</property>
|
||||
<property name="indent">1</property>
|
||||
<property name="buffer">textbuffer1</property>
|
||||
<property name="hscrollbar_policy">automatic</property>
|
||||
<property name="vscrollbar_policy">automatic</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
|
|
|
@ -31,6 +31,7 @@ import gtk, gobject, os
|
|||
|
||||
import gtkgui_helpers
|
||||
from dialogs import WarningDialog, YesNoDialog, ArchiveChooserDialog
|
||||
from htmltextview import HtmlTextView
|
||||
from common import gajim
|
||||
from plugins.helpers import log_calls, log
|
||||
from plugins.helpers import GajimPluginActivateException
|
||||
|
@ -57,13 +58,15 @@ class PluginsWindow(object):
|
|||
|
||||
widgets_to_extract = ('plugins_notebook', 'plugin_name_label',
|
||||
'plugin_version_label', 'plugin_authors_label',
|
||||
'plugin_homepage_linkbutton', 'plugin_description_textview',
|
||||
'uninstall_plugin_button', 'configure_plugin_button',
|
||||
'installed_plugins_treeview')
|
||||
'plugin_homepage_linkbutton', 'uninstall_plugin_button',
|
||||
'configure_plugin_button', 'installed_plugins_treeview')
|
||||
|
||||
for widget_name in widgets_to_extract:
|
||||
setattr(self, widget_name, self.xml.get_object(widget_name))
|
||||
|
||||
self.plugin_description_textview = HtmlTextView()
|
||||
sw = self.xml.get_object('scrolledwindow2')
|
||||
sw.add(self.plugin_description_textview)
|
||||
attr_list = pango.AttrList()
|
||||
attr_list.insert(pango.AttrWeight(pango.WEIGHT_BOLD, 0, -1))
|
||||
self.plugin_name_label.set_attributes(attr_list)
|
||||
|
@ -138,12 +141,22 @@ class PluginsWindow(object):
|
|||
self.plugin_homepage_linkbutton.set_label(plugin.homepage)
|
||||
self.plugin_homepage_linkbutton.set_property('sensitive', True)
|
||||
|
||||
desc_textbuffer = self.plugin_description_textview.get_buffer()
|
||||
sw = self.xml.get_object('scrolledwindow2')
|
||||
old_tv = sw.get_children()[0]
|
||||
old_tv.destroy()
|
||||
self.plugin_description_textview = HtmlTextView()
|
||||
sw.add(self.plugin_description_textview)
|
||||
sw.show_all()
|
||||
from plugins.plugins_i18n import _
|
||||
txt = plugin.description
|
||||
txt.replace('</body>', '')
|
||||
if plugin.available_text:
|
||||
txt += '\n\n' + _('Warning: %s') % plugin.available_text
|
||||
desc_textbuffer.set_text(txt)
|
||||
txt += '<br/><br/>' + _('Warning: %s') % plugin.available_text
|
||||
if not txt.startswith('<body '):
|
||||
txt = '<body xmlns=\'http://www.w3.org/1999/xhtml\'>' + txt
|
||||
txt += ' </body>'
|
||||
self.plugin_description_textview.display_html(txt,
|
||||
self.plugin_description_textview, None)
|
||||
self.plugin_description_textview.set_property('sensitive', True)
|
||||
self.uninstall_plugin_button.set_property('sensitive',
|
||||
gajim.PLUGINS_DIRS[1] in plugin.__path__)
|
||||
|
|
Loading…
Reference in New Issue