[ocrfeeder] Fix text in the pages icon view



commit 7dfe899ff1082b044a52bd0b0514b2384333cc52
Author: Joaquim Rocha <me joaquimrocha com>
Date:   Fri Jul 11 23:42:37 2014 +0200

    Fix text in the pages icon view
    
    The width of the icons/text was getting huge by default after, so
    instead of using the Gtk.IconView's default text renderer, now a
    custom one is used, with a maximum width and ellipsize set.
    
    gb#708365

 src/ocrfeeder/studio/pagesiconview.py   |   12 ++++++++++--
 src/ocrfeeder/studio/widgetPresenter.py |    2 +-
 2 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/src/ocrfeeder/studio/pagesiconview.py b/src/ocrfeeder/studio/pagesiconview.py
index 3e1156f..b6563d2 100644
--- a/src/ocrfeeder/studio/pagesiconview.py
+++ b/src/ocrfeeder/studio/pagesiconview.py
@@ -20,7 +20,7 @@
 
 import os
 import gettext
-from gi.repository import Gtk, Gdk, GdkPixbuf
+from gi.repository import Gtk, Gdk, GdkPixbuf, Pango
 _ = gettext.gettext
 
 class PagesListStore(Gtk.ListStore):
@@ -72,17 +72,25 @@ class PagesListStore(Gtk.ListStore):
 
 class PagesIconView(Gtk.IconView):
 
+    MAX_WIDTH_CHARS = 50
+
     def __init__(self):
         Gtk.IconView.__init__(self)
         self.set_model(PagesListStore())
         self.get_accessible().set_name(_('Pages'))
-        self.set_text_column(0)
         self.set_pixbuf_column(1)
         self.set_item_orientation(Gtk.Orientation.VERTICAL)
         self.set_columns(1)
         self.set_reorderable(True)
         self.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
         self.set_selection_mode(Gtk.SelectionMode.BROWSE)
+        text_renderer = Gtk.CellRendererText.new()
+        text_renderer.set_property('ellipsize-set', True)
+        text_renderer.set_property('max-width-chars', self.MAX_WIDTH_CHARS)
+        text_renderer.set_property('ellipsize', Pango.EllipsizeMode.MIDDLE)
+        self.pack_start(text_renderer, False)
+        self.add_attribute(text_renderer, 'text', 0)
+        area = self.get_area()
         self.connect('button-press-event', self.pressedRightButton)
 
     def pressedRightButton(self, target, event):
diff --git a/src/ocrfeeder/studio/widgetPresenter.py b/src/ocrfeeder/studio/widgetPresenter.py
index 5a1a7dd..a4b7db7 100644
--- a/src/ocrfeeder/studio/widgetPresenter.py
+++ b/src/ocrfeeder/studio/widgetPresenter.py
@@ -63,7 +63,7 @@ class MainWindow:
         self.main_area_left.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
         self.main_area_left.show()
 
-        self.main_area.pack1(self.main_area_left, False, False)
+        self.main_area.pack1(self.main_area_left, False, True)
         self.notebook = Gtk.Notebook()
         self.notebook.set_show_tabs(False)
         self.notebook.set_show_border(False)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]