Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-10-24 17:48:38 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-10-24 17:48:38 (GMT)
commitd116dde43eb00276c1c5a33419baca67c8a0a70c (patch)
treed15c8f0c0f5896372a39a78c4d1999fb46ac5191
parent27ac686726234ec6a6f5cc15e93ce534b069958f (diff)
fixed style problem with textview (with help from rgs)
-rw-r--r--PortfolioActivity.py60
1 files changed, 39 insertions, 21 deletions
diff --git a/PortfolioActivity.py b/PortfolioActivity.py
index a7a2430..8b4c4de 100644
--- a/PortfolioActivity.py
+++ b/PortfolioActivity.py
@@ -15,6 +15,7 @@ from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GdkPixbuf
from gi.repository import GObject
+from gi.repository import Pango
import subprocess
import os
import time
@@ -381,7 +382,7 @@ class PortfolioActivity(activity.Activity):
int(self._descriptionwh[1]),
self._colors)))
self._description.set_label_attributes(
- int(self._descriptionf * self._scale))
+ int(self._descriptionf * self._scale), vert_align="top")
self._description.type = 'description'
self._my_canvas = Sprite(
@@ -849,13 +850,13 @@ class PortfolioActivity(activity.Activity):
self.fullscreen()
def _text_focus_out_cb(self, widget=None, event=None):
- bounds = self.text_entry.get_buffer().get_bounds()
- s = self.text_entry.get_buffer().get_text(bounds[0], bounds[1], True)
- self._selected_spr.set_label(s)
+ bounds = self.text_buffer.get_bounds()
+ text = self.text_buffer.get_text(bounds[0], bounds[1], True)
+ self._selected_spr.set_label(text)
self._saved_string = self._selected_spr.labels[0]
def _button_press_cb(self, win, event):
- ''' The mouse button was pressed. Is it on a thumbnail sprite? '''
+ ''' The mouse button was pressed. Is it on a sprite? '''
x, y = map(int, event.get_coords())
self._dragpos = [x, y]
@@ -882,35 +883,52 @@ class PortfolioActivity(activity.Activity):
else:
label = self._selected_spr.labels[0]
self._selected_spr.set_label(label)
+ if not hasattr(self, 'desc_entry'):
+ self.desc_entry = Gtk.TextView()
+ self.desc_entry.set_justification(Gtk.Justification.CENTER)
+ self.desc_entry.set_pixels_above_lines(4)
+ self.desc_entry.override_background_color(
+ Gtk.StateType.NORMAL, Gdk.RGBA(0, 0, 0, 0))
+ font_desc = Pango.font_description_from_string ('16')
+ self.desc_entry.modify_font(font_desc)
+ self.desc_buffer = self.desc_entry.get_buffer()
+ self.fixed.put(self.desc_entry, 0, 0)
+ self.text_entry = self.desc_entry
+ self.text_buffer = self.desc_entry.get_buffer()
+ self.desc_entry.show()
elif spr.type == 'title':
if self.initiating is None or self.initiating:
label = self._selected_spr.labels[0]
self._selected_spr.set_label(label)
else:
self._selected_spr = None
- if not hasattr(self, 'text_entry'):
- self.text_entry = Gtk.TextView()
- self.text_entry.set_justification(Gtk.Justification.CENTER)
- self.text_entry.set_pixels_above_lines(4)
- '''
- NOTE: Use override_background_color in GTK3 port to set
- transparent background.
- '''
- self.text_entry.override_background_color()
- self.text_buffer = Gtk.TextBuffer()
- self.fixed.put(self.text_entry, 0, 0)
- self.text_entry.show()
+ if not hasattr(self, 'title_entry'):
+ self.title_entry = Gtk.TextView()
+ self.title_entry.set_justification(Gtk.Justification.CENTER)
+ self.title_entry.set_pixels_above_lines(4)
+ self.title_entry.override_background_color(
+ Gtk.StateType.NORMAL, Gdk.RGBA(0, 0, 0, 0))
+ font_desc = Pango.font_description_from_string ('24')
+ self.title_entry.modify_font(font_desc)
+ self.title_buffer = self.title_entry.get_buffer()
+ self.fixed.put(self.title_entry, 0, 0)
+ self.text_entry = self.title_entry
+ self.text_buffer = self.title_entry.get_buffer()
+ self.title_entry.show()
+ self.text_buffer.set_text('')
self.text_buffer.set_text(self._saved_string)
- self.text_entry.set_buffer(self.text_buffer)
+
+ spr.set_label('') # Clear the label while the text_entry is visible
w = spr.label_safe_width()
h = spr.label_safe_height()
- self.text_entry.set_size_request(w, h)
bx, by = spr.get_xy()
mx, my = spr.label_left_top()
+ self.text_entry.set_size_request(w, h)
self.fixed.move(self.text_entry, bx + mx, by + my * 2)
- self.fixed.show()
- self.text_entry.connect('focus-out-event', self._text_focus_out_cb)
+ self.text_entry.connect('focus-out-event',
+ self._text_focus_out_cb)
self.text_entry.grab_focus()
+ self.fixed.show()
else:
self._unselect()