summaryrefslogtreecommitdiffstats
path: root/lib/bb/ui/crumbs/hig/saveimagedialog.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bb/ui/crumbs/hig/saveimagedialog.py')
-rw-r--r--lib/bb/ui/crumbs/hig/saveimagedialog.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/bb/ui/crumbs/hig/saveimagedialog.py b/lib/bb/ui/crumbs/hig/saveimagedialog.py
index 56c00bbe56..e940ceee43 100644
--- a/lib/bb/ui/crumbs/hig/saveimagedialog.py
+++ b/lib/bb/ui/crumbs/hig/saveimagedialog.py
@@ -70,9 +70,11 @@ class SaveImageDialog (CrumbsDialog):
sub_label.set_alignment(0, 0)
sub_label.set_markup("The description should be less than 150 characters long.")
self.description_entry = gtk.TextView()
- self.description_entry.get_buffer().set_text(self.description_field)
+ description_buffer = self.description_entry.get_buffer()
+ description_buffer.set_text(self.description_field)
+ description_buffer.connect("insert-text", self.limit_description_length)
self.description_entry.set_wrap_mode(gtk.WRAP_WORD)
- self.description_entry.set_size_request(350,150)
+ self.description_entry.set_size_request(350,50)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(sub_label, expand=False, fill=False)
sub_vbox.pack_start(self.description_entry, expand=False, fill=False)
@@ -108,6 +110,13 @@ class SaveImageDialog (CrumbsDialog):
self.show_all()
+ def limit_description_length(self, textbuffer, iter, text, length):
+ buffer_bounds = textbuffer.get_bounds()
+ entire_text = textbuffer.get_text(*buffer_bounds)
+ entire_text += text
+ if len(entire_text)>150 or text=="\n":
+ textbuffer.emit_stop_by_name("insert-text")
+
def name_entry_changed(self, entry):
text = entry.get_text()
if text == '':