summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SoftwareProperties/SoftwareProperties.py53
-rw-r--r--SoftwareProperties/aptsources.py5
-rw-r--r--data/glade/SoftwareProperties.glade135
-rw-r--r--debian/changelog7
4 files changed, 168 insertions, 32 deletions
diff --git a/SoftwareProperties/SoftwareProperties.py b/SoftwareProperties/SoftwareProperties.py
index 07170fa6..35793151 100644
--- a/SoftwareProperties/SoftwareProperties.py
+++ b/SoftwareProperties/SoftwareProperties.py
@@ -21,7 +21,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
-import pdb
+#import pdb
import sys
import apt
import apt_pkg
@@ -118,6 +118,7 @@ class SoftwareProperties(SimpleGladeApp):
self.init_sourceslist()
self.reload_sourceslist()
+ self.backup_sourceslist()
self.window_main.show()
@@ -292,14 +293,31 @@ class SoftwareProperties(SimpleGladeApp):
self.combobox_server.set_model(server_store)
server_store.append([_("Main server"),
self.distro.main_server])
- server_store.append([_("Server for %s") % gettext.dgettext("iso-3166",
- self.distro.country).rstrip(),
- self.distro.nearest_server])
+ if self.distro.country != None:
+ # TRANSLATORS: %s is a country
+ server_store.append([_("Server for %s") % gettext.dgettext("iso-3166",
+ self.distro.country).rstrip(),
+ self.distro.nearest_server])
+ else:
+ server_store.append([_("Nearest server"),
+ self.distro.nearest_server])
if len(self.distro.used_servers) > 0:
for server in self.distro.used_servers:
if not re.match(server, self.distro.main_server) and \
not re.match(server, self.distro.nearest_server):
- server_store.append(["%s" % server, server])
+ #FIXME: an ubuntu hack
+ i = server.find("http://")
+ l = server.find(".archive.ubuntu.com")
+ if i != -1 and l != -1:
+ country = server[i+7:l]
+ if self.distro.countries.has_key(country):
+ # TRANSLATORS: %s is a country
+ server_store.append([_("Server for %s") % \
+ gettext.dgettext("iso-3166",
+ self.distro.countries[country].rstrip()),
+ server])
+ else:
+ server_store.append(["%s" % server, server])
if len(self.distro.used_servers) > 1:
server_store.append([_("Custom servers"), None])
self.combobox_server.set_active(2)
@@ -307,6 +325,9 @@ class SoftwareProperties(SimpleGladeApp):
self.combobox_server.set_active(0)
elif self.distro.used_servers[0] == self.distro.nearest_server:
self.combobox_server.set_active(1)
+ elif len(self.distro.used_servers) == 1:
+ self.combobox_server.set_active(2)
+
else:
self.combobox_server.set_active(0)
@@ -552,6 +573,15 @@ class SoftwareProperties(SimpleGladeApp):
self.sourceslist = aptsources.SourcesList()
+ def backup_sourceslist(self):
+ """
+ Duplicate the list of sources
+ """
+ self.sourceslist_backup = []
+ for source in self.sourceslist.list:
+ source_bkp = aptsources.SourceEntry(line=source.line,file=source.file)
+ self.sourceslist_backup.append(source_bkp)
+
def on_channel_activate(self, treeview, path, column):
"""Open the edit dialog if a channel was double clicked"""
self.on_edit_clicked(treeview)
@@ -587,10 +617,11 @@ class SoftwareProperties(SimpleGladeApp):
def on_button_revert_clicked(self, button):
"""Restore the source list from the startup of the dialog"""
- self.sourceslist.restoreBackup(".save")
- self.sourceslist.clearBackup(".save")
- self.sourceslist.backup(".save")
- self.sourceslist.refresh()
+ self.sourceslist.list = []
+ for source in self.sourceslist_backup:
+ source_reset = aptsources.SourceEntry(line=source.line,file=source.file)
+ self.sourceslist.list.append(source_reset)
+ self.save_sourceslist()
self.reload_sourceslist()
self.button_revert.set_sensitive(False)
self.modified = False
@@ -599,7 +630,7 @@ class SoftwareProperties(SimpleGladeApp):
"""The sources list was changed and now needs to be saved and reloaded"""
self.massive_debug_output()
self.modified = True
- #self.button_revert.set_sensitive(True)
+ self.button_revert.set_sensitive(True)
self.save_sourceslist()
self.reload_sourceslist()
@@ -907,7 +938,7 @@ class SoftwareProperties(SimpleGladeApp):
self.reload_keyslist()
def on_delete_event(self, widget, args):
- self.on_close_button(self, widget)
+ self.on_close_button(widget)
def on_close_button(self, widget):
# show a dialog that a reload of the channel information is required
diff --git a/SoftwareProperties/aptsources.py b/SoftwareProperties/aptsources.py
index 40b55dfa..a4d16fa0 100644
--- a/SoftwareProperties/aptsources.py
+++ b/SoftwareProperties/aptsources.py
@@ -563,7 +563,10 @@ class Distribution:
country_code = locale[a+1:z].lower()
self.nearest_server = "http://%s.archive.ubuntu.com/ubuntu/" % \
country_code
- self.country = self.countries[country_code]
+ if self.countries.has_key(country_code):
+ self.country = self.countries[country_code]
+ else:
+ self.country = None
# other used servers
for medium in self.used_media:
diff --git a/data/glade/SoftwareProperties.glade b/data/glade/SoftwareProperties.glade
index 98bf65bc..d262980d 100644
--- a/data/glade/SoftwareProperties.glade
+++ b/data/glade/SoftwareProperties.glade
@@ -737,7 +737,7 @@
<child>
<widget class="GtkHBox" id="hbox9">
<property name="visible">True</property>
- <property name="homogeneous">False</property>
+ <property name="homogeneous">True</property>
<property name="spacing">6</property>
<child>
@@ -759,6 +759,85 @@
</child>
<child>
+ <widget class="GtkButton" id="button_add_cdrom">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_add_cdrom_clicked" last_modification_time="Thu, 27 Jul 2006 22:19:37 GMT"/>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment11">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox12">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="stock">gtk-add</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label21">
+ <property name="visible">True</property>
+ <property name="label">Add Cdrom</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
<widget class="GtkButton" id="button_edit">
<property name="visible">True</property>
<property name="can_default">True</property>
@@ -796,23 +875,8 @@
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="button1">
- <property name="can_focus">True</property>
- <property name="label">gtk-revert-to-saved</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
<property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
@@ -1138,11 +1202,11 @@ The results are used to improve the support for popular applications and to rank
</child>
<child>
- <widget class="GtkHButtonBox" id="hbuttonbox1">
+ <widget class="GtkHBox" id="hbox11">
<property name="border_width">6</property>
<property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_EDGE</property>
- <property name="spacing">0</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
<child>
<widget class="GtkButton" id="button_help">
@@ -1155,6 +1219,11 @@ The results are used to improve the support for popular applications and to rank
<property name="focus_on_click">True</property>
<signal name="clicked" handler="on_help_button" last_modification_time="Mon, 04 Jul 2005 21:19:04 GMT"/>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
</child>
<child>
@@ -1168,6 +1237,32 @@ The results are used to improve the support for popular applications and to rank
<property name="focus_on_click">True</property>
<signal name="clicked" handler="on_close_button" last_modification_time="Mon, 04 Jul 2005 21:18:56 GMT"/>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button_revert">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-revert-to-saved</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_revert_clicked" last_modification_time="Thu, 27 Jul 2006 21:47:47 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
</child>
</widget>
<packing>
diff --git a/debian/changelog b/debian/changelog
index 55cb82bc..981c5564 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+update-manager (0.44) edgy; urgency=low
+
+ * new SoftwareProperties GUI (thanks to Sebastian Heinlein)
+ * support easy Popcon pariticipation
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 28 Jul 2006 01:06:16 +0200
+
update-manager (0.43) edgy; urgency=low
* fixes in the changelog reading code