summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIoana Grigoropol <ioanax.grigoropol@intel.com>2012-09-26 15:13:42 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-27 16:45:25 +0100
commit0e1a427a2558ca09bc71b4d549c468198af7e01c (patch)
tree12d52b353424b3c293f2e2e5a340db123ecdcb7c
parent4c229615eaedb6b7af6efa7d4d70848a8027594a (diff)
downloadpoky-0e1a427a2558ca09bc71b4d549c468198af7e01c.tar.gz
bitbake: hob: Buttons width and height are taken for host
- removed all set_size_request calls for buttons in order to: - force autosizing of buttons with regard to the text length - use host theme default height for buttons - modified buttons on image details page to have the same height (default host one) and the width of the button with the largest text - modified Stop button on build details page to have the default height by directly attaching it to the containing table instead of hbox (Bitbake rev: 9cdfaa17309d368c3bbae0f1cce0ad875d340e83) Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/builddetailspage.py8
-rw-r--r--bitbake/lib/bb/ui/crumbs/hig.py2
-rw-r--r--bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py15
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/imagedetailspage.py101
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/packageselectionpage.py2
-rwxr-xr-xbitbake/lib/bb/ui/crumbs/recipeselectionpage.py2
6 files changed, 100 insertions, 30 deletions
diff --git a/bitbake/lib/bb/ui/crumbs/builddetailspage.py b/bitbake/lib/bb/ui/crumbs/builddetailspage.py
index 824dfedc59..55a851feeb 100755
--- a/bitbake/lib/bb/ui/crumbs/builddetailspage.py
+++ b/bitbake/lib/bb/ui/crumbs/builddetailspage.py
@@ -206,7 +206,7 @@ class BuildDetailsPage (HobPage):
206 206
207 color = HobColors.ERROR 207 color = HobColors.ERROR
208 build_fail_top = gtk.EventBox() 208 build_fail_top = gtk.EventBox()
209 build_fail_top.set_size_request(-1, 200) 209 #build_fail_top.set_size_request(-1, 200)
210 build_fail_top.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color)) 210 build_fail_top.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color))
211 211
212 build_fail_tab = gtk.Table(14, 46, True) 212 build_fail_tab = gtk.Table(14, 46, True)
@@ -229,7 +229,7 @@ class BuildDetailsPage (HobPage):
229 229
230 # create button 'Edit packages' 230 # create button 'Edit packages'
231 action_button = HobButton(primary_action) 231 action_button = HobButton(primary_action)
232 action_button.set_size_request(-1, 40) 232 #action_button.set_size_request(-1, 40)
233 action_button.set_tooltip_text("Edit the %s parameters" % actions) 233 action_button.set_tooltip_text("Edit the %s parameters" % actions)
234 action_button.connect('clicked', self.failure_primary_action_button_clicked_cb, primary_action) 234 action_button.connect('clicked', self.failure_primary_action_button_clicked_cb, primary_action)
235 build_fail_tab.attach(action_button, 4, 13, 9, 12) 235 build_fail_tab.attach(action_button, 4, 13, 9, 12)
@@ -269,7 +269,7 @@ class BuildDetailsPage (HobPage):
269 def add_build_stop_top_bar(self, action, log_file=None): 269 def add_build_stop_top_bar(self, action, log_file=None):
270 color = HobColors.LIGHT_GRAY 270 color = HobColors.LIGHT_GRAY
271 build_stop_top = gtk.EventBox() 271 build_stop_top = gtk.EventBox()
272 build_stop_top.set_size_request(-1, 200) 272 #build_stop_top.set_size_request(-1, 200)
273 build_stop_top.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color)) 273 build_stop_top.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color))
274 build_stop_top.set_flags(gtk.CAN_DEFAULT) 274 build_stop_top.set_flags(gtk.CAN_DEFAULT)
275 build_stop_top.grab_default() 275 build_stop_top.grab_default()
@@ -307,7 +307,7 @@ class BuildDetailsPage (HobPage):
307 307
308 attach_pos = (24 if log_file else 14) 308 attach_pos = (24 if log_file else 14)
309 build_button = HobAltButton("Build new image") 309 build_button = HobAltButton("Build new image")
310 build_button.set_size_request(-1, 40) 310 #build_button.set_size_request(-1, 40)
311 build_button.set_tooltip_text("Create a new image from scratch") 311 build_button.set_tooltip_text("Create a new image from scratch")
312 build_button.connect('clicked', self.new_image_button_clicked_cb) 312 build_button.connect('clicked', self.new_image_button_clicked_cb)
313 build_stop_tab.attach(build_button, attach_pos, attach_pos + 9, 6, 9) 313 build_stop_tab.attach(build_button, attach_pos, attach_pos + 9, 6, 9)
diff --git a/bitbake/lib/bb/ui/crumbs/hig.py b/bitbake/lib/bb/ui/crumbs/hig.py
index 31747b325c..778d84331c 100644
--- a/bitbake/lib/bb/ui/crumbs/hig.py
+++ b/bitbake/lib/bb/ui/crumbs/hig.py
@@ -1056,7 +1056,7 @@ class DeployImageDialog (CrumbsDialog):
1056 icon.set_from_pixbuf(pix_buffer) 1056 icon.set_from_pixbuf(pix_buffer)
1057 button = gtk.Button("Select Image") 1057 button = gtk.Button("Select Image")
1058 button.set_image(icon) 1058 button.set_image(icon)
1059 button.set_size_request(140, 50) 1059 #button.set_size_request(140, 50)
1060 table.attach(button, 9, 10, 1, 2, gtk.FILL, 0, 0, 0) 1060 table.attach(button, 9, 10, 1, 2, gtk.FILL, 0, 0, 0)
1061 button.connect("clicked", self.select_image_button_clicked_cb) 1061 button.connect("clicked", self.select_image_button_clicked_cb)
1062 1062
diff --git a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
index cf7af2b741..e1c7a6719c 100644
--- a/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
+++ b/bitbake/lib/bb/ui/crumbs/imageconfigurationpage.py
@@ -167,13 +167,12 @@ class ImageConfigurationPage (HobPage):
167 markup += "dev-manual.html#understanding-and-using-layers\">reference manual</a>." 167 markup += "dev-manual.html#understanding-and-using-layers\">reference manual</a>."
168 self.layer_info_icon = HobInfoButton(markup, self.get_parent()) 168 self.layer_info_icon = HobInfoButton(markup, self.get_parent())
169 169
170 self.progress_box = gtk.HBox(False, 6) 170# self.progress_box = gtk.HBox(False, 6)
171 self.progress_bar = HobProgressBar() 171 self.progress_bar = HobProgressBar()
172 self.progress_box.pack_start(self.progress_bar, expand=True, fill=True) 172# self.progress_box.pack_start(self.progress_bar, expand=True, fill=True)
173 self.stop_button = HobAltButton("Stop") 173 self.stop_button = HobAltButton("Stop")
174 self.stop_button.connect("clicked", self.stop_button_clicked_cb) 174 self.stop_button.connect("clicked", self.stop_button_clicked_cb)
175 self.progress_box.pack_end(self.stop_button, expand=False, fill=False) 175# self.progress_box.pack_end(stop_button, expand=False, fill=False)
176
177 self.machine_separator = gtk.HSeparator() 176 self.machine_separator = gtk.HSeparator()
178 177
179 def set_config_machine_layout(self, show_progress_bar = False): 178 def set_config_machine_layout(self, show_progress_bar = False):
@@ -183,7 +182,9 @@ class ImageConfigurationPage (HobPage):
183 self.gtable.attach(self.layer_button, 14, 36, 7, 12) 182 self.gtable.attach(self.layer_button, 14, 36, 7, 12)
184 self.gtable.attach(self.layer_info_icon, 36, 40, 7, 11) 183 self.gtable.attach(self.layer_info_icon, 36, 40, 7, 11)
185 if show_progress_bar: 184 if show_progress_bar:
186 self.gtable.attach(self.progress_box, 0, 40, 15, 19) 185 #self.gtable.attach(self.progress_box, 0, 40, 15, 18)
186 self.gtable.attach(self.progress_bar, 0, 37, 15, 18)
187 self.gtable.attach(self.stop_button, 37, 40, 15, 18, 0, 0)
187 self.gtable.attach(self.machine_separator, 0, 40, 13, 14) 188 self.gtable.attach(self.machine_separator, 0, 40, 13, 14)
188 189
189 def create_config_baseimg(self): 190 def create_config_baseimg(self):
@@ -232,14 +233,14 @@ class ImageConfigurationPage (HobPage):
232 233
233 # create button "Build image" 234 # create button "Build image"
234 self.just_bake_button = HobButton("Build image") 235 self.just_bake_button = HobButton("Build image")
235 self.just_bake_button.set_size_request(205, 49) 236 #self.just_bake_button.set_size_request(205, 49)
236 self.just_bake_button.set_tooltip_text("Build target image") 237 self.just_bake_button.set_tooltip_text("Build target image")
237 self.just_bake_button.connect("clicked", self.just_bake_button_clicked_cb) 238 self.just_bake_button.connect("clicked", self.just_bake_button_clicked_cb)
238 button_box.pack_end(self.just_bake_button, expand=False, fill=False) 239 button_box.pack_end(self.just_bake_button, expand=False, fill=False)
239 240
240 # create button "Edit Image" 241 # create button "Edit Image"
241 self.edit_image_button = HobAltButton("Edit image") 242 self.edit_image_button = HobAltButton("Edit image")
242 self.edit_image_button.set_size_request(205, 49) 243 #self.edit_image_button.set_size_request(205, 49)
243 self.edit_image_button.set_tooltip_text("Edit target image") 244 self.edit_image_button.set_tooltip_text("Edit target image")
244 self.edit_image_button.connect("clicked", self.edit_image_button_clicked_cb) 245 self.edit_image_button.connect("clicked", self.edit_image_button_clicked_cb)
245 button_box.pack_end(self.edit_image_button, expand=False, fill=False) 246 button_box.pack_end(self.edit_image_button, expand=False, fill=False)
diff --git a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
index 1af67f24ed..a843ad4ce5 100755
--- a/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
+++ b/bitbake/lib/bb/ui/crumbs/imagedetailspage.py
@@ -41,10 +41,10 @@ class ImageDetailsPage (HobPage):
41 style.bg[gtk.STATE_NORMAL] = self.get_colormap().alloc_color(color, False, False) 41 style.bg[gtk.STATE_NORMAL] = self.get_colormap().alloc_color(color, False, False)
42 self.set_style(style) 42 self.set_style(style)
43 43
44 self.hbox = gtk.HBox() 44 self.row = gtk.Table(1, 2, False)
45 self.hbox.set_border_width(10) 45 self.row.set_border_width(10)
46 self.add(self.hbox) 46 self.add(self.row)
47 47
48 total_rows = 0 48 total_rows = 0
49 if widget: 49 if widget:
50 total_rows = 10 50 total_rows = 10
@@ -54,8 +54,8 @@ class ImageDetailsPage (HobPage):
54 self.table = gtk.Table(total_rows, 20, True) 54 self.table = gtk.Table(total_rows, 20, True)
55 self.table.set_row_spacings(6) 55 self.table.set_row_spacings(6)
56 self.table.set_size_request(100, -1) 56 self.table.set_size_request(100, -1)
57 self.hbox.pack_start(self.table, expand=True, fill=True, padding=15) 57 self.row.attach(self.table, 0, 1, 0, 1, xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
58 58
59 colid = 0 59 colid = 0
60 rowid = 0 60 rowid = 0
61 self.line_widgets = {} 61 self.line_widgets = {}
@@ -73,11 +73,80 @@ class ImageDetailsPage (HobPage):
73 # pack the button on the right 73 # pack the button on the right
74 if button: 74 if button:
75 self.bbox = gtk.VBox() 75 self.bbox = gtk.VBox()
76 self.bbox.pack_start(button, expand=True, fill=True) 76 self.bbox.pack_start(button, expand=True, fill=False)
77 if button2: 77 if button2:
78 self.bbox.pack_start(button2, expand=True, fill=True) 78 self.bbox.pack_start(button2, expand=True, fill=False)
79 self.hbox.pack_end(self.bbox, expand=False, fill=False) 79 self.bbox.set_size_request(150,-1)
80 self.row.attach(self.bbox, 1, 2, 0, 1, xoptions=gtk.FILL, yoptions=gtk.EXPAND)
81
82 def update_line_widgets(self, variable, value):
83 if len(self.line_widgets) == 0:
84 return
85 if not isinstance(self.line_widgets[variable], gtk.Label):
86 return
87 self.line_widgets[variable].set_markup(self.format_line(variable, value))
88
89 def wrap_line(self, inputs):
90 # wrap the long text of inputs
91 wrap_width_chars = 75
92 outputs = ""
93 tmps = inputs
94 less_chars = len(inputs)
95 while (less_chars - wrap_width_chars) > 0:
96 less_chars -= wrap_width_chars
97 outputs += tmps[:wrap_width_chars] + "\n "
98 tmps = inputs[less_chars:]
99 outputs += tmps
100 return outputs
101
102 def format_line(self, variable, value):
103 wraped_value = self.wrap_line(value)
104 markup = "<span weight=\'bold\'>%s</span>" % variable
105 markup += "<span weight=\'normal\' foreground=\'#1c1c1c\' font_desc=\'14px\'>%s</span>" % wraped_value
106 return markup
107
108 def text2label(self, variable, value):
109 # append the name:value to the left box
110 # such as "Name: hob-core-minimal-variant-2011-12-15-beagleboard"
111 label = gtk.Label()
112 label.set_alignment(0.0, 0.5)
113 label.set_markup(self.format_line(variable, value))
114 return label
115
116 class BuildDetailBox (gtk.EventBox):
117 def __init__(self, varlist = None, vallist = None, icon = None, color = HobColors.LIGHT_GRAY):
118 gtk.EventBox.__init__(self)
119
120 # set color
121 style = self.get_style().copy()
122 style.bg[gtk.STATE_NORMAL] = self.get_colormap().alloc_color(color, False, False)
123 self.set_style(style)
80 124
125 self.hbox = gtk.HBox()
126 self.hbox.set_border_width(10)
127 self.add(self.hbox)
128
129 total_rows = 0
130 if varlist and vallist:
131 # pack the icon and the text on the left
132 total_rows += len(varlist)
133 self.table = gtk.Table(total_rows, 20, True)
134 self.table.set_row_spacings(6)
135 self.table.set_size_request(100, -1)
136 self.hbox.pack_start(self.table, expand=True, fill=True, padding=15)
137
138 colid = 0
139 rowid = 0
140 self.line_widgets = {}
141 if icon:
142 self.table.attach(icon, colid, colid + 2, 0, 1)
143 colid = colid + 2
144 if varlist and vallist:
145 for row in range(rowid, total_rows):
146 index = row - rowid
147 self.line_widgets[varlist[index]] = self.text2label(varlist[index], vallist[index])
148 self.table.attach(self.line_widgets[varlist[index]], colid, 20, row, row + 1)
149
81 def update_line_widgets(self, variable, value): 150 def update_line_widgets(self, variable, value):
82 if len(self.line_widgets) == 0: 151 if len(self.line_widgets) == 0:
83 return 152 return
@@ -192,7 +261,7 @@ class ImageDetailsPage (HobPage):
192 icon.set_from_pixbuf(pix_buffer) 261 icon.set_from_pixbuf(pix_buffer)
193 varlist = [""] 262 varlist = [""]
194 vallist = ["Your image is ready"] 263 vallist = ["Your image is ready"]
195 self.build_result = self.DetailBox(varlist=varlist, vallist=vallist, icon=icon, color=color) 264 self.build_result = self.BuildDetailBox(varlist=varlist, vallist=vallist, icon=icon, color=color)
196 self.box_group_area.pack_start(self.build_result, expand=False, fill=False) 265 self.box_group_area.pack_start(self.build_result, expand=False, fill=False)
197 266
198 # create the buttons at the bottom first because the buttons are used in apply_button_per_image() 267 # create the buttons at the bottom first because the buttons are used in apply_button_per_image()
@@ -271,7 +340,7 @@ class ImageDetailsPage (HobPage):
271 change_kernel_button.connect("clicked", self.change_kernel_cb) 340 change_kernel_button.connect("clicked", self.change_kernel_cb)
272 change_kernel_button.set_tooltip_text("Change qemu kernel file") 341 change_kernel_button.set_tooltip_text("Change qemu kernel file")
273 self.kernel_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=change_kernel_button) 342 self.kernel_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=change_kernel_button)
274 self.box_group_area.pack_start(self.kernel_detail, expand=False, fill=False) 343 self.box_group_area.pack_start(self.kernel_detail, expand=True, fill=True)
275 344
276 # Machine, Base image and Layers 345 # Machine, Base image and Layers
277 layer_num_limit = 15 346 layer_num_limit = 15
@@ -316,7 +385,7 @@ class ImageDetailsPage (HobPage):
316 else: # get to this page from "My images" 385 else: # get to this page from "My images"
317 edit_packages_button = None 386 edit_packages_button = None
318 self.package_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=edit_packages_button) 387 self.package_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=edit_packages_button)
319 self.box_group_area.pack_start(self.package_detail, expand=False, fill=False) 388 self.box_group_area.pack_start(self.package_detail, expand=True, fill=True)
320 389
321 # pack the buttons at the bottom, at this time they are already created. 390 # pack the buttons at the bottom, at this time they are already created.
322 if self.build_succeeded: 391 if self.build_succeeded:
@@ -478,7 +547,7 @@ class ImageDetailsPage (HobPage):
478 name = "Deploy image" 547 name = "Deploy image"
479 if name in buttonlist and self.test_deployable(image_name): 548 if name in buttonlist and self.test_deployable(image_name):
480 deploy_button = HobButton('Deploy image') 549 deploy_button = HobButton('Deploy image')
481 deploy_button.set_size_request(205, 49) 550 #deploy_button.set_size_request(205, 49)
482 deploy_button.set_tooltip_text("Burn a live image to a USB drive or flash memory") 551 deploy_button.set_tooltip_text("Burn a live image to a USB drive or flash memory")
483 deploy_button.set_flags(gtk.CAN_DEFAULT) 552 deploy_button.set_flags(gtk.CAN_DEFAULT)
484 button_id = deploy_button.connect("clicked", self.deploy_button_clicked_cb) 553 button_id = deploy_button.connect("clicked", self.deploy_button_clicked_cb)
@@ -499,7 +568,7 @@ class ImageDetailsPage (HobPage):
499 else: 568 else:
500 # create button "Run image" as the primary button 569 # create button "Run image" as the primary button
501 run_button = HobButton("Run image") 570 run_button = HobButton("Run image")
502 run_button.set_size_request(205, 49) 571 #run_button.set_size_request(205, 49)
503 run_button.set_flags(gtk.CAN_DEFAULT) 572 run_button.set_flags(gtk.CAN_DEFAULT)
504 packed = True 573 packed = True
505 run_button.set_tooltip_text("Start up an image with qemu emulator") 574 run_button.set_tooltip_text("Start up an image with qemu emulator")
@@ -520,7 +589,7 @@ class ImageDetailsPage (HobPage):
520 save_button = HobAltButton("Save as template") 589 save_button = HobAltButton("Save as template")
521 else: 590 else:
522 save_button = HobButton("Save as template") 591 save_button = HobButton("Save as template")
523 save_button.set_size_request(205, 49) 592 #save_button.set_size_request(205, 49)
524 save_button.set_flags(gtk.CAN_DEFAULT) 593 save_button.set_flags(gtk.CAN_DEFAULT)
525 packed = True 594 packed = True
526 save_button.set_tooltip_text("Save the image configuration for reuse") 595 save_button.set_tooltip_text("Save the image configuration for reuse")
@@ -537,7 +606,7 @@ class ImageDetailsPage (HobPage):
537 else: 606 else:
538 build_new_button = HobButton("Build new image") 607 build_new_button = HobButton("Build new image")
539 build_new_button.set_flags(gtk.CAN_DEFAULT) 608 build_new_button.set_flags(gtk.CAN_DEFAULT)
540 build_new_button.set_size_request(205, 49) 609 #build_new_button.set_size_request(205, 49)
541 self.details_bottom_buttons.pack_end(build_new_button, expand=False, fill=False) 610 self.details_bottom_buttons.pack_end(build_new_button, expand=False, fill=False)
542 build_new_button.set_tooltip_text("Create a new image from scratch") 611 build_new_button.set_tooltip_text("Create a new image from scratch")
543 button_id = build_new_button.connect("clicked", self.build_new_button_clicked_cb) 612 button_id = build_new_button.connect("clicked", self.build_new_button_clicked_cb)
diff --git a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py
index 46bd014428..6792fe097f 100755
--- a/bitbake/lib/bb/ui/crumbs/packageselectionpage.py
+++ b/bitbake/lib/bb/ui/crumbs/packageselectionpage.py
@@ -146,7 +146,7 @@ class PackageSelectionPage (HobPage):
146 self.box_group_area.pack_start(self.button_box, expand=False, fill=False) 146 self.box_group_area.pack_start(self.button_box, expand=False, fill=False)
147 147
148 self.build_image_button = HobButton('Build image') 148 self.build_image_button = HobButton('Build image')
149 self.build_image_button.set_size_request(205, 49) 149 #self.build_image_button.set_size_request(205, 49)
150 self.build_image_button.set_tooltip_text("Build target image") 150 self.build_image_button.set_tooltip_text("Build target image")
151 self.build_image_button.set_flags(gtk.CAN_DEFAULT) 151 self.build_image_button.set_flags(gtk.CAN_DEFAULT)
152 self.build_image_button.grab_default() 152 self.build_image_button.grab_default()
diff --git a/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py b/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
index f252202ae8..8655c29fce 100755
--- a/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
+++ b/bitbake/lib/bb/ui/crumbs/recipeselectionpage.py
@@ -170,7 +170,7 @@ class RecipeSelectionPage (HobPage):
170 self.box_group_area.pack_end(button_box, expand=False, fill=False) 170 self.box_group_area.pack_end(button_box, expand=False, fill=False)
171 171
172 self.build_packages_button = HobButton('Build packages') 172 self.build_packages_button = HobButton('Build packages')
173 self.build_packages_button.set_size_request(205, 49) 173 #self.build_packages_button.set_size_request(205, 49)
174 self.build_packages_button.set_tooltip_text("Build selected recipes into packages") 174 self.build_packages_button.set_tooltip_text("Build selected recipes into packages")
175 self.build_packages_button.set_flags(gtk.CAN_DEFAULT) 175 self.build_packages_button.set_flags(gtk.CAN_DEFAULT)
176 self.build_packages_button.grab_default() 176 self.build_packages_button.grab_default()