diff options
44 files changed, 1845 insertions, 412 deletions
diff --git a/SoftwareProperties/SoftwareProperties.py b/SoftwareProperties/SoftwareProperties.py index 690b30dd..0e9a0f0d 100644 --- a/SoftwareProperties/SoftwareProperties.py +++ b/SoftwareProperties/SoftwareProperties.py @@ -37,6 +37,7 @@ from UpdateManager.Common.SimpleGladeApp import SimpleGladeApp import aptsources import dialog_add import dialog_edit +import dialog_sources_list from dialog_apt_key import apt_key from utils import * @@ -50,11 +51,22 @@ CONF_MAP = { "max_size" : "APT::Archives::MaxSize", "max_age" : "APT::Archives::MaxAge" } - +( + COLUMN_ACTIVE, + COLUMN_DESC +) = range(2) class SoftwareProperties(SimpleGladeApp): - def __init__(self, datadir=None, options=None, parent=None): + def __init__(self, datadir=None, options=None, file=None, parent=None): + + # set a default window icon + icons = gtk.icon_theme_get_default() + try: + logo=icons.load_icon("update-manager", 48, 0) + gtk.window_set_default_icon_list(logo) + except: + pass # FIXME: some saner way is needed here if datadir == None: @@ -64,6 +76,8 @@ class SoftwareProperties(SimpleGladeApp): None, domain="update-manager") self.modified = False + self.file = file + #self.gnome_program = gnome.init("Software Properties", "0.41") #self.gconfclient = gconf.client_get_default() @@ -170,25 +184,72 @@ class SoftwareProperties(SimpleGladeApp): self.init_keyslist() self.reload_keyslist() + # drag and drop support for sources.list + self.treeview_sources.drag_dest_set(gtk.DEST_DEFAULT_ALL, \ + [('text/uri-list',0, 0)], \ + gtk.gdk.ACTION_COPY) + self.treeview_sources.connect("drag_data_received",\ + self.on_sources_drag_data_received) + + + # call the add sources.list dialog if we got a file from the cli + if self.file != None: + self.open_file(file) + + def open_file(self, file): + """Show an confirmation for adding the channels of the specified file""" + dialog = dialog_sources_list.AddSourcesList(self.window_main, + self.sourceslist, + self.datadir, + file) + res = dialog.run() + if res == gtk.RESPONSE_OK: + self.reload_sourceslist() + self.modified = True + + def on_sources_drag_data_received(self, widget, context, x, y, + selection, target_type, timestamp): + """Extract the dropped file pathes and open the first file, only""" + uri = selection.data.strip() + uri_splitted = uri.split() + if len(uri_splitted)>0: + self.open_file(uri_splitted[0]) + def hide(self): self.window_main.hide() def init_sourceslist(self): - self.source_store = gtk.ListStore(str, bool, gobject.TYPE_PYOBJECT) + self.source_store = gtk.ListStore(gobject.TYPE_BOOLEAN, + gobject.TYPE_STRING, + gobject.TYPE_PYOBJECT) self.treeview_sources.set_model(self.source_store) - tr = gtk.CellRendererText() - tr.set_property("xpad", 10) - tr.set_property("ypad", 10) - - source_col = gtk.TreeViewColumn("Description", tr, markup=LIST_MARKUP) - source_col.set_max_width(500) - - self.treeview_sources.append_column(source_col) + cell_desc = gtk.CellRendererText() + #cell_desc.set_property("xpad", 10) + #cell_desc.set_property("ypad", 10) + col_desc = gtk.TreeViewColumn(_("Software Channel"), cell_desc, + markup=COLUMN_DESC) + col_desc.set_max_width(500) + + cell_toggle = gtk.CellRendererToggle() + cell_toggle.connect('toggled', self.on_channel_toggled) + col_active = gtk.TreeViewColumn(_("Active"), cell_toggle, + active=COLUMN_ACTIVE) + + self.treeview_sources.append_column(col_active) + self.treeview_sources.append_column(col_desc) self.sourceslist = aptsources.SourcesList() self.matcher = aptsources.SourceEntryMatcher() + def on_channel_toggled(self, cell_toggle, path): + """Enable or disable the selected channel""" + iter = self.source_store.get_iter((int(path),)) + source_entry = self.source_store.get_value(iter, LIST_ENTRY_OBJ) + source_entry.disabled = not source_entry.disabled + self.reload_sourceslist() + self.modified = True + def init_keyslist(self): self.keys_store = gtk.ListStore(str) self.treeview2.set_model(self.keys_store) @@ -201,16 +262,14 @@ class SoftwareProperties(SimpleGladeApp): def reload_sourceslist(self): self.source_store.clear() for source in self.sourceslist.list: - if source.invalid or source.disabled: + if source.invalid: continue - (a_type, dist, comps) = self.matcher.match(source) - - contents = "" - if source.comment != "": - contents += "<i>%s</i>\n\n" % (source.comment) - contents +="<big><b>%s </b></big> (%s) <small>\n%s</small>" % (dist,a_type, comps) + (nice_type, nice_dist, nice_comps) = self.matcher.match(source) - self.source_store.append([contents, not source.disabled, source]) + contents = "<b>%s</b>%s" % (nice_dist, nice_comps) + if source.type == "deb-src": + contents = "<b>%s</b> - %s %s" % (nice_dist, nice_type, nice_comps) + self.source_store.append([not source.disabled, contents, source]) def reload_keyslist(self): self.keys_store.clear() @@ -220,11 +279,11 @@ class SoftwareProperties(SimpleGladeApp): def on_combobox_update_interval_changed(self, widget): i = self.combobox_update_interval.get_active() if i != -1: - value = self.combobox_interval_mapping[i] - # Only write the key if it has changed - if not value == apt_pkg.Config.FindI(CONF_MAP["autoupdate"]): - apt_pkg.Config.Set(CONF_MAP["autoupdate"], str(value)) - self.write_config() + value = self.combobox_interval_mapping[i] + # Only write the key if it has changed + if not value == apt_pkg.Config.FindI(CONF_MAP["autoupdate"]): + apt_pkg.Config.Set(CONF_MAP["autoupdate"], str(value)) + self.write_config() def on_opt_autoupdate_toggled(self, widget): if self.checkbutton_auto_update.get_active(): diff --git a/SoftwareProperties/aptsources.py b/SoftwareProperties/aptsources.py index 03459adf..f751cf7c 100644 --- a/SoftwareProperties/aptsources.py +++ b/SoftwareProperties/aptsources.py @@ -102,8 +102,16 @@ class SourceEntry: line = line[:i] # source is ok, split it and see what we have pieces = self.mysplit(line) + # Sanity check + if len(pieces) < 3: + self.invalid = True + return # Type, deb or deb-src self.type = string.strip(pieces[0]) + # Sanity check + if self.type not in ("deb", "deb-src"): + self.invalid = True + return # URI self.uri = string.strip(pieces[1]) # distro and components (optional) @@ -326,7 +334,7 @@ class SourceEntryMatcher: _ = gettext.gettext self.type_list = [] self.type_list.append(self.MatchType("^deb$",_("Binary"))) - self.type_list.append(self.MatchType("^deb-src$",_("Source"))) + self.type_list.append(self.MatchType("^deb-src$",_("Source Code"))) self.dist_list = [] @@ -338,7 +346,7 @@ class SourceEntryMatcher: # CDs self.dist_list.append(self.MatchDist("cdrom:\[Ubuntu.*5.10", ".*", - _("CD disk with Ubuntu 5.10 \"Breezy Badger\""), + _("CD disk with Ubuntu 5.10 'Breezy Badger'"), ubuntu_comps, ubuntu_comps_descr)) self.dist_list.append(self.MatchDist("cdrom:\[Ubuntu.*5.04", ".*", @@ -352,7 +360,7 @@ class SourceEntryMatcher: # Warty self.dist_list.append(self.MatchDist(".*archive.ubuntu.com/ubuntu", "^warty$", - "Ubuntu 4.10 \"Warty Warthog\"", + "Ubuntu 4.10 'Warty Warthog'", ubuntu_comps, ubuntu_comps_descr)) self.dist_list.append(self.MatchDist(".*security.ubuntu.com/ubuntu", "^warty-security$", @@ -377,7 +385,7 @@ class SourceEntryMatcher: ubuntu_comps, ubuntu_comps_descr)) self.dist_list.append(self.MatchDist(".*archive.ubuntu.com/ubuntu", "^hoary$", - "Ubuntu 5.04 \"Hoary Hedgehog\"", + "Ubuntu 5.04 'Hoary Hedgehog'", ubuntu_comps, ubuntu_comps_descr)) self.dist_list.append(self.MatchDist(".*archive.ubuntu.com/ubuntu", "^hoary-updates$", @@ -394,7 +402,7 @@ class SourceEntryMatcher: ubuntu_comps, ubuntu_comps_descr)) self.dist_list.append(self.MatchDist(".*archive.ubuntu.com/ubuntu", "^breezy$", - "Ubuntu 5.10 \"Breezy Badger\"", + "Ubuntu 5.10 'Breezy Badger'", ubuntu_comps, ubuntu_comps_descr)) self.dist_list.append(self.MatchDist(".*archive.ubuntu.com/ubuntu", "^breezy-updates$", @@ -411,7 +419,7 @@ class SourceEntryMatcher: ubuntu_comps, ubuntu_comps_descr)) self.dist_list.append(self.MatchDist(".*archive.ubuntu.com/ubuntu", "^dapper$", - "Ubuntu 6.04 \"Dapper Drake\"", + "Ubuntu 6.04 'Dapper Drake'", ubuntu_comps, ubuntu_comps_descr)) self.dist_list.append(self.MatchDist(".*archive.ubuntu.com/ubuntu", "^dapper-updates$", @@ -430,11 +438,11 @@ class SourceEntryMatcher: # dists by name self.dist_list.append(self.MatchDist(".*debian.org/debian", "^sarge$", - _("Debian 3.1 \"Sarge\""), + _("Debian 3.1 'Sarge'"), debian_comps, debian_comps_descr)) self.dist_list.append(self.MatchDist(".*debian.org/debian", "^woody$", - _("Debian 3.0 \"Woody\""), + _("Debian 3.0 'Woody'"), debian_comps, debian_comps_descr)) # securtiy self.dist_list.append(self.MatchDist(".*security.debian.org", @@ -452,7 +460,7 @@ class SourceEntryMatcher: debian_comps, debian_comps_descr)) self.dist_list.append(self.MatchDist(".*debian.org/debian", "^unstable$", - _("Debian Unstable \"Sid\""), + _("Debian Unstable 'Sid'"), debian_comps, debian_comps_descr)) # non-us @@ -477,6 +485,10 @@ class SourceEntryMatcher: # some sane defaults first type_description = source.type dist_description = source.uri + " " + source.dist + # if there is a comment use it instead of the url + if source.comment: + dist_description = source.comment + comp_description = "" for c in source.comps: comp_description = comp_description + " " + c @@ -488,7 +500,7 @@ class SourceEntryMatcher: for d in self.dist_list: #print "'%s'" %source.uri - if re.match(d.uri, source.uri) and re.match(d.dist,source.dist): + if re.match(d.uri, source.uri) and re.match(d.dist, source.dist): dist_description = d.description comp_description = "" for c in source.comps: diff --git a/SoftwareProperties/dialog_add.py b/SoftwareProperties/dialog_add.py index 9b384623..effd9f24 100644 --- a/SoftwareProperties/dialog_add.py +++ b/SoftwareProperties/dialog_add.py @@ -45,16 +45,58 @@ class dialog_add: self.main = widget = self.gladexml.get_widget("dialog_add") self.main.set_transient_for(self.parent) - combo = self.gladexml.get_widget("combobox_what") + # Setup the official channel widgets + self.combo = self.gladexml.get_widget("combobox_what") self.gladexml.signal_connect("on_combobox_what_changed", self.on_combobox_what_changed, None) - # combox box needs cell = gtk.CellRendererText() - combo.pack_start(cell, True) - combo.add_attribute(cell, 'text', 0) - self.fill_combo(combo) - self.gladexml.signal_connect("on_button_custom_clicked", - self.on_button_custom_clicked, None) + self.combo.pack_start(cell, True) + self.combo.add_attribute(cell, 'text', 0) + self.fill_combo(self.combo) + # Setup the custom channel widgets + self.entry = self.gladexml.get_widget("entry_source_line") + self.gladexml.signal_connect("on_entry_source_line_changed", + self.check_line) + + # Setup the toggle action + self.radio_official = self.gladexml.get_widget("radiobutton_official") + self.radio_custom = self.gladexml.get_widget("radiobutton_custom") + self.button_add = self.gladexml.get_widget("button_add_channel") + self.gladexml.signal_connect("on_radiobutton_custom_toggled", + self.on_radio_custom_toggled) + self.gladexml.signal_connect("on_radiobutton_official_toggled", + self.on_radio_official_toggled) + + # We start with the official channels: + self.official = True + self.radio_custom.toggled() + + def check_line(self, *args): + """Check for a valid apt line""" + if self.official == True: + self.button_add.set_sensitive(True) + return + + line = self.entry.get_text() + "\n" + source_entry = aptsources.SourceEntry(line) + if source_entry.invalid == True or source_entry.disabled == True: + self.button_add.set_sensitive(False) + else: + self.button_add.set_sensitive(True) + + + def on_radio_custom_toggled(self, radio): + state = radio.get_active() + self.entry.set_sensitive(state) + self.check_line() + + def on_radio_official_toggled(self, radio): + state = radio.get_active() + self.combo.set_sensitive(state) + for check in self.comps: + check.set_sensitive(state) + self.official = state + self.button_add.set_sensitive(state) def fill_combo(self,combo): liststore = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_PYOBJECT) @@ -72,25 +114,14 @@ class dialog_add: (name, template) = liststore.get(a_iter, 0,1) self.selected = template comps = template.comps + self.comps=[] for c in comps: checkbox = gtk.CheckButton(c.description) checkbox.set_active(c.on_by_default) checkbox.set_data("name",c.name) vbox.pack_start(checkbox) checkbox.show() - - def on_button_custom_clicked(self, widget, data): - #print "on_button_custom_clicked()" - # this hide here is ugly :/ - self.main.hide() - dialog = self.gladexml.get_widget("dialog_add_custom") - dialog.set_transient_for(self.parent) - res = dialog.run() - dialog.hide() - entry = self.gladexml.get_widget("entry_source_line") - line = entry.get_text() + "\n" - self.sourceslist.list.append(aptsources.SourceEntry(line)) - self.main.response(res) + self.comps.append(checkbox) def get_enabled_comps(self, checkbutton): if checkbutton.get_active(): @@ -100,12 +131,16 @@ class dialog_add: res = self.main.run() if res == gtk.RESPONSE_OK: # add repository - self.selected_comps = [] - vbox = self.gladexml.get_widget("vbox_comps") - vbox.foreach(self.get_enabled_comps) - self.sourceslist.add(self.selected.type, - self.selected.uri, - self.selected.dist, - self.selected_comps) + if self.official == True: + self.selected_comps = [] + vbox = self.gladexml.get_widget("vbox_comps") + vbox.foreach(self.get_enabled_comps) + self.sourceslist.add(self.selected.type, + self.selected.uri, + self.selected.dist, + self.selected_comps) + else: + line = self.entry.get_text() + "\n" + self.sourceslist.list.append(aptsources.SourceEntry(line)) self.main.hide() return res diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py index 8b757bd1..e6394223 100644 --- a/UpdateManager/UpdateManager.py +++ b/UpdateManager/UpdateManager.py @@ -28,6 +28,7 @@ pygtk.require('2.0') import gtk import gtk.gdk import gtk.glade +import gconf import gobject import apt import apt_pkg @@ -40,7 +41,6 @@ import os.path import urllib2 import re import tempfile -import gconf import pango import subprocess import pwd @@ -290,6 +290,10 @@ class UpdateManager(SimpleGladeApp): self.restore_state() + def on_checkbutton_reminder_toggled(self, checkbutton): + self.gconfclient.set_bool("/apps/update-manager/remind_reload", + not checkbutton.get_active()) + def close(self, widget, data=None): if self.window_main.get_property("sensitive") is False: return True @@ -812,6 +816,10 @@ class UpdateManager(SimpleGladeApp): def check_auto_update(self): # Check if automatic update is enabled. If not show a dialog to inform # the user about the need of manual "reloads" + remind = self.gconfclient.get_bool("/apps/update-manager/remind_reload") + if remind == False: + return + update_days = apt_pkg.Config.FindI("APT::Periodic::Update-Package-Lists") if update_days < 1: self.dialog_manual_update.set_transient_for(self.window_main) diff --git a/data/SoftwareProperties.glade b/data/SoftwareProperties.glade index 89a56f11..27f53404 100644 --- a/data/SoftwareProperties.glade +++ b/data/SoftwareProperties.glade @@ -68,7 +68,7 @@ <property name="right_padding">0</property> <child> - <widget class="GtkHBox" id="hbox1"> + <widget class="GtkVBox" id="vbox5"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">6</property> @@ -104,9 +104,9 @@ </child> <child> - <widget class="GtkVButtonBox" id="vbuttonbox1"> + <widget class="GtkHBox" id="hbox6"> <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_START</property> + <property name="homogeneous">False</property> <property name="spacing">6</property> <child> @@ -120,6 +120,11 @@ <property name="focus_on_click">True</property> <signal name="clicked" handler="on_add_clicked" last_modification_time="Tue, 05 Jul 2005 01:31:37 GMT"/> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> </child> <child> @@ -133,6 +138,11 @@ <property name="focus_on_click">True</property> <signal name="clicked" handler="on_remove_clicked" last_modification_time="Tue, 05 Jul 2005 02:21:36 GMT"/> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> </child> <child> @@ -146,6 +156,11 @@ <property name="focus_on_click">True</property> <signal name="clicked" handler="on_edit_clicked" last_modification_time="Tue, 05 Jul 2005 02:18:34 GMT"/> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> </child> <child> @@ -221,6 +236,11 @@ </widget> </child> </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> </child> </widget> <packing> diff --git a/data/SoftwareProperties.gladep b/data/SoftwareProperties.gladep deleted file mode 100644 index 183077ba..00000000 --- a/data/SoftwareProperties.gladep +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> -<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd"> - -<glade-project> - <name></name> - <program_name></program_name> - <gnome_support>FALSE</gnome_support> -</glade-project> diff --git a/data/SoftwarePropertiesDialogs.glade b/data/SoftwarePropertiesDialogs.glade index a9e13d5e..c98cc636 100644 --- a/data/SoftwarePropertiesDialogs.glade +++ b/data/SoftwarePropertiesDialogs.glade @@ -5,7 +5,7 @@ <widget class="GtkDialog" id="dialog_add"> <property name="border_width">6</property> - <property name="title" translatable="yes">Add repository...</property> + <property name="title" translatable="yes">Add Channel</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">True</property> @@ -18,13 +18,13 @@ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="focus_on_map">True</property> <property name="urgency_hint">False</property> - <property name="has_separator">True</property> + <property name="has_separator">False</property> <child internal-child="vbox"> <widget class="GtkVBox" id="vbox2"> <property name="visible">True</property> <property name="homogeneous">False</property> - <property name="spacing">6</property> + <property name="spacing">12</property> <child internal-child="action_area"> <widget class="GtkHButtonBox" id="hbuttonbox2"> @@ -32,20 +32,6 @@ <property name="layout_style">GTK_BUTTONBOX_END</property> <child> - <widget class="GtkButton" id="button_custom"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_Custom</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="response_id">-6</property> - <signal name="clicked" handler="on_button_custom_clicked" last_modification_time="Mon, 29 Nov 2004 11:06:40 GMT"/> - </widget> - </child> - - <child> <widget class="GtkButton" id="button2"> <property name="visible">True</property> <property name="can_default">True</property> @@ -59,13 +45,13 @@ </child> <child> - <widget class="GtkButton" id="button3"> + <widget class="GtkButton" id="button_add_channel"> <property name="visible">True</property> <property name="can_default">True</property> <property name="has_default">True</property> <property name="can_focus">True</property> <property name="has_focus">True</property> - <property name="label">gtk-ok</property> + <property name="label">gtk-add</property> <property name="use_stock">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> <property name="focus_on_click">True</property> @@ -82,42 +68,156 @@ </child> <child> - <widget class="GtkVBox" id="vbox3"> + <widget class="GtkVBox" id="vbox21"> + <property name="border_width">6</property> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">12</property> <child> - <widget class="GtkLabel" id="label31"> + <widget class="GtkVBox" id="vbox19"> <property name="visible">True</property> - <property name="label" translatable="yes"><b>Repository</b></property> - <property name="use_underline">False</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</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> + <property name="homogeneous">False</property> + <property name="spacing">6</property> - <child> - <widget class="GtkComboBox" id="combobox_what"> - <property name="visible">True</property> - <property name="add_tearoffs">False</property> - <property name="focus_on_click">True</property> - <signal name="changed" handler="on_combobox_what_changed" last_modification_time="Thu, 25 Nov 2004 13:35:11 GMT"/> + <child> + <widget class="GtkRadioButton" id="radiobutton_official"> + <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> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_radiobutton_official_toggled" last_modification_time="Thu, 23 Feb 2006 10:03:57 GMT"/> + + <child> + <widget class="GtkLabel" id="label71"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Official Ubuntu Channel</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</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> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox33"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkLabel" id="label69"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</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> + + <child> + <widget class="GtkVBox" id="vbox_official"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkComboBox" id="combobox_what"> + <property name="visible">True</property> + <property name="add_tearoffs">False</property> + <property name="focus_on_click">True</property> + <signal name="changed" handler="on_combobox_what_changed" last_modification_time="Thu, 25 Nov 2004 13:35:11 GMT"/> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkHSeparator" id="hseparator1"> + <property name="visible">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox_comps"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <placeholder/> + </child> + + <child> + <placeholder/> + </child> + + <child> + <placeholder/> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> </widget> <packing> <property name="padding">0</property> @@ -127,46 +227,145 @@ </child> <child> - <widget class="GtkLabel" id="label32"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>Components</b></property> - <property name="use_underline">False</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</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> - - <child> - <widget class="GtkVBox" id="vbox_comps"> + <widget class="GtkVBox" id="vbox20"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">6</property> <child> - <placeholder/> - </child> + <widget class="GtkRadioButton" id="radiobutton_custom"> + <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> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">radiobutton_official</property> + <signal name="toggled" handler="on_radiobutton_custom_toggled" last_modification_time="Thu, 23 Feb 2006 10:03:31 GMT"/> - <child> - <placeholder/> + <child> + <widget class="GtkLabel" id="label70"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Custom Channel</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</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> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> </child> <child> - <placeholder/> + <widget class="GtkHBox" id="hbox_customasd"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkLabel" id="label68"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_underline">False</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> + + <child> + <widget class="GtkHBox" id="hbox_custom"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">10</property> + + <child> + <widget class="GtkLabel" id="label34"> + <property name="visible">True</property> + <property name="label" translatable="yes">APT line:</property> + <property name="use_underline">False</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> + + <child> + <widget class="GtkEntry" id="entry_source_line"> + <property name="visible">True</property> + <property name="tooltip" translatable="yes">The APT line contains the type, location and components of a channel, for example 'deb http://ftp.debian.org sarge main'</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char">*</property> + <property name="activates_default">True</property> + <signal name="changed" handler="on_entry_source_line_changed" last_modification_time="Thu, 23 Feb 2006 10:45:14 GMT"/> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> </child> </widget> <packing> @@ -182,10 +381,6 @@ <property name="fill">True</property> </packing> </child> - - <child> - <placeholder/> - </child> </widget> </child> </widget> @@ -374,60 +569,7 @@ The APT line contains the type, location and content of a repository, for exampl </child> <child> - <widget class="GtkHBox" id="hbox8"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">10</property> - - <child> - <widget class="GtkLabel" id="label34"> - <property name="visible">True</property> - <property name="label" translatable="yes">APT line:</property> - <property name="use_underline">False</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> - - <child> - <widget class="GtkEntry" id="entry_source_line"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">0</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char">*</property> - <property name="activates_default">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> - </packing> + <placeholder/> </child> </widget> <packing> @@ -463,7 +605,7 @@ The APT line contains the type, location and content of a repository, for exampl <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="focus_on_map">True</property> <property name="urgency_hint">False</property> - <property name="has_separator">True</property> + <property name="has_separator">False</property> <child internal-child="vbox"> <widget class="GtkVBox" id="vbox6"> @@ -1913,4 +2055,192 @@ You can add and remove authentication keys in this dialog. A key makes it possib </child> </widget> +<widget class="GtkDialog" id="dialog_sources_list"> + <property name="border_width">6</property> + <property name="title" translatable="yes"></property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">False</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="button_cancel"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button_add"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-5</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> + </child> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button_close"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-close</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-7</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox1"> + <property name="border_width">6</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkImage" id="image_sources_list"> + <property name="visible">True</property> + <property name="stock">gtk-dialog-question</property> + <property name="icon_size">6</property> + <property name="xalign">0</property> + <property name="yalign">0</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">True</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_sources"> + <property name="visible">True</property> + <property name="label" translatable="yes"></property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0</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> + + <child> + <widget class="GtkScrolledWindow" id="scrolled_window"> + <property name="height_request">200</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTreeView" id="treeview_sources"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">False</property> + <property name="rules_hint">True</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> +</widget> + </glade-interface> diff --git a/data/UpdateManager.glade b/data/UpdateManager.glade index 400a4f75..c94edff6 100644 --- a/data/UpdateManager.glade +++ b/data/UpdateManager.glade @@ -1388,25 +1388,58 @@ Need to get the changes from the central server</property> </child> <child> - <widget class="GtkLabel" id="label27"> + <widget class="GtkVBox" id="vbox17"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes"><b><big>You need to manually reload the latest information about updates</big></b> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label27"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes"><b><big>You need to manually reload the latest information about updates</big></b> Your system does not check for updates automatically. You can configure this behavior in "System" -> "Administration" -> "Software Properties".</property> - <property name="use_underline">False</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">True</property> - <property name="selectable">True</property> - <property name="xalign">0</property> - <property name="yalign">0</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> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">True</property> + <property name="xalign">0</property> + <property name="yalign">0</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> + + <child> + <widget class="GtkCheckButton" id="checkbutton_reminder"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Hide this information in the future</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_checkbutton_reminder_toggled" last_modification_time="Thu, 23 Feb 2006 06:54:08 GMT"/> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> </widget> <packing> <property name="padding">0</property> diff --git a/data/dialog_add_channels.glade b/data/dialog_add_channels.glade new file mode 100644 index 00000000..a0e00a53 --- /dev/null +++ b/data/dialog_add_channels.glade @@ -0,0 +1,180 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkDialog" id="dialog_add_channel"> + <property name="border_width">6</property> + <property name="title" translatable="yes">Add Software Channel</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">False</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="cancelbutton1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button_add"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-5</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> + </child> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox1"> + <property name="border_width">6</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="stock">gtk-dialog-question</property> + <property name="icon_size">6</property> + <property name="xalign">0</property> + <property name="yalign">0</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">True</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label_sources"> + <property name="visible">True</property> + <property name="label" translatable="yes"></property> + <property name="use_underline">False</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</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> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTreeView" id="treeview_sources"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">False</property> + <property name="rules_hint">True</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/data/gnome-software-properties.desktop.in b/data/gnome-software-properties.desktop.in index c626869a..bf570533 100644 --- a/data/gnome-software-properties.desktop.in +++ b/data/gnome-software-properties.desktop.in @@ -1,12 +1,13 @@ [Desktop Entry] _Name=Software Properties _GenericName=Software Properties -_Comment=Edit software sources and settings +_Comment=Configure software channels and internet updates Exec=gksu /usr/bin/gnome-software-properties Icon=update-manager.png Terminal=false MultipleArgs=false Type=Application Encoding=UTF-8 +MimeType=text/x-apt-sources-list Categories=Application;System;Settings; X-KDE-SubstituteUID=true diff --git a/data/gnome-software-properties.gladep b/data/gnome-software-properties.gladep deleted file mode 100644 index 183077ba..00000000 --- a/data/gnome-software-properties.gladep +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> -<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd"> - -<glade-project> - <name></name> - <program_name></program_name> - <gnome_support>FALSE</gnome_support> -</glade-project> diff --git a/data/mime/apt.xml b/data/mime/apt.xml new file mode 100644 index 00000000..d7332632 --- /dev/null +++ b/data/mime/apt.xml @@ -0,0 +1,7 @@ +<?xml version="1.0"?> +<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> + <mime-type type="text/x-apt-sources-list"> + <comment>Software Channel List</comment> + <glob pattern="sources.list"/> + </mime-type> +</mime-info> diff --git a/data/update-manager.gladep b/data/update-manager.gladep deleted file mode 100644 index 183077ba..00000000 --- a/data/update-manager.gladep +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> -<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd"> - -<glade-project> - <name></name> - <program_name></program_name> - <gnome_support>FALSE</gnome_support> -</glade-project> diff --git a/data/update-manager.schemas.in b/data/update-manager.schemas.in new file mode 100644 index 00000000..06308871 --- /dev/null +++ b/data/update-manager.schemas.in @@ -0,0 +1,52 @@ +<?xml version="1.0" ?> +<gconfschemafile> + <schemalist> + <schema> + <key>/schemas/apps/update-manager/remind_reload</key> + <applyto>/apps/update-manager/remind_reload</applyto> + <owner>update-manager</owner> + <type>bool</type> + <default>True</default> + + <locale name="C"> + <short>Remind to reload the channel list</short> + <long> + If automatic checking for updates is disabeld, you have + to reload the channel list manually. This option allows + to hide the reminder shown in this case. + </long> + </locale> + </schema> + <schema> + <key>/schemas/apps/update-manager/show_details</key> + <applyto>/apps/update-manager/show_details</applyto> + <owner>update-manager</owner> + <type>bool</type> + <default>False</default> + + <locale name="C"> + <short>Show details of an update</short> + <long> + Stores the state of the expander that contains the + list of changs and the description + </long> + </locale> + </schema> + <schema> + <key>/schemas/apps/update-manager/window_size</key> + <applyto>/apps/update-manager/window_size</applyto> + <owner>update-manager</owner> + <type>pair</type> + <car_type>int</car_type> + <cdr_type>int</cdr_type> + + <locale name="C"> + <short>The window size</short> + <long> + Stores the size of the update-manager dialog + </long> + </locale> + </schema> + </schemalist> +</gconfschemafile> + diff --git a/debian/rules b/debian/rules index dbeb3dc4..3753e9f7 100755 --- a/debian/rules +++ b/debian/rules @@ -62,6 +62,9 @@ binary-arch: build install dh_installchangelogs ChangeLog dh_installdocs dh_scrollkeeper + dh_installmime + dh_desktop + dh_gconf dh_installexamples # dh_install # dh_installmenu diff --git a/gnome-software-properties b/gnome-software-properties index a8074f7e..2e1d5da6 100644 --- a/gnome-software-properties +++ b/gnome-software-properties @@ -73,6 +73,9 @@ if __name__ == "__main__": data_dir="/usr/share/update-manager/" #data_dir="/tmp/xxx/share/update-manager/" - app = SoftwareProperties.SoftwareProperties(data_dir, options) + file = None + if len(args) > 0: + file = args[0] + app = SoftwareProperties.SoftwareProperties(data_dir, options, file) app.run() - sys.exit(app.modified)
\ No newline at end of file + sys.exit(app.modified) diff --git a/help/C/figures/authentication-add.png b/help/C/figures/authentication-add.png Binary files differindex cd3d189f..004b3fa1 100644 --- a/help/C/figures/authentication-add.png +++ b/help/C/figures/authentication-add.png diff --git a/help/C/figures/authentication.png b/help/C/figures/authentication.png Binary files differindex 8601ccd9..07227a2e 100644 --- a/help/C/figures/authentication.png +++ b/help/C/figures/authentication.png diff --git a/help/C/figures/download-progressbar.png b/help/C/figures/download-progressbar.png Binary files differindex 0cef6d51..9f096460 100644 --- a/help/C/figures/download-progressbar.png +++ b/help/C/figures/download-progressbar.png diff --git a/help/C/figures/failed-repos.png b/help/C/figures/failed-repos.png Binary files differindex 68e688cc..01b0d0e9 100644 --- a/help/C/figures/failed-repos.png +++ b/help/C/figures/failed-repos.png diff --git a/help/C/figures/install-progress-terminal.png b/help/C/figures/install-progress-terminal.png Binary files differindex 6f21faf8..06111c61 100644 --- a/help/C/figures/install-progress-terminal.png +++ b/help/C/figures/install-progress-terminal.png diff --git a/help/C/figures/install-progress.png b/help/C/figures/install-progress.png Binary files differindex 2ab7fa51..699f6219 100644 --- a/help/C/figures/install-progress.png +++ b/help/C/figures/install-progress.png diff --git a/help/C/figures/main-system-updates-available.png b/help/C/figures/main-system-updates-available.png Binary files differindex f4d9f1e6..24dc5481 100644 --- a/help/C/figures/main-system-updates-available.png +++ b/help/C/figures/main-system-updates-available.png diff --git a/help/C/figures/main-system-updates-summary-details.png b/help/C/figures/main-system-updates-summary-details.png Binary files differindex 2b635ce1..08860ec1 100644 --- a/help/C/figures/main-system-updates-summary-details.png +++ b/help/C/figures/main-system-updates-summary-details.png diff --git a/help/C/figures/main-system-updates-summary.png b/help/C/figures/main-system-updates-summary.png Binary files differindex 8d9b0103..fefea5dd 100644 --- a/help/C/figures/main-system-updates-summary.png +++ b/help/C/figures/main-system-updates-summary.png diff --git a/help/C/figures/main-system-uptodate.png b/help/C/figures/main-system-uptodate.png Binary files differindex 60394d06..d8c10d5f 100644 --- a/help/C/figures/main-system-uptodate.png +++ b/help/C/figures/main-system-uptodate.png diff --git a/help/C/figures/main-view-monitor-update.png b/help/C/figures/main-view-monitor-update.png Binary files differindex 308a81ca..b8b2a80b 100644 --- a/help/C/figures/main-view-monitor-update.png +++ b/help/C/figures/main-view-monitor-update.png diff --git a/help/C/figures/main-view-update-detail.png b/help/C/figures/main-view-update-detail.png Binary files differindex 4e05e272..d3f8f12c 100644 --- a/help/C/figures/main-view-update-detail.png +++ b/help/C/figures/main-view-update-detail.png diff --git a/help/C/figures/not-possible.png b/help/C/figures/not-possible.png Binary files differnew file mode 100644 index 00000000..20678a9b --- /dev/null +++ b/help/C/figures/not-possible.png diff --git a/help/C/figures/preferences-add-custom.png b/help/C/figures/preferences-add-custom.png Binary files differindex 1c7b5a89..97e709f6 100644 --- a/help/C/figures/preferences-add-custom.png +++ b/help/C/figures/preferences-add-custom.png diff --git a/help/C/figures/preferences-add.png b/help/C/figures/preferences-add.png Binary files differindex 1f2cad19..e77f7523 100644 --- a/help/C/figures/preferences-add.png +++ b/help/C/figures/preferences-add.png diff --git a/help/C/figures/preferences-edit.png b/help/C/figures/preferences-edit.png Binary files differindex e3bc0d2b..5d713264 100644 --- a/help/C/figures/preferences-edit.png +++ b/help/C/figures/preferences-edit.png diff --git a/help/C/figures/preferences-repos-changeinfo.png b/help/C/figures/preferences-repos-changeinfo.png Binary files differindex b012afe0..e1fbbd9e 100644 --- a/help/C/figures/preferences-repos-changeinfo.png +++ b/help/C/figures/preferences-repos-changeinfo.png diff --git a/help/C/figures/preferences.png b/help/C/figures/preferences.png Binary files differindex eac98df9..e59f2c29 100644 --- a/help/C/figures/preferences.png +++ b/help/C/figures/preferences.png diff --git a/help/C/figures/reload-package-info.png b/help/C/figures/reload-package-info.png Binary files differindex f7ca3d93..76156b2e 100644 --- a/help/C/figures/reload-package-info.png +++ b/help/C/figures/reload-package-info.png diff --git a/help/C/figures/settings.png b/help/C/figures/settings.png Binary files differindex 33bb325a..2084c2ef 100644 --- a/help/C/figures/settings.png +++ b/help/C/figures/settings.png diff --git a/help/C/figures/synaptic-toggle-install-view.png b/help/C/figures/synaptic-toggle-install-view.png Binary files differindex c9de71be..be04d24e 100644 --- a/help/C/figures/synaptic-toggle-install-view.png +++ b/help/C/figures/synaptic-toggle-install-view.png diff --git a/help/C/update-manager-C.omf b/help/C/update-manager-C.omf index a4e6aabc..3d0f8909 100644 --- a/help/C/update-manager-C.omf +++ b/help/C/update-manager-C.omf @@ -1,15 +1,16 @@ <?xml version="1.0" standalone="no"?> <omf> <resource> - <creator>sean@inwords.co.za (Sean Wheller) </creator> - <title>Update Manager Manual </title> + <creator>sean@inwords.co.za (Sean Wheller)</creator> + <title>Update Manager Manual</title> <date>2005-03-04 </date> <version identifier="0.0.1" date="2005-03-04" description="First Release"/> - <subject category="System|Administration"/> - <description> This document explains how to use the Update Manager. </description> + <subject category="Applications"/> + <description> Keep the software on your system up-to-date.</description> <type>manual </type> <format mime="text/xml" dtd="-//OASIS//DTD DocBook XML V4.1.2//EN"/> - <identifier url=""/> + <identifier + url="file:/usr/share/gnome/help/update-manager/C/update-manager.xml"/> <language code="C"/> <relation seriesid="e7ae3bcc-8ce0-11d9-8fa9-d1fb3a9076bb"/> <rights type="GNU FDL" license.version="1.1" license="http://www.gnu.org/licenses/fdl.html" diff --git a/help/C/update-manager-C.omf.out b/help/C/update-manager-C.omf.out deleted file mode 100644 index af5d465e..00000000 --- a/help/C/update-manager-C.omf.out +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<omf> - <resource> - <creator>sean@inwords.co.za (Sean Wheller) </creator> - <title>Update Manager Manual </title> - <date>2005-03-04 </date> - <version identifier="0.0.1" date="2005-03-04" description="First Release"/> - <subject category="System|Administration"/> - <description> This document explains how to use the Update Manager. </description> - <type>manual </type> - <format mime="text/xml" dtd="-//OASIS//DTD DocBook XML V4.1.2//EN"/> - <identifier url="file:/tmp/lala/share/gnome/help/update-manager/C/update-manager.xml"/> - <language code="C"/> - <relation seriesid="e7ae3bcc-8ce0-11d9-8fa9-d1fb3a9076bb"/> - <rights type="GNU FDL" license.version="1.1" license="http://www.gnu.org/licenses/fdl.html" holder="In Words"/> - </resource> -</omf> diff --git a/help/C/update-manager.xml b/help/C/update-manager.xml index 5d0875f3..ef1d7f02 100644 --- a/help/C/update-manager.xml +++ b/help/C/update-manager.xml @@ -1,10 +1,10 @@ <?xml version="1.0"?> -<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" - "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ - <!ENTITY legal SYSTEM "legal.xml"> - <!ENTITY GFDL SYSTEM "fdl-appendix.xml"> +<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ +<!ENTITY legal SYSTEM "legal.xml"> +<!ENTITY GFDL SYSTEM "fdl-appendix.xml"> ]> -<?yelp:chunk-depth 4?> +<!--<?yelp:chunk-depth 4?>--> <!-- (Do not remove this comment block.) Version: 0.0.3 @@ -130,7 +130,7 @@ </revdescription> </revision> </revhistory> - <releaseinfo>This manual explains how to use Update Manager an apt update + <releaseinfo>This manual explains how to use Update Manager, an apt update management application for the GNOME desktop created by the Ubuntu Linux project.</releaseinfo> <legalnotice> @@ -258,18 +258,17 @@ sudo update-manager <para>By default, all packages are marked for installation. In most cases you will install all of the packages right away. However, if there are a large number of updates you may want to do only a few at a time.</para> - <para>To deselect a package, <action>uncheck</action> the - <guibutton>check box</guibutton> located on the left of each item - description. </para> - <para>To see additional information about a package, <action>click</action> on the - <guibutton>Details</guibutton> option + <para>To un-mark a package for installation, <action>clear</action> the check box + for the package.</para> + <para>To see additional information about a package, <action>click</action> on + <guibutton>Details</guibutton>. (see <xref linkend="expanding-update-info"/>)</para> <para>When you are ready to install the selected packages, - <action>click</action> the <guibutton>Install</guibutton> button.</para> - <para>If <application>Update Manager</application> detects - packages that do not contain a verification signature, the - <interface>Summary</interface> dialog will be displayed.</para> - <para>The <interface>Summary</interface> dialog lists three groups of update + <action>click</action> on <guibutton>Install</guibutton>.</para> + <para>If <application>Update Manager</application> detects one or more + packages without a digital signature, the + <guilabel>Summary</guilabel> dialog is displayed.</para> + <para>The <guilabel>Summary</guilabel> dialog lists three groups of update categories:</para> <variablelist> <varlistentry> @@ -277,8 +276,7 @@ sudo update-manager <emphasis role="bold">NOT AUTHENTICATED</emphasis> </term> <listitem> - <para>If a digital signature is not found for an update package, it is - labeled 'NOT AUTHENTICATED.'</para> + <para>Packages without a digital signature.</para> </listitem> </varlistentry> <varlistentry> @@ -297,59 +295,52 @@ sudo update-manager <para>Packages that will not be upgraded due to dependency issues. The packages will be upgraded in a future <application>Update Manager</application> session, once the developers have - resolved the dependencies.</para> + resolved the package dependencies.</para> </listitem> </varlistentry> </variablelist> - <para>This is the final point to check the upgrade before the installation - starts. If you are not happy with the upgrade, - <action>click</action> - <guibutton>Cancel</guibutton> to return to the list and modify the - upgrade. If you are happy with the upgrade, <action>click</action> - <guibutton>Apply</guibutton>.</para> + <para>If you do not want to install non-authenticated packages, click + <guibutton>Cancel</guibutton>. The <guilabel>Summary</guilabel> + dialog will close, and you can + deselect the packages in the <application>Update Manager</application> + main window.</para> <note> <para>If a deselected package is required as a dependency for a selected - package, <application>Update Manager</application> may install the + package, <application>Update Manager</application> will install the deselected package to satisfy the dependency.</para> </note> <para> - <application>Update Manager</application> will download all of the - selected packages before installing them. The entire process may take a + <application>Update Manager</application> downloads all of the + selected packages before installing them. The entire process might take a long time depending on the amount of data that needs to be downloaded, the speed of your network connection, and the number of packages that need to - be installed. </para> - <para>Installation of the update packages will - only start once all packages have been downloaded. The - download progress can be monitored (see <xref + be installed. While downloading packages, + <application>Update Manager</application> displays a dialog box that + monitors the download progress. (See <xref linkend="monitoring-download"/>).</para> </sect2> <sect2 id="expanding-update-info"> <title>Expanded Update Information</title> - <para>When an item is selected, additional information about an update - package and the enhancements it provides can be obtained by expanding - the <guibutton>Details</guibutton> option, located at the bottom of the - list.</para> - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="figures/main-view-update-detail.png"/> - </imageobject> - <caption> - <para>Update Item Details</para> - </caption> - </mediaobject> - </screenshot> - <para>For each update package the following information is available:</para> + <para>To see additional information about a package:</para> + <orderedlist> + <listitem> + <para>Click on the package in the main window.</para> + </listitem> + <listitem> + <para>Click on <guibutton>Details</guibutton>.A tabbed section + opens within the main window.</para> + </listitem> + </orderedlist> + <para>The tabs are as follows:</para> <variablelist> <varlistentry> <term> <emphasis role="bold">Changes</emphasis> </term> <listitem> - <para>The <guibutton>Changes</guibutton> tab displays the contents - of the packages <filename>ChangeLog</filename> file. This enables - the user to read about the changes contained in the update - package.</para> + <para>A list of the changes incorporated in the package. The list + is the contents of the <filename>ChangeLog</filename> file for the + package.</para> </listitem> </varlistentry> <varlistentry> @@ -357,99 +348,56 @@ sudo update-manager <emphasis role="bold">Description</emphasis> </term> <listitem> - <para>A single update package may contain multiple programs. These - programs are related in some way and are therefore bundled into a - single package. The <guibutton>Description</guibutton> tab - displays a short description for each program contained by the - package.</para> + <para>A short description of each program in the package.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="monitoring-download"> <title>Monitoring Download Progress</title> - <para>When there are many packages in the update list, download can take a - considerable amount of time. In this case it can be useful to be able to - monitor the download progress.</para> - <para>A progress bar is automatically displayed when updates need to be - downloaded. <action>Click</action> the <guibutton>Show progress of - single files</guibutton> option to display an expanded view of - individual file download progress.</para> - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="figures/download-progressbar.png" format="PNG"/> - </imageobject> - <caption> - <para>Monitoring Download Progress Bar</para> - </caption> - </mediaobject> - </screenshot> - <para>Downloaded files are cached locally prior to installation. All files - must be downloaded in order for the installation stage to commence. The - cached files are automatically removed following successful installation - when the <guibutton>Automatically clean temporary packages - files</guibutton> option is checked (see <xref - linkend="managing-settings"/>).</para> - <note> - <para>If for any reason the network connection fails or times out, the - installation will not proceed. <application>Update - Manager</application> will automatically resume the download, from the - last successfully downloaded file, on the next attempt.</para> + <para><application>Update Manager</application> displays the + <guilabel>Installing updates</guilabel> window while the + packages are downloading. The progress bar in the + <guilabel>Installing updates</guilabel> window shows the progress + of the entire update.</para> + <para>To display the download progress of each package, click on + <guibutton>Show progress of single files</guibutton>.</para> + <para>To cancel the download, click <guibutton>Cancel</guibutton>. + </para> + <para>All files must be downloaded before <application> + Update Manager</application> can proceed to the installation stage. If + the network connections fails or if you cancel the download, the update + will not be installed.</para> + <note> + <para>To resume a canceled or failed download, click on Install in the + main window. <application>Update Manager</application> will resume the + download from the last successfully downloaded file.</para> </note> </sect2> <sect2 id="monitoring-installation"> <title>Monitoring Installation Progress</title> - <para>It is common for software packages to use components belonging to - other pieces of software. This creates a dependency in the software that - uses external components. For this reason, installation of update - packages will only commence once all packages have been successfully - downloaded from the software repository (see <xref - linkend="monitoring-download"/>). The <application>Update - Manager</application> will take care to install packages in the required - sequence in order to satisfy any dependencies.</para> - <para>Once all update packages are downloaded installation will - automatically begin. During installation a progress bar, similar to that - of the download progress bar, is displayed.</para> - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="figures/install-progress.png" format="PNG"/> - </imageobject> - <caption> - <para>Monitoring Installation Progress Bar</para> - </caption> - </mediaobject> - </screenshot> - <para>During installation it is possible to view a verbose transcript of - installation operations by <action>clicking</action> the - <guibutton>Terminal</guibutton> option. This expands the dialog to - show terminal view. It is also possible to configure installation - progress to use Terminal Mode only, see <xref - linkend="configure-terminal-only-view"/>.</para> - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="figures/install-progress-terminal.png" - format="PNG"/> - </imageobject> - <caption> - <para>Monitoring Installation Progress Bar and Terminal View</para> - </caption> - </mediaobject> - </screenshot> + <para><application>Update Manager</application> displays the + <guilabel>Installation updates</guilabel> window while the updates are + being installed. The progress bar inside the <guilabel>Installation + updates</guilabel> window shows the progress of the entire installation. + </para> + <para>To display the installation progress of each package, click on + <guibutton>Terminal</guibutton>. The terminal view opens within the + window. The terminal view displays the unfiltered output of the Advanced + Packaging Tool (APT). APT is the tool that Update Manager uses to + perform the update.</para> <caution> <para>Do not terminate the installation process. This may lead to corruption of installed programs and general system - instability.</para> + instability.</para> </caution> </sect2> </sect1> <sect1 id="setting-preferences"> <title>Setting Preferences</title> <para>The <application>Update Manager</application> - <guibutton>Preferences</guibutton> button displays the <interface>Software - Preferences</interface> dialog. From this dialog users can perform the + <guibutton>Preferences</guibutton> button displays the <guilabel>Software + Preferences</guilabel> dialog. From this dialog you can perform the following tasks:</para> <itemizedlist> <listitem> @@ -530,8 +478,8 @@ sudo update-manager </note> <para>A new software source can be defined by <action>clicking</action> the <guibutton>Add</guibutton> button located on the - <interface>Software Preferences</interface> dialog. This will - display the <interface>Edit Repository</interface> dialog.</para> + <guilabel>Software Preferences</guilabel> dialog. This will + display the <guilabel>Edit Repository</guilabel> dialog.</para> <screenshot> <mediaobject> <imageobject> @@ -542,7 +490,7 @@ sudo update-manager </caption> </mediaobject> </screenshot> - <para>Complete the <interface>Edit Repository</interface> dialog to add + <para>Complete the <guilabel>Edit Repository</guilabel> dialog to add a new Software source.</para> <variablelist> <varlistentry> @@ -651,8 +599,8 @@ sudo update-manager <title>Creating Custom Software Sources</title> <para>It is also possible to define custom software sources.</para> <para>To define a custom software source <action>click</action> the - <guibutton>Custom</guibutton> button located on the <interface>Edit - Repository</interface> dialog. This will display a dialog in which + <guibutton>Custom</guibutton> button located on the <guilabel>Edit + Repository</guilabel> dialog. This will display a dialog in which the custom repository can be defined using <application>apt</application> command syntax. <application>Apt</application> is an Advanced Packaging Tool and @@ -688,7 +636,7 @@ sudo update-manager <para>Software sources can be removed from the sources list by selecting the software source then <action>clicking</action> the <guibutton>Remove</guibutton> button located on the - <interface>Software Preferences</interface> dialog.</para> + <guilabel>Software Preferences</guilabel> dialog.</para> <para>Removal of a software source requires that the <application>apt</application> file (<filename class="devicefile" >/etc/apt/sources.list</filename>) that contains the a list of @@ -702,7 +650,7 @@ sudo update-manager <title>Editing Software Sources</title> <para>To change the values defining a software source, select the source record then <action>click</action> the edit button. This will display - the <interface>Edit Repository</interface> dialog.</para> + the <guilabel>Edit Repository</guilabel> dialog.</para> <screenshot> <mediaobject> <imageobject> @@ -845,10 +793,10 @@ sudo update-manager <sect2 id="managing-authentication"> <title>Managing Authentication Keys</title> <para>Authentication keys make it possible to verify the integrity of - update software. From the <interface>Authentication Keys</interface> + update software. From the <guilabel>Authentication Keys</guilabel> dialog it is possible to view and manage the list authentication keys. Each key corresponds to a Software Source defined in the - <interface>Software Preference</interface> dialog (see <xref + <guilabel>Software Preference</guilabel> dialog (see <xref linkend="managing-sources"/>). Keys can be added and removed. In the event of an error it is also possible to restore the default authentication keys provided by the defined update repositories.</para> @@ -883,8 +831,8 @@ gpg -recv-key --keyserver www.keyserver.net phone, letter, or business card. Alternately you can check if the key is signed with a known-good key.</para> </note> - <para>Once the key is downloaded, select it using the <interface>Choose - a key-file</interface> dialog that is displayed when the + <para>Once the key is downloaded, select it using the <guilabel>Choose + a key-file</guilabel> dialog that is displayed when the <guibutton>Add</guibutton> button.</para> <screenshot> <mediaobject> @@ -915,8 +863,8 @@ gpg -recv-key --keyserver www.keyserver.net <sect2 id="managing-settings"> <title>Managing Settings</title> <para>The <guibutton>Settings</guibutton> button, located on the - <interface>Software Preferences</interface> dialog, displays the - <interface>Settings</interface> dialog. From this interface users can + <guilabel>Software Preferences</guilabel> dialog, displays the + <guilabel>Settings</guilabel> dialog. From this interface you can manage the behavior of the application and pre-update process.</para> <screenshot> <mediaobject> @@ -934,8 +882,8 @@ gpg -recv-key --keyserver www.keyserver.net <listitem> <para> <emphasis>Show disabled software sources:</emphasis> - When checked - software sources that are not checked in the <interface>Software - Preferences</interface> dialog are displayed. When unchecked, + software sources that are not checked in the <guilabel>Software + Preferences</guilabel> dialog are displayed. When unchecked, these items are not displayed in the list.</para> </listitem> </itemizedlist> @@ -1028,7 +976,7 @@ gpg -recv-key --keyserver www.keyserver.net <para>From the main menu, select <menuchoice> <guimenu>Settings</guimenu> <guimenuitem>Preferences</guimenuitem> - </menuchoice>. The <interface>Preferences</interface> dialog is + </menuchoice>. The <guilabel>Preferences</guilabel> dialog is displayed.</para> </step> <step> diff --git a/help/Makefile.am b/help/Makefile.am deleted file mode 100644 index 42ffacc2..00000000 --- a/help/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = C diff --git a/po/POTFILES.in b/po/POTFILES.in index 12a33a6d..fc588621 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,6 +1,7 @@ [encoding: UTF-8] data/SoftwareProperties.glade SoftwareProperties/SoftwareProperties.py +SoftwareProperties/dialog_sources_list.py DistUpgrade/DistUpgradeCache.py DistUpgrade/DistUpgradeControler.py DistUpgrade/DistUpgradeViewGtk.py @@ -9,6 +10,7 @@ DistUpgrade/dist-upgrade.py DistUpgrade/DistUpgrade.glade data/UpdateManager.glade data/update-manager.desktop.in +data/update-manager.schemas.in [type: gettext/rfc822deb] channels/Ubuntu.info.in [type: gettext/rfc822deb] channels/Debian.info.in [type: python] src/update-manager diff --git a/po/update-manager.pot b/po/update-manager.pot new file mode 100644 index 00000000..66b7fa1e --- /dev/null +++ b/po/update-manager.pot @@ -0,0 +1,759 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: michael.vogt@canonical.com\n" +"POT-Creation-Date: 2006-02-23 12:55+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: ../data/SoftwareProperties.glade.h:1 +msgid "<b>Channels</b>" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:2 +msgid "<b>Internet updates</b>" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:3 +msgid "<b>Keys</b>" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:4 +msgid "Add _Cdrom" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:5 +msgid "Authentication" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:6 +msgid "D_elete downloaded software files:" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:7 +msgid "Import the public key from a trusted software provider" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:8 +msgid "Installation Media" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:9 +msgid "Internet Updates" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:10 +msgid "" +"Only security updates from the official Ubuntu servers will be installed " +"automatically. The software package \"unattended-upgrades\" needs to be " +"installed therefor" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:11 +msgid "Restore _Defaults" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:12 +msgid "Restore the default keys of your distribution" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:13 +msgid "Software Preferences" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:14 +msgid "_Check for updates automatically:" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:15 +msgid "_Download updates in the backgound, but do not install them" +msgstr "" + +#: ../data/SoftwareProperties.glade.h:16 +msgid "_Install security updates without confirmation" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:115 +#, python-format +msgid "Every %s days" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:145 +#, python-format +msgid "After %s days" +msgstr "" + +#. cell_desc.set_property("xpad", 10) +#. cell_desc.set_property("ypad", 10) +#: ../SoftwareProperties/SoftwareProperties.py:230 +msgid "Software Channel" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:236 +msgid "Active" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:413 +msgid "Import key" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:423 +msgid "Error importing selected file" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:424 +msgid "The selected file may not be a GPG key file or it might be corrupt." +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:436 +msgid "Error removing the key" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:437 +msgid "The key you selected could not be removed. Please report this as a bug." +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:480 +#, python-format +msgid "" +"<big><b>Error scaning the CD</b></big>\n" +"\n" +"%s" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:530 +msgid "Please enter a name for the disc" +msgstr "" + +#: ../SoftwareProperties/SoftwareProperties.py:546 +msgid "Please insert a disc in the drive:" +msgstr "" + +#: ../SoftwareProperties/dialog_sources_list.py:35 +msgid "Add Software Channels" +msgstr "" + +#: ../SoftwareProperties/dialog_sources_list.py:71 +msgid "Add the following software channel?" +msgid_plural "Add the following software channels?" +msgstr[0] "" +msgstr[1] "" + +#: ../SoftwareProperties/dialog_sources_list.py:74 +msgid "You can install software from a channel. Use trusted channels, only." +msgstr "" + +#: ../SoftwareProperties/dialog_sources_list.py:78 +msgid "_Add Channel" +msgid_plural "_Add Channels" +msgstr[0] "" +msgstr[1] "" + +#: ../SoftwareProperties/dialog_sources_list.py:91 +msgid "Could not add any software channels" +msgstr "" + +#: ../SoftwareProperties/dialog_sources_list.py:92 +#, python-format +msgid "The file '%s' does not contain any valid software channels." +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:92 +msgid "Broken packages" +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:93 +msgid "" +"Your system contains broken packages that couldn't be fixed with this " +"software. Please fix them first using synaptic or apt-get before proceeding." +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:135 +msgid "Can't upgrade required meta-packages" +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:142 +msgid "A essential package would have to be removed" +msgstr "" + +#. FIXME: change the text to something more useful +#: ../DistUpgrade/DistUpgradeCache.py:145 +msgid "Could not calculate the upgrade" +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:146 +msgid "" +"A unresolvable problem occured while calculating the upgrade. Please report " +"this as a bug. " +msgstr "" + +#. FIXME: maybe ask a question here? instead of failing? +#: ../DistUpgrade/DistUpgradeCache.py:168 +msgid "Error authenticating some packages" +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:169 +msgid "" +"It was not possible to authenticate some packages. This may be a transient " +"network problem. You may want to try again later. See below for a list of " +"unauthenticated packages." +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:232 +#, python-format +msgid "Can't install '%s'" +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:233 +msgid "" +"It was impossible to install a required package. Please report this as a " +"bug. " +msgstr "" + +#. FIXME: provide a list +#: ../DistUpgrade/DistUpgradeCache.py:240 +msgid "Can't guess meta-package" +msgstr "" + +#: ../DistUpgrade/DistUpgradeCache.py:241 +msgid "" +"Your system does not contain a ubuntu-desktop, kubuntu-desktop or edubuntu-" +"desktop package and it was not possible to detect which version of ubuntu " +"you are runing.\n" +" Please install one of the packages above first using synaptic or apt-get " +"before proceeding." +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:42 +msgid "Reading cache" +msgstr "" + +#. FIXME: offer to write a new self.sources.list entry +#: ../DistUpgrade/DistUpgradeControler.py:107 +msgid "No valid entry found" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:108 +msgid "" +"While scaning your repository information no valid entry for the upgrade was " +"found.\n" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:125 +msgid "Repository information invalid" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:126 +msgid "" +"Upgrading the repository information resulted in a invalid file. Please " +"report this as a bug." +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:171 +msgid "Error during update" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:172 +msgid "" +"A problem occured during the update. This is usually some sort of network " +"problem, please check your network connection and retry." +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:191 +msgid "Not enough free disk space" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:192 +#, python-format +msgid "" +"The upgrade aborts now. Please free at least %s of disk space. Empty your " +"trash and remove temporary packages of former installations using 'sudo apt-" +"get clean'." +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:198 +msgid "Do you want to start the upgrade?" +msgstr "" + +#. installing the packages failed, can't be retried +#: ../DistUpgrade/DistUpgradeControler.py:214 +msgid "Could not install the upgrades" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:215 +msgid "" +"The upgrade aborts now. Your system can be in an unusable state. Please try " +"'sudo apt-get install -f' or Synaptic to fix your system." +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:230 +msgid "Could not download the upgrades" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:231 +msgid "" +"The upgrade aborts now. Please check your internet connection or " +"installation media and try again. " +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:274 +msgid "Remove obsolete Packages?" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:281 +msgid "Error during commit" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:282 +msgid "" +"Some problem occured during the clean-up. Please see the below message for " +"more information. " +msgstr "" + +#. sanity check (check for ubuntu-desktop, brokenCache etc) +#. then open the cache (again) +#: ../DistUpgrade/DistUpgradeControler.py:296 +#: ../DistUpgrade/DistUpgradeControler.py:319 +msgid "Checking package manager" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:311 +msgid "Updating repository information" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:325 +msgid "Asking for confirmation" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:329 +msgid "Upgrading" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:336 +msgid "Searching for obsolete software" +msgstr "" + +#: ../DistUpgrade/DistUpgradeControler.py:341 +msgid "System upgrade is complete." +msgstr "" + +#. print "mediaChange %s %s" % (medium, drive) +#: ../DistUpgrade/DistUpgradeViewGtk.py:77 +#, python-format +msgid "Please insert '%s' into the drive '%s'" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:95 +msgid "Download is complete" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:106 +#, python-format +msgid "Downloading file %li of %li at %s/s" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:107 +#, python-format +msgid "%s remaining" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:109 +#, python-format +msgid "Downloading file %li of %li at unknown speed" +msgstr "" + +#. FIXME: add support for the timeout +#. of the terminal (to display something useful then) +#. -> longer term, move this code into python-apt +#: ../DistUpgrade/DistUpgradeViewGtk.py:134 +msgid "Installing updates" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:147 +#, python-format +msgid "Could not install '%s'" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:148 +msgid "The upgrade aborts now. Please report this bug." +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:226 +msgid "A fatal error occured" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:227 +msgid "" +"Please report this as a bug and include the files ~/dist-upgrade.log and ~/" +"dist-upgrade-apt.log in your report. The upgrade aborts now. " +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:308 +#, python-format +msgid "%s package is going to be removed." +msgid_plural "%s packages are going to be removed." +msgstr[0] "" +msgstr[1] "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:314 +#, python-format +msgid "%s new package is going to be installed." +msgid_plural "%s new packages are going to be installed." +msgstr[0] "" +msgstr[1] "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:320 +#, python-format +msgid "%s package is going to be upgraded." +msgid_plural "%s packages are going to be upgraded." +msgstr[0] "" +msgstr[1] "" + +#. FIXME: this should go into DistUpgradeController +#: ../DistUpgrade/DistUpgradeViewGtk.py:327 +msgid "Could not find any upgrades" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:328 +msgid "Your system has already been upgraded." +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:332 +#, python-format +msgid "You have to download a total of %s." +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:339 +#, python-format +msgid "<b>Remove %s</b>" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:341 +#, python-format +msgid "Install %s" +msgstr "" + +#: ../DistUpgrade/DistUpgradeViewGtk.py:343 +#, python-format +msgid "Upgrade %s" +msgstr "" + +#: ../DistUpgrade/DistUpgradeView.py:67 +msgid "Reboot required" +msgstr "" + +#: ../DistUpgrade/DistUpgradeView.py:68 +msgid "" +"The upgrade is finished now. A reboot is required to now, do you want to do " +"this now?" +msgstr "" + +#. testcode to see if the bullets look nice in the dialog +#. for i in range(4): +#. view.setStep(i+1) +#. app.openCache() +#: ../DistUpgrade/DistUpgrade.glade.h:1 +msgid " " +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:2 +msgid "" +"<b><big>Cancel the running upgrade?</big></b>\n" +"\n" +"The system could be in an unusable state if you cancel the upgrade. You are " +"strongly adviced to resume the upgrade." +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:5 +msgid "<b><big>Restart the system to complete the upgrade</big></b>" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:6 +msgid "<b><big>Start the upgrade?</big></b>" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:7 +msgid "" +"<span weight=\"bold\" size=\"x-large\">Upgrading to Ubuntu \"Dapper\" 6.04</" +"span>" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:8 +msgid "Cleaning up" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:9 +msgid "Details" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:10 +msgid "Downloading and installing the upgrades" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:11 +msgid "Modifying the software channels" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:12 +msgid "Preparing the upgrade" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:13 +msgid "Restarting the system" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:14 +msgid "Terminal" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:15 +msgid "Upgrading Ubuntu" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:16 +msgid "_Report Bug" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:17 +msgid "_Restart Now" +msgstr "" + +#: ../DistUpgrade/DistUpgrade.glade.h:18 +msgid "_Resume Upgrade" +msgstr "" + +#: ../data/UpdateManager.glade.h:1 +msgid "" +"<b><big>You need to manually reload the latest information about updates</" +"big></b>\n" +"\n" +"Your system does not check for updates automatically. You can configure this " +"behavior in \"System\" -> \"Administration\" -> \"Software Properties\"." +msgstr "" + +#: ../data/UpdateManager.glade.h:4 +msgid "" +"<big><b>Checking for available updates</b></big>\n" +"\n" +"Software updates can correct errors, eliminate security vulnerabilities, and " +"provide new features to you." +msgstr "" + +#: ../data/UpdateManager.glade.h:7 +msgid "<big><b>Keep your system up-to-date</b></big>" +msgstr "" + +#: ../data/UpdateManager.glade.h:8 +msgid "" +"<span weight=\"bold\" size=\"larger\">Downloading changes</span>\n" +"\n" +"Need to get the changes from the central server" +msgstr "" + +#: ../data/UpdateManager.glade.h:11 +msgid "Cancel _Download" +msgstr "" + +#: ../data/UpdateManager.glade.h:12 +msgid "Changes" +msgstr "" + +#: ../data/UpdateManager.glade.h:13 +msgid "Description" +msgstr "" + +#: ../data/UpdateManager.glade.h:14 +msgid "Release Notes" +msgstr "" + +#: ../data/UpdateManager.glade.h:15 +msgid "Reload the latest information about updates" +msgstr "" + +#: ../data/UpdateManager.glade.h:16 +msgid "Show details" +msgstr "" + +#: ../data/UpdateManager.glade.h:17 +msgid "Show progress of single files" +msgstr "" + +#: ../data/UpdateManager.glade.h:18 +msgid "Software Updates" +msgstr "" + +#: ../data/UpdateManager.glade.h:19 +msgid "" +"Software updates can correct errors, eliminate security vulnerabilities, and " +"provide new features to you." +msgstr "" + +#: ../data/UpdateManager.glade.h:20 +msgid "U_pgrade" +msgstr "" + +#: ../data/UpdateManager.glade.h:21 +msgid "Upgrade to the latest version of Ubuntu" +msgstr "" + +#: ../data/UpdateManager.glade.h:22 +msgid "_Hide this information in the future" +msgstr "" + +#: ../data/UpdateManager.glade.h:23 +msgid "_Install Updates" +msgstr "" + +#: ../data/UpdateManager.glade.h:24 +msgid "_Reload" +msgstr "" + +#: ../data/update-manager.desktop.in.h:1 +msgid "Show available updates and choose which to install" +msgstr "" + +#: ../data/update-manager.desktop.in.h:2 +msgid "Update Manager" +msgstr "" + +#: ../data/update-manager.schemas.in.h:1 +msgid "" +"If automatic checking for updates is disabeld, you have to reload the " +"channel list manually. This option allows to hide the reminder shown in this " +"case." +msgstr "" + +#: ../data/update-manager.schemas.in.h:2 +msgid "Remind to reload the channel list" +msgstr "" + +#: ../data/update-manager.schemas.in.h:3 +msgid "Show details of an update" +msgstr "" + +#: ../data/update-manager.schemas.in.h:4 +msgid "Stores the size of the update-manager dialog" +msgstr "" + +#: ../data/update-manager.schemas.in.h:5 +msgid "" +"Stores the state of the expander that contains the list of changs and the " +"description" +msgstr "" + +#: ../data/update-manager.schemas.in.h:6 +msgid "The window size" +msgstr "" + +#. ChangelogURI +#: ../channels/Ubuntu.info.in.h:4 +#, no-c-format +msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog" +msgstr "" + +#. Description +#: ../channels/Ubuntu.info.in:6 +msgid "Ubuntu 6.04 \"Dapper Drake\"" +msgstr "" + +#. Description +#: ../channels/Ubuntu.info.in:23 +msgid "Ubuntu 5.10 \"Breezy Badger\"" +msgstr "" + +#. Description +#: ../channels/Ubuntu.info.in:40 +msgid "Ubuntu 5.10 Security Updates" +msgstr "" + +#. Description +#: ../channels/Ubuntu.info.in:57 +msgid "Ubuntu 5.10 Updates" +msgstr "" + +#. Description +#: ../channels/Ubuntu.info.in:74 +msgid "Ubuntu 5.04 \"Hoary Hedgehog\"" +msgstr "" + +#. Description +#: ../channels/Ubuntu.info.in:91 +msgid "Ubuntu 5.04 Security Updates" +msgstr "" + +#. CompDescription +#: ../channels/Ubuntu.info.in:94 ../channels/Debian.info.in:51 +msgid "Oficially supported" +msgstr "" + +#. CompDescription +#: ../channels/Ubuntu.info.in:97 +msgid "Restricted copyright" +msgstr "" + +#. CompDescription +#: ../channels/Ubuntu.info.in:100 +msgid "Community maintained (Universe)" +msgstr "" + +#. CompDescription +#: ../channels/Ubuntu.info.in:103 +msgid "Non-free (Multiverse)" +msgstr "" + +#. ChangelogURI +#: ../channels/Debian.info.in.h:4 +#, no-c-format +msgid "http://packages.debian.org/changelogs/pool/%s/%s/%s/%s_%s/changelog" +msgstr "" + +#. Description +#: ../channels/Debian.info.in:6 +msgid "Debian 3.1 \"Sarge\"" +msgstr "" + +#. BaseURI +#: ../channels/Debian.info.in:19 +msgid "http://security.debian.org/" +msgstr "" + +#. Description +#: ../channels/Debian.info.in:20 +msgid "Debian 3.1 \"Sarge\" Security Updates" +msgstr "" + +#. Description +#: ../channels/Debian.info.in:34 +msgid "Debian \"Etch\" (testing)" +msgstr "" + +#. BaseURI +#: ../channels/Debian.info.in:47 +msgid "http://http.us.debian.org/debian/" +msgstr "" + +#. Description +#: ../channels/Debian.info.in:48 +msgid "Debian \"Sid\" (unstable)" +msgstr "" + +#. CompDescription +#: ../channels/Debian.info.in:54 +msgid "DFSG-compatible Software with Non-Free Dependencies" +msgstr "" + +#. CompDescription +#: ../channels/Debian.info.in:57 +msgid "Non-DFSG-compatible Software" +msgstr "" @@ -5,12 +5,28 @@ import glob import os GETTEXT_NAME="update-manager" +HELPFILES = [] +print "Setting up help files..." +for filepath in glob.glob("help/*"): + lang = filepath[len("help/"):] + print " Language: %s" % lang + path_xml = "share/gnome/help/update-manager/" + lang + path_figures = "share/gnome/help/update-manager/" + lang + "/figures/" + HELPFILES.append((path_xml, (glob.glob("%s/*.xml" % filepath)))) + HELPFILES.append((path_figures, (glob.glob("%s/figures/*.png" % \ + filepath)))) +HELPFILES.append(('share/omf/update-manager', glob.glob("help/*/*.omf"))) + I18NFILES = [] for filepath in glob.glob("po/mo/*/LC_MESSAGES/*.mo"): lang = filepath[len("po/mo/"):] targetpath = os.path.dirname(os.path.join("share/locale",lang)) I18NFILES.append((targetpath, [filepath])) +os.system("intltool-merge -d po data/update-manager.schemas.in"\ + " build/update-manager.schemas") + + # HACK: make sure that the mo files are generated and up-to-date os.system("cd po; make update-po") # do the same for the desktop files @@ -19,7 +35,7 @@ os.system("cd data; make") os.system("cd channels; make") setup(name='update-manager', - version='0.1', + version='0.42.2', packages=[ 'SoftwareProperties', 'UpdateManager', @@ -42,10 +58,16 @@ setup(name='update-manager', ["data/update-manager.desktop", "data/gnome-software-properties.desktop"] ), + ('share/gconf/schemas', + glob.glob("build/*.schemas") + ), ('share/pixmaps', ["data/update-manager.png"] + ), + ('share/mime/packages', + ["data/mime/apt.xml"] ) - ]+I18NFILES, + ] + I18NFILES + HELPFILES, ) |
