From 676035742349f01f608eae50c4662fa3578a4c8b Mon Sep 17 00:00:00 2001 From: Reinier Heeres Date: Thu, 10 Jan 2008 18:21:29 +0000 Subject: Support for ellipsis in palette texts, #4562/#5765 --- (limited to 'lib') diff --git a/lib/sugar/graphics/menuitem.py b/lib/sugar/graphics/menuitem.py index 1b90843..908cc1f 100644 --- a/lib/sugar/graphics/menuitem.py +++ b/lib/sugar/graphics/menuitem.py @@ -18,11 +18,16 @@ import gtk from sugar.graphics.icon import Icon +import pango + class MenuItem(gtk.ImageMenuItem): - def __init__(self, text_label=None, icon_name=None): + def __init__(self, text_label=None, icon_name=None, text_maxlen=0): gtk.ImageMenuItem.__init__(self, text_label) if icon_name: icon = Icon(icon_name=icon_name, icon_size=gtk.ICON_SIZE_MENU) self.set_image(icon) icon.show() + if text_maxlen > 0: + self.child.set_ellipsize(pango.ELLIPSIZE_MIDDLE) + self.child.set_max_width_chars(text_maxlen) diff --git a/lib/sugar/graphics/palette.py b/lib/sugar/graphics/palette.py index a24a806..3a27923 100644 --- a/lib/sugar/graphics/palette.py +++ b/lib/sugar/graphics/palette.py @@ -21,6 +21,7 @@ import gtk import gobject import time import hippo +import pango from sugar.graphics import palettegroup from sugar.graphics import animator @@ -140,7 +141,8 @@ class Palette(gtk.Window): gobject.TYPE_NONE, ([])) } - def __init__(self, label, accel_path=None, menu_after_content=False): + def __init__(self, label, accel_path=None, menu_after_content=False, + text_maxlen=0): gtk.Window.__init__(self) self.set_decorated(False) @@ -178,6 +180,11 @@ class Palette(gtk.Window): - 2*self.get_border_width()) self._label.set_alignment(0, 0.5) self._label.set_padding(style.DEFAULT_SPACING, 0) + + if text_maxlen > 0: + self._label.set_max_width_chars(text_maxlen) + self._label.set_ellipsize(pango.ELLIPSIZE_MIDDLE) + vbox.pack_start(self._label, False) self._secondary_box = gtk.VBox() -- cgit v0.9.1