Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorReinier Heeres <reinier@heeres.eu>2008-01-10 18:21:29 (GMT)
committer Reinier Heeres <reinier@heeres.eu>2008-01-10 18:21:29 (GMT)
commit676035742349f01f608eae50c4662fa3578a4c8b (patch)
tree0a7851ee339a785b1c90963fb1da21738478fcca /lib
parent986420ddf02b87a9d171753eccee551ad20815e2 (diff)
Support for ellipsis in palette texts, #4562/#5765
Diffstat (limited to 'lib')
-rw-r--r--lib/sugar/graphics/menuitem.py7
-rw-r--r--lib/sugar/graphics/palette.py9
2 files changed, 14 insertions, 2 deletions
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()