[pitivi] effects: Show tooltips in the Effects Library
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] effects: Show tooltips in the Effects Library
- Date: Wed, 20 Jan 2016 19:18:46 +0000 (UTC)
commit c1809d179be35b4c080dc5c0a0d84ebad933a7b1
Author: Alexandru Băluț <alexandru balut gmail com>
Date: Tue Jan 12 19:00:33 2016 +0100
effects: Show tooltips in the Effects Library
This way the entire description can be read when it happens to be
ellipsized in the treeview.
Fixes https://phabricator.freedesktop.org/T3518
Reviewed-by: Thibault Saunier <tsaunier gnome org>
Differential Revision: https://phabricator.freedesktop.org/D671
pitivi/effects.py | 26 ++++++++++++++++++++------
1 files changed, 20 insertions(+), 6 deletions(-)
---
diff --git a/pitivi/effects.py b/pitivi/effects.py
index f029811..5cae000 100644
--- a/pitivi/effects.py
+++ b/pitivi/effects.py
@@ -343,11 +343,14 @@ class EffectListWidget(Gtk.Box, Loggable):
text_cell.set_property("ellipsize", Pango.EllipsizeMode.END)
text_col.pack_start(text_cell, True)
text_col.set_cell_data_func(
- text_cell, self.view_description_cell_data_func, None)
+ text_cell, self.viewDescriptionCellDataFunc, None)
self.view.append_column(icon_col)
self.view.append_column(text_col)
+ self.view.connect("query-tooltip", self._treeViewQueryTooltipCb)
+ self.view.props.has_tooltip = True
+
# Make the treeview a drag source which provides effects.
self.view.enable_model_drag_source(
Gdk.ModifierType.BUTTON1_MASK, [EFFECT_TARGET_ENTRY], Gdk.DragAction.COPY)
@@ -374,12 +377,23 @@ class EffectListWidget(Gtk.Box, Loggable):
scrollwin.show_all()
toolbar.show_all()
- @staticmethod
- def view_description_cell_data_func(unused_column, cell, model, iter_, unused_data):
- name, desc = model.get(iter_, COL_NAME_TEXT, COL_DESC_TEXT)
+ def _treeViewQueryTooltipCb(self, view, x, y, keyboard_mode, tooltip):
+ is_row, x, y, model, path, tree_iter = view.get_tooltip_context(
+ x, y, keyboard_mode)
+ if not is_row:
+ return False
+
+ view.set_tooltip_row(tooltip, path)
+ tooltip.set_markup(self.formatDescription(model, tree_iter))
+ return True
+
+ def viewDescriptionCellDataFunc(self, unused_column, cell, model, iter_, unused_data):
+ cell.props.markup = self.formatDescription(model, iter_)
+
+ def formatDescription(self, model, iter_):
+ name, element_name, desc = model.get(iter_, COL_NAME_TEXT, COL_ELEMENT_NAME, COL_DESC_TEXT)
escape = GLib.markup_escape_text
- cell.props.markup = "<b>%s</b>\n%s" % (escape(name),
- escape(desc),)
+ return "<b>%s</b>\n%s" % (escape(name), escape(desc))
def _loadAvailableEffectsCb(self):
self._addFactories(self.app.effects.getAllVideoEffects(), VIDEO_EFFECT)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]