diff options
| -rw-r--r-- | SoftwareProperties/SoftwareProperties.py | 53 | ||||
| -rw-r--r-- | SoftwareProperties/aptsources.py | 5 | ||||
| -rw-r--r-- | data/glade/SoftwareProperties.glade | 135 | ||||
| -rw-r--r-- | debian/changelog | 7 |
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 |
