summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristiana Voicu <cristiana.voicu@intel.com>2012-10-01 12:11:29 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-10-02 11:23:36 +0100
commitd6472608112b8af2e98f247e6f89a7f948b2d020 (patch)
treefb3d1ee6f544dac80cd5c4372501eca2bc60077c
parent7fc33f0a8a38d9b8984bf884e47e505791536d16 (diff)
downloadbitbake-d6472608112b8af2e98f247e6f89a7f948b2d020.tar.gz
hob/settings: Change the 'Delete' button behaviour in the shared state settings tab
-the tab shows an empty mirror row when no mirror is configured -able to delete the mirror row even if it's not empty(if it's not the first mirror) [YOCTO #3189] Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/ui/crumbs/hig.py37
1 files changed, 21 insertions, 16 deletions
diff --git a/lib/bb/ui/crumbs/hig.py b/lib/bb/ui/crumbs/hig.py
index 2ef8e36bf..dc7dce3e6 100644
--- a/lib/bb/ui/crumbs/hig.py
+++ b/lib/bb/ui/crumbs/hig.py
@@ -159,7 +159,7 @@ class SettingsUIHelper():
delete_button = HobAltButton("Delete")
delete_button.connect("clicked", self.delete_cb, index, entry)
- if content == "":
+ if content == "" and index == 0 and len(self.sstatemirrors_list) == 1:
delete_button.set_sensitive(False)
entry_match.connect("changed", self.insert_entry_match_cb, index)
@@ -188,7 +188,7 @@ class SettingsUIHelper():
def insert_entry_cb(self, entry, index, button):
self.sstatemirrors_list[index][1] = entry.get_text()
- if entry.get_text() == "":
+ if entry.get_text() == "" and index == 0:
button.set_sensitive(False)
else:
button.set_sensitive(True)
@@ -196,6 +196,7 @@ class SettingsUIHelper():
def on_combo_changed(self, combo, index):
if combo.get_active_text() == "Standard":
self.sstatemirrors_list[index][0] = 0
+ self.sstatemirrors_list[index][2] = "file://(.*)"
else:
self.sstatemirrors_list[index][0] = 1
self.refresh_shared_state_page()
@@ -450,7 +451,7 @@ class SimpleSettingsDialog (CrumbsDialog, SettingsUIHelper):
self.configuration.sstatedir = self.sstatedir_text.get_text()
self.configuration.sstatemirror = ""
for mirror in self.sstatemirrors_list:
- if mirror[1] != "" or len(self.sstatemirrors_list)==1:
+ if mirror[1] != "":
if mirror[1].endswith("\\1"):
smirror = mirror[2] + " " + mirror[1] + " \\n "
else:
@@ -548,20 +549,24 @@ class SimpleSettingsDialog (CrumbsDialog, SettingsUIHelper):
if self.sstatemirrors_changed == 0:
self.sstatemirrors_changed = 1
sstatemirrors = self.configuration.sstatemirror
- while sstatemirrors.find(searched_string) != -1:
- if sstatemirrors.find(searched_string,1) != -1:
- sstatemirror = sstatemirrors[:sstatemirrors.find(searched_string,1)]
- sstatemirrors = sstatemirrors[sstatemirrors.find(searched_string,1):]
- else:
- sstatemirror = sstatemirrors
- sstatemirrors = sstatemirrors[1:]
-
- sstatemirror_fields = [x for x in sstatemirror.split(' ') if x.strip()]
- if sstatemirror_fields[0] == "file://(.*)":
- sm_list = [ 0, sstatemirror_fields[1], "file://(.*)"]
- else:
- sm_list = [ 1, sstatemirror_fields[1], sstatemirror_fields[0]]
+ if sstatemirrors == "":
+ sm_list = [ 0, "", "file://(.*)"]
self.sstatemirrors_list.append(sm_list)
+ else:
+ while sstatemirrors.find(searched_string) != -1:
+ if sstatemirrors.find(searched_string,1) != -1:
+ sstatemirror = sstatemirrors[:sstatemirrors.find(searched_string,1)]
+ sstatemirrors = sstatemirrors[sstatemirrors.find(searched_string,1):]
+ else:
+ sstatemirror = sstatemirrors
+ sstatemirrors = sstatemirrors[1:]
+
+ sstatemirror_fields = [x for x in sstatemirror.split(' ') if x.strip()]
+ if sstatemirror_fields[0] == "file://(.*)":
+ sm_list = [ 0, sstatemirror_fields[1], "file://(.*)"]
+ else:
+ sm_list = [ 1, sstatemirror_fields[1], sstatemirror_fields[0]]
+ self.sstatemirrors_list.append(sm_list)
index = 0
for mirror in self.sstatemirrors_list: