summaryrefslogtreecommitdiff
path: root/SoftwareProperties
diff options
context:
space:
mode:
authorSebastian Heinlein <renate@hph4>2006-04-17 16:20:07 +0200
committerSebastian Heinlein <renate@hph4>2006-04-17 16:20:07 +0200
commit4b4323bc297cde4d65280a0844b7977ce52a34b7 (patch)
tree4ba61a0faf408265258d0138e98507c3cd04aeae /SoftwareProperties
parentb06e74048b8b959e4216e79af759d0d4ad365573 (diff)
downloadpython-apt-4b4323bc297cde4d65280a0844b7977ce52a34b7.tar.gz
* do not allow to create an invalid channel in the edit dialog
Diffstat (limited to 'SoftwareProperties')
-rw-r--r--SoftwareProperties/dialog_edit.py57
1 files changed, 37 insertions, 20 deletions
diff --git a/SoftwareProperties/dialog_edit.py b/SoftwareProperties/dialog_edit.py
index 05cbddba..eb2cdc97 100644
--- a/SoftwareProperties/dialog_edit.py
+++ b/SoftwareProperties/dialog_edit.py
@@ -41,6 +41,9 @@ class dialog_edit:
self.gladexml = gtk.glade.XML("%s/glade/SoftwarePropertiesDialogs.glade" % datadir)
self.main = self.gladexml.get_widget("dialog_edit")
self.main.set_transient_for(parent)
+ self.button_edit_ok = self.gladexml.get_widget("button_edit_ok")
+ self.gladexml.signal_connect("on_entry_source_line_changed",
+ self.check_line)
# type
combo_type = self.gladexml.get_widget("combobox_type")
@@ -70,29 +73,43 @@ class dialog_edit:
entry = self.gladexml.get_widget("entry_comment")
entry.set_text(source_entry.comment)
- def run(self):
- res = self.main.run()
- if res == gtk.RESPONSE_OK:
- # get values
- combo_type = self.gladexml.get_widget("combobox_type")
- if combo_type.get_active() == 0:
- line = "deb"
- else:
- line = "deb-src"
- entry = self.gladexml.get_widget("entry_uri")
- line = line + " " + entry.get_text()
+ def check_line(self, *args):
+ """Check for a valid apt line and set the sensitiveness of the
+ button 'add' accordingly"""
+ line = self.get_line()
+ source_entry = aptsources.SourceEntry(line)
+ if source_entry.invalid == True or source_entry.disabled == True:
+ self.button_edit_ok.set_sensitive(False)
+ else:
+ self.button_edit_ok.set_sensitive(True)
+
+ def get_line(self):
+ """Collect all values from the entries and create an apt line"""
+ combo_type = self.gladexml.get_widget("combobox_type")
+ if combo_type.get_active() == 0:
+ line = "deb"
+ else:
+ line = "deb-src"
+ entry = self.gladexml.get_widget("entry_uri")
+ line = line + " " + entry.get_text()
- entry = self.gladexml.get_widget("entry_dist")
- line = line + " " + entry.get_text()
+ entry = self.gladexml.get_widget("entry_dist")
+ line = line + " " + entry.get_text()
- entry = self.gladexml.get_widget("entry_comps")
- line = line + " " + entry.get_text()
+ entry = self.gladexml.get_widget("entry_comps")
+ line = line + " " + entry.get_text()
- entry = self.gladexml.get_widget("entry_comment")
- if entry.get_text() != "":
- line = line + " #" + entry.get_text() + "\n"
- else:
- line = line + "\n"
+ entry = self.gladexml.get_widget("entry_comment")
+ if entry.get_text() != "":
+ line = line + " #" + entry.get_text() + "\n"
+ else:
+ line = line + "\n"
+ return line
+
+ def run(self):
+ res = self.main.run()
+ if res == gtk.RESPONSE_OK:
+ line = self.get_line()
# change repository
index = self.sourceslist.list.index(self.source_entry)