From c76b021053ff70b1766b2217eb5705929f1cc93e Mon Sep 17 00:00:00 2001 From: Sebastian Heinlein Date: Fri, 17 Mar 2006 17:00:16 +0100 Subject: * allow to enable and disable channels/sources * disable edit and remove button if no sources are available * always select the first source at startup * use the reload icon on the check button --- SoftwareProperties/SoftwareProperties.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'SoftwareProperties') diff --git a/SoftwareProperties/SoftwareProperties.py b/SoftwareProperties/SoftwareProperties.py index 41da0b32..4902e44d 100644 --- a/SoftwareProperties/SoftwareProperties.py +++ b/SoftwareProperties/SoftwareProperties.py @@ -190,6 +190,11 @@ class SoftwareProperties(SimpleGladeApp): source_col = gtk.TreeViewColumn("Description", tr, markup=LIST_MARKUP) source_col.set_max_width(500) + toggle = gtk.CellRendererToggle() + toggle.connect("toggled", self.on_channel_toggled) + toggle_col = gtk.TreeViewColumn("Active", toggle, active=LIST_ENABLED) + + self.treeview_sources.append_column(toggle_col) self.treeview_sources.append_column(source_col) self.sourceslist = aptsources.SourcesList() @@ -207,7 +212,7 @@ 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) @@ -217,6 +222,13 @@ class SoftwareProperties(SimpleGladeApp): contents +="%s (%s) \n%s" % (dist,a_type, comps) self.source_store.append([contents, not source.disabled, source]) + if len(self.source_store) < 1: + self.button_remove.set_sensitive(False) + self.button_edit.set_sensitive(False) + else: + self.button_remove.set_sensitive(True) + self.button_edit.set_sensitive(True) + self.treeview_sources.set_cursor(0) def reload_keyslist(self): self.keys_store.clear() @@ -445,6 +457,13 @@ class SoftwareProperties(SimpleGladeApp): self.reload_sourceslist() self.modified = True + 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 # FIXME: move this into a different file class GtkCdromProgress(apt.progress.CdromProgress, SimpleGladeApp): -- cgit v1.2.3 From 85738204aa2e56e2fafd1eb3ec724b4b3d6fa21c Mon Sep 17 00:00:00 2001 From: Sebastian Heinlein Date: Mon, 20 Mar 2006 13:14:53 +0100 Subject: * do not show the reload information if there is a parent window for the preferences * try to reselect the previous selected channel after reloading --- SoftwareProperties/SoftwareProperties.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'SoftwareProperties') diff --git a/SoftwareProperties/SoftwareProperties.py b/SoftwareProperties/SoftwareProperties.py index 4902e44d..0378bf29 100644 --- a/SoftwareProperties/SoftwareProperties.py +++ b/SoftwareProperties/SoftwareProperties.py @@ -210,6 +210,7 @@ class SoftwareProperties(SimpleGladeApp): self.treeview2.append_column(keys_col) def reload_sourceslist(self): + path = self.treeview_sources.get_cursor() self.source_store.clear() for source in self.sourceslist.list: if source.invalid: @@ -226,9 +227,10 @@ class SoftwareProperties(SimpleGladeApp): self.button_remove.set_sensitive(False) self.button_edit.set_sensitive(False) else: + if not self.treeview_sources.get_cursor(path): + self.treeview_sources.set_cursor(0) self.button_remove.set_sensitive(True) self.button_edit.set_sensitive(True) - self.treeview_sources.set_cursor(0) def reload_keyslist(self): self.keys_store.clear() @@ -340,7 +342,9 @@ class SoftwareProperties(SimpleGladeApp): self.sourceslist.backup(".save") self.sourceslist.save() # show a dialog that a reload of the channel information is required - if self.modified == True: + # only if there is no parent defined + if self.modified == True and \ + self.window_main.get_transient_for() != None: d = dialog_cache_outdated.DialogCacheOutdated(self.window_main, self.datadir) res = d.run() -- cgit v1.2.3 From 480b1f25929a339b0de10096f0162308e8a0f6c3 Mon Sep 17 00:00:00 2001 From: Sebastian Heinlein Date: Mon, 20 Mar 2006 16:49:57 +0100 Subject: * Restore the correct path after reloading the sources list --- SoftwareProperties/SoftwareProperties.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'SoftwareProperties') diff --git a/SoftwareProperties/SoftwareProperties.py b/SoftwareProperties/SoftwareProperties.py index 0378bf29..5f4b5054 100644 --- a/SoftwareProperties/SoftwareProperties.py +++ b/SoftwareProperties/SoftwareProperties.py @@ -210,7 +210,7 @@ class SoftwareProperties(SimpleGladeApp): self.treeview2.append_column(keys_col) def reload_sourceslist(self): - path = self.treeview_sources.get_cursor() + (path_x, path_y) = self.treeview_sources.get_cursor() self.source_store.clear() for source in self.sourceslist.list: if source.invalid: @@ -227,7 +227,7 @@ class SoftwareProperties(SimpleGladeApp): self.button_remove.set_sensitive(False) self.button_edit.set_sensitive(False) else: - if not self.treeview_sources.get_cursor(path): + if path_x == None or self.treeview_sources.set_cursor(path_x): self.treeview_sources.set_cursor(0) self.button_remove.set_sensitive(True) self.button_edit.set_sensitive(True) -- cgit v1.2.3 From 313d2bb993c4132ad2043ff1ad96234884f82264 Mon Sep 17 00:00:00 2001 From: Sebastian Heinlein Date: Tue, 21 Mar 2006 19:19:32 +0100 Subject: * Fixed reload information * glade file cleanup - should fix some annoyances with focus stealing --- SoftwareProperties/SoftwareProperties.py | 2 +- UpdateManager/UpdateManager.py | 6 ++++-- data/UpdateManager.glade | 16 ++++++++-------- 3 files changed, 13 insertions(+), 11 deletions(-) (limited to 'SoftwareProperties') diff --git a/SoftwareProperties/SoftwareProperties.py b/SoftwareProperties/SoftwareProperties.py index 5f4b5054..099576d0 100644 --- a/SoftwareProperties/SoftwareProperties.py +++ b/SoftwareProperties/SoftwareProperties.py @@ -344,7 +344,7 @@ class SoftwareProperties(SimpleGladeApp): # show a dialog that a reload of the channel information is required # only if there is no parent defined if self.modified == True and \ - self.window_main.get_transient_for() != None: + self.window_main.get_transient_for() == None: d = dialog_cache_outdated.DialogCacheOutdated(self.window_main, self.datadir) res = d.run() diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py index 27e6b7bb..1c996a66 100644 --- a/UpdateManager/UpdateManager.py +++ b/UpdateManager/UpdateManager.py @@ -224,6 +224,8 @@ class UpdateManager(SimpleGladeApp): None, domain="update-manager") self.window_main.set_sensitive(False) + self.window_main.grab_focus() + self.button_close.grab_focus() self.packages = [] self.dl_size = 0 @@ -237,7 +239,7 @@ class UpdateManager(SimpleGladeApp): # useful exit stuff self.window_main.connect("delete_event", self.close) - self.button_cancel.connect("clicked", lambda w: self.exit()) + self.button_close.connect("clicked", lambda w: self.exit()) # the treeview (move into it's own code!) self.store = gtk.ListStore(gobject.TYPE_BOOLEAN, str, str, str, str, str, @@ -425,7 +427,7 @@ class UpdateManager(SimpleGladeApp): self.expander_details.set_sensitive(False) self.treeview_update.set_sensitive(False) self.label_downsize.set_text="" - self.button_cancel.grab_default() + self.button_close.grab_default() else: text_header = ""+gettext.ngettext("You can install one update", "You can install %s updates" % len(self.store), len(self.store))+"" diff --git a/data/UpdateManager.glade b/data/UpdateManager.glade index ac7a0345..cfa5176c 100644 --- a/data/UpdateManager.glade +++ b/data/UpdateManager.glade @@ -7,7 +7,7 @@ True Software Updates GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER + GTK_WIN_POS_NONE False 600 True @@ -783,7 +783,7 @@ 6 - + True True True @@ -818,7 +818,7 @@ Release Notes GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT - False + True 600 500 True @@ -906,7 +906,7 @@ GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT - False + True False False True @@ -1124,7 +1124,7 @@ GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT - False + True False False True @@ -1342,8 +1342,8 @@ Your system does not check for updates automatically. You can configure this beh 6 GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False + GTK_WIN_POS_CENTER_ON_PARENT + True False False True @@ -1351,7 +1351,7 @@ Your system does not check for updates automatically. You can configure this beh True GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST - True + False False -- cgit v1.2.3