Hob: fixed the issue in the brought-in-by dialog.
When typing any thing in the search entry, the brough-in-by dialog will be shown. That is because we call back "selection-changed" signal to pop up the dialog, which is not correct. This patch is to fix the problem by using "row-activated" signal. (Bitbake rev: ea56ae787153460166697bbcae92f51a77ca1571) Signed-off-by: Liming An <limingx.l.an@intel.com> Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
b8582dc996
commit
7f61657357
|
@ -89,15 +89,12 @@ class BinbDialog(gtk.Dialog):
|
|||
self.set_resizable(False)
|
||||
self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.DARK))
|
||||
|
||||
hbox = gtk.HBox(False, 0)
|
||||
self.vbox.pack_start(hbox, expand=False, fill=False, padding=10)
|
||||
|
||||
label = gtk.Label(content)
|
||||
label.set_alignment(0, 0)
|
||||
label.set_line_wrap(True)
|
||||
label.modify_fg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.WHITE))
|
||||
|
||||
hbox.pack_start(label, expand=False, fill=False, padding=10)
|
||||
self.vbox.pack_start(label, expand=True, fill=True, padding=10)
|
||||
self.vbox.show_all()
|
||||
|
||||
#
|
||||
|
|
|
@ -526,7 +526,7 @@ class HobViewTable (gtk.VBox):
|
|||
gobject.TYPE_STRING,
|
||||
gobject.TYPE_INT,
|
||||
gobject.TYPE_PYOBJECT,)),
|
||||
"changed" : (gobject.SIGNAL_RUN_LAST,
|
||||
"row-activated" : (gobject.SIGNAL_RUN_LAST,
|
||||
gobject.TYPE_NONE,
|
||||
(gobject.TYPE_PYOBJECT,
|
||||
gobject.TYPE_PYOBJECT,)),
|
||||
|
@ -540,7 +540,8 @@ class HobViewTable (gtk.VBox):
|
|||
self.table_tree.set_enable_search(True)
|
||||
self.table_tree.set_rules_hint(True)
|
||||
self.table_tree.get_selection().set_mode(gtk.SELECTION_SINGLE)
|
||||
self.table_tree.get_selection().connect("changed", self.selection_changed_cb, self.table_tree)
|
||||
self.toggle_columns = []
|
||||
self.table_tree.connect("row-activated", self.row_activated_cb)
|
||||
|
||||
for i in range(len(columns)):
|
||||
col = gtk.TreeViewColumn(columns[i]['col_name'])
|
||||
|
@ -564,6 +565,7 @@ class HobViewTable (gtk.VBox):
|
|||
self.toggle_id = i
|
||||
col.pack_end(cell, True)
|
||||
col.set_attributes(cell, active=columns[i]['col_id'])
|
||||
self.toggle_columns.append(columns[i]['col_name'])
|
||||
elif columns[i]['col_style'] == 'radio toggle':
|
||||
cell = gtk.CellRendererToggle()
|
||||
cell.set_property('activatable', True)
|
||||
|
@ -572,6 +574,7 @@ class HobViewTable (gtk.VBox):
|
|||
self.toggle_id = i
|
||||
col.pack_end(cell, True)
|
||||
col.set_attributes(cell, active=columns[i]['col_id'])
|
||||
self.toggle_columns.append(columns[i]['col_name'])
|
||||
|
||||
scroll = gtk.ScrolledWindow()
|
||||
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
|
||||
|
@ -598,8 +601,9 @@ class HobViewTable (gtk.VBox):
|
|||
def toggled_cb(self, cell, path, columnid, tree):
|
||||
self.emit("toggled", cell, path, columnid, tree)
|
||||
|
||||
def selection_changed_cb(self, selection, tree):
|
||||
self.emit("changed", selection, tree)
|
||||
def row_activated_cb(self, tree, path, view_column):
|
||||
if not view_column.get_title() in self.toggle_columns:
|
||||
self.emit("row-activated", tree.get_model(), path)
|
||||
|
||||
class HobViewBar (gtk.EventBox):
|
||||
"""
|
||||
|
|
|
@ -116,7 +116,7 @@ class PackageSelectionPage (HobPage):
|
|||
tab.set_model(self.package_model.tree_model(filter))
|
||||
tab.connect("toggled", self.table_toggled_cb)
|
||||
if self.pages[i]['name'] == "Included":
|
||||
tab.connect("changed", self.tree_selection_cb)
|
||||
tab.connect("row-activated", self.tree_row_activated_cb)
|
||||
|
||||
reset_button = gtk.Button("Reset")
|
||||
reset_button.connect("clicked", self.reset_clicked_cb)
|
||||
|
@ -161,14 +161,8 @@ class PackageSelectionPage (HobPage):
|
|||
self.back_button.connect("clicked", self.back_button_clicked_cb)
|
||||
button_box.pack_start(self.back_button, expand=False, fill=False)
|
||||
|
||||
def tree_selection_cb(self, table, tree_selection, tree_view):
|
||||
tree_model = tree_view.get_model()
|
||||
path, column = tree_view.get_cursor()
|
||||
if not path or column == tree_view.get_column(2):
|
||||
return
|
||||
|
||||
it = tree_model.get_iter(path)
|
||||
binb = tree_model.get_value(it, PackageListModel.COL_BINB)
|
||||
def tree_row_activated_cb(self, table, tree_model, path):
|
||||
binb = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_BINB)
|
||||
if binb:
|
||||
self.builder.show_binb_dialog(binb)
|
||||
|
||||
|
|
|
@ -140,8 +140,7 @@ class RecipeSelectionPage (HobPage):
|
|||
tab.set_model(self.recipe_model.tree_model(filter))
|
||||
tab.connect("toggled", self.table_toggled_cb)
|
||||
if self.pages[i]['name'] == "Included":
|
||||
tab.connect("changed", self.tree_selection_cb)
|
||||
|
||||
tab.connect("row-activated", self.tree_row_activated_cb)
|
||||
reset_button = gtk.Button("Reset")
|
||||
reset_button.connect("clicked", self.reset_clicked_cb)
|
||||
hbox = gtk.HBox(False, 5)
|
||||
|
@ -185,14 +184,8 @@ class RecipeSelectionPage (HobPage):
|
|||
self.back_button.connect("clicked", self.back_button_clicked_cb)
|
||||
button_box.pack_start(self.back_button, expand=False, fill=False)
|
||||
|
||||
def tree_selection_cb(self, table, tree_selection, tree_view):
|
||||
tree_model = tree_view.get_model()
|
||||
path, column = tree_view.get_cursor()
|
||||
if not path or column == tree_view.get_column(2):
|
||||
return
|
||||
|
||||
it = tree_model.get_iter(path)
|
||||
binb = tree_model.get_value(it, RecipeListModel.COL_BINB)
|
||||
def tree_row_activated_cb(self, table, tree_model, path):
|
||||
binb = tree_model.get_value(tree_model.get_iter(path), RecipeListModel.COL_BINB)
|
||||
if binb:
|
||||
self.builder.show_binb_dialog(binb)
|
||||
|
||||
|
|
Loading…
Reference in New Issue