[plugin_installer] Simplify setting description

This commit is contained in:
Philipp Hörist
2017-02-25 01:17:40 +01:00
parent 71491aa9a1
commit 28b12464aa
2 changed files with 22 additions and 45 deletions

View File

@@ -70,6 +70,7 @@
<child>
<object class="GtkProgressBar" id="progressbar">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="ellipsize">end</property>
</object>
<packing>
@@ -174,10 +175,9 @@ Upgrade</property>
<property name="column_spacing">5</property>
<child>
<object class="GtkLabel" id="name_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="halign">start</property>
<property name="label" translatable="yes">&amp;lt;empty&amp;gt;</property>
<property name="selectable">True</property>
<attributes>
<attribute name="weight" value="bold"/>
@@ -245,7 +245,6 @@ Upgrade</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">False</property>
<property name="label">&lt;empty&gt;</property>
<property name="selectable">True</property>
</object>
<packing>
@@ -259,7 +258,6 @@ Upgrade</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<property name="label">&lt;empty&gt;</property>
<property name="wrap_mode">word-char</property>
<property name="selectable">True</property>
<property name="ellipsize">end</property>
@@ -271,10 +269,10 @@ Upgrade</property>
</child>
<child>
<object class="GtkLinkButton" id="homepage_linkbutton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">True</property>
<property name="no_show_all">True</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="relief">none</property>

View File

@@ -169,15 +169,11 @@ class PluginInstaller(GajimPlugin):
self.available_plugins_model.set_sort_column_id(
2, Gtk.SortType.ASCENDING)
self.progressbar.set_property('no-show-all', True)
selection = self.available_treeview.get_selection()
selection.connect(
'changed', self.available_plugins_treeview_selection_changed)
selection.set_mode(Gtk.SelectionMode.SINGLE)
self._clear_available_plugin_info()
self.description_textview = HtmlTextView()
self.description_textview.set_wrap_mode(Gtk.WrapMode.WORD)
self.scrolled_description_window.add(self.description_textview)
@@ -305,42 +301,23 @@ class PluginInstaller(GajimPlugin):
def available_plugins_treeview_selection_changed(self, treeview_selection):
model, iter = treeview_selection.get_selected()
self.xml.get_object('scrolled_description_window'). \
get_children()[0].destroy()
self.description_textview = HtmlTextView()
self.description_textview.set_wrap_mode(Gtk.WrapMode.WORD)
sw = self.xml.get_object('scrolled_description_window')
sw.add(self.description_textview)
sw.show_all()
if iter:
self.name_label.set_text(model.get_value(iter, Column.NAME))
self.version_label.set_text(model.get_value(iter, Column.VERSION))
self.authors_label.set_text(model.get_value(iter, Column.AUTHORS))
self.homepage_linkbutton.set_uri(
model.get_value(iter, Column.HOMEPAGE))
self.homepage_linkbutton.set_label(
model.get_value(iter, Column.HOMEPAGE))
label = self.homepage_linkbutton.get_children()[0]
label.set_ellipsize(Pango.EllipsizeMode.END)
self.homepage_linkbutton.set_property('sensitive', True)
desc = _(model.get_value(iter, Column.DESCRIPTION))
if not desc.startswith('<body '):
desc = ('<body xmlns=\'http://www.w3.org/1999/xhtml\'>'
'%s</body>') % desc
desc = desc.replace('\n', '<br/>')
self.description_textview.display_html(
desc, self.description_textview, None)
self.description_textview.set_property('sensitive', True)
else:
self._clear_available_plugin_info()
def _clear_available_plugin_info(self):
self.name_label.set_text('')
self.version_label.set_text('')
self.authors_label.set_text('')
self.homepage_linkbutton.set_uri('')
self.homepage_linkbutton.set_label('')
self.homepage_linkbutton.set_property('sensitive', False)
self.description_textview.get_buffer().set_text('')
self.name_label.set_text(model.get_value(iter, Column.NAME))
self.version_label.set_text(model.get_value(iter, Column.VERSION))
self.authors_label.set_text(model.get_value(iter, Column.AUTHORS))
self.homepage_linkbutton.set_uri(
model.get_value(iter, Column.HOMEPAGE))
self.homepage_linkbutton.set_label(
model.get_value(iter, Column.HOMEPAGE))
link_label = self.homepage_linkbutton.get_children()[0]
link_label.set_ellipsize(Pango.EllipsizeMode.END)
desc = _(model.get_value(iter, Column.DESCRIPTION))
if not desc.startswith('<body '):
desc = ('<body xmlns=\'http://www.w3.org/1999/xhtml\'>'
'%s</body>') % desc
desc = desc.replace('\n', '<br/>')
self.description_textview.display_html(
desc, self.description_textview, None)
def select_root_iter(self):
selection = self.available_treeview.get_selection()
@@ -348,6 +325,8 @@ class PluginInstaller(GajimPlugin):
root_iter = self.available_plugins_model.get_iter_first()
path = self.available_plugins_model.get_path(root_iter)
selection.select_iter(root_iter)
self.name_label.show()
self.homepage_linkbutton.show()
self.available_treeview.scroll_to_cell(path)