From: Andrei Dinu Date: Wed, 15 May 2013 09:59:26 +0000 (+0000) Subject: propertydialog.py : Scrollable windows for long tooltips X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=78ecabf19bf01e5a662b6e2b865cd93bf47d962b;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git propertydialog.py : Scrollable windows for long tooltips In some cases, the length of the description and the brought in by field was too big. That led to the size of the property dialog exceeding Hob's size. For long tooltips we use scrollable windows now. [HOB #4321] Signed-off-by: Andrei Dinu Signed-off-by: Richard Purdie --- diff --git a/lib/bb/ui/crumbs/hig/propertydialog.py b/lib/bb/ui/crumbs/hig/propertydialog.py index 5bd9f956b41..bc40741bf23 100644 --- a/lib/bb/ui/crumbs/hig/propertydialog.py +++ b/lib/bb/ui/crumbs/hig/propertydialog.py @@ -275,24 +275,23 @@ class PropertyDialog(CrumbsDialog): binb_items_count = len(binb.split(',')) binb_items = binb.split(',') - vbox = gtk.VBox(True,spacing = 0) - + vbox = gtk.VBox(False,spacing = 0) + ######################################## SUMMARY LABEL ######################################### if summary != '': self.label_short = gtk.Label() - self.label_short.set_size_request(300,-1) + self.label_short.set_width_chars(37) self.label_short.set_selectable(True) self.label_short.set_line_wrap(True) self.label_short.set_markup("" + summary + "") self.label_short.set_property("xalign", 0) - self.vbox.pack_start(self.label_short, expand=False, fill=False, padding=0) + self.vbox.add(self.label_short) ########################################## NAME ROW + COL ####################################### self.label_short = gtk.Label() - self.label_short.set_size_request(300,-1) self.label_short.set_selectable(True) self.label_short.set_line_wrap(True) self.label_short.set_markup("Name: " + name) @@ -303,7 +302,6 @@ class PropertyDialog(CrumbsDialog): ####################################### VERSION ROW + COL #################################### self.label_short = gtk.Label() - self.label_short.set_size_request(300,-1) self.label_short.set_selectable(True) self.label_short.set_line_wrap(True) self.label_short.set_markup("Version: " + version) @@ -314,7 +312,6 @@ class PropertyDialog(CrumbsDialog): ##################################### REVISION ROW + COL ##################################### self.label_short = gtk.Label() - self.label_short.set_size_request(300,-1) self.label_short.set_line_wrap(True) self.label_short.set_selectable(True) self.label_short.set_markup("Revision: " + revision) @@ -325,7 +322,6 @@ class PropertyDialog(CrumbsDialog): ################################## GROUP ROW + COL ############################################ self.label_short = gtk.Label() - self.label_short.set_size_request(300,-1) self.label_short.set_selectable(True) self.label_short.set_line_wrap(True) self.label_short.set_markup("Group: " + group) @@ -347,7 +343,6 @@ class PropertyDialog(CrumbsDialog): self.label_info.set_property("xalign", 0) self.label_short = gtk.Label() - self.label_short.set_size_request(300,-1) self.label_short.set_selectable(True) self.label_short.set_line_wrap(True) self.label_short.set_markup("Homepage: ") @@ -369,7 +364,6 @@ class PropertyDialog(CrumbsDialog): self.label_info.set_property("xalign", 0) self.label_short = gtk.Label() - self.label_short.set_size_request(300,-1) self.label_short.set_selectable(True) self.label_short.set_line_wrap(True) self.label_short.set_markup("Bugtracker: ") @@ -381,7 +375,6 @@ class PropertyDialog(CrumbsDialog): ################################# LICENSE ROW + COL ############################################ self.label_info = gtk.Label() - self.label_info.set_size_request(300,-1) self.label_info.set_selectable(True) self.label_info.set_line_wrap(True) self.label_info.set_markup(license) @@ -404,16 +397,25 @@ class PropertyDialog(CrumbsDialog): self.label_short.set_line_wrap(True) self.label_short.set_markup("Brought in by: ") self.label_short.set_property("xalign", 0) - + self.vbox.add(self.label_short) self.label_info = gtk.Label() - self.label_info.set_size_request(300,-1) self.label_info.set_selectable(True) - self.label_info.set_markup(binb) - self.label_info.set_property("xalign", 0) - self.label_info.set_line_wrap(True) - - self.vbox.add(self.label_short) - self.vbox.add(self.label_info) + self.label_info.set_width_chars(36) + if len(binb) > 200: + scrolled_window = gtk.ScrolledWindow() + scrolled_window.set_policy(gtk.POLICY_NEVER,gtk.POLICY_ALWAYS) + scrolled_window.set_size_request(100,100) + self.label_info.set_markup(binb) + self.label_info.set_padding(6,6) + self.label_info.set_alignment(0,0) + self.label_info.set_line_wrap(True) + scrolled_window.add_with_viewport(self.label_info) + self.vbox.add(scrolled_window) + else: + self.label_info.set_markup(binb) + self.label_info.set_property("xalign", 0) + self.label_info.set_line_wrap(True) + self.vbox.add(self.label_info) ################################ DESCRIPTION TAG ROW ################################################# @@ -428,11 +430,22 @@ class PropertyDialog(CrumbsDialog): hbox = gtk.HBox(True,spacing = 0) self.label_short = gtk.Label() - self.label_short.set_size_request(300,-1) - self.label_short.set_selectable(True) - self.label_short.set_text(description) - self.label_short.set_line_wrap(True) - self.label_short.set_property("xalign", 0) - self.vbox.add(self.label_short) + self.label_short.set_selectable(True) + self.label_short.set_width_chars(36) + if len(description) > 200: + scrolled_window = gtk.ScrolledWindow() + scrolled_window.set_policy(gtk.POLICY_NEVER,gtk.POLICY_ALWAYS) + scrolled_window.set_size_request(100,100) + self.label_short.set_markup(description) + self.label_short.set_padding(6,6) + self.label_short.set_alignment(0,0) + self.label_short.set_line_wrap(True) + scrolled_window.add_with_viewport(self.label_short) + self.vbox.add(scrolled_window) + else: + self.label_short.set_markup(description) + self.label_short.set_property("xalign", 0) + self.label_short.set_line_wrap(True) + self.vbox.add(self.label_short) self.vbox.show_all()