Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2010-02-01 02:11:10 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2010-02-01 02:11:10 (GMT)
commitb8f55841731f8a8973f09ed9d2d9697659beac4a (patch)
tree01df03579887c3af45bf326a8442c7aed49fd55f
parent3c4c060ef6f4292630ffc94b132eb3ff3d385b4b (diff)
Finalize long titles correctly
-rw-r--r--src/jarabe/journal/entry.py36
-rw-r--r--src/jarabe/journal/thumbsview.py1
2 files changed, 19 insertions, 18 deletions
diff --git a/src/jarabe/journal/entry.py b/src/jarabe/journal/entry.py
index 4b4a1fb..5cd8351 100644
--- a/src/jarabe/journal/entry.py
+++ b/src/jarabe/journal/entry.py
@@ -111,16 +111,16 @@ class Entry(gtk.TextView):
def _set_edit_mode(self):
if self.max_line_count == 1:
gtk.TextView.set_wrap_mode(self, gtk.WRAP_NONE)
- self.set_size_request(-1, TEXT_HEIGHT)
+ self._set_height_request(1)
else:
- gtk.TextView.set_wrap_mode(self, gtk.WRAP_WORD)
- self.set_size_request(-1, TEXT_HEIGHT * self._line_count())
+ gtk.TextView.set_wrap_mode(self, gtk.WRAP_WORD_CHAR)
+ self._set_height_request(self._line_count())
def _set_accent_mode(self):
if self._text is None:
return
- gtk.TextView.set_wrap_mode(self, gtk.WRAP_WORD)
+ gtk.TextView.set_wrap_mode(self, gtk.WRAP_WORD_CHAR)
buf = self.props.buffer
buf.props.text = self._text
@@ -140,17 +140,14 @@ class Entry(gtk.TextView):
accent()
offset = last_offset()
- if offset is not None:
- offset = len(buf.props.text[:offset].rstrip()) - 1
+ while offset is not None:
+ offset = len(buf.props.text[:offset].rstrip())
buf.props.text = buf.props.text[:offset] + '...'
-
- final_offset = last_offset()
- if final_offset is not None and final_offset < offset + 3:
- # ellipses added new line
- buf.props.text = buf.props.text[:offset - 3] + '...'
+ accent()
+ offset = last_offset()
accent()
- self.set_size_request(-1, TEXT_HEIGHT * self._line_count())
+ self._set_height_request(self._line_count())
def _select(self):
buf = self.props.buffer
@@ -158,14 +155,17 @@ class Entry(gtk.TextView):
self.scroll_to_iter(buf.get_end_iter(), 0, False)
buf.select_range(buf.get_end_iter(), buf.get_start_iter())
+ def _set_height_request(self, lines_number):
+ new_height = TEXT_HEIGHT * lines_number
+ width, old_height = self.get_size_request()
+
+ if new_height != old_height:
+ self.set_size_request(width, new_height)
+ self.parent.check_resize()
+
def __buffer_changed_cb(self, buffer):
if self.props.has_focus and self.max_line_count > 1:
- __, height = self.get_size_request()
- new_height = TEXT_HEIGHT * self._line_count()
- if new_height != height:
- self.set_size_request(-1, new_height)
- self.parent.check_resize()
-
+ self._set_height_request(self._line_count())
return False
def __button_press_event_cb(self, widget, event):
diff --git a/src/jarabe/journal/thumbsview.py b/src/jarabe/journal/thumbsview.py
index be518c1..44f6f0b 100644
--- a/src/jarabe/journal/thumbsview.py
+++ b/src/jarabe/journal/thumbsview.py
@@ -96,6 +96,7 @@ class _Cell(Cell):
# text box
title = Title(max_line_count=2)
+ title.set_size_request(style.GRID_CELL_SIZE / 2 + preview.THUMB_WIDTH, -1)
table.attach(title, 1, 4, 1, 2, gtk.EXPAND | gtk.FILL, gtk.SHRINK, 0, 0)
self.add_field(title)