summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SoftwareProperties/SoftwareProperties.py107
-rw-r--r--SoftwareProperties/aptsources.py32
-rw-r--r--SoftwareProperties/dialog_add.py89
-rw-r--r--UpdateManager/UpdateManager.py10
-rw-r--r--data/SoftwareProperties.glade26
-rw-r--r--data/SoftwareProperties.gladep8
-rw-r--r--data/SoftwarePropertiesDialogs.glade606
-rw-r--r--data/UpdateManager.glade65
-rw-r--r--data/dialog_add_channels.glade180
-rw-r--r--data/gnome-software-properties.desktop.in3
-rw-r--r--data/gnome-software-properties.gladep8
-rw-r--r--data/mime/apt.xml7
-rw-r--r--data/update-manager.gladep8
-rw-r--r--data/update-manager.schemas.in52
-rwxr-xr-xdebian/rules3
-rw-r--r--gnome-software-properties7
-rw-r--r--help/C/figures/authentication-add.pngbin42381 -> 303198 bytes
-rw-r--r--help/C/figures/authentication.pngbin24064 -> 274684 bytes
-rw-r--r--help/C/figures/download-progressbar.pngbin27554 -> 208318 bytes
-rw-r--r--help/C/figures/failed-repos.pngbin28557 -> 243774 bytes
-rw-r--r--help/C/figures/install-progress-terminal.pngbin41538 -> 451335 bytes
-rw-r--r--help/C/figures/install-progress.pngbin14638 -> 133917 bytes
-rw-r--r--help/C/figures/main-system-updates-available.pngbin48292 -> 277960 bytes
-rw-r--r--help/C/figures/main-system-updates-summary-details.pngbin52051 -> 368111 bytes
-rw-r--r--help/C/figures/main-system-updates-summary.pngbin48278 -> 308065 bytes
-rw-r--r--help/C/figures/main-system-uptodate.pngbin31064 -> 229559 bytes
-rw-r--r--help/C/figures/main-view-monitor-update.pngbin53447 -> 471026 bytes
-rw-r--r--help/C/figures/main-view-update-detail.pngbin48478 -> 356191 bytes
-rw-r--r--help/C/figures/not-possible.pngbin0 -> 237318 bytes
-rw-r--r--help/C/figures/preferences-add-custom.pngbin20849 -> 150488 bytes
-rw-r--r--help/C/figures/preferences-add.pngbin16862 -> 114050 bytes
-rw-r--r--help/C/figures/preferences-edit.pngbin14607 -> 116045 bytes
-rw-r--r--help/C/figures/preferences-repos-changeinfo.pngbin22734 -> 138955 bytes
-rw-r--r--help/C/figures/preferences.pngbin49753 -> 341184 bytes
-rw-r--r--help/C/figures/reload-package-info.pngbin31937 -> 250061 bytes
-rw-r--r--help/C/figures/settings.pngbin32236 -> 206450 bytes
-rw-r--r--help/C/figures/synaptic-toggle-install-view.pngbin31810 -> 319986 bytes
-rw-r--r--help/C/update-manager-C.omf11
-rw-r--r--help/C/update-manager-C.omf.out17
-rw-r--r--help/C/update-manager.xml230
-rw-r--r--help/Makefile.am1
-rw-r--r--po/POTFILES.in2
-rw-r--r--po/update-manager.pot759
-rwxr-xr-xsetup.py26
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">&lt;b&gt;Repository&lt;/b&gt;</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">&lt;b&gt;Official Ubuntu Channel&lt;/b&gt;</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">&lt;b&gt;Components&lt;/b&gt;</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">&lt;b&gt;Custom Channel&lt;/b&gt;</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">&lt;b&gt;&lt;big&gt;You need to manually reload the latest information about updates&lt;/big&gt;&lt;/b&gt;
+ <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">&lt;b&gt;&lt;big&gt;You need to manually reload the latest information about updates&lt;/big&gt;&lt;/b&gt;
Your system does not check for updates automatically. You can configure this behavior in &quot;System&quot; -&gt; &quot;Administration&quot; -&gt; &quot;Software Properties&quot;.</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
index cd3d189f..004b3fa1 100644
--- a/help/C/figures/authentication-add.png
+++ b/help/C/figures/authentication-add.png
Binary files differ
diff --git a/help/C/figures/authentication.png b/help/C/figures/authentication.png
index 8601ccd9..07227a2e 100644
--- a/help/C/figures/authentication.png
+++ b/help/C/figures/authentication.png
Binary files differ
diff --git a/help/C/figures/download-progressbar.png b/help/C/figures/download-progressbar.png
index 0cef6d51..9f096460 100644
--- a/help/C/figures/download-progressbar.png
+++ b/help/C/figures/download-progressbar.png
Binary files differ
diff --git a/help/C/figures/failed-repos.png b/help/C/figures/failed-repos.png
index 68e688cc..01b0d0e9 100644
--- a/help/C/figures/failed-repos.png
+++ b/help/C/figures/failed-repos.png
Binary files differ
diff --git a/help/C/figures/install-progress-terminal.png b/help/C/figures/install-progress-terminal.png
index 6f21faf8..06111c61 100644
--- a/help/C/figures/install-progress-terminal.png
+++ b/help/C/figures/install-progress-terminal.png
Binary files differ
diff --git a/help/C/figures/install-progress.png b/help/C/figures/install-progress.png
index 2ab7fa51..699f6219 100644
--- a/help/C/figures/install-progress.png
+++ b/help/C/figures/install-progress.png
Binary files differ
diff --git a/help/C/figures/main-system-updates-available.png b/help/C/figures/main-system-updates-available.png
index f4d9f1e6..24dc5481 100644
--- a/help/C/figures/main-system-updates-available.png
+++ b/help/C/figures/main-system-updates-available.png
Binary files differ
diff --git a/help/C/figures/main-system-updates-summary-details.png b/help/C/figures/main-system-updates-summary-details.png
index 2b635ce1..08860ec1 100644
--- a/help/C/figures/main-system-updates-summary-details.png
+++ b/help/C/figures/main-system-updates-summary-details.png
Binary files differ
diff --git a/help/C/figures/main-system-updates-summary.png b/help/C/figures/main-system-updates-summary.png
index 8d9b0103..fefea5dd 100644
--- a/help/C/figures/main-system-updates-summary.png
+++ b/help/C/figures/main-system-updates-summary.png
Binary files differ
diff --git a/help/C/figures/main-system-uptodate.png b/help/C/figures/main-system-uptodate.png
index 60394d06..d8c10d5f 100644
--- a/help/C/figures/main-system-uptodate.png
+++ b/help/C/figures/main-system-uptodate.png
Binary files differ
diff --git a/help/C/figures/main-view-monitor-update.png b/help/C/figures/main-view-monitor-update.png
index 308a81ca..b8b2a80b 100644
--- a/help/C/figures/main-view-monitor-update.png
+++ b/help/C/figures/main-view-monitor-update.png
Binary files differ
diff --git a/help/C/figures/main-view-update-detail.png b/help/C/figures/main-view-update-detail.png
index 4e05e272..d3f8f12c 100644
--- a/help/C/figures/main-view-update-detail.png
+++ b/help/C/figures/main-view-update-detail.png
Binary files differ
diff --git a/help/C/figures/not-possible.png b/help/C/figures/not-possible.png
new file mode 100644
index 00000000..20678a9b
--- /dev/null
+++ b/help/C/figures/not-possible.png
Binary files differ
diff --git a/help/C/figures/preferences-add-custom.png b/help/C/figures/preferences-add-custom.png
index 1c7b5a89..97e709f6 100644
--- a/help/C/figures/preferences-add-custom.png
+++ b/help/C/figures/preferences-add-custom.png
Binary files differ
diff --git a/help/C/figures/preferences-add.png b/help/C/figures/preferences-add.png
index 1f2cad19..e77f7523 100644
--- a/help/C/figures/preferences-add.png
+++ b/help/C/figures/preferences-add.png
Binary files differ
diff --git a/help/C/figures/preferences-edit.png b/help/C/figures/preferences-edit.png
index e3bc0d2b..5d713264 100644
--- a/help/C/figures/preferences-edit.png
+++ b/help/C/figures/preferences-edit.png
Binary files differ
diff --git a/help/C/figures/preferences-repos-changeinfo.png b/help/C/figures/preferences-repos-changeinfo.png
index b012afe0..e1fbbd9e 100644
--- a/help/C/figures/preferences-repos-changeinfo.png
+++ b/help/C/figures/preferences-repos-changeinfo.png
Binary files differ
diff --git a/help/C/figures/preferences.png b/help/C/figures/preferences.png
index eac98df9..e59f2c29 100644
--- a/help/C/figures/preferences.png
+++ b/help/C/figures/preferences.png
Binary files differ
diff --git a/help/C/figures/reload-package-info.png b/help/C/figures/reload-package-info.png
index f7ca3d93..76156b2e 100644
--- a/help/C/figures/reload-package-info.png
+++ b/help/C/figures/reload-package-info.png
Binary files differ
diff --git a/help/C/figures/settings.png b/help/C/figures/settings.png
index 33bb325a..2084c2ef 100644
--- a/help/C/figures/settings.png
+++ b/help/C/figures/settings.png
Binary files differ
diff --git a/help/C/figures/synaptic-toggle-install-view.png b/help/C/figures/synaptic-toggle-install-view.png
index c9de71be..be04d24e 100644
--- a/help/C/figures/synaptic-toggle-install-view.png
+++ b/help/C/figures/synaptic-toggle-install-view.png
Binary files differ
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 &apos;NOT AUTHENTICATED.&apos;</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 ""
diff --git a/setup.py b/setup.py
index c901656f..873f5de4 100755
--- a/setup.py
+++ b/setup.py
@@ -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,
)