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)
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 == '':