From tgerla@specifixinc.com Thu Aug  5 11:33:27 2004
Received: from bluesmobile.specifixinc.com ([64.62.200.227])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i75FXRbI013595
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 5 Aug 2004 11:33:27 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id B519F16759
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu,  5 Aug 2004 08:33:53 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i75FXqTD005769; Thu, 5 Aug 2004 11:33:52 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i75FXpwc005764; Thu, 5 Aug 2004 11:33:51 -0400
Date: Thu, 5 Aug 2004 11:33:51 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408051533.i75FXpwc005764@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile, 1.9, 1.10 conary-repoview.glade, 1.6,
	1.7 conary-repoview.py, 1.7, 1.8
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Thu, 05 Aug 2004 15:33:27 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv5752

Modified Files:
	Makefile conary-repoview.glade conary-repoview.py 
Log Message:
re-add support for repository menu, not wired yet, solving gtk issue...



Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Makefile	4 Aug 2004 17:56:53 -0000	1.9
+++ Makefile	5 Aug 2004 15:33:49 -0000	1.10
@@ -28,7 +28,7 @@
 
 generated_files = *.pyo *.pyc 
 
-.PHONY: clean bootstrap deps.dot pychecker dist install test debug-test subdirs conary-repoview
+.PHONY: clean dist install conary-repoview
 
 subdirs:
 	for d in $(SUBDIRS); do make -C $$d DIR=$$d || exit 1; done


Index: conary-repoview.glade
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.glade,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- conary-repoview.glade	3 Aug 2004 20:18:18 -0000	1.6
+++ conary-repoview.glade	5 Aug 2004 15:33:49 -0000	1.7
@@ -94,6 +94,15 @@
 	  </child>
 
 	  <child>
+	    <widget class="GtkMenuItem" id="repositories1">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Repositories</property>
+	      <property name="use_underline">True</property>
+	      <signal name="activate" handler="on_repositories1_activate" last_modification_time="Thu, 05 Aug 2004 13:45:30 GMT"/>
+	    </widget>
+	  </child>
+
+	  <child>
 	    <widget class="GtkMenuItem" id="help1">
 	      <property name="visible">True</property>
 	      <property name="label" translatable="yes">Help</property>


Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- conary-repoview.py	4 Aug 2004 17:56:53 -0000	1.7
+++ conary-repoview.py	5 Aug 2004 15:33:49 -0000	1.8
@@ -32,6 +32,8 @@
 import updatetrove
 import applychangeset
 
+cfg = conarycfg.ConaryConfiguration()
+
 class RepositoryView( gtk.glade.XML ):
     def __init__( self ):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "repview")
@@ -50,7 +52,20 @@
 	
 	self.get_widget("installTroveVersionMenu").set_sensitive(False)
 
-	self.graph = None
+	menu = gtk.Menu()
+        item = None
+	for repo in cfg.repositoryMap.keys():
+            item = gtk.RadioMenuItem(item, repo)
+	    item.connect("activated", self.repoMapActivated, repo)
+            menu.append(item)
+
+        repMenu = self.get_widget('repositories1')
+        repMenu.set_submenu(menu)
+        repMenu.show_all()
+
+    def repoMapActivated(self, widget, repo):
+	
+	print repo
 
     def buildTroveTree(self):
 	self.troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)


From tgerla@specifixinc.com Thu Aug  5 17:45:38 2004
Received: from bluesmobile.specifixinc.com ([64.62.200.227])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i75LjbbI014504
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 5 Aug 2004 17:45:38 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id B05A0162A1
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu,  5 Aug 2004 14:46:04 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i75Lk0TD016419; Thu, 5 Aug 2004 17:46:00 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i75Lk0sV016413; Thu, 5 Aug 2004 17:46:00 -0400
Date: Thu, 5 Aug 2004 17:46:00 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408052146.i75Lk0sV016413@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.py,1.8,1.9 conaryinterface.py,1.11,1.12
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Thu, 05 Aug 2004 21:45:38 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv16395

Modified Files:
	conary-repoview.py conaryinterface.py 
Log Message:
load troves from all repositories in repositorymap...the rest is still
sort of broken.



Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- conary-repoview.py	5 Aug 2004 15:33:49 -0000	1.8
+++ conary-repoview.py	5 Aug 2004 21:45:58 -0000	1.9
@@ -52,30 +52,31 @@
 	
 	self.get_widget("installTroveVersionMenu").set_sensitive(False)
 
-	menu = gtk.Menu()
-        item = None
-	for repo in cfg.repositoryMap.keys():
-            item = gtk.RadioMenuItem(item, repo)
-	    item.connect("activated", self.repoMapActivated, repo)
-            menu.append(item)
-
-        repMenu = self.get_widget('repositories1')
-        repMenu.set_submenu(menu)
-        repMenu.show_all()
+	#menu = gtk.Menu()
+        #item = None
+	#for repo in cfg.repositoryMap.keys():
+        #    item = gtk.RadioMenuItem(item, repo)
+	#    item.connect("activated", self.repoMapActivated, repo)
+        #    menu.append(item)
+#
+#        repMenu = self.get_widget('repositories1')
+#        repMenu.set_submenu(menu)
+#        repMenu.show_all()
 
     def repoMapActivated(self, widget, repo):
 	
 	print repo
 
     def buildTroveTree(self):
-	self.troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
+	self.troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
                                           
         tv = self.get_widget("troveTree")
         tv.set_model(self.troveStore)
          
         self.TROVE_COLUMN_FULL_NAME = 0 
 	self.TROVE_COLUMN_DISPLAY_NAME = 1
-	self.TROVE_COLUMN_COLOR = 2
+	self.TROVE_COLUMN_LABEL = 2
+	self.TROVE_COLUMN_COLOR = 3
 
 	tv.set_search_column(self.TROVE_COLUMN_FULL_NAME)
 
@@ -141,6 +142,7 @@
     def updateTroveTreeBegin(self):
 	self.updating = True
 	gobject.timeout_add(50, self.pulse)
+
 	troveList = conaryinterface.TroveList(self.updateTroveTreeFinish)
 	troveList.start()
 
@@ -153,55 +155,50 @@
 
     def updateTroveTreeFinish(self, troves, error):
 	self.troveStore.clear()
-	
-	# munge the replist into two parts:
-	# components: a hash with package name as key containing a list of components
-	# packages: a list of components
-	
-	components = {}
-	packages = []
-	for t in troves:
-	    idx = t.find(':')
-	    if idx >= 0:
-		package = t[ :idx ]
-		component = t[ idx+1: ]
-		
-		if package not in components.keys():
-		    components[package] = []
-		if package not in packages:
-		    packages.append(package)
+	for repo in troves.keys():
+	    root = self.troveStore.append(None, [None, repo, None, None])
+
+	    # munge the replist into two parts:
+	    # components: a hash with package name as key containing a list of components
+	    # packages: a list of components
+
+	    components = {}
+	    packages = []
+	    for t in troves[repo]:
+		idx = t.find(':')
+		if idx >= 0:
+		    package = t[ :idx ]
+		    component = t[ idx+1: ]
+		    
+		    if package not in components.keys():
+			components[package] = []
+		    if package not in packages:
+			packages.append(package)
+			
+		    components[package].append(component)
+		else:
+		    packages.append(t)
+	    
+	    packages.sort(lambda a, b: cmp(a.lower(), b.lower()))
+	    for package in packages:
+		iter = self.troveStore.append(root, [package, package, repo, None])
+		for component in components[package]:
+		    self.troveStore.append(iter, [package + ":" + component, component, repo, None])
 		    
-		components[package].append(component)
-	    else:
-		packages.append(t)
-	
-	packages.sort(lambda a, b: cmp(a.lower(), b.lower()))
-	for package in packages:
-	    iter = self.troveStore.append(None, [package, package, None])
-	    for component in components[package]:
-		self.troveStore.append(iter, [package + ":" + component, component, None])
-		
 	self.updating = False
 
     def onTroveSelected(self, selection):
 	treeIter = selection.get_selected()[1]
 	if treeIter:
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
+	    label = self.troveStore[treeIter][self.TROVE_COLUMN_LABEL]
 	    self.get_widget("versionTree").set_data('troveName', troveName)
 	    
-	    bs = conaryinterface.BranchStructure(troveName, self.updateBranchStructureFinish)       
-	    self.updating = True
-	    gobject.timeout_add(50, self.pulse)
-	    bs.start()
-
-	    if 0:
-		sw = self.get_widget("scrolledwindow3")
-		if self.graph:
-		    sw.remove(self.graph)
-		    self.graph = None
-		self.graph = TroveGraph(troveName)
-		sw.add(self.graph)
-		sw.show_all()
+	    if troveName:
+		bs = conaryinterface.BranchStructure(troveName, label, self.updateBranchStructureFinish)       
+		self.updating = True
+		gobject.timeout_add(50, self.pulse)
+		bs.start()
 
     def onVersionSelected(self, selection):
 	treeIter = selection.get_selected()[1]


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- conaryinterface.py	4 Aug 2004 19:42:48 -0000	1.11
+++ conaryinterface.py	5 Aug 2004 21:45:58 -0000	1.12
@@ -34,6 +34,8 @@
 # FIXME if the main app is killed before the thread is done, the process doesn't end..
 #       join any threads on exit, or daemonize these?
 
+# FIXME we shouldn't eat all exceptions within run()
+
 class ConaryOperation(threading.Thread):
     """
     Abstract class for a threaded Conary operation with a Gtk-based callback
@@ -52,7 +54,7 @@
 	try:
 	    self.conaryInit()
 	    retval = self.doOperation()
-	except:
+	except None:
 	    error = str(sys.exc_info()[1])
 	    retval = None
 	else:
@@ -96,10 +98,13 @@
 
 class TroveList(ConaryOperation):
     """
-    Retrieve a list of all troves in the repository.
+    Retrieve a list of all troves in the repositories.
     """
     def doOperation(self):
-	troves = [ x for x in self.repos.iterAllTroveNames(self.cfg.installLabel.getHost()) ]
+	troves = {}
+	for repo in self.cfg.repositoryMap.keys():
+	    print self.cfg.repositoryMap[repo]
+	    troves[repo] = [ x for x in self.repos.iterAllTroveNames(repo) ]
 	return troves
 
 class UpdateTrove(ConaryOperation):
@@ -163,9 +168,10 @@
     """
     Return a tree-like structure of branches, given a trove name.
     """
-    def __init__(self, troveName, callback):
+    def __init__(self, troveName, startLabel, callback):
 	ConaryOperation.__init__(self, callback)
 	self.troveName = troveName
+	self.startLabel = startLabel
 
     def doOperation(self):
 	tree = self.getVersionsAndBranches(self.troveName)
@@ -201,7 +207,7 @@
 	else:
 	    versions = self.repos.getTroveVersionsByLabel([troveName], label)
 
-	branches = self._getNestedBranches(troveName, self.cfg.installLabel.getHost(), label.asString())
+	branches = self._getNestedBranches(troveName, self.startLabel, label)
 	branches.sort()
 	
 	tree = { label: {"flavor": None}, "flavor": None }


From tgerla@specifixinc.com Mon Aug  9 10:56:53 2004
Received: from bluesmobile.specifixinc.com ([64.62.200.227])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i79EuqbI026107
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 9 Aug 2004 10:56:52 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 71ECF1620B
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon,  9 Aug 2004 07:57:23 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i79EvLTD030906; Mon, 9 Aug 2004 10:57:21 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i79EvLeE030902; Mon, 9 Aug 2004 10:57:21 -0400
Date: Mon, 9 Aug 2004 10:57:21 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408091457.i79EvLeE030902@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.py, 1.9, 1.10 conaryinterface.py, 1.12,
	1.13
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 09 Aug 2004 14:56:53 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv30875

Modified Files:
	conary-repoview.py conaryinterface.py 
Log Message:
for now disable multiple repositories...my method might not be possible.



Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- conary-repoview.py	5 Aug 2004 21:45:58 -0000	1.9
+++ conary-repoview.py	9 Aug 2004 14:57:19 -0000	1.10
@@ -83,7 +83,7 @@
         renderer = gtk.CellRendererText()
         column = gtk.TreeViewColumn("Trove Name", renderer, text=self.TROVE_COLUMN_DISPLAY_NAME)
 	column.add_attribute(renderer, "foreground", self.TROVE_COLUMN_COLOR)
-	
+
 	tv.append_column(column)
 
 	selection = tv.get_selection()


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- conaryinterface.py	5 Aug 2004 21:45:58 -0000	1.12
+++ conaryinterface.py	9 Aug 2004 14:57:19 -0000	1.13
@@ -102,8 +102,10 @@
     """
     def doOperation(self):
 	troves = {}
-	for repo in self.cfg.repositoryMap.keys():
-	    print self.cfg.repositoryMap[repo]
+
+	# repos = self.cfg.repositoryMap.keys();
+	repos = [ self.cfg.installLabel.getHost() ]
+	for repo in repos:
 	    troves[repo] = [ x for x in self.repos.iterAllTroveNames(repo) ]
 	return troves
 


From tgerla@specifixinc.com Mon Aug 16 15:47:06 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7GJl6bI002337
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 16 Aug 2004 15:47:06 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8AA801654A
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 16 Aug 2004 12:47:45 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7GJlhTD018038; Mon, 16 Aug 2004 15:47:43 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7GJlhGK018036; Mon, 16 Aug 2004 15:47:43 -0400
Date: Mon, 16 Aug 2004 15:47:43 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408161947.i7GJlhGK018036@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.13,1.14
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 16 Aug 2004 19:47:06 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv17982

Modified Files:
	conaryinterface.py 
Log Message:
Re-enable and fix multiple repository views



Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- conaryinterface.py	9 Aug 2004 14:57:19 -0000	1.13
+++ conaryinterface.py	16 Aug 2004 19:47:41 -0000	1.14
@@ -26,6 +26,7 @@
 
 import conarycfg
 import helper
+import versions
 from local import database
 from repository import repository
 from repository import changeset
@@ -103,8 +104,7 @@
     def doOperation(self):
 	troves = {}
 
-	# repos = self.cfg.repositoryMap.keys();
-	repos = [ self.cfg.installLabel.getHost() ]
+	repos = self.cfg.repositoryMap.keys();
 	for repo in repos:
 	    troves[repo] = [ x for x in self.repos.iterAllTroveNames(repo) ]
 	return troves
@@ -170,12 +170,16 @@
     """
     Return a tree-like structure of branches, given a trove name.
     """
-    def __init__(self, troveName, startLabel, callback):
+    def __init__(self, troveName, startLabelHost, callback):
 	ConaryOperation.__init__(self, callback)
 	self.troveName = troveName
-	self.startLabel = startLabel
+        self.startLabelHost = startLabelHost
 
     def doOperation(self):
+        label = self.cfg.installLabel.asString()
+        defaultBranch = label[label.index('@'):]
+        self.startLabel = versions.BranchName(self.startLabelHost + defaultBranch)
+   
 	tree = self.getVersionsAndBranches(self.troveName)
 	return tree
 
@@ -204,7 +208,7 @@
 
     def _getVersionsAndBranches(self, troveName, label, level):
 	if label == None:
-	    label = self.cfg.installLabel
+	    label = self.startLabel
 	    versions = self.repos.getTroveVersionList(label.getHost(), [troveName])
 	else:
 	    versions = self.repos.getTroveVersionsByLabel([troveName], label)


From tgerla@specifixinc.com Wed Aug 18 10:38:23 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7IEcNbI011067
	for <conary-gui-commits@lists.specifixinc.com>;
	Wed, 18 Aug 2004 10:38:23 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id EC46E16745
	for <conary-gui-commits@lists.specifixinc.com>;
	Wed, 18 Aug 2004 07:39:04 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7IEd3TD013112; Wed, 18 Aug 2004 10:39:03 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7IEd3GO013110; Wed, 18 Aug 2004 10:39:03 -0400
Date: Wed, 18 Aug 2004 10:39:03 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408181439.i7IEd3GO013110@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui .cvsignore,NONE,1.1
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Wed, 18 Aug 2004 14:38:24 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv13090

Added Files:
	.cvsignore 
Log Message:
quiet CVS



--- NEW FILE .cvsignore ---
conary-gui-wrapper
*.pyc
*.pyo
*.gladep
*~


From tgerla@specifixinc.com Thu Aug 19 12:01:16 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7JG1EbI018176
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 19 Aug 2004 12:01:15 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8447A16745
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 19 Aug 2004 09:01:56 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7JG1XTD021248; Thu, 19 Aug 2004 12:01:33 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7JG1WK2021240; Thu, 19 Aug 2004 12:01:32 -0400
Date: Thu, 19 Aug 2004 12:01:32 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408191601.i7JG1WK2021240@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui applychangeset.py, 1.4, 1.5 conary-repoview.glade, 1.7,
	1.8 conary-repoview.py, 1.10, 1.11 conaryinterface.py, 1.14,
	1.15 statuswindow.py, 1.2, 1.3 updatetrove.py, 1.5, 1.6
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Thu, 19 Aug 2004 16:01:16 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv21205

Modified Files:
	applychangeset.py conary-repoview.glade conary-repoview.py 
	conaryinterface.py statuswindow.py updatetrove.py 
Log Message:
begin moving to ConaryClient



Index: applychangeset.py
===================================================================
RCS file: /cvs/conary-gui/applychangeset.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- applychangeset.py	4 Aug 2004 19:42:48 -0000	1.4
+++ applychangeset.py	19 Aug 2004 16:01:30 -0000	1.5
@@ -31,5 +31,5 @@
     successMessage = "Changeset applied successfully"
 
     def doAction(self, filename):
-	thread = conaryinterface.ApplyChangeSet(filename, self.callback)
+	thread = conaryinterface.ApplyChangeSet(self.client, filename, self.callback)
 	return thread


Index: conary-repoview.glade
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.glade,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- conary-repoview.glade	5 Aug 2004 15:33:49 -0000	1.7
+++ conary-repoview.glade	19 Aug 2004 16:01:30 -0000	1.8
@@ -44,6 +44,7 @@
 		      <property name="label" translatable="yes">Open Changeset...</property>
 		      <property name="use_underline">True</property>
 		      <signal name="activate" handler="onOpenChangeset" last_modification_time="Tue, 03 Aug 2004 18:11:45 GMT"/>
+		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 		    </widget>
 		  </child>
 
@@ -52,7 +53,8 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">Quit</property>
 		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_quit1_activate" last_modification_time="Thu, 08 Jul 2004 13:26:33 GMT"/>
+		      <signal name="activate" handler="quit" last_modification_time="Thu, 19 Aug 2004 15:15:31 GMT"/>
+		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 		    </widget>
 		  </child>
 		</widget>
@@ -76,6 +78,7 @@
 		      <property name="label" translatable="yes">Install Trove Version</property>
 		      <property name="use_underline">True</property>
 		      <signal name="activate" handler="onUpdateToSelectedActivate" last_modification_time="Tue, 03 Aug 2004 02:15:59 GMT"/>
+		      <accelerator key="I" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 		    </widget>
 		  </child>
 
@@ -94,15 +97,6 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkMenuItem" id="repositories1">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Repositories</property>
-	      <property name="use_underline">True</property>
-	      <signal name="activate" handler="on_repositories1_activate" last_modification_time="Thu, 05 Aug 2004 13:45:30 GMT"/>
-	    </widget>
-	  </child>
-
-	  <child>
 	    <widget class="GtkMenuItem" id="help1">
 	      <property name="visible">True</property>
 	      <property name="label" translatable="yes">Help</property>


Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- conary-repoview.py	9 Aug 2004 14:57:19 -0000	1.10
+++ conary-repoview.py	19 Aug 2004 16:01:30 -0000	1.11
@@ -26,13 +26,14 @@
 import checkin
 import versions
 import files
+import conaryclient
 
 import gladefiles
 import conaryinterface 
 import updatetrove
 import applychangeset
 
-cfg = conarycfg.ConaryConfiguration()
+client = conaryclient.ConaryClient()
 
 class RepositoryView( gtk.glade.XML ):
     def __init__( self ):
@@ -52,17 +53,6 @@
 	
 	self.get_widget("installTroveVersionMenu").set_sensitive(False)
 
-	#menu = gtk.Menu()
-        #item = None
-	#for repo in cfg.repositoryMap.keys():
-        #    item = gtk.RadioMenuItem(item, repo)
-	#    item.connect("activated", self.repoMapActivated, repo)
-        #    menu.append(item)
-#
-#        repMenu = self.get_widget('repositories1')
-#        repMenu.set_submenu(menu)
-#        repMenu.show_all()
-
     def repoMapActivated(self, widget, repo):
 	
 	print repo
@@ -143,7 +133,7 @@
 	self.updating = True
 	gobject.timeout_add(50, self.pulse)
 
-	troveList = conaryinterface.TroveList(self.updateTroveTreeFinish)
+	troveList = conaryinterface.TroveList(client, self.updateTroveTreeFinish)
 	troveList.start()
 
     def pulse(self):
@@ -195,7 +185,7 @@
 	    self.get_widget("versionTree").set_data('troveName', troveName)
 	    
 	    if troveName:
-		bs = conaryinterface.BranchStructure(troveName, label, self.updateBranchStructureFinish)       
+		bs = conaryinterface.BranchStructure(client, troveName, label, self.updateBranchStructureFinish)       
 		self.updating = True
 		gobject.timeout_add(50, self.pulse)
 		bs.start()
@@ -213,7 +203,7 @@
 		self.get_widget("versionTree").set_data("selectedTrove", (troveName, version, flavor))
 		self.get_widget("installTroveVersionMenu").set_sensitive(True)
 			    
-		fs = conaryinterface.FileList(troveName, version, flavor, self.fileListFinish)
+		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
 		self.updating = True
 		self.get_widget('troveTree').set_sensitive(False)
 		self.get_widget('versionTree').set_sensitive(False)
@@ -303,7 +293,7 @@
 	result = dialog.run()
 	dialog.destroy()
 	if result == gtk.RESPONSE_YES:
-	    updatetrove.UpdateTrove(troveName, version, flavor)
+	    updatetrove.UpdateTrove(client, troveName, version, flavor)
 
     def onOpenChangeset(self, widget):
         fs = gtk.FileChooserDialog(title   = 'Open Change Set',
@@ -313,7 +303,7 @@
         response = fs.run()
         if response == gtk.RESPONSE_OK:
 	    filename = fs.get_filename()
-	    status = applychangeset.ApplyChangeset(filename)
+	    status = applychangeset.ApplyChangeset(client, filename)
 		    
         fs.destroy()
 	


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- conaryinterface.py	16 Aug 2004 19:47:41 -0000	1.14
+++ conaryinterface.py	19 Aug 2004 16:01:30 -0000	1.15
@@ -27,10 +27,11 @@
 import conarycfg
 import helper
 import versions
+import util
+import conaryclient
 from local import database
 from repository import repository
 from repository import changeset
-import util
 
 # FIXME if the main app is killed before the thread is done, the process doesn't end..
 #       join any threads on exit, or daemonize these?
@@ -42,18 +43,13 @@
     Abstract class for a threaded Conary operation with a Gtk-based callback
     to be called when the operation is complete.
     """
-    def __init__(self, callback):
+    def __init__(self, client, callback):
 	threading.Thread.__init__(self)	
-	self.callback = callback
+        self.client = client
+        self.callback = callback
 	
-    def conaryInit(self):
-	self.cfg = conarycfg.ConaryConfiguration()
-	self.repos = helper.openRepository(self.cfg.repositoryMap)
-	self.db = database.Database(self.cfg.root, self.cfg.dbPath)
-
     def run(self):
 	try:
-	    self.conaryInit()
 	    retval = self.doOperation()
 	except None:
 	    error = str(sys.exc_info()[1])
@@ -75,27 +71,13 @@
     Apply a changeset file to the local system.
     """
 
-    def __init__(self, filename, callback):
-	ConaryOperation.__init__(self, callback)
+    def __init__(self, client, filename, callback):
+	ConaryOperation.__init__(self, client, callback)
         self.filename = filename
 
     def doOperation(self):
-        self.doUpdate(self.filename)
-           
-    def doUpdate(self, pkg, versionStr = None, replaceFiles = False, tagScript = None):
-        cs = None
-        if not os.path.exists(self.cfg.root):
-            util.mkdirChain(self.cfg.root)
- 
-        if os.path.exists(pkg) and os.path.isfile(pkg):
-            cs = changeset.ChangeSetFromFile(pkg)
-
-            if cs.isAbsolute():
-                cs = self.db.rootChangeSet(cs)
- 
-        self.db.commitChangeSet(cs, replaceFiles = replaceFiles,
-                                tagScript = tagScript)
-	return None
+        self.client.applyChangeSet(self.filename)
+        return None
 
 class TroveList(ConaryOperation):
     """
@@ -104,62 +86,39 @@
     def doOperation(self):
 	troves = {}
 
-	repos = self.cfg.repositoryMap.keys();
+	repos = self.client.cfg.repositoryMap.keys();
 	for repo in repos:
-	    troves[repo] = [ x for x in self.repos.iterAllTroveNames(repo) ]
+	    troves[repo] = [ x for x in self.client.repos.iterAllTroveNames(repo) ]
 	return troves
 
 class UpdateTrove(ConaryOperation):
     """
     Update the local system to a certain trove, by version and flavor.
     """
-    def __init__(self, troveName, version, flavor, callback):
-	ConaryOperation.__init__(self, callback)
+    def __init__(self, client, troveName, version, flavor, callback):
+	ConaryOperation.__init__(self, client, callback)
 	self.troveName = troveName
 	self.version = version
 	self.flavor = flavor
 
     def doOperation(self):
-	pkgList = self.repos.findTrove(self.cfg.installLabel, self.troveName, self.flavor, self.version.asString())
-
-	list = []
-	for pkg in pkgList:
-	    if self.db.hasTrove(pkg.getName(), pkg.getVersion(), pkg.getFlavor()):
-		continue
-
-	currentVersion = helper.previousVersion(self.db, pkg.getName(),
-	                                            pkg.getVersion(),
-                                                    pkg.getFlavor())
-
-	list.append((pkg.getName(), pkg.getFlavor(), currentVersion,
-		     pkg.getVersion(), 0))
-        if not list:
-	    return "No new troves were found"
-
-	cs = self.repos.createChangeSet(list)
-	list = [ x[0] for x in list ]
-
-	if not list:
-	    return "No new troves were found"
-
-	self.db.commitChangeSet(cs, replaceFiles = True,
-				tagScript = None, keepExisting = False)
+        self.client.updateTrove(self.troveName, self.version.asString())
 
-	return None
+        return None
 
 class FileList(ConaryOperation):
     """
     Retrieve a list of all files inside a trove.
     """
-    def __init__(self, troveName, version, flavor, callback):
-	ConaryOperation.__init__(self, callback)
+    def __init__(self, client, troveName, version, flavor, callback):
+	ConaryOperation.__init__(self, client, callback)
 	
 	self.troveName = troveName
 	self.version = version
 	self.flavor = flavor
 
     def doOperation(self):
-	iter = self.repos.iterFilesInTrove(self.troveName, self.version,
+	iter = self.client.repos.iterFilesInTrove(self.troveName, self.version,
 		 		           self.flavor, sortByPath = True,
 		 		           withFiles = True)
 
@@ -170,13 +129,13 @@
     """
     Return a tree-like structure of branches, given a trove name.
     """
-    def __init__(self, troveName, startLabelHost, callback):
-	ConaryOperation.__init__(self, callback)
+    def __init__(self, client, troveName, startLabelHost, callback):
+	ConaryOperation.__init__(self, client, callback)
 	self.troveName = troveName
         self.startLabelHost = startLabelHost
 
     def doOperation(self):
-        label = self.cfg.installLabel.asString()
+        label = self.client.cfg.installLabel.asString()
         defaultBranch = label[label.index('@'):]
         self.startLabel = versions.BranchName(self.startLabelHost + defaultBranch)
    
@@ -189,7 +148,7 @@
 	    self.dumpStructure(tree[branch], level+1)
 
     def _getNestedBranches(self, troveName, host, label):
-	versions = self.repos.getTroveVersionList(host, [troveName])
+	versions = self.client.repos.getTroveVersionList(host, [troveName])
     
 	branches = []
 	for v in versions[troveName]:
@@ -209,15 +168,15 @@
     def _getVersionsAndBranches(self, troveName, label, level):
 	if label == None:
 	    label = self.startLabel
-	    versions = self.repos.getTroveVersionList(label.getHost(), [troveName])
+	    versions = self.client.repos.getTroveVersionList(label.getHost(), [troveName])
 	else:
-	    versions = self.repos.getTroveVersionsByLabel([troveName], label)
+	    versions = self.client.repos.getTroveVersionsByLabel([troveName], label)
 
-	branches = self._getNestedBranches(troveName, self.startLabel, label)
+	branches = self._getNestedBranches(troveName, self.startLabelHost, label)
 	branches.sort()
 	
 	tree = { label: {"flavor": None}, "flavor": None }
-	flavors = self.repos.getTroveVersionFlavors(versions)
+	flavors = self.client.repos.getTroveVersionFlavors(versions)
 
 	for version in flavors[troveName]:
 	    for flavor in flavors[troveName][version]:


Index: statuswindow.py
===================================================================
RCS file: /cvs/conary-gui/statuswindow.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- statuswindow.py	4 Aug 2004 19:42:48 -0000	1.2
+++ statuswindow.py	19 Aug 2004 16:01:30 -0000	1.3
@@ -28,8 +28,9 @@
 class StatusWindow(gtk.glade.XML):
     successMessage = "Success"
 
-    def __init__(self, *args):
+    def __init__(self, client, *args):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "statusWindow")
+        self.client = client
 
         self.signal_autoconnect(self)
 	actionThread = self.doAction(*args)


Index: updatetrove.py
===================================================================
RCS file: /cvs/conary-gui/updatetrove.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- updatetrove.py	4 Aug 2004 19:42:48 -0000	1.5
+++ updatetrove.py	19 Aug 2004 16:01:30 -0000	1.6
@@ -29,5 +29,5 @@
     successMessage = "Changeset successfully applied"
 
     def doAction(self, troveName, version, flavor):
-        thread = conaryinterface.UpdateTrove(troveName, version, flavor, self.callback)
+        thread = conaryinterface.UpdateTrove(self.client, troveName, version, flavor, self.callback)
 	return thread


From tgerla@specifixinc.com Thu Aug 19 15:54:49 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7JJsmbI018641
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 19 Aug 2004 15:54:49 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 7407A16212
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 19 Aug 2004 12:55:29 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7JJtJTD004455; Thu, 19 Aug 2004 15:55:19 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7JJtJr7004451; Thu, 19 Aug 2004 15:55:19 -0400
Date: Thu, 19 Aug 2004 15:55:19 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408191955.i7JJtJr7004451@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.py, 1.11, 1.12 conaryinterface.py, 1.15,
	1.16
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Thu, 19 Aug 2004 19:54:49 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv4439

Modified Files:
	conary-repoview.py conaryinterface.py 
Log Message:
highlight currently installed troves



Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- conary-repoview.py	19 Aug 2004 16:01:30 -0000	1.11
+++ conary-repoview.py	19 Aug 2004 19:55:16 -0000	1.12
@@ -239,25 +239,23 @@
 	self.updating = False
 
     def cmpVersion(self, x, y):
-	if isinstance(x, versions.BranchName) or isinstance(y, versions.BranchName):
+	if isinstance(x[0], versions.BranchName) or isinstance(y[0], versions.BranchName):
 	    return 0
 
-	if x.isAfter(y):
+	if x[0].isAfter(y[0]):
 	    return 1
-	elif y.isAfter(x):
+	elif y[0].isAfter(x[0]):
 	    return -1
 	else:
 	    return 0
 
     def _fillTree(self, tree, parentNode, iter):
 	items = [] 
-	textHash = {}
-	flavorHash = {}
-	
+
 	for item in tree.keys():
-	    if item == "flavor": continue
+            if item in ("installed", "flavor"): continue
 	    
-	    if isinstance(item, versions.BranchName):
+            if isinstance(item, versions.BranchName):
 		color = "blue"
 		
 		# trim the hostname if the parent hostname is identical
@@ -266,20 +264,23 @@
 		    text = text[text.index('@'):]
 		flavor = ""
 	    else:
-		color = None
+                color = None
+                if tree[item]["installed"] == True:
+                    color = "red"
+                else:
+                    color = None 
 		text = item.trailingVersion().asString()
 		flavor = tree[item]["flavor"]    
-	    items.append(item)
-	    
-	    textHash[item] = text
-	    flavorHash[item] = flavor
-	
+
+            items.append((item, {"text": text, "flavor": flavor, "color": color}))
+
 	items.sort(self.cmpVersion)
-	for item in items:
-	    text = textHash[item]
-	    flavor = flavorHash[item]
-	   
-	    newIter = self.versionStore.append(iter, [(item, flavor), text, str(flavor), color])
+	for (item, itemInfo) in items:
+           
+	    newIter = self.versionStore.append(iter,
+                [(item, itemInfo["flavor"]), itemInfo["text"],
+                  str(itemInfo["flavor"]), itemInfo["color"]]
+            )
 	    self._fillTree(tree[item], item, newIter)
 
     def onUpdateToSelectedActivate(self, widget):


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- conaryinterface.py	19 Aug 2004 16:01:30 -0000	1.15
+++ conaryinterface.py	19 Aug 2004 19:55:16 -0000	1.16
@@ -51,7 +51,7 @@
     def run(self):
 	try:
 	    retval = self.doOperation()
-	except None:
+	except:
 	    error = str(sys.exc_info()[1])
 	    retval = None
 	else:
@@ -183,6 +183,18 @@
 		if version.branch().label() not in tree:
 		    tree[version.branch().label()] = { "flavor": None }
 		tree[version.branch().label()][version] = {"flavor": flavor}
+            try:
+                versionList = self.client.db.getTroveVersionList(troveName)
+            except:
+                installed = False
+            else:
+                thisVersion = version.asString()
+                versionStrs = [x.asString() for x in versionList]
+                if thisVersion in versionStrs:
+                    installed = True
+                else:
+                    installed = False
+            tree[version.branch().label()][version]["installed"] = installed 
 
 	for branch in branches:
 	    branchTree = self._getVersionsAndBranches(troveName, branch.label(), level+1)


From tgerla@specifixinc.com Thu Aug 19 16:35:40 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7JKZdbI018735
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 19 Aug 2004 16:35:40 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8C78F16212
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 19 Aug 2004 13:36:21 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7JKaFTD005898; Thu, 19 Aug 2004 16:36:15 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7JKaEp5005894; Thu, 19 Aug 2004 16:36:14 -0400
Date: Thu, 19 Aug 2004 16:36:14 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408192036.i7JKaEp5005894@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.10,1.11 gladefiles.py,1.3,1.4
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Thu, 19 Aug 2004 20:35:40 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv5876

Modified Files:
	Makefile gladefiles.py 
Log Message:
import sys in gladefiles.py
bump version number to 0.2



Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Makefile	5 Aug 2004 15:33:49 -0000	1.10
+++ Makefile	19 Aug 2004 20:36:10 -0000	1.11
@@ -5,7 +5,7 @@
 
 all: conary-repoview conary-gui-wrapper
 
-export VERSION = 0.1
+export VERSION = 0.2
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: gladefiles.py
===================================================================
RCS file: /cvs/conary-gui/gladefiles.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gladefiles.py	4 Aug 2004 19:42:48 -0000	1.3
+++ gladefiles.py	19 Aug 2004 20:36:11 -0000	1.4
@@ -17,6 +17,7 @@
 """
 
 import os
+import sys
 
 def getGladeFile(gladeFile="conary-repoview.glade"):
     """


From tgerla@specifixinc.com Fri Aug 20 12:57:05 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7KGv4bI011592
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 20 Aug 2004 12:57:04 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C96AE1623F
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 20 Aug 2004 09:57:47 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7KGvjTD000388; Fri, 20 Aug 2004 12:57:45 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7KGvjKm000385; Fri, 20 Aug 2004 12:57:45 -0400
Date: Fri, 20 Aug 2004 12:57:45 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408201657.i7KGvjKm000385@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.16,1.17
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 20 Aug 2004 16:57:05 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv354

Modified Files:
	conaryinterface.py 
Log Message:
add a little cache to avoid a few unneeded repository calls
fix up the branch structure view



Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- conaryinterface.py	19 Aug 2004 19:55:16 -0000	1.16
+++ conaryinterface.py	20 Aug 2004 16:57:43 -0000	1.17
@@ -133,6 +133,7 @@
 	ConaryOperation.__init__(self, client, callback)
 	self.troveName = troveName
         self.startLabelHost = startLabelHost
+        self.versionsCache = {}
 
     def doOperation(self):
         label = self.client.cfg.installLabel.asString()
@@ -148,8 +149,13 @@
 	    self.dumpStructure(tree[branch], level+1)
 
     def _getNestedBranches(self, troveName, host, label):
-	versions = self.client.repos.getTroveVersionList(host, [troveName])
-    
+	
+        if troveName in self.versionsCache:
+            versions = self.versionsCache[troveName]
+        else:
+            versions = self.client.repos.getTroveVersionList(host, [troveName])
+            self.versionsCache[troveName] = versions
+   
 	branches = []
 	for v in versions[troveName]:
 	    if v.branch() not in branches:
@@ -157,9 +163,10 @@
 		if v.branch().label().asString() == label:
 		    continue
 		# make sure our parent is directly underneath us
-		if v.branch().hasParent() and v.branch().parentNode().branch().label().asString() == label:
+		if v.branch().hasParent() and v.branch().parentNode().branch().label().asString() == label.asString():
 		    branches.append(v.branch())
-	return branches
+	
+        return branches
     
     def getVersionsAndBranches(self, troveName):
 	branchTree = self._getVersionsAndBranches(troveName, None, 0)
@@ -175,7 +182,7 @@
 	branches = self._getNestedBranches(troveName, self.startLabelHost, label)
 	branches.sort()
 	
-	tree = { label: {"flavor": None}, "flavor": None }
+	tree = { label: {"flavor": None, "installed": False}, "flavor": None, "installed": False }
 	flavors = self.client.repos.getTroveVersionFlavors(versions)
 
 	for version in flavors[troveName]:


From tgerla@specifixinc.com Mon Aug 23 15:53:13 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7NJrDbI015376
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 23 Aug 2004 15:53:13 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A1F9F16777
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 23 Aug 2004 12:54:00 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7NJrwTD025930; Mon, 23 Aug 2004 15:53:58 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7NJrwMi025927; Mon, 23 Aug 2004 15:53:58 -0400
Date: Mon, 23 Aug 2004 15:53:58 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408231953.i7NJrwMi025927@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.17,1.18
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 23 Aug 2004 19:53:14 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv25909

Modified Files:
	conaryinterface.py 
Log Message:
Finally remove multiple instances of the same branch in the trove branch structure view.



Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- conaryinterface.py	20 Aug 2004 16:57:43 -0000	1.17
+++ conaryinterface.py	23 Aug 2004 19:53:56 -0000	1.18
@@ -149,7 +149,6 @@
 	    self.dumpStructure(tree[branch], level+1)
 
     def _getNestedBranches(self, troveName, host, label):
-	
         if troveName in self.versionsCache:
             versions = self.versionsCache[troveName]
         else:
@@ -179,6 +178,8 @@
 	else:
 	    versions = self.client.repos.getTroveVersionsByLabel([troveName], label)
 
+        # only show the default branch on the first level
+        filterBranch = label.asString() [label.asString().index('@'):]
 	branches = self._getNestedBranches(troveName, self.startLabelHost, label)
 	branches.sort()
 	
@@ -186,6 +187,10 @@
 	flavors = self.client.repos.getTroveVersionFlavors(versions)
 
 	for version in flavors[troveName]:
+            labelStr = version.branch().label().asString()
+            if labelStr[labelStr.index('@'):] != filterBranch:
+                continue
+            
 	    for flavor in flavors[troveName][version]:
 		if version.branch().label() not in tree:
 		    tree[version.branch().label()] = { "flavor": None }


From tgerla@specifixinc.com Mon Aug 23 16:15:14 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7NKFEbI015443
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 23 Aug 2004 16:15:14 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id DF01016777
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 23 Aug 2004 13:15:58 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7NKFuTD027067; Mon, 23 Aug 2004 16:15:56 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7NKFtNL027063; Mon, 23 Aug 2004 16:15:55 -0400
Date: Mon, 23 Aug 2004 16:15:55 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408232015.i7NKFtNL027063@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui-wrapper.in, 1.1, 1.2 conary-repoview.glade,
	1.8, 1.9
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 23 Aug 2004 20:15:15 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv27044

Modified Files:
	conary-gui-wrapper.in conary-repoview.glade 
Log Message:
temporarily remove empty Local System tab



Index: conary-gui-wrapper.in
===================================================================
RCS file: /cvs/conary-gui/conary-gui-wrapper.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- conary-gui-wrapper.in	19 Jul 2004 15:13:43 -0000	1.1
+++ conary-gui-wrapper.in	23 Aug 2004 20:15:53 -0000	1.2
@@ -28,4 +28,4 @@
 fi
 
 export PYTHONPATH=/usr/lib/python2.2/site-packages/gtk-2.0:/usr/lib/python2.2/site-packages:$PYTHONPATH
-$PYTHON @conarydir@/`basename $0` "$@"
+$PYTHON @conarydir@/`basename $0`.py "$@"


Index: conary-repoview.glade
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.glade,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- conary-repoview.glade	19 Aug 2004 16:01:30 -0000	1.8
+++ conary-repoview.glade	23 Aug 2004 20:15:53 -0000	1.9
@@ -257,44 +257,6 @@
 	      <property name="type">tab</property>
 	    </packing>
 	  </child>
-
-	  <child>
-	    <widget class="GtkHPaned" id="hpaned2">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-
-	      <child>
-		<placeholder/>
-	      </child>
-
-	      <child>
-		<placeholder/>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label11">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Local System</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>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>


From tgerla@specifixinc.com Tue Aug 24 09:26:57 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7ODQubI026108
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 09:26:56 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 4B01D1654A
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 06:27:44 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7ODRfTD013642; Tue, 24 Aug 2004 09:27:41 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7ODRfkZ013639; Tue, 24 Aug 2004 09:27:41 -0400
Date: Tue, 24 Aug 2004 09:27:41 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408241327.i7ODRfkZ013639@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.18,1.19
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 24 Aug 2004 13:26:57 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv13475

Modified Files:
	conaryinterface.py 
Log Message:
* call getTroveVersionList once on doOperation instead of every branch node.
* use self.troveName instead of passing troveName around.
* remove useless intermediate method getVersionsAndBranches



Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- conaryinterface.py	23 Aug 2004 19:53:56 -0000	1.18
+++ conaryinterface.py	24 Aug 2004 13:27:38 -0000	1.19
@@ -139,8 +139,9 @@
         label = self.client.cfg.installLabel.asString()
         defaultBranch = label[label.index('@'):]
         self.startLabel = versions.BranchName(self.startLabelHost + defaultBranch)
-   
-	tree = self.getVersionsAndBranches(self.troveName)
+        self.troveVersions = self.client.repos.getTroveVersionList(self.startLabelHost, [self.troveName])
+
+	tree = self._getVersionsAndBranches(None, 0)
 	return tree
 
     def dumpStructure(self, tree, level=0):
@@ -148,15 +149,9 @@
 	    print "    "*level, branch
 	    self.dumpStructure(tree[branch], level+1)
 
-    def _getNestedBranches(self, troveName, host, label):
-        if troveName in self.versionsCache:
-            versions = self.versionsCache[troveName]
-        else:
-            versions = self.client.repos.getTroveVersionList(host, [troveName])
-            self.versionsCache[troveName] = versions
-   
+    def _getNestedBranches(self, label):
 	branches = []
-	for v in versions[troveName]:
+	for v in self.troveVersions[self.troveName]:
 	    if v.branch() not in branches:
 		# skip ourself
 		if v.branch().label().asString() == label:
@@ -167,36 +162,32 @@
 	
         return branches
     
-    def getVersionsAndBranches(self, troveName):
-	branchTree = self._getVersionsAndBranches(troveName, None, 0)
-	return branchTree
-
-    def _getVersionsAndBranches(self, troveName, label, level):
+    def _getVersionsAndBranches(self, label, level):
 	if label == None:
 	    label = self.startLabel
-	    versions = self.client.repos.getTroveVersionList(label.getHost(), [troveName])
+	    versions = self.client.repos.getTroveVersionList(label.getHost(), [self.troveName])
 	else:
-	    versions = self.client.repos.getTroveVersionsByLabel([troveName], label)
+	    versions = self.client.repos.getTroveVersionsByLabel([self.troveName], label)
 
         # only show the default branch on the first level
         filterBranch = label.asString() [label.asString().index('@'):]
-	branches = self._getNestedBranches(troveName, self.startLabelHost, label)
+	branches = self._getNestedBranches(label)
 	branches.sort()
 	
 	tree = { label: {"flavor": None, "installed": False}, "flavor": None, "installed": False }
 	flavors = self.client.repos.getTroveVersionFlavors(versions)
 
-	for version in flavors[troveName]:
+	for version in flavors[self.troveName]:
             labelStr = version.branch().label().asString()
             if labelStr[labelStr.index('@'):] != filterBranch:
                 continue
             
-	    for flavor in flavors[troveName][version]:
+	    for flavor in flavors[self.troveName][version]:
 		if version.branch().label() not in tree:
 		    tree[version.branch().label()] = { "flavor": None }
 		tree[version.branch().label()][version] = {"flavor": flavor}
             try:
-                versionList = self.client.db.getTroveVersionList(troveName)
+                versionList = self.client.db.getTroveVersionList(self.troveName)
             except:
                 installed = False
             else:
@@ -209,7 +200,7 @@
             tree[version.branch().label()][version]["installed"] = installed 
 
 	for branch in branches:
-	    branchTree = self._getVersionsAndBranches(troveName, branch.label(), level+1)
+	    branchTree = self._getVersionsAndBranches(branch.label(), level+1)
 	    if branch.hasParent():
 		tree[label][branch.parentNode()] = branchTree
 	return tree


From tgerla@specifixinc.com Tue Aug 24 14:58:59 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7OIwwbI026687
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 14:58:58 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 923BA16212
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 11:59:46 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7OIjLTD023041; Tue, 24 Aug 2004 14:45:21 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7OIj7He022979; Tue, 24 Aug 2004 14:45:07 -0400
Date: Tue, 24 Aug 2004 14:45:07 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408241845.i7OIj7He022979@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.glade, 1.9, 1.10 conary-repoview.py, 1.12,
	1.13 conaryinterface.py, 1.19, 1.20
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 24 Aug 2004 18:58:59 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv22857

Modified Files:
	conary-repoview.glade conary-repoview.py conaryinterface.py 
Log Message:
* bold instead of blue for installed troves
* begin local system view



Index: conary-repoview.glade
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.glade,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- conary-repoview.glade	23 Aug 2004 20:15:53 -0000	1.9
+++ conary-repoview.glade	24 Aug 2004 18:45:05 -0000	1.10
@@ -242,7 +242,90 @@
 	  <child>
 	    <widget class="GtkLabel" id="label12">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Repository</property>
+	      <property name="label" translatable="yes">Repository Browser</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>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkHPaned" id="hpaned2">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="position">0</property>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow6">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+		  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+		  <property name="shadow_type">GTK_SHADOW_NONE</property>
+		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		  <child>
+		    <widget class="GtkTreeView" id="localTrovesTree">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="headers_visible">True</property>
+		      <property name="rules_hint">False</property>
+		      <property name="reorderable">False</property>
+		      <property name="enable_search">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="shrink">True</property>
+		  <property name="resize">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow7">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+		  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+		  <property name="shadow_type">GTK_SHADOW_NONE</property>
+		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		  <child>
+		    <widget class="GtkTreeView" id="localFileList">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="headers_visible">True</property>
+		      <property name="rules_hint">False</property>
+		      <property name="reorderable">False</property>
+		      <property name="enable_search">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="shrink">True</property>
+		  <property name="resize">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label13">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Local System</property>
 	      <property name="use_underline">False</property>
 	      <property name="use_markup">False</property>
 	      <property name="justify">GTK_JUSTIFY_LEFT</property>


Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- conary-repoview.py	19 Aug 2004 19:55:16 -0000	1.12
+++ conary-repoview.py	24 Aug 2004 18:45:05 -0000	1.13
@@ -18,6 +18,7 @@
 
 import gtk, gobject
 import gtk.glade
+import pango
 
 import conarycfg
 import util
@@ -81,7 +82,8 @@
 
     def buildVersionTree(self):
 	self.versionStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_STRING,
-	                                  gobject.TYPE_STRING, gobject.TYPE_STRING)
+	                                  gobject.TYPE_STRING, gobject.TYPE_STRING,
+                                          gobject.TYPE_INT)
 
 	treeview = self.get_widget("versionTree")
 	treeview.set_model(self.versionStore)
@@ -90,10 +92,12 @@
 	self.VERSION_COLUMN_VERSION = 1 
 	self.VERSION_COLUMN_FLAVOR = 2
 	self.VERSION_COLUMN_COLOR = 3
+        self.VERSION_COLUMN_FONT_WEIGHT = 4
 
 	renderer = gtk.CellRendererText()
 	column = gtk.TreeViewColumn("Version", renderer, text=self.VERSION_COLUMN_VERSION)
 	column.add_attribute(renderer, "foreground", self.VERSION_COLUMN_COLOR)
+        column.add_attribute(renderer, "weight", self.VERSION_COLUMN_FONT_WEIGHT)
 	treeview.append_column(column)
 
 	column = gtk.TreeViewColumn("Flavor", gtk.CellRendererText(), text=self.VERSION_COLUMN_FLAVOR)
@@ -150,7 +154,7 @@
 
 	    # munge the replist into two parts:
 	    # components: a hash with package name as key containing a list of components
-	    # packages: a list of components
+	    # packages: a list of packages
 
 	    components = {}
 	    packages = []
@@ -255,31 +259,31 @@
 	for item in tree.keys():
             if item in ("installed", "flavor"): continue
 	    
+            weight = pango.WEIGHT_NORMAL
+            color = None
+            
             if isinstance(item, versions.BranchName):
 		color = "blue"
-		
+                
 		# trim the hostname if the parent hostname is identical
 		text = item.asString()
 		if parentNode and parentNode.branch().label().getHost() == item.host:
 		    text = text[text.index('@'):]
 		flavor = ""
 	    else:
-                color = None
                 if tree[item]["installed"] == True:
-                    color = "red"
-                else:
-                    color = None 
+                    weight = pango.WEIGHT_BOLD
 		text = item.trailingVersion().asString()
 		flavor = tree[item]["flavor"]    
 
-            items.append((item, {"text": text, "flavor": flavor, "color": color}))
+            items.append((item, {"text": text, "flavor": flavor, "color": color, "weight": weight}))
 
 	items.sort(self.cmpVersion)
 	for (item, itemInfo) in items:
            
 	    newIter = self.versionStore.append(iter,
                 [(item, itemInfo["flavor"]), itemInfo["text"],
-                  str(itemInfo["flavor"]), itemInfo["color"]]
+                  str(itemInfo["flavor"]), itemInfo["color"], itemInfo["weight"]]
             )
 	    self._fillTree(tree[item], item, newIter)
 


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- conaryinterface.py	24 Aug 2004 13:27:38 -0000	1.19
+++ conaryinterface.py	24 Aug 2004 18:45:05 -0000	1.20
@@ -127,7 +127,7 @@
 
 class BranchStructure(ConaryOperation):
     """
-    Return a tree-like structure of branches, given a trove name.
+    Given a trove name, return a tree-like structure of versions and branches.
     """
     def __init__(self, client, troveName, startLabelHost, callback):
 	ConaryOperation.__init__(self, client, callback)


From tgerla@specifixinc.com Tue Aug 24 16:26:37 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7OKQabI026833
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 16:26:37 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 515CE164D6
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 13:27:25 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7OKRMTD026280; Tue, 24 Aug 2004 16:27:22 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7OKRMBr026275; Tue, 24 Aug 2004 16:27:22 -0400
Date: Tue, 24 Aug 2004 16:27:22 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408242027.i7OKRMBr026275@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.glade, 1.10, 1.11 conary-repoview.py,
	1.13, 1.14 conaryinterface.py, 1.20, 1.21
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 24 Aug 2004 20:26:37 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv26257

Modified Files:
	conary-repoview.glade conary-repoview.py conaryinterface.py 
Log Message:
first stab at a local query view



Index: conary-repoview.glade
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.glade,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- conary-repoview.glade	24 Aug 2004 18:45:05 -0000	1.10
+++ conary-repoview.glade	24 Aug 2004 20:27:20 -0000	1.11
@@ -274,7 +274,7 @@
 		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 		  <child>
-		    <widget class="GtkTreeView" id="localTrovesTree">
+		    <widget class="GtkTreeView" id="localTroveTree">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
 		      <property name="headers_visible">True</property>


Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- conary-repoview.py	24 Aug 2004 18:45:05 -0000	1.13
+++ conary-repoview.py	24 Aug 2004 20:27:20 -0000	1.14
@@ -44,25 +44,27 @@
 	repview = self.get_widget("repview")
 	repview.connect( "destroy", self.quit )
 	self.parent = repview
+        self.updating = 0
 
 	canvas_frame = self.get_widget("scrolledwindow3")
 
-	self.buildTroveTree()
+	self.troveStore = self.buildTroveTree("troveTree", self.onTroveSelected)
 	self.updateTroveTreeBegin()
-	self.buildVersionTree()
+
+        self.localTroveStore = self.buildTroveTree("localTroveTree", self.onLocalTroveSelected)
+        self.updateLocalTroveTreeBegin()	
+
+        self.buildVersionTree()
 	self.buildFileList()
 	
 	self.get_widget("installTroveVersionMenu").set_sensitive(False)
 
-    def repoMapActivated(self, widget, repo):
-	
-	print repo
-
-    def buildTroveTree(self):
-	self.troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
+    def buildTroveTree(self, treeViewName, changedCallback):
+	troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING,
+                                   gobject.TYPE_STRING, gobject.TYPE_STRING)
                                           
-        tv = self.get_widget("troveTree")
-        tv.set_model(self.troveStore)
+        tv = self.get_widget(treeViewName)
+        tv.set_model(troveStore)
          
         self.TROVE_COLUMN_FULL_NAME = 0 
 	self.TROVE_COLUMN_DISPLAY_NAME = 1
@@ -78,7 +80,9 @@
 	tv.append_column(column)
 
 	selection = tv.get_selection()
-	selection.connect("changed", self.onTroveSelected)
+	selection.connect("changed", changedCallback)
+
+        return troveStore
 
     def buildVersionTree(self):
 	self.versionStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_STRING,
@@ -134,7 +138,7 @@
 	treeview.append_column(column)
 		
     def updateTroveTreeBegin(self):
-	self.updating = True
+	self.updating += 1
 	gobject.timeout_add(50, self.pulse)
 
 	troveList = conaryinterface.TroveList(client, self.updateTroveTreeFinish)
@@ -148,10 +152,25 @@
 	return self.updating
 
     def updateTroveTreeFinish(self, troves, error):
-	self.troveStore.clear()
-	for repo in troves.keys():
-	    root = self.troveStore.append(None, [None, repo, None, None])
+        self._fillTroveTree(self.troveStore, troves)
+	self.updating -= 1
+
+    def _fillTroveTree(self, troveStore, troves):
+	troveStore.clear()
+
+        # FIXME bad hack to handle both local and remote lists in one method...
+        if type(troves) == list:
+            troves = {'local': troves}
+            local = True
+        else:
+            local = False
 
+	for repo in troves.keys():
+            if local:
+                root = None
+            else:
+                root = troveStore.append(None, [None, repo, None, None])
+            
 	    # munge the replist into two parts:
 	    # components: a hash with package name as key containing a list of components
 	    # packages: a list of packages
@@ -171,15 +190,17 @@
 			
 		    components[package].append(component)
 		else:
-		    packages.append(t)
-	    
+		    if t not in packages:
+                        packages.append(t)
+                    
+	    print len(packages) 
 	    packages.sort(lambda a, b: cmp(a.lower(), b.lower()))
 	    for package in packages:
-		iter = self.troveStore.append(root, [package, package, repo, None])
-		for component in components[package]:
-		    self.troveStore.append(iter, [package + ":" + component, component, repo, None])
+		iter = troveStore.append(root, [package, package, repo, None])
+                if package in components:
+                    for component in components[package]:
+                        troveStore.append(iter, [package + ":" + component, component, repo, None])
 		    
-	self.updating = False
 
     def onTroveSelected(self, selection):
 	treeIter = selection.get_selected()[1]
@@ -190,7 +211,7 @@
 	    
 	    if troveName:
 		bs = conaryinterface.BranchStructure(client, troveName, label, self.updateBranchStructureFinish)       
-		self.updating = True
+		self.updating += 1
 		gobject.timeout_add(50, self.pulse)
 		bs.start()
 
@@ -208,7 +229,7 @@
 		self.get_widget("installTroveVersionMenu").set_sensitive(True)
 			    
 		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
-		self.updating = True
+		self.updating += 1
 		self.get_widget('troveTree').set_sensitive(False)
 		self.get_widget('versionTree').set_sensitive(False)
 	
@@ -231,7 +252,7 @@
 	    
 	    self.fileStore.append([file.modeString(), file.inode.owner(), file.inode.group(),
 	                           file.sizeString(), file.timeString(), name])
-	self.updating = False
+	self.updating -= 1
 	self.get_widget('troveTree').set_sensitive(True)
 	self.get_widget('versionTree').set_sensitive(True)
 	
@@ -240,7 +261,7 @@
 	troveName = self.get_widget("versionTree").get_data("troveName")
 	self._fillTree(tree, None, None)
 	self.get_widget("versionTree").expand_all()
-	self.updating = False
+	self.updating -= 1
 
     def cmpVersion(self, x, y):
 	if isinstance(x[0], versions.BranchName) or isinstance(y[0], versions.BranchName):
@@ -311,7 +332,27 @@
 	    status = applychangeset.ApplyChangeset(client, filename)
 		    
         fs.destroy()
-	
+
+    #
+    #
+    # Local trove list code
+    #
+    #
+
+    def updateLocalTroveTreeBegin(self):
+        self.updating += 1
+        gobject.timeout_add(50, self.pulse)
+
+        troveList = conaryinterface.LocalTroveList(client, self.updateLocalTroveTreeFinish)
+        troveList.start()
+
+    def updateLocalTroveTreeFinish(self, troves, error):
+        self._fillTroveTree(self.localTroveStore, troves)
+        self.updating -= 1
+
+    def onLocalTroveSelected(self, selection):
+        pass
+
     def quit( self, obj ):
         gtk.main_quit()
 


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- conaryinterface.py	24 Aug 2004 18:45:05 -0000	1.20
+++ conaryinterface.py	24 Aug 2004 20:27:20 -0000	1.21
@@ -54,6 +54,7 @@
 	except:
 	    error = str(sys.exc_info()[1])
 	    retval = None
+            raise
 	else:
 	    error = None
 	self.finish(retval, error)
@@ -91,6 +92,18 @@
 	    troves[repo] = [ x for x in self.client.repos.iterAllTroveNames(repo) ]
 	return troves
 
+class LocalTroveList(ConaryOperation):
+    """
+    Retrieves a list of troves installed on the local system.
+    """
+
+    def doOperation(self):
+        troves = self.client.db.iterAllTroveNames()
+            
+        t = list(troves)
+        print len(t)
+        return t
+        
 class UpdateTrove(ConaryOperation):
     """
     Update the local system to a certain trove, by version and flavor.


From tgerla@specifixinc.com Tue Aug 24 16:33:59 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7OKXwbI026852
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 16:33:58 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 4B174164D6
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 13:34:47 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7OKYjTD026683; Tue, 24 Aug 2004 16:34:45 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7OKYjKL026680; Tue, 24 Aug 2004 16:34:45 -0400
Date: Tue, 24 Aug 2004 16:34:45 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408242034.i7OKYjKL026680@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.py,1.14,1.15
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 24 Aug 2004 20:33:59 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv26668

Modified Files:
	conary-repoview.py 
Log Message:
Remove print statement


Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- conary-repoview.py	24 Aug 2004 20:27:20 -0000	1.14
+++ conary-repoview.py	24 Aug 2004 20:34:43 -0000	1.15
@@ -193,7 +193,6 @@
 		    if t not in packages:
                         packages.append(t)
                     
-	    print len(packages) 
 	    packages.sort(lambda a, b: cmp(a.lower(), b.lower()))
 	    for package in packages:
 		iter = troveStore.append(root, [package, package, repo, None])


From tgerla@specifixinc.com Tue Aug 24 17:22:23 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7OLMNbI026915
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 17:22:23 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 257E61677A
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 14:23:11 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7OLN8TD027908; Tue, 24 Aug 2004 17:23:08 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7OLN8uc027904; Tue, 24 Aug 2004 17:23:08 -0400
Date: Tue, 24 Aug 2004 17:23:08 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408242123.i7OLN8uc027904@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.glade, 1.11, 1.12 conary-repoview.py,
	1.15, 1.16
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 24 Aug 2004 21:22:24 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv27884

Modified Files:
	conary-repoview.glade conary-repoview.py 
Log Message:
list versions installed on local system



Index: conary-repoview.glade
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.glade,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- conary-repoview.glade	24 Aug 2004 20:27:20 -0000	1.11
+++ conary-repoview.glade	24 Aug 2004 21:23:06 -0000	1.12
@@ -300,13 +300,151 @@
 		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 		  <child>
-		    <widget class="GtkTreeView" id="localFileList">
+		    <widget class="GtkViewport" id="viewport1">
 		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
-		      <property name="rules_hint">False</property>
-		      <property name="reorderable">False</property>
-		      <property name="enable_search">True</property>
+		      <property name="shadow_type">GTK_SHADOW_IN</property>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox4">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <widget class="GtkTable" id="table1">
+			      <property name="border_width">12</property>
+			      <property name="visible">True</property>
+			      <property name="n_rows">3</property>
+			      <property name="n_columns">2</property>
+			      <property name="homogeneous">False</property>
+			      <property name="row_spacing">12</property>
+			      <property name="column_spacing">12</property>
+
+			      <child>
+				<widget class="GtkScrolledWindow" id="scrolledwindow8">
+				  <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_NONE</property>
+				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+				  <child>
+				    <widget class="GtkTreeView" id="localVersionsTree">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="headers_visible">False</property>
+				      <property name="rules_hint">False</property>
+				      <property name="reorderable">False</property>
+				      <property name="enable_search">True</property>
+				    </widget>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">2</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label14">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">&lt;b&gt;Installed versions:&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</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options">fill</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label16">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">&lt;b&gt;Trove Details:&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>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label17">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">&lt;b&gt;Description:&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>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">2</property>
+				  <property name="bottom_attach">3</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkTreeView" id="localFileList">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="headers_visible">True</property>
+			      <property name="rules_hint">False</property>
+			      <property name="reorderable">False</property>
+			      <property name="enable_search">True</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+			</widget>
+		      </child>
 		    </widget>
 		  </child>
 		</widget>


Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- conary-repoview.py	24 Aug 2004 20:34:43 -0000	1.15
+++ conary-repoview.py	24 Aug 2004 21:23:06 -0000	1.16
@@ -54,6 +54,8 @@
         self.localTroveStore = self.buildTroveTree("localTroveTree", self.onLocalTroveSelected)
         self.updateLocalTroveTreeBegin()	
 
+        self.localVersionsStore = self.buildLocalVersionsList()
+
         self.buildVersionTree()
 	self.buildFileList()
 	
@@ -338,6 +340,25 @@
     #
     #
 
+    def buildLocalVersionsList(self):
+        troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_STRING)
+
+        tv = self.get_widget("localVersionsTree")
+        tv.set_model(troveStore)
+
+        self.LOCAL_VERSIONS_COLUMN_OBJECT = 0
+        self.LOCAL_VERSIONS_COLUMN_VERSION = 1
+
+        renderer = gtk.CellRendererText()
+        column = gtk.TreeViewColumn("Full Version", renderer, text=self.TROVE_COLUMN_DISPLAY_NAME)
+
+        tv.append_column(column)
+
+        selection = tv.get_selection()
+        selection.connect("changed", self.localVersionSelected)
+
+        return troveStore
+
     def updateLocalTroveTreeBegin(self):
         self.updating += 1
         gobject.timeout_add(50, self.pulse)
@@ -350,6 +371,18 @@
         self.updating -= 1
 
     def onLocalTroveSelected(self, selection):
+        treeIter = selection.get_selected()[1]
+        if treeIter:
+            troveName = self.localTroveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
+            versionLabel = self.get_widget("versionLabel")
+
+            self.localVersionsStore.clear()
+            troveList = client.db.findTrove(troveName)
+            for trove in troveList:
+                version = trove.getVersion()
+                self.localVersionsStore.append([trove, version.asString()])
+
+    def localVersionSelected(self, selection):
         pass
 
     def quit( self, obj ):


From tgerla@specifixinc.com Tue Aug 24 22:19:44 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7P2JhbI027200
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 22:19:44 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 68B741677E
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 24 Aug 2004 19:20:32 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7P2KTTD002525; Tue, 24 Aug 2004 22:20:29 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7P2KTWD002522; Tue, 24 Aug 2004 22:20:29 -0400
Date: Tue, 24 Aug 2004 22:20:29 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408250220.i7P2KTWD002522@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.glade,1.12,1.13
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Wed, 25 Aug 2004 02:19:44 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv2510

Modified Files:
	conary-repoview.glade 
Log Message:
improved glade


Index: conary-repoview.glade
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.glade,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- conary-repoview.glade	24 Aug 2004 21:23:06 -0000	1.12
+++ conary-repoview.glade	25 Aug 2004 02:20:26 -0000	1.13
@@ -154,7 +154,7 @@
 		    <widget class="GtkTreeView" id="troveTree">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
+		      <property name="headers_visible">False</property>
 		      <property name="rules_hint">False</property>
 		      <property name="reorderable">False</property>
 		      <property name="enable_search">True</property>
@@ -262,7 +262,7 @@
 	    <widget class="GtkHPaned" id="hpaned2">
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
-	      <property name="position">0</property>
+	      <property name="position">170</property>
 
 	      <child>
 		<widget class="GtkScrolledWindow" id="scrolledwindow6">


From tgerla@specifixinc.com Fri Aug 27 09:38:23 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7RDcMbI029450
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 09:38:23 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 31DD716745
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 06:39:14 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7RDdCNI026644; Fri, 27 Aug 2004 09:39:12 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7RDdBCT026640; Fri, 27 Aug 2004 09:39:11 -0400
Date: Fri, 27 Aug 2004 09:39:11 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408271339.i7RDdBCT026640@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-repoview.py, 1.16, 1.17 conaryinterface.py, 1.21,
	1.22
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 27 Aug 2004 13:38:23 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv26628

Modified Files:
	conary-repoview.py conaryinterface.py 
Log Message:
remove references to unused, and now obsolete module 'helper'.


Index: conary-repoview.py
===================================================================
RCS file: /cvs/conary-gui/conary-repoview.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- conary-repoview.py	24 Aug 2004 21:23:06 -0000	1.16
+++ conary-repoview.py	27 Aug 2004 13:39:09 -0000	1.17
@@ -22,7 +22,6 @@
 
 import conarycfg
 import util
-import helper
 import queryrep
 import checkin
 import versions


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- conaryinterface.py	24 Aug 2004 20:27:20 -0000	1.21
+++ conaryinterface.py	27 Aug 2004 13:39:09 -0000	1.22
@@ -25,7 +25,6 @@
 import log
 
 import conarycfg
-import helper
 import versions
 import util
 import conaryclient


From tgerla@specifixinc.com Fri Aug 27 15:23:17 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7RJNGbI025910
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 15:23:17 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 74F5716782
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 12:24:08 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7RJO6NI010426; Fri, 27 Aug 2004 15:24:06 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7RJO6He010421; Fri, 27 Aug 2004 15:24:06 -0400
Date: Fri, 27 Aug 2004 15:24:06 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408271924.i7RJO6He010421@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile, 1.11, 1.12 conaryinterface.py, 1.22,
	1.23 gladefiles.py, 1.4, 1.5
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 27 Aug 2004 19:23:17 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv10407

Modified Files:
	Makefile conaryinterface.py gladefiles.py 
Log Message:
fix some imports, load correct glade file, update makefile s/repoview/gui/


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- Makefile	19 Aug 2004 20:36:10 -0000	1.11
+++ Makefile	27 Aug 2004 19:24:04 -0000	1.12
@@ -3,7 +3,7 @@
 # All rights reserved
 #
 
-all: conary-repoview conary-gui-wrapper
+all: conary-gui conary-gui-wrapper
 
 export VERSION = 0.2
 export TOPDIR = $(shell pwd)
@@ -17,18 +17,18 @@
 subdirs_rule=
 
 python_files = conaryinterface.py \
-               conary-repoview.py \
+               conary-gui.py \
 	       updatetrove.py \
 	       gladefiles.py \
 	       applychangeset.py \
 	       statuswindow.py
 
-glade_files = conary-repoview.glade
+glade_files = conary-gui.glade
 dist_files = $(python_files) $(glade_files) Makefile Make.rules conary-gui-wrapper.in
 
 generated_files = *.pyo *.pyc 
 
-.PHONY: clean dist install conary-repoview
+.PHONY: clean dist install conary-gui
 
 subdirs:
 	for d in $(SUBDIRS); do make -C $$d DIR=$$d || exit 1; done
@@ -46,8 +46,8 @@
 	install -m 755 conary-gui-wrapper $(DESTDIR)$(bindir)
 	$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)$(conarydir)', ddir='$(conarydir)', quiet=1)"
 	$(PYTHON) -OO -c "import compileall; compileall.compile_dir('$(DESTDIR)$(conarydir)', ddir='$(conarydir)', quiet=1)"
-	ln -sf conary-gui-wrapper $(DESTDIR)$(bindir)/conary-repoview
-	install conary-repoview.glade $(DESTDIR)$(conarydir)/gui
+	ln -sf conary-gui-wrapper $(DESTDIR)$(bindir)/conary-gui
+	install conary-gui.glade $(DESTDIR)$(conarydir)/gui
 
 dist: $(dist_files)
 	rm -rf $(DISTDIR)


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- conaryinterface.py	27 Aug 2004 13:39:09 -0000	1.22
+++ conaryinterface.py	27 Aug 2004 19:24:04 -0000	1.23
@@ -22,11 +22,11 @@
 import gtk
 import sys
 import os
-import log
+from lib import log
 
 import conarycfg
 import versions
-import util
+from lib import util
 import conaryclient
 from local import database
 from repository import repository


Index: gladefiles.py
===================================================================
RCS file: /cvs/conary-gui/gladefiles.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- gladefiles.py	19 Aug 2004 20:36:11 -0000	1.4
+++ gladefiles.py	27 Aug 2004 19:24:04 -0000	1.5
@@ -19,7 +19,7 @@
 import os
 import sys
 
-def getGladeFile(gladeFile="conary-repoview.glade"):
+def getGladeFile(gladeFile="conary-gui.glade"):
     """
     Find a glade file. If the file is not in the current directory,
     look at the path to the source file plus /gui/.


From tgerla@specifixinc.com Fri Aug 27 15:23:57 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7RJNvbI025979
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 15:23:57 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 05B0D16782
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 12:24:49 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7RJOlNI010678; Fri, 27 Aug 2004 15:24:47 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7RJOlNO010675; Fri, 27 Aug 2004 15:24:47 -0400
Date: Fri, 27 Aug 2004 15:24:47 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408271924.i7RJOlNO010675@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.17,1.18
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 27 Aug 2004 19:23:57 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv10663

Modified Files:
	conary-gui.py 
Log Message:
make conary-gui.py run from cvs, fix imports


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- conary-gui.py	27 Aug 2004 13:39:09 -0000	1.17
+++ conary-gui.py	27 Aug 2004 19:24:45 -0000	1.18
@@ -20,8 +20,10 @@
 import gtk.glade
 import pango
 
+sys.path.append("/usr/share/conary/")
+
 import conarycfg
-import util
+from lib import util
 import queryrep
 import checkin
 import versions


From tgerla@specifixinc.com Fri Aug 27 16:05:34 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7RK5XbI028321
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 16:05:33 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A77D516782
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 13:06:25 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7RK6NNI012999; Fri, 27 Aug 2004 16:06:23 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7RK6NEg012995; Fri, 27 Aug 2004 16:06:23 -0400
Date: Fri, 27 Aug 2004 16:06:23 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408272006.i7RK6NEg012995@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.18,1.19 conaryinterface.py,1.23,1.24
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 27 Aug 2004 20:05:34 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12983

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
search installed troves for remote repositories to query, instead of using repositoryMap


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- conary-gui.py	27 Aug 2004 19:24:45 -0000	1.18
+++ conary-gui.py	27 Aug 2004 20:06:21 -0000	1.19
@@ -49,9 +49,10 @@
 
 	canvas_frame = self.get_widget("scrolledwindow3")
 
+        # build remote and local trove lists, fill the local trove tree.
+        # once the local trove tree is done, it fills the remote trove tree, based
+        # on the repositories found referenced in the system.
 	self.troveStore = self.buildTroveTree("troveTree", self.onTroveSelected)
-	self.updateTroveTreeBegin()
-
         self.localTroveStore = self.buildTroveTree("localTroveTree", self.onLocalTroveSelected)
         self.updateLocalTroveTreeBegin()	
 
@@ -140,11 +141,11 @@
         column = gtk.TreeViewColumn("Name", gtk.CellRendererText(), text=self.FILE_COLUMN_NAME)
 	treeview.append_column(column)
 		
-    def updateTroveTreeBegin(self):
+    def updateTroveTreeBegin(self, repos):
 	self.updating += 1
 	gobject.timeout_add(50, self.pulse)
 
-	troveList = conaryinterface.TroveList(client, self.updateTroveTreeFinish)
+	troveList = conaryinterface.TroveList(client, repos, self.updateTroveTreeFinish)
 	troveList.start()
 
     def pulse(self):
@@ -368,6 +369,14 @@
         troveList.start()
 
     def updateLocalTroveTreeFinish(self, troves, error):
+        repos = {}
+        for troveList in troves:
+            for v in client.db.getTroveVersionList(troveList):
+                host = v.branch().label().getHost()
+                repos[host] = 1
+
+        self.updateTroveTreeBegin(repos)
+        
         self._fillTroveTree(self.localTroveStore, troves)
         self.updating -= 1
 


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- conaryinterface.py	27 Aug 2004 19:24:04 -0000	1.23
+++ conaryinterface.py	27 Aug 2004 20:06:21 -0000	1.24
@@ -83,12 +83,20 @@
     """
     Retrieve a list of all troves in the repositories.
     """
+
+    def __init__(self, client, repos, callback):
+        ConaryOperation.__init__(self, client, callback)
+        self.repos = repos
+        
     def doOperation(self):
 	troves = {}
 
-	repos = self.client.cfg.repositoryMap.keys();
-	for repo in repos:
-	    troves[repo] = [ x for x in self.client.repos.iterAllTroveNames(repo) ]
+	for repo in self.repos:
+            try:
+                troves[repo] = [ x for x in self.client.repos.iterAllTroveNames(repo) ]
+            except:
+                print "warning: failed to open repo %s, skipping" % repo
+
 	return troves
 
 class LocalTroveList(ConaryOperation):
@@ -100,7 +108,6 @@
         troves = self.client.db.iterAllTroveNames()
             
         t = list(troves)
-        print len(t)
         return t
         
 class UpdateTrove(ConaryOperation):


From tgerla@specifixinc.com Fri Aug 27 16:16:40 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7RKGdbI028959
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 16:16:39 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 50AA416782
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 13:17:31 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7RKHSNI014034; Fri, 27 Aug 2004 16:17:28 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7RKHSis014030; Fri, 27 Aug 2004 16:17:28 -0400
Date: Fri, 27 Aug 2004 16:17:28 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408272017.i7RKHSis014030@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.19,1.20 conaryinterface.py,1.24,1.25
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 27 Aug 2004 20:16:40 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv14010

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
offload some processing to a thread


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- conary-gui.py	27 Aug 2004 20:06:21 -0000	1.19
+++ conary-gui.py	27 Aug 2004 20:17:26 -0000	1.20
@@ -368,13 +368,8 @@
         troveList = conaryinterface.LocalTroveList(client, self.updateLocalTroveTreeFinish)
         troveList.start()
 
-    def updateLocalTroveTreeFinish(self, troves, error):
-        repos = {}
-        for troveList in troves:
-            for v in client.db.getTroveVersionList(troveList):
-                host = v.branch().label().getHost()
-                repos[host] = 1
-
+    def updateLocalTroveTreeFinish(self, results, error):
+        troves, repos = results
         self.updateTroveTreeBegin(repos)
         
         self._fillTroveTree(self.localTroveStore, troves)


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- conaryinterface.py	27 Aug 2004 20:06:21 -0000	1.24
+++ conaryinterface.py	27 Aug 2004 20:17:26 -0000	1.25
@@ -108,7 +108,14 @@
         troves = self.client.db.iterAllTroveNames()
             
         t = list(troves)
-        return t
+
+        repos = {}
+        for troveList in t:
+            for v in self.client.db.getTroveVersionList(troveList):
+                host = v.branch().label().getHost()
+                repos[host] = 1
+
+        return (t, repos)
         
 class UpdateTrove(ConaryOperation):
     """


From tgerla@specifixinc.com Fri Aug 27 16:51:55 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7RKptbI030505
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 16:51:55 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id EA14C16782
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 13:52:46 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7RKqiNI015314; Fri, 27 Aug 2004 16:52:44 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7RKqi5r015309; Fri, 27 Aug 2004 16:52:44 -0400
Date: Fri, 27 Aug 2004 16:52:44 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408272052.i7RKqi5r015309@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.13, 1.14 conary-gui.py, 1.20,
	1.21 conaryinterface.py, 1.25, 1.26
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 27 Aug 2004 20:51:56 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv15297

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
desensitize UI at appropriate places to avoid breakage


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- conary-gui.glade	25 Aug 2004 02:20:26 -0000	1.13
+++ conary-gui.glade	27 Aug 2004 20:52:42 -0000	1.14
@@ -3,7 +3,7 @@
 
 <glade-interface>
 
-<widget class="GtkWindow" id="repview">
+<widget class="GtkWindow" id="conaryGUI">
   <property name="width_request">500</property>
   <property name="height_request">500</property>
   <property name="visible">True</property>
@@ -39,22 +39,74 @@
 		<widget class="GtkMenu" id="file1_menu">
 
 		  <child>
-		    <widget class="GtkMenuItem" id="openChangeset">
+		    <widget class="GtkImageMenuItem" id="openChangeset">
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">Open Changeset...</property>
 		      <property name="use_underline">True</property>
 		      <signal name="activate" handler="onOpenChangeset" last_modification_time="Tue, 03 Aug 2004 18:11:45 GMT"/>
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image2">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-open</property>
+			  <property name="icon_size">1</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="GtkMenuItem" id="quit1">
+		    <widget class="GtkImageMenuItem" id="refresh1">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Quit</property>
+		      <property name="label" translatable="yes">Refresh</property>
 		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="quit" last_modification_time="Thu, 19 Aug 2004 15:15:31 GMT"/>
+		      <signal name="activate" handler="onRefresh" last_modification_time="Fri, 27 Aug 2004 20:42:15 GMT"/>
+		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image3">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-refresh</property>
+			  <property name="icon_size">1</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="GtkSeparatorMenuItem" id="separator1">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="quit2">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">quit</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="quit" last_modification_time="Fri, 27 Aug 2004 20:50:53 GMT"/>
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image4">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-quit</property>
+			  <property name="icon_size">1</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>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- conary-gui.py	27 Aug 2004 20:17:26 -0000	1.20
+++ conary-gui.py	27 Aug 2004 20:52:42 -0000	1.21
@@ -39,10 +39,10 @@
 
 class RepositoryView( gtk.glade.XML ):
     def __init__( self ):
-        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "repview")
+        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "conaryGUI")
         
         self.signal_autoconnect(self)
-	repview = self.get_widget("repview")
+	repview = self.get_widget("conaryGUI")
 	repview.connect( "destroy", self.quit )
 	self.parent = repview
         self.updating = 0
@@ -150,9 +150,11 @@
 
     def pulse(self):
 	if self.updating:
+            self.get_widget('notebook1').set_sensitive(False)
 	    self.get_widget('progressBar').pulse()
 	else:
 	    self.get_widget('progressBar').set_fraction(0.0)
+            self.get_widget('notebook1').set_sensitive(True)
 	return self.updating
 
     def updateTroveTreeFinish(self, troves, error):
@@ -206,6 +208,8 @@
 		    
 
     def onTroveSelected(self, selection):
+        self.fileStore.clear()
+        self.versionStore.clear()
 	treeIter = selection.get_selected()[1]
 	if treeIter:
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
@@ -233,8 +237,6 @@
 			    
 		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
 		self.updating += 1
-		self.get_widget('troveTree').set_sensitive(False)
-		self.get_widget('versionTree').set_sensitive(False)
 	
 		gobject.timeout_add(50, self.pulse)
 		fs.start()
@@ -256,11 +258,10 @@
 	    self.fileStore.append([file.modeString(), file.inode.owner(), file.inode.group(),
 	                           file.sizeString(), file.timeString(), name])
 	self.updating -= 1
-	self.get_widget('troveTree').set_sensitive(True)
-	self.get_widget('versionTree').set_sensitive(True)
 	
     def updateBranchStructureFinish(self, tree, error):
 	self.versionStore.clear()
+        self.fileStore.clear()
 	troveName = self.get_widget("versionTree").get_data("troveName")
 	self._fillTree(tree, None, None)
 	self.get_widget("versionTree").expand_all()
@@ -390,7 +391,13 @@
     def localVersionSelected(self, selection):
         pass
 
-    def quit( self, obj ):
+    def onRefresh(self, widget):
+        self.updateLocalTroveTreeBegin()
+        
+        for store in (self.fileStore, self.localVersionsStore, self.versionStore):
+            store.clear()
+
+    def quit(self, obj):
         gtk.main_quit()
 
 if __name__ == "__main__":


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- conaryinterface.py	27 Aug 2004 20:17:26 -0000	1.25
+++ conaryinterface.py	27 Aug 2004 20:52:42 -0000	1.26
@@ -102,6 +102,8 @@
 class LocalTroveList(ConaryOperation):
     """
     Retrieves a list of troves installed on the local system.
+    Also parses those trove versions to generate a list of all
+    remote repositories this system has installed troves from.
     """
 
     def doOperation(self):


From tgerla@specifixinc.com Fri Aug 27 22:02:30 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7S22TbI009620
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 22:02:29 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 183E116782
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 27 Aug 2004 19:03:21 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7S23GNI022460; Fri, 27 Aug 2004 22:03:16 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7S23GS8022455; Fri, 27 Aug 2004 22:03:16 -0400
Date: Fri, 27 Aug 2004 22:03:16 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408280203.i7S23GS8022455@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.14, 1.15 conary-gui.py, 1.21,
	1.22 conaryinterface.py, 1.26, 1.27
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Sat, 28 Aug 2004 02:02:30 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv22435

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
* Open a dialog listing broken repositories
* Add statusbar messages



Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- conary-gui.glade	27 Aug 2004 20:52:42 -0000	1.14
+++ conary-gui.glade	28 Aug 2004 02:03:14 -0000	1.15
@@ -542,7 +542,7 @@
 	<widget class="GtkHBox" id="hbox1">
 	  <property name="visible">True</property>
 	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
+	  <property name="spacing">12</property>
 
 	  <child>
 	    <widget class="GtkProgressBar" id="progressBar">


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- conary-gui.py	27 Aug 2004 20:52:42 -0000	1.21
+++ conary-gui.py	28 Aug 2004 02:03:14 -0000	1.22
@@ -20,7 +20,8 @@
 import gtk.glade
 import pango
 
-sys.path.append("/usr/share/conary/")
+sys.path.insert(0, "/usr/share/conary/")
+sys.path.insert(0, ".")
 
 import conarycfg
 from lib import util
@@ -54,13 +55,12 @@
         # on the repositories found referenced in the system.
 	self.troveStore = self.buildTroveTree("troveTree", self.onTroveSelected)
         self.localTroveStore = self.buildTroveTree("localTroveTree", self.onLocalTroveSelected)
-        self.updateLocalTroveTreeBegin()	
-
-        self.localVersionsStore = self.buildLocalVersionsList()
-
         self.buildVersionTree()
 	self.buildFileList()
 	
+        self.updateLocalTroveTreeBegin()	
+        self.localVersionsStore = self.buildLocalVersionsList()
+
 	self.get_widget("installTroveVersionMenu").set_sensitive(False)
 
     def buildTroveTree(self, treeViewName, changedCallback):
@@ -141,12 +141,16 @@
         column = gtk.TreeViewColumn("Name", gtk.CellRendererText(), text=self.FILE_COLUMN_NAME)
 	treeview.append_column(column)
 		
+    def statusBarUpdater(self, message):
+        self.get_widget("statusbar1").pop(0)
+        self.get_widget("statusbar1").push(0, message)
+                
     def updateTroveTreeBegin(self, repos):
 	self.updating += 1
 	gobject.timeout_add(50, self.pulse)
 
-	troveList = conaryinterface.TroveList(client, repos, self.updateTroveTreeFinish)
-	troveList.start()
+        troveList = conaryinterface.TroveList(client, repos, self.statusBarUpdater, self.updateTroveTreeFinish)
+        troveList.start()
 
     def pulse(self):
 	if self.updating:
@@ -157,10 +161,23 @@
             self.get_widget('notebook1').set_sensitive(True)
 	return self.updating
 
-    def updateTroveTreeFinish(self, troves, error):
+    def updateTroveTreeFinish(self, results, error):
+        troves, brokenRepos = results
+        self.statusBarUpdater("")
+
         self._fillTroveTree(self.troveStore, troves)
+        
+        message = "The following repositories could not be accessed:<b>\n\n" + "\n".join(brokenRepos) + "</b>"
+        dialog = gtk.MessageDialog(type = gtk.MESSAGE_INFO,
+                                buttons = gtk.BUTTONS_OK,
+                                message_format = message)
+        dialog.vbox.get_children()[0].get_children()[1].set_use_markup(True)
+        
 	self.updating -= 1
-
+        
+        dialog.run()
+        dialog.destroy()
+        
     def _fillTroveTree(self, troveStore, troves):
 	troveStore.clear()
 
@@ -363,6 +380,7 @@
         return troveStore
 
     def updateLocalTroveTreeBegin(self):
+        self.statusBarUpdater("Updating local trove list...")
         self.updating += 1
         gobject.timeout_add(50, self.pulse)
 
@@ -370,6 +388,7 @@
         troveList.start()
 
     def updateLocalTroveTreeFinish(self, results, error):
+        self.statusBarUpdater("")
         troves, repos = results
         self.updateTroveTreeBegin(repos)
         


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- conaryinterface.py	27 Aug 2004 20:52:42 -0000	1.26
+++ conaryinterface.py	28 Aug 2004 02:03:14 -0000	1.27
@@ -84,20 +84,24 @@
     Retrieve a list of all troves in the repositories.
     """
 
-    def __init__(self, client, repos, callback):
+    def __init__(self, client, repos, statusBarUpdater, callback):
         ConaryOperation.__init__(self, client, callback)
         self.repos = repos
+        self.statusBarUpdater = statusBarUpdater
         
     def doOperation(self):
 	troves = {}
+        brokenRepos = {}
 
 	for repo in self.repos:
             try:
+                self.statusBarUpdater("Updating trove list from repository: %s" % repo) 
                 troves[repo] = [ x for x in self.client.repos.iterAllTroveNames(repo) ]
             except:
+                brokenRepos[repo] = True
                 print "warning: failed to open repo %s, skipping" % repo
 
-	return troves
+	return troves, brokenRepos
 
 class LocalTroveList(ConaryOperation):
     """
@@ -114,8 +118,11 @@
         repos = {}
         for troveList in t:
             for v in self.client.db.getTroveVersionList(troveList):
-                host = v.branch().label().getHost()
-                repos[host] = 1
+                label = v.branch().label()
+                if not isinstance(label, versions.CookBranch) and \
+                   not isinstance(label, versions.EmergeBranch):
+                    host = label.getHost()
+                    repos[host] = 1
 
         return (t, repos)
         


From ewt@specifixinc.com Mon Aug 30 11:04:14 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7UF4DbI028446
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 11:04:13 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 922D416230
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 08:05:08 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7UF56NI025113; Mon, 30 Aug 2004 11:05:06 -0400
Received: (from ewt@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7UF563O025110; Mon, 30 Aug 2004 11:05:06 -0400
Date: Mon, 30 Aug 2004 11:05:06 -0400
From: ewt@specifixinc.com
Message-Id: <200408301505.i7UF563O025110@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.27,1.28
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 15:04:14 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv25069

Modified Files:
	conaryinterface.py 
Log Message:
may have fixed this for new client.updateTrove() api, but I can't run it,
so I don't know.



Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- conaryinterface.py	28 Aug 2004 02:03:14 -0000	1.27
+++ conaryinterface.py	30 Aug 2004 15:05:04 -0000	1.28
@@ -137,7 +137,7 @@
 	self.flavor = flavor
 
     def doOperation(self):
-        self.client.updateTrove(self.troveName, self.version.asString())
+        self.client.updateTrove([(self.troveName, self.version.asString())])
 
         return None
 


From ewt@specifixinc.com Mon Aug 30 11:10:13 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7UFACbI028507
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 11:10:12 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C890716230
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 08:11:07 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7UFB6NI025624; Mon, 30 Aug 2004 11:11:06 -0400
Received: (from ewt@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7UFB5Hc025621; Mon, 30 Aug 2004 11:11:05 -0400
Date: Mon, 30 Aug 2004 11:11:05 -0400
From: ewt@specifixinc.com
Message-Id: <200408301511.i7UFB5Hc025621@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.22,1.23
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 15:10:13 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv25607

Modified Files:
	conary-gui.py 
Log Message:
follow CONARY_PATH if it's set instead of using /usr/lib



Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- conary-gui.py	28 Aug 2004 02:03:14 -0000	1.22
+++ conary-gui.py	30 Aug 2004 15:11:03 -0000	1.23
@@ -20,7 +20,11 @@
 import gtk.glade
 import pango
 
-sys.path.insert(0, "/usr/share/conary/")
+if os.environ.has_key("CONARY_PATH"):
+    sys.path.insert(0, os.environ['CONARY_PATH'])
+else:
+    sys.path.insert(0, "/usr/share/conary/")
+
 sys.path.insert(0, ".")
 
 import conarycfg


From tgerla@specifixinc.com Mon Aug 30 15:44:38 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7UJicbI004241
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 15:44:38 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8708716706
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 12:45:33 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7UJjVNI006518; Mon, 30 Aug 2004 15:45:31 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7UJjVU2006514; Mon, 30 Aug 2004 15:45:31 -0400
Date: Mon, 30 Aug 2004 15:45:31 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408301945.i7UJjVU2006514@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.23,1.24 conaryinterface.py,1.28,1.29
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 19:44:38 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv6502

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
BranchName is now Label


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- conary-gui.py	30 Aug 2004 15:11:03 -0000	1.23
+++ conary-gui.py	30 Aug 2004 19:45:29 -0000	1.24
@@ -252,7 +252,7 @@
 	    version = object[0]
 	    flavor = object[1]
 
-	    if not isinstance(version, versions.BranchName):
+	    if not isinstance(version, versions.Label):
 		self.get_widget("versionTree").set_data("selectedTrove", (troveName, version, flavor))
 		self.get_widget("installTroveVersionMenu").set_sensitive(True)
 			    
@@ -289,7 +289,7 @@
 	self.updating -= 1
 
     def cmpVersion(self, x, y):
-	if isinstance(x[0], versions.BranchName) or isinstance(y[0], versions.BranchName):
+	if isinstance(x[0], versions.Label) or isinstance(y[0], versions.Label):
 	    return 0
 
 	if x[0].isAfter(y[0]):
@@ -308,7 +308,7 @@
             weight = pango.WEIGHT_NORMAL
             color = None
             
-            if isinstance(item, versions.BranchName):
+            if isinstance(item, versions.Label):
 		color = "blue"
                 
 		# trim the hostname if the parent hostname is identical


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- conaryinterface.py	30 Aug 2004 15:05:04 -0000	1.28
+++ conaryinterface.py	30 Aug 2004 19:45:29 -0000	1.29
@@ -173,7 +173,7 @@
     def doOperation(self):
         label = self.client.cfg.installLabel.asString()
         defaultBranch = label[label.index('@'):]
-        self.startLabel = versions.BranchName(self.startLabelHost + defaultBranch)
+        self.startLabel = versions.Label(self.startLabelHost + defaultBranch)
         self.troveVersions = self.client.repos.getTroveVersionList(self.startLabelHost, [self.troveName])
 
 	tree = self._getVersionsAndBranches(None, 0)


From tgerla@specifixinc.com Mon Aug 30 16:05:10 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7UK59bI004289
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 16:05:10 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 31B8E16212
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 13:06:05 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7UK63NI007592; Mon, 30 Aug 2004 16:06:03 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7UK630s007588; Mon, 30 Aug 2004 16:06:03 -0400
Date: Mon, 30 Aug 2004 16:06:03 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408302006.i7UK630s007588@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.24,1.25 conaryinterface.py,1.29,1.30
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 20:05:10 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv7576

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
don't bring up a dialog if all repositories are accessible


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- conary-gui.py	30 Aug 2004 19:45:29 -0000	1.24
+++ conary-gui.py	30 Aug 2004 20:06:01 -0000	1.25
@@ -170,18 +170,20 @@
         self.statusBarUpdater("")
 
         self._fillTroveTree(self.troveStore, troves)
+       
+        self.updating -= 1
         
-        message = "The following repositories could not be accessed:<b>\n\n" + "\n".join(brokenRepos) + "</b>"
-        dialog = gtk.MessageDialog(type = gtk.MESSAGE_INFO,
-                                buttons = gtk.BUTTONS_OK,
-                                message_format = message)
-        dialog.vbox.get_children()[0].get_children()[1].set_use_markup(True)
-        
-	self.updating -= 1
-        
-        dialog.run()
-        dialog.destroy()
-        
+        if brokenRepos:
+            message = "The following repositories could not be accessed:<b>\n\n" + "\n".join(brokenRepos) + "</b>"
+            dialog = gtk.MessageDialog(type = gtk.MESSAGE_INFO,
+                                    buttons = gtk.BUTTONS_OK,
+                                    message_format = message)
+            dialog.vbox.get_children()[0].get_children()[1].set_use_markup(True)
+            
+            
+            dialog.run()
+            dialog.destroy()
+            
     def _fillTroveTree(self, troveStore, troves):
 	troveStore.clear()
 


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- conaryinterface.py	30 Aug 2004 19:45:29 -0000	1.29
+++ conaryinterface.py	30 Aug 2004 20:06:01 -0000	1.30
@@ -122,7 +122,7 @@
                 if not isinstance(label, versions.CookBranch) and \
                    not isinstance(label, versions.EmergeBranch):
                     host = label.getHost()
-                    repos[host] = 1
+                    repos[host] = True
 
         return (t, repos)
         


From tgerla@specifixinc.com Mon Aug 30 16:43:03 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7UKh3bI004670
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 16:43:03 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 541F016212
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 30 Aug 2004 13:43:58 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7UKhuNI010471; Mon, 30 Aug 2004 16:43:56 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7UKhu33010467; Mon, 30 Aug 2004 16:43:56 -0400
Date: Mon, 30 Aug 2004 16:43:56 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408302043.i7UKhu33010467@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.25,1.26 conaryinterface.py,1.30,1.31
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 30 Aug 2004 20:43:04 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv10455

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
get list of repositories from new installLabelPath (and union with found repositories)


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- conary-gui.py	30 Aug 2004 20:06:01 -0000	1.25
+++ conary-gui.py	30 Aug 2004 20:43:54 -0000	1.26
@@ -193,8 +193,10 @@
             local = True
         else:
             local = False
-
-	for repo in troves.keys():
+        
+	repos = troves.keys()
+        repos.sort()
+        for repo in repos:
             if local:
                 root = None
             else:


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- conaryinterface.py	30 Aug 2004 20:06:01 -0000	1.30
+++ conaryinterface.py	30 Aug 2004 20:43:54 -0000	1.31
@@ -84,18 +84,23 @@
     Retrieve a list of all troves in the repositories.
     """
 
-    def __init__(self, client, repos, statusBarUpdater, callback):
+    def __init__(self, client, foundRepos, statusBarUpdater, callback):
         ConaryOperation.__init__(self, client, callback)
-        self.repos = repos
+        self.foundRepos = foundRepos
         self.statusBarUpdater = statusBarUpdater
         
     def doOperation(self):
 	troves = {}
         brokenRepos = {}
 
-	for repo in self.repos:
+        cfgRepos = self.client.cfg.installLabelPath 
+        # combine two lists...kind of ugly
+        allRepos = dict.fromkeys(self.foundRepos + cfgRepos, True).keys()
+        
+        for label in allRepos:
+            repo = label.getHost()
             try:
-                self.statusBarUpdater("Updating trove list from repository: %s" % repo) 
+                self.statusBarUpdater("Updating trove list from repository: %s" % repo)
                 troves[repo] = [ x for x in self.client.repos.iterAllTroveNames(repo) ]
             except:
                 brokenRepos[repo] = True
@@ -121,10 +126,9 @@
                 label = v.branch().label()
                 if not isinstance(label, versions.CookBranch) and \
                    not isinstance(label, versions.EmergeBranch):
-                    host = label.getHost()
-                    repos[host] = True
+                    repos[label] = True
 
-        return (t, repos)
+        return (t, repos.keys())
         
 class UpdateTrove(ConaryOperation):
     """


From tgerla@specifixinc.com Tue Aug 31 16:45:07 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7VKj6bI010014
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 31 Aug 2004 16:45:07 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id F223C164A1
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 31 Aug 2004 13:45:59 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7VKjrNI017684; Tue, 31 Aug 2004 16:45:53 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7VKjr0e017681; Tue, 31 Aug 2004 16:45:53 -0400
Date: Tue, 31 Aug 2004 16:45:53 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408312045.i7VKjr0e017681@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.31,1.32
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 31 Aug 2004 20:45:07 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv17669

Modified Files:
	conaryinterface.py 
Log Message:
fix intermittent thread freezing


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- conaryinterface.py	30 Aug 2004 20:43:54 -0000	1.31
+++ conaryinterface.py	31 Aug 2004 20:45:51 -0000	1.32
@@ -100,7 +100,9 @@
         for label in allRepos:
             repo = label.getHost()
             try:
+                gtk.threads_enter()
                 self.statusBarUpdater("Updating trove list from repository: %s" % repo)
+                gtk.threads_leave()
                 troves[repo] = [ x for x in self.client.repos.iterAllTroveNames(repo) ]
             except:
                 brokenRepos[repo] = True


From tgerla@specifixinc.com Tue Aug 31 16:45:19 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7VKjHbI010022
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 31 Aug 2004 16:45:18 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C2B32164A1
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 31 Aug 2004 13:46:13 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7VKk9NI017723; Tue, 31 Aug 2004 16:46:09 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7VKk8Iu017719; Tue, 31 Aug 2004 16:46:08 -0400
Date: Tue, 31 Aug 2004 16:46:08 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408312046.i7VKk8Iu017719@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.15,1.16 conary-gui.py,1.26,1.27
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 31 Aug 2004 20:45:19 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv17707

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
initial support for a right-click context menu and queued operations


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- conary-gui.glade	28 Aug 2004 02:03:14 -0000	1.15
+++ conary-gui.glade	31 Aug 2004 20:46:06 -0000	1.16
@@ -4,8 +4,8 @@
 <glade-interface>
 
 <widget class="GtkWindow" id="conaryGUI">
-  <property name="width_request">500</property>
-  <property name="height_request">500</property>
+  <property name="width_request">600</property>
+  <property name="height_request">600</property>
   <property name="visible">True</property>
   <property name="title" translatable="yes">Conary Manager</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
@@ -242,8 +242,7 @@
 			  <property name="rules_hint">False</property>
 			  <property name="reorderable">False</property>
 			  <property name="enable_search">True</property>
-			  <signal name="event" handler="on_versionTree_event" last_modification_time="Thu, 29 Jul 2004 18:17:36 GMT"/>
-			  <signal name="event" handler="onVersionTreeEvent" last_modification_time="Thu, 29 Jul 2004 18:18:02 GMT"/>
+			  <signal name="button_press_event" handler="onVersionTreeEvent" last_modification_time="Tue, 31 Aug 2004 13:43:58 GMT"/>
 			</widget>
 		      </child>
 		    </widget>
@@ -539,6 +538,120 @@
       </child>
 
       <child>
+	<widget class="GtkHBox" id="hbox3">
+	  <property name="border_width">6</property>
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <placeholder/>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="opsPending">
+	      <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.96</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">12</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="goButton">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Tue, 31 Aug 2004 18:29:18 GMT"/>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment1">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">0</property>
+		  <property name="yscale">0</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">0</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox2">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">2</property>
+
+		      <child>
+			<widget class="GtkImage" id="image12">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-execute</property>
+			  <property name="icon_size">4</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label19">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Go</property>
+			  <property name="use_underline">True</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
 	<widget class="GtkHBox" id="hbox1">
 	  <property name="visible">True</property>
 	  <property name="homogeneous">False</property>
@@ -561,7 +674,7 @@
 	  <child>
 	    <widget class="GtkStatusbar" id="statusbar1">
 	      <property name="visible">True</property>
-	      <property name="has_resize_grip">True</property>
+	      <property name="has_resize_grip">False</property>
 	    </widget>
 	    <packing>
 	      <property name="padding">0</property>
@@ -652,4 +765,64 @@
   </child>
 </widget>
 
+<widget class="GtkMenu" id="versionMenu">
+
+  <child>
+    <widget class="GtkImageMenuItem" id="mark_for_update1">
+      <property name="visible">True</property>
+      <property name="label" translatable="yes">Mark For Update</property>
+      <property name="use_underline">True</property>
+      <signal name="activate" handler="onMarkForUpdate" last_modification_time="Tue, 31 Aug 2004 14:39:26 GMT"/>
+
+      <child internal-child="image">
+	<widget class="GtkImage" id="image13">
+	  <property name="visible">True</property>
+	  <property name="stock">gtk-add</property>
+	  <property name="icon_size">1</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="GtkImageMenuItem" id="mark_for_erase1">
+      <property name="visible">True</property>
+      <property name="label" translatable="yes">Mark For Erase</property>
+      <property name="use_underline">True</property>
+      <signal name="activate" handler="onMarkForErase" last_modification_time="Tue, 31 Aug 2004 14:39:35 GMT"/>
+
+      <child internal-child="image">
+	<widget class="GtkImage" id="image14">
+	  <property name="visible">True</property>
+	  <property name="stock">gtk-remove</property>
+	  <property name="icon_size">1</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="GtkSeparatorMenuItem" id="separator3">
+      <property name="visible">True</property>
+    </widget>
+  </child>
+
+  <child>
+    <widget class="GtkMenuItem" id="unmark1">
+      <property name="visible">True</property>
+      <property name="label" translatable="yes">Unmark</property>
+      <property name="use_underline">True</property>
+      <signal name="activate" handler="onUnmark" last_modification_time="Tue, 31 Aug 2004 15:32:56 GMT"/>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- conary-gui.py	30 Aug 2004 20:43:54 -0000	1.26
+++ conary-gui.py	31 Aug 2004 20:46:06 -0000	1.27
@@ -45,6 +45,8 @@
 class RepositoryView( gtk.glade.XML ):
     def __init__( self ):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "conaryGUI")
+
+        self.operations = {}
         
         self.signal_autoconnect(self)
 	repview = self.get_widget("conaryGUI")
@@ -52,7 +54,10 @@
 	self.parent = repview
         self.updating = 0
 
-	canvas_frame = self.get_widget("scrolledwindow3")
+        self.menu = gtk.glade.XML(gladefiles.getGladeFile(), "versionMenu")
+        self.menu.signal_autoconnect(self)
+
+        self.updateOpsPending()
 
         # build remote and local trove lists, fill the local trove tree.
         # once the local trove tree is done, it fills the remote trove tree, based
@@ -93,18 +98,26 @@
         return troveStore
 
     def buildVersionTree(self):
-	self.versionStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_STRING,
-	                                  gobject.TYPE_STRING, gobject.TYPE_STRING,
-                                          gobject.TYPE_INT)
+	self.versionStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_INT,
+                                          gobject.TYPE_STRING, gobject.TYPE_STRING,
+                                          gobject.TYPE_STRING, gobject.TYPE_INT)
 
 	treeview = self.get_widget("versionTree")
 	treeview.set_model(self.versionStore)
 
-	self.VERSION_COLUMN_OBJECT = 0
-	self.VERSION_COLUMN_VERSION = 1 
-	self.VERSION_COLUMN_FLAVOR = 2
-	self.VERSION_COLUMN_COLOR = 3
-        self.VERSION_COLUMN_FONT_WEIGHT = 4
+        self.NO_STATUS = 0
+        self.MARKED_FOR_UPDATE = 1
+        self.MARKED_FOR_ERASE = 2
+	
+        self.VERSION_COLUMN_OBJECT = 0
+        self.VERSION_COLUMN_STATUS = 1
+	self.VERSION_COLUMN_VERSION = 2 
+	self.VERSION_COLUMN_FLAVOR = 3
+	self.VERSION_COLUMN_COLOR = 4
+        self.VERSION_COLUMN_FONT_WEIGHT = 5
+
+        renderer = gtk.CellRendererPixbuf()
+        treeview.insert_column_with_data_func(-1, '', renderer, self.versionListDataFunc)
 
 	renderer = gtk.CellRendererText()
 	column = gtk.TreeViewColumn("Version", renderer, text=self.VERSION_COLUMN_VERSION)
@@ -118,6 +131,17 @@
 	selection = treeview.get_selection()
 	selection.connect("changed", self.onVersionSelected)
 
+    def versionListDataFunc(self, tree_column, cell, model, tree_iter):
+        value = model[tree_iter][self.VERSION_COLUMN_STATUS]
+
+        pixmaps = { 
+                    self.NO_STATUS: None,
+                    self.MARKED_FOR_UPDATE: "gtk-yes",
+                    self.MARKED_FOR_ERASE:  "gtk-no",
+                  }
+
+        cell.set_property('stock-id', pixmaps[value])
+
     def buildFileList(self):
 	self.fileStore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
 	                               gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
@@ -239,7 +263,7 @@
 	if treeIter:
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
 	    label = self.troveStore[treeIter][self.TROVE_COLUMN_LABEL]
-	    self.get_widget("versionTree").set_data('troveName', troveName)
+	    self.versionStore.set_data("troveName", troveName)
 	    
 	    if troveName:
 		bs = conaryinterface.BranchStructure(client, troveName, label, self.updateBranchStructureFinish)       
@@ -251,13 +275,13 @@
 	treeIter = selection.get_selected()[1]
 	if treeIter:
 	    object = self.versionStore[treeIter][self.VERSION_COLUMN_OBJECT]
-	    troveName = self.get_widget("versionTree").get_data("troveName")
+	    troveName = self.versionStore.get_data("troveName")
 
 	    version = object[0]
 	    flavor = object[1]
 
 	    if not isinstance(version, versions.Label):
-		self.get_widget("versionTree").set_data("selectedTrove", (troveName, version, flavor))
+		self.versionStore.set_data("selectedTrove", (troveName, version, flavor))
 		self.get_widget("installTroveVersionMenu").set_sensitive(True)
 			    
 		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
@@ -266,10 +290,10 @@
 		gobject.timeout_add(50, self.pulse)
 		fs.start()
 	    else:
-		self.get_widget("versionTree").set_data("selectedTrove", None)
+		self.versionStore.set_data("selectedTrove", None)
 		self.get_widget("installTroveVersionMenu").set_sensitive(False)
 	else:
-	    self.get_widget("versionTree").set_data("selectedTrove", None)
+	    self.versionStore.set_data("selectedTrove", None)
 	    self.get_widget("installTroveVersionMenu").set_sensitive(False)
 	    
     def fileListFinish(self, fileList, error):
@@ -287,7 +311,7 @@
     def updateBranchStructureFinish(self, tree, error):
 	self.versionStore.clear()
         self.fileStore.clear()
-	troveName = self.get_widget("versionTree").get_data("troveName")
+	troveName = self.versionStore.get_data("troveName")
 	self._fillTree(tree, None, None)
 	self.get_widget("versionTree").expand_all()
 	self.updating -= 1
@@ -332,13 +356,18 @@
 	for (item, itemInfo) in items:
            
 	    newIter = self.versionStore.append(iter,
-                [(item, itemInfo["flavor"]), itemInfo["text"],
-                  str(itemInfo["flavor"]), itemInfo["color"], itemInfo["weight"]]
+                [(item, itemInfo["flavor"]),
+                 self.NO_STATUS,
+                 itemInfo["text"],
+                 str(itemInfo["flavor"]),
+                 itemInfo["color"],
+                 itemInfo["weight"]
+                ]
             )
 	    self._fillTree(tree[item], item, newIter)
 
     def onUpdateToSelectedActivate(self, widget):
-	(troveName, version, flavor) = self.get_widget("versionTree").get_data("selectedTrove")
+	(troveName, version, flavor) = self.versionStore.get_data("selectedTrove")
 	message = "Are you sure you want to update to version %s of %s?" %\
 		  (version.trailingVersion().asString(), troveName)
 
@@ -427,6 +456,93 @@
     def quit(self, obj):
         gtk.main_quit()
 
+    #
+    #
+    # Context-menu handling
+    #
+    #
+
+    def onVersionTreeEvent(self, widget, event):
+        if event.button == 3:
+            x = int(event.x)
+            y = int(event.y)
+            time = event.time
+
+            path = widget.get_path_at_pos(x, y)
+            if path:
+                path, col, cellx, celly = path
+            else:
+                return
+
+            # find item selected
+            model = widget.get_model()
+            treeIter = model.get_iter(path)
+           
+            if not model[treeIter][self.VERSION_COLUMN_OBJECT][0]:
+                return
+            if isinstance(model[treeIter][self.VERSION_COLUMN_OBJECT][0], versions.Label):
+                return 
+           
+            # pop up menu
+            widget.grab_focus()
+            widget.set_cursor( path, col, 0)
+            popup = self.menu.get_widget("versionMenu")
+            popup.set_data("selectedRow", (model, path))
+            if widget == self.get_widget("versionTree"):
+                self.menu.get_widget("mark_for_erase1").hide()
+
+            # sensitize the correct menu options
+            if model[treeIter][self.VERSION_COLUMN_STATUS] == self.NO_STATUS:
+                marked = False
+            else:
+                marked = True
+            self.menu.get_widget("unmark1").set_sensitive(marked)
+            for widget in ["mark_for_erase1", "mark_for_update1"]:
+                self.menu.get_widget(widget).set_sensitive(not marked)
+
+            popup.popup(None, None, None, event.button, time)
+
+    def onMarkForUpdate(self, widget):
+        model, path= widget.parent.get_data("selectedRow")
+        treeIter = model.get_iter(path)
+        model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_UPDATE
+        
+        self.operations[(model, path)] = self.MARKED_FOR_UPDATE
+        self.updateOpsPending()
+
+    def onMarkForErase(self, widget):
+        model, path = widget.parent.get_data("selectedRow")
+        treeIter = model.get_iter(path)
+        model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
+
+        self.operations[(model, path)] = self.MARKED_FOR_ERASE
+        self.updateOpsPending()
+
+    def onUnmark(self, widget):
+        model, path = widget.parent.get_data("selectedRow")
+        treeIter = model.get_iter(path)
+        model[treeIter][self.VERSION_COLUMN_STATUS] = self.NO_STATUS
+
+        del self.operations[(model, path)]
+        self.updateOpsPending()
+        
+    def updateOpsPending(self):
+        pending = len(self.operations)
+        self.get_widget('opsPending').set_text("Operations pending: %d" % pending)
+       
+    def onGoButtonClicked(self, button):
+        for model, path in self.operations:
+            treeIter = model.get_iter(path)
+            row = model[treeIter]
+           
+            troveName = model.get_data("troveName")
+            version = row[self.VERSION_COLUMN_OBJECT][0]
+              
+            if row[self.VERSION_COLUMN_STATUS] == self.MARKED_FOR_UPDATE:
+                print "Updating %s to version %s" % (troveName, version.asString())
+            elif row[self.VERSION_COLUMN_STATUS] == self.MARKED_FOR_ERASE:
+                print "Erasing version %s of trove %s" % (troveName, version.asString())
+
 if __name__ == "__main__":
     gtk.threads_init()
     gui = RepositoryView()


From tgerla@specifixinc.com Tue Aug 31 17:08:21 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i7VL8KbI010107
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 31 Aug 2004 17:08:20 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2DC75164A1
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 31 Aug 2004 14:09:17 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i7VL9ANI019089; Tue, 31 Aug 2004 17:09:10 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i7VL9Ap0019085; Tue, 31 Aug 2004 17:09:10 -0400
Date: Tue, 31 Aug 2004 17:09:10 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200408312109.i7VL9Ap0019085@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.16,1.17 conary-gui.py,1.27,1.28
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 31 Aug 2004 21:08:21 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv19073

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
hook local version list to right-click menu


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- conary-gui.glade	31 Aug 2004 20:46:06 -0000	1.16
+++ conary-gui.glade	31 Aug 2004 21:09:08 -0000	1.17
@@ -388,6 +388,7 @@
 				      <property name="rules_hint">False</property>
 				      <property name="reorderable">False</property>
 				      <property name="enable_search">True</property>
+				      <signal name="button_press_event" handler="onVersionTreeEvent" last_modification_time="Tue, 31 Aug 2004 20:53:16 GMT"/>
 				    </widget>
 				  </child>
 				</widget>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- conary-gui.py	31 Aug 2004 20:46:06 -0000	1.27
+++ conary-gui.py	31 Aug 2004 21:09:08 -0000	1.28
@@ -398,16 +398,20 @@
     #
 
     def buildLocalVersionsList(self):
-        troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_STRING)
+        troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_INT, gobject.TYPE_STRING)
 
         tv = self.get_widget("localVersionsTree")
         tv.set_model(troveStore)
 
         self.LOCAL_VERSIONS_COLUMN_OBJECT = 0
-        self.LOCAL_VERSIONS_COLUMN_VERSION = 1
+        self.LOCAL_VERSIONS_COLUMN_STATUS = 1
+        self.LOCAL_VERSIONS_COLUMN_VERSION = 2
 
+        renderer = gtk.CellRendererPixbuf()
+        tv.insert_column_with_data_func(-1, '', renderer, self.versionListDataFunc)
+                
         renderer = gtk.CellRendererText()
-        column = gtk.TreeViewColumn("Full Version", renderer, text=self.TROVE_COLUMN_DISPLAY_NAME)
+        column = gtk.TreeViewColumn("Full Version", renderer, text=self.LOCAL_VERSIONS_COLUMN_VERSION)
 
         tv.append_column(column)
 
@@ -436,13 +440,14 @@
         treeIter = selection.get_selected()[1]
         if treeIter:
             troveName = self.localTroveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
+            self.localVersionsStore.set_data("troveName", troveName)
             versionLabel = self.get_widget("versionLabel")
 
             self.localVersionsStore.clear()
             troveList = client.db.findTrove(troveName)
             for trove in troveList:
                 version = trove.getVersion()
-                self.localVersionsStore.append([trove, version.asString()])
+                self.localVersionsStore.append([(version,), self.NO_STATUS, version.asString()])
 
     def localVersionSelected(self, selection):
         pass
@@ -490,6 +495,10 @@
             popup.set_data("selectedRow", (model, path))
             if widget == self.get_widget("versionTree"):
                 self.menu.get_widget("mark_for_erase1").hide()
+                self.menu.get_widget("mark_for_update1").show()
+            elif widget == self.get_widget("localVersionsTree"):
+                self.menu.get_widget("mark_for_erase1").show()
+                self.menu.get_widget("mark_for_update1").hide()
 
             # sensitize the correct menu options
             if model[treeIter][self.VERSION_COLUMN_STATUS] == self.NO_STATUS:


From tgerla@specifixinc.com Wed Sep  1 14:57:54 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i81IvrbI031014
	for <conary-gui-commits@lists.specifixinc.com>;
	Wed, 1 Sep 2004 14:57:53 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C377F16789
	for <conary-gui-commits@lists.specifixinc.com>;
	Wed,  1 Sep 2004 11:58:49 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i81IwjNI019442; Wed, 1 Sep 2004 14:58:45 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i81Iwibd019437; Wed, 1 Sep 2004 14:58:44 -0400
Date: Wed, 1 Sep 2004 14:58:44 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409011858.i81Iwibd019437@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.17, 1.18 conary-gui.py, 1.28,
	1.29 conaryinterface.py, 1.32, 1.33
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Wed, 01 Sep 2004 18:57:54 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv19425

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
display local and remote trove lists together


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- conary-gui.glade	31 Aug 2004 21:09:08 -0000	1.17
+++ conary-gui.glade	1 Sep 2004 18:58:42 -0000	1.18
@@ -180,8 +180,7 @@
       <child>
 	<widget class="GtkNotebook" id="notebook1">
 	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="show_tabs">True</property>
+	  <property name="show_tabs">False</property>
 	  <property name="show_border">True</property>
 	  <property name="tab_pos">GTK_POS_TOP</property>
 	  <property name="scrollable">False</property>
@@ -206,7 +205,7 @@
 		    <widget class="GtkTreeView" id="troveTree">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
-		      <property name="headers_visible">False</property>
+		      <property name="headers_visible">True</property>
 		      <property name="rules_hint">False</property>
 		      <property name="reorderable">False</property>
 		      <property name="enable_search">True</property>
@@ -220,61 +219,231 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkVPaned" id="vpaned1">
+		<widget class="GtkVBox" id="vbox5">
 		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="position">300</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">0</property>
 
 		  <child>
-		    <widget class="GtkScrolledWindow" id="scrolledwindow3">
+		    <widget class="GtkVPaned" id="vpaned2">
+		      <property name="border_width">6</property>
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		      <property name="shadow_type">GTK_SHADOW_NONE</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+		      <property name="position">225</property>
 
 		      <child>
-			<widget class="GtkTreeView" id="versionTree">
+			<widget class="GtkVBox" id="vbox6">
 			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="headers_visible">True</property>
-			  <property name="rules_hint">False</property>
-			  <property name="reorderable">False</property>
-			  <property name="enable_search">True</property>
-			  <signal name="button_press_event" handler="onVersionTreeEvent" last_modification_time="Tue, 31 Aug 2004 13:43:58 GMT"/>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">6</property>
+
+			  <child>
+			    <widget class="GtkLabel" id="label27">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">&lt;b&gt;Installed versions:&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</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkScrolledWindow" id="scrolledwindow10">
+			      <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_NONE</property>
+			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+			      <child>
+				<widget class="GtkTreeView" id="localVersionTree">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="headers_visible">False</property>
+				  <property name="rules_hint">False</property>
+				  <property name="reorderable">False</property>
+				  <property name="enable_search">True</property>
+				  <signal name="button_press_event" handler="onVersionTreeEvent" last_modification_time="Tue, 31 Aug 2004 20:53:16 GMT"/>
+				</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="shrink">True</property>
+			  <property name="resize">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox7">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">6</property>
+
+			  <child>
+			    <widget class="GtkLabel" id="label28">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">&lt;b&gt;Available versions:&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</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkScrolledWindow" id="scrolledwindow12">
+			      <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_NONE</property>
+			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+			      <child>
+				<widget class="GtkTreeView" id="remoteVersionTree">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="headers_visible">True</property>
+				  <property name="rules_hint">False</property>
+				  <property name="reorderable">False</property>
+				  <property name="enable_search">True</property>
+				  <signal name="button_press_event" handler="onVersionTreeEvent" last_modification_time="Tue, 31 Aug 2004 20:53:16 GMT"/>
+				</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="shrink">True</property>
+			  <property name="resize">True</property>
+			</packing>
 		      </child>
 		    </widget>
 		    <packing>
-		      <property name="shrink">True</property>
-		      <property name="resize">False</property>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
 		    </packing>
 		  </child>
 
 		  <child>
-		    <widget class="GtkScrolledWindow" id="scrolledwindow5">
+		    <widget class="GtkTable" id="table2">
+		      <property name="border_width">12</property>
 		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		      <property name="shadow_type">GTK_SHADOW_NONE</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+		      <property name="n_rows">2</property>
+		      <property name="n_columns">2</property>
+		      <property name="homogeneous">False</property>
+		      <property name="row_spacing">12</property>
+		      <property name="column_spacing">12</property>
 
 		      <child>
-			<widget class="GtkTreeView" id="fileList">
+			<widget class="GtkScrolledWindow" id="scrolledwindow11">
 			  <property name="visible">True</property>
 			  <property name="can_focus">True</property>
-			  <property name="headers_visible">False</property>
-			  <property name="rules_hint">False</property>
-			  <property name="reorderable">False</property>
-			  <property name="enable_search">True</property>
+			  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+			  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+			  <property name="shadow_type">GTK_SHADOW_NONE</property>
+			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+			  <child>
+			    <placeholder/>
+			  </child>
 			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="y_options">fill</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label24">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;b&gt;Trove Details:&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>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">0</property>
+			  <property name="bottom_attach">1</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label23">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">&lt;b&gt;Description:&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>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
 		      </child>
 		    </widget>
 		    <packing>
-		      <property name="shrink">True</property>
-		      <property name="resize">True</property>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
 		    </packing>
 		  </child>
 		</widget>
@@ -310,206 +479,7 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkHPaned" id="hpaned2">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="position">170</property>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="scrolledwindow6">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="localTroveTree">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
-		      <property name="rules_hint">False</property>
-		      <property name="reorderable">False</property>
-		      <property name="enable_search">True</property>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="shrink">True</property>
-		  <property name="resize">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="scrolledwindow7">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkViewport" id="viewport1">
-		      <property name="visible">True</property>
-		      <property name="shadow_type">GTK_SHADOW_IN</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox4">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkTable" id="table1">
-			      <property name="border_width">12</property>
-			      <property name="visible">True</property>
-			      <property name="n_rows">3</property>
-			      <property name="n_columns">2</property>
-			      <property name="homogeneous">False</property>
-			      <property name="row_spacing">12</property>
-			      <property name="column_spacing">12</property>
-
-			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow8">
-				  <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_NONE</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-				  <child>
-				    <widget class="GtkTreeView" id="localVersionsTree">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="headers_visible">False</property>
-				      <property name="rules_hint">False</property>
-				      <property name="reorderable">False</property>
-				      <property name="enable_search">True</property>
-				      <signal name="button_press_event" handler="onVersionTreeEvent" last_modification_time="Tue, 31 Aug 2004 20:53:16 GMT"/>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="y_options">fill</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label14">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Installed versions:&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</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options">fill</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label16">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Trove Details:&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>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label17">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Description:&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>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">2</property>
-				  <property name="bottom_attach">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkTreeView" id="localFileList">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="headers_visible">True</property>
-			      <property name="rules_hint">False</property>
-			      <property name="reorderable">False</property>
-			      <property name="enable_search">True</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="shrink">True</property>
-		  <property name="resize">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
+	    <placeholder/>
 	  </child>
 
 	  <child>
@@ -546,13 +516,115 @@
 	  <property name="spacing">0</property>
 
 	  <child>
-	    <placeholder/>
+	    <widget class="GtkLabel" id="label21">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Show troves:</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>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkHBox" id="hbox4">
+	      <property name="visible">True</property>
+	      <property name="homogeneous">True</property>
+	      <property name="spacing">6</property>
+
+	      <child>
+		<widget class="GtkToggleButton" id="togglebutton1">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">Installed</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>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToggleButton" id="togglebutton2">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">Available</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>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToggleButton" id="togglebutton3">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">All</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>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToggleButton" id="togglebutton4">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">Out Of Date</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>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">12</property>
+	      <property name="expand">False</property>
+	      <property name="fill">True</property>
+	    </packing>
 	  </child>
 
 	  <child>
 	    <widget class="GtkLabel" id="opsPending">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes"></property>
+	      <property name="label" translatable="yes">opsPending</property>
 	      <property name="use_underline">False</property>
 	      <property name="use_markup">False</property>
 	      <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -564,7 +636,7 @@
 	      <property name="ypad">0</property>
 	    </widget>
 	    <packing>
-	      <property name="padding">12</property>
+	      <property name="padding">0</property>
 	      <property name="expand">True</property>
 	      <property name="fill">True</property>
 	    </packing>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- conary-gui.py	31 Aug 2004 21:09:08 -0000	1.28
+++ conary-gui.py	1 Sep 2004 18:58:42 -0000	1.29
@@ -34,6 +34,7 @@
 import versions
 import files
 import conaryclient
+import repository
 
 import gladefiles
 import conaryinterface 
@@ -63,26 +64,23 @@
         # once the local trove tree is done, it fills the remote trove tree, based
         # on the repositories found referenced in the system.
 	self.troveStore = self.buildTroveTree("troveTree", self.onTroveSelected)
-        self.localTroveStore = self.buildTroveTree("localTroveTree", self.onLocalTroveSelected)
         self.buildVersionTree()
-	self.buildFileList()
+	#self.buildFileList()
 	
-        self.updateLocalTroveTreeBegin()	
-        self.localVersionsStore = self.buildLocalVersionsList()
-
+        self.updateTroveTreeBegin()	
+        self.localVersionStore = self.buildLocalVersionList()
+        
 	self.get_widget("installTroveVersionMenu").set_sensitive(False)
 
     def buildTroveTree(self, treeViewName, changedCallback):
-	troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING,
-                                   gobject.TYPE_STRING, gobject.TYPE_STRING)
+	troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
                                           
         tv = self.get_widget(treeViewName)
         tv.set_model(troveStore)
          
         self.TROVE_COLUMN_FULL_NAME = 0 
 	self.TROVE_COLUMN_DISPLAY_NAME = 1
-	self.TROVE_COLUMN_LABEL = 2
-	self.TROVE_COLUMN_COLOR = 3
+	self.TROVE_COLUMN_COLOR = 2 
 
 	tv.set_search_column(self.TROVE_COLUMN_FULL_NAME)
 
@@ -98,12 +96,12 @@
         return troveStore
 
     def buildVersionTree(self):
-	self.versionStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_INT,
+	self.remoteVersionStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_INT,
                                           gobject.TYPE_STRING, gobject.TYPE_STRING,
                                           gobject.TYPE_STRING, gobject.TYPE_INT)
 
-	treeview = self.get_widget("versionTree")
-	treeview.set_model(self.versionStore)
+	treeview = self.get_widget("remoteVersionTree")
+	treeview.set_model(self.remoteVersionStore)
 
         self.NO_STATUS = 0
         self.MARKED_FOR_UPDATE = 1
@@ -116,14 +114,16 @@
 	self.VERSION_COLUMN_COLOR = 4
         self.VERSION_COLUMN_FONT_WEIGHT = 5
 
-        renderer = gtk.CellRendererPixbuf()
-        treeview.insert_column_with_data_func(-1, '', renderer, self.versionListDataFunc)
-
-	renderer = gtk.CellRendererText()
-	column = gtk.TreeViewColumn("Version", renderer, text=self.VERSION_COLUMN_VERSION)
-	column.add_attribute(renderer, "foreground", self.VERSION_COLUMN_COLOR)
+        column = gtk.TreeViewColumn()
+	renderer = gtk.CellRendererPixbuf()
+        column.pack_start(renderer)
+        column.set_cell_data_func(renderer, self.versionListDataFunc)
+        renderer = gtk.CellRendererText()
+        column.pack_start(renderer)
+        column.add_attribute(renderer, "text", self.VERSION_COLUMN_VERSION)
+        column.add_attribute(renderer, "foreground", self.VERSION_COLUMN_COLOR)
         column.add_attribute(renderer, "weight", self.VERSION_COLUMN_FONT_WEIGHT)
-	treeview.append_column(column)
+        treeview.append_column(column)
 
 	column = gtk.TreeViewColumn("Flavor", gtk.CellRendererText(), text=self.VERSION_COLUMN_FLAVOR)
 	treeview.append_column(column)
@@ -172,14 +172,7 @@
     def statusBarUpdater(self, message):
         self.get_widget("statusbar1").pop(0)
         self.get_widget("statusbar1").push(0, message)
-                
-    def updateTroveTreeBegin(self, repos):
-	self.updating += 1
-	gobject.timeout_add(50, self.pulse)
-
-        troveList = conaryinterface.TroveList(client, repos, self.statusBarUpdater, self.updateTroveTreeFinish)
-        troveList.start()
-
+ 
     def pulse(self):
 	if self.updating:
             self.get_widget('notebook1').set_sensitive(False)
@@ -189,10 +182,30 @@
             self.get_widget('notebook1').set_sensitive(True)
 	return self.updating
 
+              
+    def updateTroveTreeBegin(self):
+        self.statusBarUpdater("Updating local trove list...")
+        self.updating += 1
+        gobject.timeout_add(50, self.pulse)
+
+        troveList = conaryinterface.LocalTroveList(client, self.updateTroveTreeFinish)
+        troveList.start()
+
     def updateTroveTreeFinish(self, results, error):
+        self.statusBarUpdater("")
+        troves, repos = results
+
+        self.updateRemoteTroveTreeBegin(repos)
+
+    def updateRemoteTroveTreeBegin(self, repos):
+        troveList = conaryinterface.TroveList(client, repos, self.statusBarUpdater, self.updateRemoteTroveTreeFinish)
+        troveList.start()
+
+    def updateRemoteTroveTreeFinish(self, results, error):
         troves, brokenRepos = results
         self.statusBarUpdater("")
 
+        self.remoteTroves = troves
         self._fillTroveTree(self.troveStore, troves)
        
         self.updating -= 1
@@ -207,81 +220,75 @@
             
             dialog.run()
             dialog.destroy()
-            
+        
     def _fillTroveTree(self, troveStore, troves):
 	troveStore.clear()
 
-        # FIXME bad hack to handle both local and remote lists in one method...
-        if type(troves) == list:
-            troves = {'local': troves}
-            local = True
-        else:
-            local = False
-        
-	repos = troves.keys()
-        repos.sort()
-        for repo in repos:
-            if local:
-                root = None
-            else:
-                root = troveStore.append(None, [None, repo, None, None])
-            
-	    # munge the replist into two parts:
-	    # components: a hash with package name as key containing a list of components
-	    # packages: a list of packages
-
-	    components = {}
-	    packages = []
-	    for t in troves[repo]:
-		idx = t.find(':')
-		if idx >= 0:
-		    package = t[ :idx ]
-		    component = t[ idx+1: ]
-		    
-		    if package not in components.keys():
-			components[package] = []
-		    if package not in packages:
-			packages.append(package)
-			
-		    components[package].append(component)
-		else:
-		    if t not in packages:
-                        packages.append(t)
+        # munge the replist into two parts:
+        # components: a hash with package name as key containing a list of components
+        # packages: a list of packages
+
+        components = {}
+        packages = []
+        for t in troves:
+            idx = t.find(':')
+            if idx >= 0:
+                package = t[ :idx ]
+                component = t[ idx+1: ]
+                
+                if package not in components.keys():
+                    components[package] = []
+                if package not in packages:
+                    packages.append(package)
                     
-	    packages.sort(lambda a, b: cmp(a.lower(), b.lower()))
-	    for package in packages:
-		iter = troveStore.append(root, [package, package, repo, None])
-                if package in components:
-                    for component in components[package]:
-                        troveStore.append(iter, [package + ":" + component, component, repo, None])
-		    
+                components[package].append(component)
+            else:
+                if t not in packages:
+                    packages.append(t)
+                
+        packages.sort(lambda a, b: cmp(a.lower(), b.lower()))
+        for package in packages:
+            iter = troveStore.append(None, [package, package, None])
+            if package in components:
+                for component in components[package]:
+                    troveStore.append(iter, [package + ":" + component, component, None])
+                
 
     def onTroveSelected(self, selection):
-        self.fileStore.clear()
-        self.versionStore.clear()
 	treeIter = selection.get_selected()[1]
 	if treeIter:
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
-	    label = self.troveStore[treeIter][self.TROVE_COLUMN_LABEL]
-	    self.versionStore.set_data("troveName", troveName)
-	    
+            
+            # fill local version list
+            self.localVersionStore.clear()
+            try:
+                troveList = client.db.findTrove(troveName)
+            except repository.repository.PackageNotFound:
+                pass
+            else:
+                for trove in troveList:
+                    version = trove.getVersion()
+                    self.localVersionStore.append([(version,), self.NO_STATUS, version.asString()])
+ 
+            # fill remote version list
+	    self.remoteVersionStore.set_data("troveName", troveName)
 	    if troveName:
-		bs = conaryinterface.BranchStructure(client, troveName, label, self.updateBranchStructureFinish)       
+		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateBranchStructureFinish)       
 		self.updating += 1
 		gobject.timeout_add(50, self.pulse)
 		bs.start()
-
+                                                       
     def onVersionSelected(self, selection):
 	treeIter = selection.get_selected()[1]
 	if treeIter:
-	    object = self.versionStore[treeIter][self.VERSION_COLUMN_OBJECT]
-	    troveName = self.versionStore.get_data("troveName")
+	    object = self.remoteVersionStore[treeIter][self.VERSION_COLUMN_OBJECT]
+	    troveName = self.remoteVersionStore.get_data("troveName")
 
 	    version = object[0]
 	    flavor = object[1]
 
 	    if not isinstance(version, versions.Label):
-		self.versionStore.set_data("selectedTrove", (troveName, version, flavor))
+		self.remoteVersionStore.set_data("selectedTrove", (troveName, version, flavor))
 		self.get_widget("installTroveVersionMenu").set_sensitive(True)
 			    
 		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
@@ -290,14 +297,13 @@
 		gobject.timeout_add(50, self.pulse)
 		fs.start()
 	    else:
-		self.versionStore.set_data("selectedTrove", None)
+		self.remoteVersionStore.set_data("selectedTrove", None)
 		self.get_widget("installTroveVersionMenu").set_sensitive(False)
 	else:
-	    self.versionStore.set_data("selectedTrove", None)
+	    self.remoteVersionStore.set_data("selectedTrove", None)
 	    self.get_widget("installTroveVersionMenu").set_sensitive(False)
 	    
     def fileListFinish(self, fileList, error):
-	self.fileStore.clear()
 	for (fileId, path, version, file) in fileList:
 	    if isinstance(file, files.SymbolicLink):
 		name = "%s -> %s" %(path, file.target.value())
@@ -309,16 +315,15 @@
 	self.updating -= 1
 	
     def updateBranchStructureFinish(self, tree, error):
-	self.versionStore.clear()
-        self.fileStore.clear()
-	troveName = self.versionStore.get_data("troveName")
+	self.remoteVersionStore.clear()
+        troveName = self.remoteVersionStore.get_data("troveName")
 	self._fillTree(tree, None, None)
-	self.get_widget("versionTree").expand_all()
+	self.get_widget("remoteVersionTree").expand_all()
 	self.updating -= 1
 
     def cmpVersion(self, x, y):
-	if isinstance(x[0], versions.Label) or isinstance(y[0], versions.Label):
-	    return 0
+        if isinstance(x[0], versions.Label) or isinstance(y[0], versions.Label):
+            return 0
 
 	if x[0].isAfter(y[0]):
 	    return 1
@@ -327,7 +332,7 @@
 	else:
 	    return 0
 
-    def _fillTree(self, tree, parentNode, iter):
+    def _fillTree(self, tree, parentNode, treeIter, level=0):
 	items = [] 
 
 	for item in tree.keys():
@@ -353,9 +358,13 @@
             items.append((item, {"text": text, "flavor": flavor, "color": color, "weight": weight}))
 
 	items.sort(self.cmpVersion)
-	for (item, itemInfo) in items:
-           
-	    newIter = self.versionStore.append(iter,
+        for (item, itemInfo) in items:
+        
+            # don't display empty labels   
+            if isinstance(item, versions.Label) and len(tree[item].keys()) <= 2:
+                continue
+
+            newIter = self.remoteVersionStore.append(treeIter,
                 [(item, itemInfo["flavor"]),
                  self.NO_STATUS,
                  itemInfo["text"],
@@ -364,10 +373,10 @@
                  itemInfo["weight"]
                 ]
             )
-	    self._fillTree(tree[item], item, newIter)
+            self._fillTree(tree[item], item, newIter, level+1)
 
     def onUpdateToSelectedActivate(self, widget):
-	(troveName, version, flavor) = self.versionStore.get_data("selectedTrove")
+	(troveName, version, flavor) = self.remoteVersionStore.get_data("selectedTrove")
 	message = "Are you sure you want to update to version %s of %s?" %\
 		  (version.trailingVersion().asString(), troveName)
 
@@ -397,18 +406,18 @@
     #
     #
 
-    def buildLocalVersionsList(self):
+    def buildLocalVersionList(self):
         troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_INT, gobject.TYPE_STRING)
 
-        tv = self.get_widget("localVersionsTree")
+        tv = self.get_widget("localVersionTree")
         tv.set_model(troveStore)
 
         self.LOCAL_VERSIONS_COLUMN_OBJECT = 0
         self.LOCAL_VERSIONS_COLUMN_STATUS = 1
         self.LOCAL_VERSIONS_COLUMN_VERSION = 2
 
-        renderer = gtk.CellRendererPixbuf()
-        tv.insert_column_with_data_func(-1, '', renderer, self.versionListDataFunc)
+        #renderer = gtk.CellRendererPixbuf()
+        #tv.insert_column_with_data_func(1, '', renderer, self.versionListDataFunc)
                 
         renderer = gtk.CellRendererText()
         column = gtk.TreeViewColumn("Full Version", renderer, text=self.LOCAL_VERSIONS_COLUMN_VERSION)
@@ -420,42 +429,13 @@
 
         return troveStore
 
-    def updateLocalTroveTreeBegin(self):
-        self.statusBarUpdater("Updating local trove list...")
-        self.updating += 1
-        gobject.timeout_add(50, self.pulse)
-
-        troveList = conaryinterface.LocalTroveList(client, self.updateLocalTroveTreeFinish)
-        troveList.start()
-
-    def updateLocalTroveTreeFinish(self, results, error):
-        self.statusBarUpdater("")
-        troves, repos = results
-        self.updateTroveTreeBegin(repos)
-        
-        self._fillTroveTree(self.localTroveStore, troves)
-        self.updating -= 1
-
-    def onLocalTroveSelected(self, selection):
-        treeIter = selection.get_selected()[1]
-        if treeIter:
-            troveName = self.localTroveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
-            self.localVersionsStore.set_data("troveName", troveName)
-            versionLabel = self.get_widget("versionLabel")
-
-            self.localVersionsStore.clear()
-            troveList = client.db.findTrove(troveName)
-            for trove in troveList:
-                version = trove.getVersion()
-                self.localVersionsStore.append([(version,), self.NO_STATUS, version.asString()])
-
     def localVersionSelected(self, selection):
         pass
 
     def onRefresh(self, widget):
         self.updateLocalTroveTreeBegin()
         
-        for store in (self.fileStore, self.localVersionsStore, self.versionStore):
+        for store in (self.fileStore, self.localVersionsStore, self.remoteVersionStore):
             store.clear()
 
     def quit(self, obj):


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- conaryinterface.py	31 Aug 2004 20:45:51 -0000	1.32
+++ conaryinterface.py	1 Sep 2004 18:58:42 -0000	1.33
@@ -90,7 +90,7 @@
         self.statusBarUpdater = statusBarUpdater
         
     def doOperation(self):
-	troves = {}
+	troves = []
         brokenRepos = {}
 
         cfgRepos = self.client.cfg.installLabelPath 
@@ -103,7 +103,7 @@
                 gtk.threads_enter()
                 self.statusBarUpdater("Updating trove list from repository: %s" % repo)
                 gtk.threads_leave()
-                troves[repo] = [ x for x in self.client.repos.iterAllTroveNames(repo) ]
+                troves += [ x for x in self.client.repos.iterAllTroveNames(repo) ]
             except:
                 brokenRepos[repo] = True
                 print "warning: failed to open repo %s, skipping" % repo
@@ -173,22 +173,27 @@
     def __init__(self, client, troveName, startLabelHost, callback):
 	ConaryOperation.__init__(self, client, callback)
 	self.troveName = troveName
-        self.startLabelHost = startLabelHost
-        self.versionsCache = {}
+#        self.startLabelHost = startLabelHost
 
     def doOperation(self):
-        label = self.client.cfg.installLabel.asString()
-        defaultBranch = label[label.index('@'):]
-        self.startLabel = versions.Label(self.startLabelHost + defaultBranch)
-        self.troveVersions = self.client.repos.getTroveVersionList(self.startLabelHost, [self.troveName])
+        tree = {}
+        for installLabel in self.client.cfg.installLabelPath:
+            self.startLabelHost = installLabel.getHost()
+            label = installLabel.asString()
+            defaultBranch = label[label.index('@'):]
+            self.startLabel = versions.Label(self.startLabelHost + defaultBranch)
+            self.troveVersions = self.client.repos.getTroveVersionList(self.startLabelHost, [self.troveName])
+
+            branches = self._getVersionsAndBranches(None, 0)
+            tree.update(branches)
 
-	tree = self._getVersionsAndBranches(None, 0)
 	return tree
 
     def dumpStructure(self, tree, level=0):
-	for branch in tree.keys():
-	    print "    "*level, branch
-	    self.dumpStructure(tree[branch], level+1)
+	if isinstance(tree, dict):
+            for branch in tree.keys():
+                print "    "*level, branch
+                self.dumpStructure(tree[branch], level+1)
 
     def _getNestedBranches(self, label):
 	branches = []


From tgerla@specifixinc.com Wed Sep  1 15:26:45 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i81JQjbI031067
	for <conary-gui-commits@lists.specifixinc.com>;
	Wed, 1 Sep 2004 15:26:45 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 25C2F16230
	for <conary-gui-commits@lists.specifixinc.com>;
	Wed,  1 Sep 2004 12:27:42 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i81JRcNI020083; Wed, 1 Sep 2004 15:27:38 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i81JRbfD020079; Wed, 1 Sep 2004 15:27:37 -0400
Date: Wed, 1 Sep 2004 15:27:37 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409011927.i81JRbfD020079@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.18,1.19 conary-gui.py,1.29,1.30
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Wed, 01 Sep 2004 19:26:46 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv20065

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
refactor gui to remove notebook widget


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- conary-gui.glade	1 Sep 2004 18:58:42 -0000	1.18
+++ conary-gui.glade	1 Sep 2004 19:27:35 -0000	1.19
@@ -178,13 +178,10 @@
       </child>
 
       <child>
-	<widget class="GtkNotebook" id="notebook1">
+	<widget class="GtkVBox" id="main_gui">
 	  <property name="visible">True</property>
-	  <property name="show_tabs">False</property>
-	  <property name="show_border">True</property>
-	  <property name="tab_pos">GTK_POS_TOP</property>
-	  <property name="scrollable">False</property>
-	  <property name="enable_popup">False</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
 
 	  <child>
 	    <widget class="GtkHPaned" id="hpaned1">
@@ -454,140 +451,138 @@
 	      </child>
 	    </widget>
 	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label12">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Repository Browser</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>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <placeholder/>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label13">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Local System</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>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHBox" id="hbox3">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label21">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Show troves:</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>
-	    </widget>
-	    <packing>
 	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
 	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkHBox" id="hbox4">
+	    <widget class="GtkHBox" id="hbox3">
+	      <property name="border_width">6</property>
 	      <property name="visible">True</property>
-	      <property name="homogeneous">True</property>
-	      <property name="spacing">6</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">0</property>
 
 	      <child>
-		<widget class="GtkToggleButton" id="togglebutton1">
+		<widget class="GtkLabel" id="label21">
 		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Installed</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="label" translatable="yes">Show troves:</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>
 		</widget>
 		<packing>
 		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkToggleButton" id="togglebutton2">
+		<widget class="GtkHBox" id="hbox4">
 		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Available</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="homogeneous">True</property>
+		  <property name="spacing">6</property>
+
+		  <child>
+		    <widget class="GtkToggleButton" id="togglebutton1">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Installed</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>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkToggleButton" id="togglebutton2">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Available</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>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkToggleButton" id="togglebutton3">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">All</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>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkToggleButton" id="togglebutton4">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Out Of Date</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>
+		    </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="padding">12</property>
+		  <property name="expand">False</property>
 		  <property name="fill">True</property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkToggleButton" id="togglebutton3">
+		<widget class="GtkLabel" id="opsPending">
 		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">All</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="label" translatable="yes">opsPending</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.96</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
 		</widget>
 		<packing>
 		  <property name="padding">0</property>
@@ -597,129 +592,90 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkToggleButton" id="togglebutton4">
+		<widget class="GtkButton" id="goButton">
 		  <property name="visible">True</property>
 		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Out Of Date</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>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">12</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="opsPending">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">opsPending</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.96</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="goButton">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Tue, 31 Aug 2004 18:29:18 GMT"/>
-
-	      <child>
-		<widget class="GtkAlignment" id="alignment1">
-		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">0</property>
-		  <property name="yscale">0</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">0</property>
-		  <property name="right_padding">0</property>
+		  <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Tue, 31 Aug 2004 18:29:18 GMT"/>
 
 		  <child>
-		    <widget class="GtkHBox" id="hbox2">
+		    <widget class="GtkAlignment" id="alignment1">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">2</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">0</property>
+		      <property name="yscale">0</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">0</property>
+		      <property name="right_padding">0</property>
 
 		      <child>
-			<widget class="GtkImage" id="image12">
+			<widget class="GtkHBox" id="hbox2">
 			  <property name="visible">True</property>
-			  <property name="stock">gtk-execute</property>
-			  <property name="icon_size">4</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">2</property>
 
-		      <child>
-			<widget class="GtkLabel" id="label19">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Go</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
+			  <child>
+			    <widget class="GtkImage" id="image12">
+			      <property name="visible">True</property>
+			      <property name="stock">gtk-execute</property>
+			      <property name="icon_size">4</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label19">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Go</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </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>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
 		      </child>
 		    </widget>
 		  </child>
 		</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>
 	      <property name="expand">False</property>
-	      <property name="fill">False</property>
+	      <property name="fill">True</property>
 	    </packing>
 	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>
-	  <property name="expand">False</property>
+	  <property name="expand">True</property>
 	  <property name="fill">True</property>
 	</packing>
       </child>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- conary-gui.py	1 Sep 2004 18:58:42 -0000	1.29
+++ conary-gui.py	1 Sep 2004 19:27:35 -0000	1.30
@@ -175,11 +175,11 @@
  
     def pulse(self):
 	if self.updating:
-            self.get_widget('notebook1').set_sensitive(False)
+            self.get_widget('main_gui').set_sensitive(False)
 	    self.get_widget('progressBar').pulse()
 	else:
 	    self.get_widget('progressBar').set_fraction(0.0)
-            self.get_widget('notebook1').set_sensitive(True)
+            self.get_widget('main_gui').set_sensitive(True)
 	return self.updating
 
               


From tgerla@specifixinc.com Thu Sep  2 09:35:04 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i82DZ3bI001695
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 2 Sep 2004 09:35:03 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C465A16788
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu,  2 Sep 2004 06:36:01 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i82DZxNI010157; Thu, 2 Sep 2004 09:35:59 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i82DZx5N010154; Thu, 2 Sep 2004 09:35:59 -0400
Date: Thu, 2 Sep 2004 09:35:59 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409021335.i82DZx5N010154@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.30,1.31
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Thu, 02 Sep 2004 13:35:04 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv10136

Modified Files:
	conary-gui.py 
Log Message:
rearrange code slightly


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- conary-gui.py	1 Sep 2004 19:27:35 -0000	1.30
+++ conary-gui.py	2 Sep 2004 13:35:56 -0000	1.31
@@ -168,6 +168,8 @@
 	treeview.append_column(column)
         column = gtk.TreeViewColumn("Name", gtk.CellRendererText(), text=self.FILE_COLUMN_NAME)
 	treeview.append_column(column)
+
+    ### Utility functions
 		
     def statusBarUpdater(self, message):
         self.get_widget("statusbar1").pop(0)
@@ -181,8 +183,9 @@
 	    self.get_widget('progressBar').set_fraction(0.0)
             self.get_widget('main_gui').set_sensitive(True)
 	return self.updating
-
-              
+             
+    ###
+ 
     def updateTroveTreeBegin(self):
         self.statusBarUpdater("Updating local trove list...")
         self.updating += 1
@@ -216,8 +219,6 @@
                                     buttons = gtk.BUTTONS_OK,
                                     message_format = message)
             dialog.vbox.get_children()[0].get_children()[1].set_use_markup(True)
-            
-            
             dialog.run()
             dialog.destroy()
         
@@ -253,6 +254,7 @@
                 for component in components[package]:
                     troveStore.append(iter, [package + ":" + component, component, None])
                 
+    ### trove selected
 
     def onTroveSelected(self, selection):
 	treeIter = selection.get_selected()[1]
@@ -277,43 +279,7 @@
 		self.updating += 1
 		gobject.timeout_add(50, self.pulse)
 		bs.start()
-                                                       
-    def onVersionSelected(self, selection):
-	treeIter = selection.get_selected()[1]
-	if treeIter:
-	    object = self.remoteVersionStore[treeIter][self.VERSION_COLUMN_OBJECT]
-	    troveName = self.remoteVersionStore.get_data("troveName")
-
-	    version = object[0]
-	    flavor = object[1]
 
-	    if not isinstance(version, versions.Label):
-		self.remoteVersionStore.set_data("selectedTrove", (troveName, version, flavor))
-		self.get_widget("installTroveVersionMenu").set_sensitive(True)
-			    
-		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
-		self.updating += 1
-	
-		gobject.timeout_add(50, self.pulse)
-		fs.start()
-	    else:
-		self.remoteVersionStore.set_data("selectedTrove", None)
-		self.get_widget("installTroveVersionMenu").set_sensitive(False)
-	else:
-	    self.remoteVersionStore.set_data("selectedTrove", None)
-	    self.get_widget("installTroveVersionMenu").set_sensitive(False)
-	    
-    def fileListFinish(self, fileList, error):
-	for (fileId, path, version, file) in fileList:
-	    if isinstance(file, files.SymbolicLink):
-		name = "%s -> %s" %(path, file.target.value())
-	    else:
-		name = path
-	    
-	    self.fileStore.append([file.modeString(), file.inode.owner(), file.inode.group(),
-	                           file.sizeString(), file.timeString(), name])
-	self.updating -= 1
-	
     def updateBranchStructureFinish(self, tree, error):
 	self.remoteVersionStore.clear()
         troveName = self.remoteVersionStore.get_data("troveName")
@@ -375,6 +341,44 @@
             )
             self._fillTree(tree[item], item, newIter, level+1)
 
+    ###
+                                                       
+    def onVersionSelected(self, selection):
+	treeIter = selection.get_selected()[1]
+	if treeIter:
+	    object = self.remoteVersionStore[treeIter][self.VERSION_COLUMN_OBJECT]
+	    troveName = self.remoteVersionStore.get_data("troveName")
+
+	    version = object[0]
+	    flavor = object[1]
+
+	    if not isinstance(version, versions.Label):
+		self.remoteVersionStore.set_data("selectedTrove", (troveName, version, flavor))
+		self.get_widget("installTroveVersionMenu").set_sensitive(True)
+			    
+		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
+		self.updating += 1
+	
+		gobject.timeout_add(50, self.pulse)
+		fs.start()
+	    else:
+		self.remoteVersionStore.set_data("selectedTrove", None)
+		self.get_widget("installTroveVersionMenu").set_sensitive(False)
+	else:
+	    self.remoteVersionStore.set_data("selectedTrove", None)
+	    self.get_widget("installTroveVersionMenu").set_sensitive(False)
+	    
+    def fileListFinish(self, fileList, error):
+	for (fileId, path, version, file) in fileList:
+	    if isinstance(file, files.SymbolicLink):
+		name = "%s -> %s" %(path, file.target.value())
+	    else:
+		name = path
+	    
+	    self.fileStore.append([file.modeString(), file.inode.owner(), file.inode.group(),
+	                           file.sizeString(), file.timeString(), name])
+	self.updating -= 1
+	
     def onUpdateToSelectedActivate(self, widget):
 	(troveName, version, flavor) = self.remoteVersionStore.get_data("selectedTrove")
 	message = "Are you sure you want to update to version %s of %s?" %\


From tgerla@specifixinc.com Thu Sep  2 15:26:12 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i82JQBbI013323
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 2 Sep 2004 15:26:11 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 1329C16399
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu,  2 Sep 2004 12:27:10 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i82JR5NI023412; Thu, 2 Sep 2004 15:27:05 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i82JR5eC023406; Thu, 2 Sep 2004 15:27:05 -0400
Date: Thu, 2 Sep 2004 15:27:05 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409021927.i82JR5eC023406@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.19, 1.20 conary-gui.py, 1.31,
	1.32 conaryinterface.py, 1.33, 1.34 statuswindow.py, 1.3, 1.4
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Thu, 02 Sep 2004 19:26:12 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv23394

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
	statuswindow.py 
Log Message:
make updates and erases work. not much error handling--be careful.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- conary-gui.glade	1 Sep 2004 19:27:35 -0000	1.19
+++ conary-gui.glade	2 Sep 2004 19:27:03 -0000	1.20
@@ -744,7 +744,7 @@
       <property name="spacing">12</property>
 
       <child>
-	<widget class="GtkLabel" id="label10">
+	<widget class="GtkLabel" id="statusLabel">
 	  <property name="visible">True</property>
 	  <property name="label" translatable="yes">Applying change set...</property>
 	  <property name="use_underline">False</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- conary-gui.py	2 Sep 2004 13:35:56 -0000	1.31
+++ conary-gui.py	2 Sep 2004 19:27:03 -0000	1.32
@@ -40,6 +40,7 @@
 import conaryinterface 
 import updatetrove
 import applychangeset
+import dooperations
 
 client = conaryclient.ConaryClient()
 
@@ -260,6 +261,7 @@
 	treeIter = selection.get_selected()[1]
 	if treeIter:
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
+	    self.remoteVersionStore.set_data("troveName", troveName)
             
             # fill local version list
             self.localVersionStore.clear()
@@ -270,20 +272,21 @@
             else:
                 for trove in troveList:
                     version = trove.getVersion()
-                    self.localVersionStore.append([(version,), self.NO_STATUS, version.asString()])
+                    self.localVersionStore.append([(troveName, version, None), self.NO_STATUS, version.asString()])
  
             # fill remote version list
-	    self.remoteVersionStore.set_data("troveName", troveName)
 	    if troveName:
 		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateBranchStructureFinish)       
 		self.updating += 1
 		gobject.timeout_add(50, self.pulse)
 		bs.start()
+        else:
+            self.remoteVersionStore.set_data("troveName", None)
 
     def updateBranchStructureFinish(self, tree, error):
 	self.remoteVersionStore.clear()
         troveName = self.remoteVersionStore.get_data("troveName")
-	self._fillTree(tree, None, None)
+        self._fillVersionTree(tree, None, None, troveName)
 	self.get_widget("remoteVersionTree").expand_all()
 	self.updating -= 1
 
@@ -298,7 +301,7 @@
 	else:
 	    return 0
 
-    def _fillTree(self, tree, parentNode, treeIter, level=0):
+    def _fillVersionTree(self, tree, parentNode, treeIter, troveName, level=0):
 	items = [] 
 
 	for item in tree.keys():
@@ -331,7 +334,7 @@
                 continue
 
             newIter = self.remoteVersionStore.append(treeIter,
-                [(item, itemInfo["flavor"]),
+                [(troveName, item, itemInfo["flavor"]),
                  self.NO_STATUS,
                  itemInfo["text"],
                  str(itemInfo["flavor"]),
@@ -339,7 +342,7 @@
                  itemInfo["weight"]
                 ]
             )
-            self._fillTree(tree[item], item, newIter, level+1)
+            self._fillVersionTree(tree[item], item, newIter, troveName, level+1)
 
     ###
                                                        
@@ -352,7 +355,7 @@
 	    version = object[0]
 	    flavor = object[1]
 
-	    if not isinstance(version, versions.Label):
+	    if not isinstance(version, versions.Label) and False:
 		self.remoteVersionStore.set_data("selectedTrove", (troveName, version, flavor))
 		self.get_widget("installTroveVersionMenu").set_sensitive(True)
 			    
@@ -437,9 +440,9 @@
         pass
 
     def onRefresh(self, widget):
-        self.updateLocalTroveTreeBegin()
+        self.updateTroveTreeBegin()
         
-        for store in (self.fileStore, self.localVersionsStore, self.remoteVersionStore):
+        for store in (self.localVersionStore, self.remoteVersionStore):
             store.clear()
 
     def quit(self, obj):
@@ -496,11 +499,11 @@
             popup.popup(None, None, None, event.button, time)
 
     def onMarkForUpdate(self, widget):
-        model, path= widget.parent.get_data("selectedRow")
+        model, path = widget.parent.get_data("selectedRow")
         treeIter = model.get_iter(path)
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_UPDATE
         
-        self.operations[(model, path)] = self.MARKED_FOR_UPDATE
+        self.operations[model[treeIter][self.VERSION_COLUMN_OBJECT]] = self.MARKED_FOR_UPDATE
         self.updateOpsPending()
 
     def onMarkForErase(self, widget):
@@ -508,15 +511,17 @@
         treeIter = model.get_iter(path)
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
 
-        self.operations[(model, path)] = self.MARKED_FOR_ERASE
+        object = model[treeIter][self.VERSION_COLUMN_OBJECT]
+        self.operations[object] = self.MARKED_FOR_ERASE
         self.updateOpsPending()
 
     def onUnmark(self, widget):
         model, path = widget.parent.get_data("selectedRow")
         treeIter = model.get_iter(path)
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.NO_STATUS
+        object = model[treeIter][self.VERSION_COLUMN_OBJECT]
 
-        del self.operations[(model, path)]
+        del self.operations[object]
         self.updateOpsPending()
         
     def updateOpsPending(self):
@@ -524,17 +529,35 @@
         self.get_widget('opsPending').set_text("Operations pending: %d" % pending)
        
     def onGoButtonClicked(self, button):
-        for model, path in self.operations:
-            treeIter = model.get_iter(path)
-            row = model[treeIter]
+        for object in self.operations.keys():
+            status = self.operations[object]
+            
+            if status == self.MARKED_FOR_UPDATE:
+                print "Updating %s to version %s" % (object[0], object[1].asString())
+            elif status == self.MARKED_FOR_ERASE:
+                print "Erasing version %s of trove %s" % (object[0], object[1].asString())
            
-            troveName = model.get_data("troveName")
-            version = row[self.VERSION_COLUMN_OBJECT][0]
-              
-            if row[self.VERSION_COLUMN_STATUS] == self.MARKED_FOR_UPDATE:
-                print "Updating %s to version %s" % (troveName, version.asString())
-            elif row[self.VERSION_COLUMN_STATUS] == self.MARKED_FOR_ERASE:
-                print "Erasing version %s of trove %s" % (troveName, version.asString())
+            self.updating += 1
+            gobject.timeout_add(50, self.pulse)
+            thread = conaryinterface.DoOperations(client, self.operations, self.statusBarUpdater, self.operationsComplete)
+            thread.start()
+
+    def operationsComplete(self, results, error):
+        if error:
+            text = "Error: " + error
+            icon = gtk.MESSAGE_ERROR
+        else:
+            text = "Completed %d operations." % results
+            icon = gtk.MESSAGE_INFO
+            self.operations.clear()
+
+        self.updating -= 1
+        dialog = gtk.MessageDialog(self.parent, 0, icon, gtk.BUTTONS_CLOSE, text)
+        response = dialog.run()
+        if response == gtk.RESPONSE_CLOSE:
+            dialog.destroy()
+
+        self.onRefresh(None)
 
 if __name__ == "__main__":
     gtk.threads_init()


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- conaryinterface.py	1 Sep 2004 18:58:42 -0000	1.33
+++ conaryinterface.py	2 Sep 2004 19:27:03 -0000	1.34
@@ -147,6 +147,46 @@
 
         return None
 
+class DoOperations(ConaryOperation):
+    """
+    Perform a set of operations passed from the main GUI
+    """
+
+    NO_STATUS = 0
+    MARKED_FOR_UPDATE = 1
+    MARKED_FOR_ERASE = 2
+
+    def __init__(self, client, operations, labelUpdater, callback):
+        ConaryOperation.__init__(self, client, callback)
+        print operations
+        self.operations = operations
+        self.labelUpdater = labelUpdater
+
+    def doOperation(self):
+        for object in self.operations.keys():
+            status = self.operations[object]
+           
+            troveName = object[0]
+            version = object[1]
+
+            if status == self.MARKED_FOR_UPDATE:
+                gtk.threads_enter()
+                self.labelUpdater("Updating trove %s to version %s" % (troveName, version.trailingVersion().asString()))
+                gtk.threads_leave()
+                
+                self.client.updateTrove([(troveName, version.asString())])
+            elif status == self.MARKED_FOR_ERASE:
+                gtk.threads_enter()                
+                self.labelUpdater("Erasing trove %s version %s" % (troveName, version.trailingVersion().asString()))
+                gtk.threads_leave()
+                self.client.eraseTrove([(troveName, version.asString())])
+
+            gtk.threads_enter()
+            self.labelUpdater("%d operations completed successfully." % len(self.operations.keys()))
+            gtk.threads_leave()
+        
+            return len(self.operations.keys())
+            
 class FileList(ConaryOperation):
     """
     Retrieve a list of all files inside a trove.


Index: statuswindow.py
===================================================================
RCS file: /cvs/conary-gui/statuswindow.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- statuswindow.py	19 Aug 2004 16:01:30 -0000	1.3
+++ statuswindow.py	2 Sep 2004 19:27:03 -0000	1.4
@@ -30,11 +30,12 @@
 
     def __init__(self, client, *args):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "statusWindow")
-        self.client = client
-
         self.signal_autoconnect(self)
+       
+        self.statusLabel = self.get_widget("statusLabel")
+        self.client = client
+        
 	actionThread = self.doAction(*args)
-
         self.updating = True
         gobject.timeout_add(50, self.pulse)
 	actionThread.start()
@@ -71,4 +72,3 @@
 
     def onCloseButtonClicked(self, error):
         self.get_widget('statusWindow').destroy()
-


From tgerla@specifixinc.com Thu Sep  2 15:32:26 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i82JWPbI013350
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu, 2 Sep 2004 15:32:25 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2FDC816399
	for <conary-gui-commits@lists.specifixinc.com>;
	Thu,  2 Sep 2004 12:33:24 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i82JXMNI023672; Thu, 2 Sep 2004 15:33:22 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i82JXMIs023669; Thu, 2 Sep 2004 15:33:22 -0400
Date: Thu, 2 Sep 2004 15:33:22 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409021933.i82JXMIs023669@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.32,1.33
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Thu, 02 Sep 2004 19:32:26 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv23657

Modified Files:
	conary-gui.py 
Log Message:
remove old import


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- conary-gui.py	2 Sep 2004 19:27:03 -0000	1.32
+++ conary-gui.py	2 Sep 2004 19:33:20 -0000	1.33
@@ -40,7 +40,6 @@
 import conaryinterface 
 import updatetrove
 import applychangeset
-import dooperations
 
 client = conaryclient.ConaryClient()
 


From tgerla@specifixinc.com Fri Sep  3 15:00:46 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i83J0jbI027858
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 3 Sep 2004 15:00:45 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2C30E16399
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri,  3 Sep 2004 12:01:45 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i83J1gNI029079; Fri, 3 Sep 2004 15:01:42 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i83J1ff6029044; Fri, 3 Sep 2004 15:01:41 -0400
Date: Fri, 3 Sep 2004 15:01:41 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409031901.i83J1ff6029044@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.20,1.21 conary-gui.py,1.33,1.34
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 03 Sep 2004 19:00:46 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv29026

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
rearrange the version tree columns slightly to improve appearance. fix multiple components listed per package.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- conary-gui.glade	2 Sep 2004 19:27:03 -0000	1.20
+++ conary-gui.glade	3 Sep 2004 19:01:39 -0000	1.21
@@ -329,7 +329,7 @@
 				<widget class="GtkTreeView" id="remoteVersionTree">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
-				  <property name="headers_visible">True</property>
+				  <property name="headers_visible">False</property>
 				  <property name="rules_hint">False</property>
 				  <property name="reorderable">False</property>
 				  <property name="enable_search">True</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- conary-gui.py	2 Sep 2004 19:33:20 -0000	1.33
+++ conary-gui.py	3 Sep 2004 19:01:39 -0000	1.34
@@ -114,19 +114,19 @@
 	self.VERSION_COLUMN_COLOR = 4
         self.VERSION_COLUMN_FONT_WEIGHT = 5
 
-        column = gtk.TreeViewColumn()
-	renderer = gtk.CellRendererPixbuf()
-        column.pack_start(renderer)
+        renderer = gtk.CellRendererPixbuf()
+        renderer.set_fixed_size(16, -1)
+        column = gtk.TreeViewColumn("", renderer)
         column.set_cell_data_func(renderer, self.versionListDataFunc)
+        treeview.append_column(column)
+
         renderer = gtk.CellRendererText()
-        column.pack_start(renderer)
+        column = gtk.TreeViewColumn("Versions", renderer, text=self.VERSION_COLUMN_VERSION)
         column.add_attribute(renderer, "text", self.VERSION_COLUMN_VERSION)
         column.add_attribute(renderer, "foreground", self.VERSION_COLUMN_COLOR)
         column.add_attribute(renderer, "weight", self.VERSION_COLUMN_FONT_WEIGHT)
         treeview.append_column(column)
-
-	column = gtk.TreeViewColumn("Flavor", gtk.CellRendererText(), text=self.VERSION_COLUMN_FLAVOR)
-	treeview.append_column(column)
+        treeview.set_expander_column(column)
 	
 	selection = treeview.get_selection()
 	selection.connect("changed", self.onVersionSelected)
@@ -136,8 +136,8 @@
 
         pixmaps = { 
                     self.NO_STATUS: None,
-                    self.MARKED_FOR_UPDATE: "gtk-yes",
-                    self.MARKED_FOR_ERASE:  "gtk-no",
+                    self.MARKED_FOR_UPDATE: "gtk-add",
+                    self.MARKED_FOR_ERASE:  "gtk-remove",
                   }
 
         cell.set_property('stock-id', pixmaps[value])
@@ -241,8 +241,8 @@
                     components[package] = []
                 if package not in packages:
                     packages.append(package)
-                    
-                components[package].append(component)
+                if component not in components[package]: 
+                    components[package].append(component)
             else:
                 if t not in packages:
                     packages.append(t)
@@ -415,22 +415,24 @@
     def buildLocalVersionList(self):
         troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_INT, gobject.TYPE_STRING)
 
-        tv = self.get_widget("localVersionTree")
-        tv.set_model(troveStore)
+        treeview = self.get_widget("localVersionTree")
+        treeview.set_model(troveStore)
 
         self.LOCAL_VERSIONS_COLUMN_OBJECT = 0
         self.LOCAL_VERSIONS_COLUMN_STATUS = 1
         self.LOCAL_VERSIONS_COLUMN_VERSION = 2
 
-        #renderer = gtk.CellRendererPixbuf()
-        #tv.insert_column_with_data_func(1, '', renderer, self.versionListDataFunc)
-                
+        renderer = gtk.CellRendererPixbuf()
+        renderer.set_fixed_size(16, -1)
+        column = gtk.TreeViewColumn("", renderer)
+        column.set_cell_data_func(renderer, self.versionListDataFunc)
+        treeview.append_column(column)                       
+
         renderer = gtk.CellRendererText()
         column = gtk.TreeViewColumn("Full Version", renderer, text=self.LOCAL_VERSIONS_COLUMN_VERSION)
+        treeview.append_column(column)
 
-        tv.append_column(column)
-
-        selection = tv.get_selection()
+        selection = treeview.get_selection()
         selection.connect("changed", self.localVersionSelected)
 
         return troveStore
@@ -471,7 +473,7 @@
            
             if not model[treeIter][self.VERSION_COLUMN_OBJECT][0]:
                 return
-            if isinstance(model[treeIter][self.VERSION_COLUMN_OBJECT][0], versions.Label):
+            if isinstance(model[treeIter][self.VERSION_COLUMN_OBJECT][1], versions.Label):
                 return 
            
             # pop up menu
@@ -479,10 +481,10 @@
             widget.set_cursor( path, col, 0)
             popup = self.menu.get_widget("versionMenu")
             popup.set_data("selectedRow", (model, path))
-            if widget == self.get_widget("versionTree"):
+            if widget == self.get_widget("remoteVersionTree"):
                 self.menu.get_widget("mark_for_erase1").hide()
                 self.menu.get_widget("mark_for_update1").show()
-            elif widget == self.get_widget("localVersionsTree"):
+            elif widget == self.get_widget("localVersionTree"):
                 self.menu.get_widget("mark_for_erase1").show()
                 self.menu.get_widget("mark_for_update1").hide()
 


From tgerla@specifixinc.com Tue Sep  7 18:00:20 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i87M0JbI018802
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue, 7 Sep 2004 18:00:19 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A3DE216793
	for <conary-gui-commits@lists.specifixinc.com>;
	Tue,  7 Sep 2004 15:01:23 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i87M1LNI017296; Tue, 7 Sep 2004 18:01:21 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i87M1KXI017292; Tue, 7 Sep 2004 18:01:20 -0400
Date: Tue, 7 Sep 2004 18:01:20 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409072201.i87M1KXI017292@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.21,1.22 conary-gui.py,1.34,1.35
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Tue, 07 Sep 2004 22:00:20 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv17280

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
add operations preview list, no code yet...fix up comments


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- conary-gui.glade	3 Sep 2004 19:01:39 -0000	1.21
+++ conary-gui.glade	7 Sep 2004 22:01:18 -0000	1.22
@@ -854,4 +854,173 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="operationsWindow">
+  <property name="border_width">12</property>
+  <property name="width_request">300</property>
+  <property name="height_request">300</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">window1</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">True</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_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox8">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">6</property>
+
+      <child>
+	<widget class="GtkLabel" id="label29">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes">&lt;b&gt;Review pending operations:&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>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkScrolledWindow" id="scrolledwindow13">
+	  <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_NONE</property>
+	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+	  <child>
+	    <widget class="GtkTreeView" id="treeview1">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="headers_visible">True</property>
+	      <property name="rules_hint">False</property>
+	      <property name="reorderable">False</property>
+	      <property name="enable_search">True</property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox3">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">12</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button1">
+	      <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>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="button2">
+	      <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>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment2">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">0</property>
+		  <property name="yscale">0</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">0</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkHBox" id="hbox5">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">2</property>
+
+		      <child>
+			<widget class="GtkImage" id="image15">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-execute</property>
+			  <property name="icon_size">4</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label30">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Go</property>
+			  <property name="use_underline">True</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- conary-gui.py	3 Sep 2004 19:01:39 -0000	1.34
+++ conary-gui.py	7 Sep 2004 22:01:18 -0000	1.35
@@ -184,7 +184,7 @@
             self.get_widget('main_gui').set_sensitive(True)
 	return self.updating
              
-    ###
+    ### Trove tree methods
  
     def updateTroveTreeBegin(self):
         self.statusBarUpdater("Updating local trove list...")
@@ -343,7 +343,7 @@
             )
             self._fillVersionTree(tree[item], item, newIter, troveName, level+1)
 
-    ###
+    ### Version methods
                                                        
     def onVersionSelected(self, selection):
 	treeIter = selection.get_selected()[1]
@@ -406,11 +406,7 @@
 		    
         fs.destroy()
 
-    #
-    #
-    # Local trove list code
-    #
-    #
+    ### Local trove list code
 
     def buildLocalVersionList(self):
         troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_INT, gobject.TYPE_STRING)
@@ -449,11 +445,7 @@
     def quit(self, obj):
         gtk.main_quit()
 
-    #
-    #
-    # Context-menu handling
-    #
-    #
+    ### Context-menu handling
 
     def onVersionTreeEvent(self, widget, event):
         if event.button == 3:


From tgerla@specifixinc.com Wed Sep  8 15:31:37 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i88JVabI027604
	for <conary-gui-commits@lists.specifixinc.com>;
	Wed, 8 Sep 2004 15:31:36 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A9EDA1622D
	for <conary-gui-commits@lists.specifixinc.com>;
	Wed,  8 Sep 2004 12:31:37 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i88JVYNI011073; Wed, 8 Sep 2004 15:31:34 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i88JVYYO011069; Wed, 8 Sep 2004 15:31:34 -0400
Date: Wed, 8 Sep 2004 15:31:34 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409081931.i88JVYYO011069@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.22,1.23 conary-gui.py,1.35,1.36
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Wed, 08 Sep 2004 19:31:37 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv11057

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
begin the operations checklist...doesn't work yet, regression


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- conary-gui.glade	7 Sep 2004 22:01:18 -0000	1.22
+++ conary-gui.glade	8 Sep 2004 19:31:32 -0000	1.23
@@ -862,7 +862,7 @@
   <property name="title" translatable="yes">window1</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
   <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
+  <property name="modal">True</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="decorated">True</property>
@@ -908,10 +908,10 @@
 	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 	  <child>
-	    <widget class="GtkTreeView" id="treeview1">
+	    <widget class="GtkTreeView" id="opsList">
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
-	      <property name="headers_visible">True</property>
+	      <property name="headers_visible">False</property>
 	      <property name="rules_hint">False</property>
 	      <property name="reorderable">False</property>
 	      <property name="enable_search">True</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- conary-gui.py	7 Sep 2004 22:01:18 -0000	1.35
+++ conary-gui.py	8 Sep 2004 19:31:32 -0000	1.36
@@ -530,10 +530,12 @@
             elif status == self.MARKED_FOR_ERASE:
                 print "Erasing version %s of trove %s" % (object[0], object[1].asString())
            
-            self.updating += 1
-            gobject.timeout_add(50, self.pulse)
-            thread = conaryinterface.DoOperations(client, self.operations, self.statusBarUpdater, self.operationsComplete)
-            thread.start()
+#        self.updating += 1
+#        gobject.timeout_add(50, self.pulse)
+#        thread = conaryinterface.DoOperations(client, self.operations, self.statusBarUpdater, self.operationsComplete)
+#        thread.start()
+
+        dialog = CheckOperations(self.operations)
 
     def operationsComplete(self, results, error):
         if error:
@@ -552,6 +554,62 @@
 
         self.onRefresh(None)
 
+class CheckOperations(gtk.glade.XML):
+    def __init__(self, operations):
+        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "operationsWindow")
+        self.signal_autoconnect(self)
+
+        self.store = self.buildOpsList(operations)
+
+        ops = ['THIS IS A BUG', 'Update', 'Erase']
+        pixmaps = [None, 'gtk-add', 'gtk-remove']
+
+        for object in operations:
+            status = operations[object]
+            self.store.append([object,
+                               True,
+                               ops[status],
+                               object[0], 'gtk-forward',
+                               object[1].trailingVersion().asString()])
+        
+    def buildOpsList(self, operations):
+        troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN, gobject.TYPE_STRING,
+                                   gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
+
+        treeview = self.get_widget("opsList")
+        treeview.set_model(troveStore)
+
+        self.OP_COLUMN_OBJECT = 0
+        self.OP_COLUMN_TOGGLE = 1
+        self.OP_COLUMN_OPERATION = 2
+        self.OP_COLUMN_TROVE = 3
+        self.OP_COLUMN_TO = 4
+        self.OP_COLUMN_VERSION = 5
+
+        renderer = gtk.CellRendererToggle()
+        column = gtk.TreeViewColumn("", renderer, active=self.OP_COLUMN_TOGGLE)
+        treeview.append_column(column)
+
+        renderer = gtk.CellRendererText()
+        column = gtk.TreeViewColumn("Operation", renderer, text=self.OP_COLUMN_OPERATION)
+        treeview.append_column(column)
+
+        renderer = gtk.CellRendererText()
+        column = gtk.TreeViewColumn("Trove", renderer, text=self.OP_COLUMN_TROVE)
+        treeview.append_column(column)
+
+        renderer = gtk.CellRendererPixbuf()
+        column = gtk.TreeViewColumn("To", renderer, stock_id=self.OP_COLUMN_TO)
+        treeview.append_column(column)
+
+        renderer = gtk.CellRendererText()
+        column = gtk.TreeViewColumn("Version", renderer, text=self.OP_COLUMN_VERSION)
+        treeview.append_column(column)
+
+        return troveStore
+    
+
+
 if __name__ == "__main__":
     gtk.threads_init()
     gui = RepositoryView()


From tgerla@specifixinc.com Fri Sep 10 13:18:43 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8AHIfbI000385
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 10 Sep 2004 13:18:42 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A816E16212
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 10 Sep 2004 10:18:44 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8AHIgNI012417; Fri, 10 Sep 2004 13:18:42 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8AHIfW7012412; Fri, 10 Sep 2004 13:18:41 -0400
Date: Fri, 10 Sep 2004 13:18:41 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409101718.i8AHIfW7012412@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.23, 1.24 conary-gui.py, 1.36,
	1.37 conaryinterface.py, 1.34, 1.35
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 10 Sep 2004 17:18:43 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12374

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
wire up the operations confirmation dialog, fix a bug in the remote trove list retrieval


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- conary-gui.glade	8 Sep 2004 19:31:32 -0000	1.23
+++ conary-gui.glade	10 Sep 2004 17:18:39 -0000	1.24
@@ -856,7 +856,7 @@
 
 <widget class="GtkWindow" id="operationsWindow">
   <property name="border_width">12</property>
-  <property name="width_request">300</property>
+  <property name="width_request">600</property>
   <property name="height_request">300</property>
   <property name="visible">True</property>
   <property name="title" translatable="yes">window1</property>
@@ -950,6 +950,7 @@
 	      <property name="can_focus">True</property>
 	      <property name="relief">GTK_RELIEF_NORMAL</property>
 	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Fri, 10 Sep 2004 15:47:44 GMT"/>
 
 	      <child>
 		<widget class="GtkAlignment" id="alignment2">


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- conary-gui.py	8 Sep 2004 19:31:32 -0000	1.36
+++ conary-gui.py	10 Sep 2004 17:18:39 -0000	1.37
@@ -47,7 +47,7 @@
     def __init__( self ):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "conaryGUI")
 
-        self.operations = {}
+        self.operations = [] 
         
         self.signal_autoconnect(self)
 	repview = self.get_widget("conaryGUI")
@@ -496,7 +496,8 @@
         treeIter = model.get_iter(path)
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_UPDATE
         
-        self.operations[model[treeIter][self.VERSION_COLUMN_OBJECT]] = self.MARKED_FOR_UPDATE
+        object = model[treeIter][self.VERSION_COLUMN_OBJECT]
+        self.operations.append((object, self.MARKED_FOR_UPDATE))
         self.updateOpsPending()
 
     def onMarkForErase(self, widget):
@@ -505,16 +506,16 @@
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
 
         object = model[treeIter][self.VERSION_COLUMN_OBJECT]
-        self.operations[object] = self.MARKED_FOR_ERASE
+        self.operations.append((object, self.MARKED_FOR_UPDATE))
         self.updateOpsPending()
 
     def onUnmark(self, widget):
         model, path = widget.parent.get_data("selectedRow")
         treeIter = model.get_iter(path)
-        model[treeIter][self.VERSION_COLUMN_STATUS] = self.NO_STATUS
         object = model[treeIter][self.VERSION_COLUMN_OBJECT]
 
-        del self.operations[object]
+        self.operations.remove((object, model[treeIter][self.VERSION_COLUMN_STATUS])) 
+        model[treeIter][self.VERSION_COLUMN_STATUS] = self.NO_STATUS
         self.updateOpsPending()
         
     def updateOpsPending(self):
@@ -522,20 +523,20 @@
         self.get_widget('opsPending').set_text("Operations pending: %d" % pending)
        
     def onGoButtonClicked(self, button):
-        for object in self.operations.keys():
-            status = self.operations[object]
-            
+        dialog = CheckOperations(self.operations, self.onOperationsChecked)
+
+    def onOperationsChecked(self, operations):
+         for object, status in operations:
+            print object, status    
             if status == self.MARKED_FOR_UPDATE:
                 print "Updating %s to version %s" % (object[0], object[1].asString())
             elif status == self.MARKED_FOR_ERASE:
                 print "Erasing version %s of trove %s" % (object[0], object[1].asString())
            
-#        self.updating += 1
-#        gobject.timeout_add(50, self.pulse)
-#        thread = conaryinterface.DoOperations(client, self.operations, self.statusBarUpdater, self.operationsComplete)
-#        thread.start()
-
-        dialog = CheckOperations(self.operations)
+         self.updating += 1
+         gobject.timeout_add(50, self.pulse)
+         thread = conaryinterface.DoOperations(client, operations, self.statusBarUpdater, self.operationsComplete)
+         thread.start()
 
     def operationsComplete(self, results, error):
         if error:
@@ -555,18 +556,19 @@
         self.onRefresh(None)
 
 class CheckOperations(gtk.glade.XML):
-    def __init__(self, operations):
+    def __init__(self, operations, callback):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "operationsWindow")
         self.signal_autoconnect(self)
 
+        self.window = self.get_widget("operationsWindow")
+        self.callback = callback
         self.store = self.buildOpsList(operations)
 
         ops = ['THIS IS A BUG', 'Update', 'Erase']
         pixmaps = [None, 'gtk-add', 'gtk-remove']
 
-        for object in operations:
-            status = operations[object]
-            self.store.append([object,
+        for object, status in operations:
+            self.store.append([(object, status),
                                True,
                                ops[status],
                                object[0], 'gtk-forward',
@@ -581,17 +583,19 @@
 
         self.OP_COLUMN_OBJECT = 0
         self.OP_COLUMN_TOGGLE = 1
-        self.OP_COLUMN_OPERATION = 2
+        self.OP_COLUMN_STATUS = 2
         self.OP_COLUMN_TROVE = 3
         self.OP_COLUMN_TO = 4
         self.OP_COLUMN_VERSION = 5
 
         renderer = gtk.CellRendererToggle()
+        renderer.set_property("activatable", True)
         column = gtk.TreeViewColumn("", renderer, active=self.OP_COLUMN_TOGGLE)
         treeview.append_column(column)
+        renderer.connect("toggled", self.onOperationClicked, (troveStore, self.OP_COLUMN_TOGGLE))
 
         renderer = gtk.CellRendererText()
-        column = gtk.TreeViewColumn("Operation", renderer, text=self.OP_COLUMN_OPERATION)
+        column = gtk.TreeViewColumn("Operation", renderer, text=self.OP_COLUMN_STATUS)
         treeview.append_column(column)
 
         renderer = gtk.CellRendererText()
@@ -608,8 +612,18 @@
 
         return troveStore
     
-
-
+    def onOperationClicked(self, renderer, path, data):
+        model, column = data 
+        model[path][column] = not model[path][column]
+                    
+    def onGoButtonClicked(self, button):
+        checkedOps = [x[self.OP_COLUMN_OBJECT] for x in self.store if x[self.OP_COLUMN_TOGGLE]]
+        self.callback(checkedOps)
+        self.window.destroy()
+    
+    def onCancelButtonClicked(self, button):
+        self.window.destroy()
+        
 if __name__ == "__main__":
     gtk.threads_init()
     gui = RepositoryView()


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- conaryinterface.py	2 Sep 2004 19:27:03 -0000	1.34
+++ conaryinterface.py	10 Sep 2004 17:18:39 -0000	1.35
@@ -94,15 +94,18 @@
         brokenRepos = {}
 
         cfgRepos = self.client.cfg.installLabelPath 
-        # combine two lists...kind of ugly
-        allRepos = dict.fromkeys(self.foundRepos + cfgRepos, True).keys()
-        
-        for label in allRepos:
-            repo = label.getHost()
+
+        # combine two lists, removing dups
+        allRepos = [repo.getHost() for repo in cfgRepos + self.foundRepos]
+        allRepos = dict.fromkeys(allRepos, True).keys()
+        print allRepos
+
+        for repo in allRepos:
             try:
                 gtk.threads_enter()
                 self.statusBarUpdater("Updating trove list from repository: %s" % repo)
                 gtk.threads_leave()
+                print "ITERATING ", repo
                 troves += [ x for x in self.client.repos.iterAllTroveNames(repo) ]
             except:
                 brokenRepos[repo] = True
@@ -163,9 +166,7 @@
         self.labelUpdater = labelUpdater
 
     def doOperation(self):
-        for object in self.operations.keys():
-            status = self.operations[object]
-           
+        for object, status in self.operations:
             troveName = object[0]
             version = object[1]
 
@@ -185,7 +186,7 @@
             self.labelUpdater("%d operations completed successfully." % len(self.operations.keys()))
             gtk.threads_leave()
         
-            return len(self.operations.keys())
+            return len(self.operations)
             
 class FileList(ConaryOperation):
     """
@@ -213,7 +214,6 @@
     def __init__(self, client, troveName, startLabelHost, callback):
 	ConaryOperation.__init__(self, client, callback)
 	self.troveName = troveName
-#        self.startLabelHost = startLabelHost
 
     def doOperation(self):
         tree = {}


From tgerla@specifixinc.com Fri Sep 10 14:36:22 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8AIaLbI000501
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 10 Sep 2004 14:36:21 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id ED7A916399
	for <conary-gui-commits@lists.specifixinc.com>;
	Fri, 10 Sep 2004 11:36:24 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8AIaMNI014789; Fri, 10 Sep 2004 14:36:22 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8AIaMfd014786; Fri, 10 Sep 2004 14:36:22 -0400
Date: Fri, 10 Sep 2004 14:36:22 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409101836.i8AIaMfd014786@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.35,1.36
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Fri, 10 Sep 2004 18:36:22 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv14774

Modified Files:
	conaryinterface.py 
Log Message:
remove some debug prints


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- conaryinterface.py	10 Sep 2004 17:18:39 -0000	1.35
+++ conaryinterface.py	10 Sep 2004 18:36:20 -0000	1.36
@@ -98,14 +98,12 @@
         # combine two lists, removing dups
         allRepos = [repo.getHost() for repo in cfgRepos + self.foundRepos]
         allRepos = dict.fromkeys(allRepos, True).keys()
-        print allRepos
 
         for repo in allRepos:
             try:
                 gtk.threads_enter()
                 self.statusBarUpdater("Updating trove list from repository: %s" % repo)
                 gtk.threads_leave()
-                print "ITERATING ", repo
                 troves += [ x for x in self.client.repos.iterAllTroveNames(repo) ]
             except:
                 brokenRepos[repo] = True
@@ -161,7 +159,6 @@
 
     def __init__(self, client, operations, labelUpdater, callback):
         ConaryOperation.__init__(self, client, callback)
-        print operations
         self.operations = operations
         self.labelUpdater = labelUpdater
 


From tgerla@specifixinc.com Sun Sep 12 12:31:59 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8CGVwbI007959
	for <conary-gui-commits@lists.specifixinc.com>;
	Sun, 12 Sep 2004 12:31:59 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 611B1164AB
	for <conary-gui-commits@lists.specifixinc.com>;
	Sun, 12 Sep 2004 09:32:04 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8CGW1NI001928; Sun, 12 Sep 2004 12:32:01 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8CGW10M001925; Sun, 12 Sep 2004 12:32:01 -0400
Date: Sun, 12 Sep 2004 12:32:01 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409121632.i8CGW10M001925@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.37,1.38
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Sun, 12 Sep 2004 16:31:59 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv1911

Modified Files:
	conary-gui.py 
Log Message:
move some constants into class definition, fix typo


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- conary-gui.py	10 Sep 2004 17:18:39 -0000	1.37
+++ conary-gui.py	12 Sep 2004 16:31:58 -0000	1.38
@@ -44,6 +44,17 @@
 client = conaryclient.ConaryClient()
 
 class RepositoryView( gtk.glade.XML ):
+
+    NO_STATUS = 0
+    MARKED_FOR_UPDATE = 1
+    MARKED_FOR_ERASE = 2
+	
+    pixmaps = { 
+               NO_STATUS: None,
+               MARKED_FOR_UPDATE: "gtk-add",
+               MARKED_FOR_ERASE:  "gtk-remove",
+    }
+
     def __init__( self ):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "conaryGUI")
 
@@ -103,10 +114,7 @@
 	treeview = self.get_widget("remoteVersionTree")
 	treeview.set_model(self.remoteVersionStore)
 
-        self.NO_STATUS = 0
-        self.MARKED_FOR_UPDATE = 1
-        self.MARKED_FOR_ERASE = 2
-	
+
         self.VERSION_COLUMN_OBJECT = 0
         self.VERSION_COLUMN_STATUS = 1
 	self.VERSION_COLUMN_VERSION = 2 
@@ -133,14 +141,7 @@
 
     def versionListDataFunc(self, tree_column, cell, model, tree_iter):
         value = model[tree_iter][self.VERSION_COLUMN_STATUS]
-
-        pixmaps = { 
-                    self.NO_STATUS: None,
-                    self.MARKED_FOR_UPDATE: "gtk-add",
-                    self.MARKED_FOR_ERASE:  "gtk-remove",
-                  }
-
-        cell.set_property('stock-id', pixmaps[value])
+        cell.set_property('stock-id', self.pixmaps[value])
 
     def buildFileList(self):
 	self.fileStore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
@@ -506,7 +507,7 @@
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
 
         object = model[treeIter][self.VERSION_COLUMN_OBJECT]
-        self.operations.append((object, self.MARKED_FOR_UPDATE))
+        self.operations.append((object, self.MARKED_FOR_ERASE))
         self.updateOpsPending()
 
     def onUnmark(self, widget):


From tgerla@specifixinc.com Mon Sep 13 10:52:22 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DEqLbI009661
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 10:52:22 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id E172B16228
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 07:52:27 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DEqONI015405; Mon, 13 Sep 2004 10:52:24 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DEqOEU015399; Mon, 13 Sep 2004 10:52:24 -0400
Date: Mon, 13 Sep 2004 10:52:24 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409131452.i8DEqOEU015399@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.24,1.25 conary-gui.py,1.38,1.39
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 14:52:22 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv15381

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
wire up the first three filter buttons


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- conary-gui.glade	10 Sep 2004 17:18:39 -0000	1.24
+++ conary-gui.glade	13 Sep 2004 14:52:22 -0000	1.25
@@ -492,7 +492,7 @@
 		  <property name="spacing">6</property>
 
 		  <child>
-		    <widget class="GtkToggleButton" id="togglebutton1">
+		    <widget class="GtkToggleButton" id="installedFilterButton">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
 		      <property name="label" translatable="yes">Installed</property>
@@ -510,7 +510,7 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkToggleButton" id="togglebutton2">
+		    <widget class="GtkToggleButton" id="availableFilterButton">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
 		      <property name="label" translatable="yes">Available</property>
@@ -528,7 +528,7 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkToggleButton" id="togglebutton3">
+		    <widget class="GtkToggleButton" id="allFilterButton">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
 		      <property name="label" translatable="yes">All</property>
@@ -546,7 +546,7 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkToggleButton" id="togglebutton4">
+		    <widget class="GtkToggleButton" id="outofdateFilterButton">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
 		      <property name="label" translatable="yes">Out Of Date</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- conary-gui.py	12 Sep 2004 16:31:58 -0000	1.38
+++ conary-gui.py	13 Sep 2004 14:52:22 -0000	1.39
@@ -13,7 +13,7 @@
 # full details.
 #
 
-import string, os
+import string, os, copy
 import sys, types, new, traceback
 
 import gtk, gobject
@@ -57,15 +57,19 @@
 
     def __init__( self ):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "conaryGUI")
-
-        self.operations = [] 
-        
         self.signal_autoconnect(self)
-	repview = self.get_widget("conaryGUI")
-	repview.connect( "destroy", self.quit )
-	self.parent = repview
+        
+        self.filterHandler = {} 
+        for name in ("installedFilterButton", "availableFilterButton",
+                     "allFilterButton", "outofdateFilterButton"):
+            widget = self.get_widget(name)
+            self.filterHandler[name] = widget.connect("clicked", self.filterButtonClicked)
+        self.filter = "installedFilterButton" 
+        
+        self.operations = [] 
+	self.parent = self.get_widget("conaryGUI")
+	self.parent.connect( "destroy", self.quit )
         self.updating = 0
-
         self.menu = gtk.glade.XML(gladefiles.getGladeFile(), "versionMenu")
         self.menu.signal_autoconnect(self)
 
@@ -197,7 +201,7 @@
 
     def updateTroveTreeFinish(self, results, error):
         self.statusBarUpdater("")
-        troves, repos = results
+        self.localTroves, repos = results
 
         self.updateRemoteTroveTreeBegin(repos)
 
@@ -210,7 +214,7 @@
         self.statusBarUpdater("")
 
         self.remoteTroves = troves
-        self._fillTroveTree(self.troveStore, troves)
+        self._fillTroveTree(troves + self.localTroves)
        
         self.updating -= 1
         
@@ -223,8 +227,21 @@
             dialog.run()
             dialog.destroy()
         
-    def _fillTroveTree(self, troveStore, troves):
-	troveStore.clear()
+    def _fillTroveTree(self, troves):
+	self.troveStore.clear()
+
+        if self.filter == "allFilterButton":
+            troves = self.localTroves + self.remoteTroves
+        elif self.filter == "installedFilterButton":
+            troves = self.localTroves
+        elif self.filter == "availableFilterButton":
+            troves = copy.copy(self.remoteTroves)
+            for trove in self.localTroves:
+                if trove in troves:
+                    troves.remove(trove)
+            for trove in self.remoteTroves:
+                if trove.endswith(':source'):
+                    troves.remove(trove)
 
         # munge the replist into two parts:
         # components: a hash with package name as key containing a list of components
@@ -250,10 +267,10 @@
                 
         packages.sort(lambda a, b: cmp(a.lower(), b.lower()))
         for package in packages:
-            iter = troveStore.append(None, [package, package, None])
+            iter = self.troveStore.append(None, [package, package, None])
             if package in components:
                 for component in components[package]:
-                    troveStore.append(iter, [package + ":" + component, component, None])
+                    self.troveStore.append(iter, [package + ":" + component, component, None])
                 
     ### trove selected
 
@@ -437,12 +454,19 @@
     def localVersionSelected(self, selection):
         pass
 
-    def onRefresh(self, widget):
+    def onRefresh(self, widget=None):
         self.updateTroveTreeBegin()
         
         for store in (self.localVersionStore, self.remoteVersionStore):
             store.clear()
 
+    def onFilterChanged(self):
+        self.troveStore.clear()
+        self.localVersionStore.clear()
+        self.remoteVersionStore.clear()
+
+        self._fillTroveTree(self.remoteTroves+self.localTroves)
+
     def quit(self, obj):
         gtk.main_quit()
 
@@ -554,7 +578,20 @@
         if response == gtk.RESPONSE_CLOSE:
             dialog.destroy()
 
-        self.onRefresh(None)
+        self.onRefresh()
+
+    def filterButtonClicked(self, button):
+        for name in ("installedFilterButton", "availableFilterButton",
+                     "allFilterButton", "outofdateFilterButton"):
+            widget = self.get_widget(name)
+            widget.handler_block(self.filterHandler[name])
+            if button == widget:
+                widget.set_active(True)
+                self.filter = name
+                self.onFilterChanged()
+            else:
+                widget.set_active(False)
+            widget.handler_unblock(self.filterHandler[name])
 
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, callback):


From tgerla@specifixinc.com Mon Sep 13 11:40:50 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DFeobI009736
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 11:40:50 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id DDB8E16228
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 08:40:56 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DFesNI016999; Mon, 13 Sep 2004 11:40:54 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DFesuQ016995; Mon, 13 Sep 2004 11:40:54 -0400
Date: Mon, 13 Sep 2004 11:40:54 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409131540.i8DFesuQ016995@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.39,1.40 conaryinterface.py,1.36,1.37
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 15:40:50 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv16983

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
steal some code from localoutofdate to enable the out of date filter button. could probably use some cleanup for this specific job.


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- conary-gui.py	13 Sep 2004 14:52:22 -0000	1.39
+++ conary-gui.py	13 Sep 2004 15:40:52 -0000	1.40
@@ -201,7 +201,7 @@
 
     def updateTroveTreeFinish(self, results, error):
         self.statusBarUpdater("")
-        self.localTroves, repos = results
+        self.localTroves, self.outofdateTroves, repos = results
 
         self.updateRemoteTroveTreeBegin(repos)
 
@@ -242,6 +242,8 @@
             for trove in self.remoteTroves:
                 if trove.endswith(':source'):
                     troves.remove(trove)
+        elif self.filter == "outofdateFilterButton":
+            troves = self.outofdateTroves
 
         # munge the replist into two parts:
         # components: a hash with package name as key containing a list of components


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- conaryinterface.py	10 Sep 2004 18:36:20 -0000	1.36
+++ conaryinterface.py	13 Sep 2004 15:40:52 -0000	1.37
@@ -121,17 +121,54 @@
     def doOperation(self):
         troves = self.client.db.iterAllTroveNames()
             
-        t = list(troves)
+        troveList = list(troves)
 
+        labelPkgs = {}
         repos = {}
-        for troveList in t:
-            for v in self.client.db.getTroveVersionList(troveList):
+        for trove in troveList:
+            for v in self.client.db.getTroveVersionList(trove):
                 label = v.branch().label()
-                if not isinstance(label, versions.CookBranch) and \
-                   not isinstance(label, versions.EmergeBranch):
-                    repos[label] = True
+                if isinstance(label, versions.CookBranch) or \
+                   isinstance(label, versions.EmergeBranch):
+                    continue
+
+                repos[label] = True
+
+                if label not in labelPkgs:
+                    labelPkgs[label] = {}
+                if trove not in labelPkgs[label]:
+                    labelPkgs[label][trove] = []
+                labelPkgs[label][trove].append(v)
+                
+        updates = []
+        notavail = []
 
-        return (t, repos.keys())
+        labels = repos.keys()
+        for label in labels:
+            labelDbpkgs = labelPkgs[label].keys()
+            labelDbpkgs.sort()
+            try:
+                versionList = self.client.repos.getTroveLeavesByLabel(labelDbpkgs, label)
+            except repository.OpenError, e:
+                print "Warning: could not access %s: %s" % (label.asString(), e)
+                print "Skipping packages %s" % labelDbpkgs
+                continue
+            for pkg in labelDbpkgs:
+                dbVersions = labelPkgs[label][pkg]
+                repoVersions = versionList[pkg]
+                # only look for updates to this version on the same branch
+                for lv in dbVersions:
+                    if not repoVersions:
+                        lvt = lv.trailingVersion()
+                        notavail.append((label, pkg, lv, None))
+                    for v in repoVersions:
+                        if lv.branch() != v.branch():
+                            continue
+                        if v.isAfter(lv):
+                            updates.append(pkg)
+     
+        print updates
+        return (troveList, updates, labels)
         
 class UpdateTrove(ConaryOperation):
     """


From tgerla@specifixinc.com Mon Sep 13 13:13:22 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DHDLbI009858
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 13:13:21 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 4DECE16706
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 10:13:27 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DHDKNI018912; Mon, 13 Sep 2004 13:13:20 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DHDJtY018908; Mon, 13 Sep 2004 13:13:19 -0400
Date: Mon, 13 Sep 2004 13:13:19 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409131713.i8DHDJtY018908@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.40,1.41 conaryinterface.py,1.37,1.38
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 17:13:22 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv18896

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
small cleanups


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- conary-gui.py	13 Sep 2004 15:40:52 -0000	1.40
+++ conary-gui.py	13 Sep 2004 17:13:17 -0000	1.41
@@ -59,6 +59,8 @@
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "conaryGUI")
         self.signal_autoconnect(self)
         
+        # set up the filter buttons
+        self.get_widget("installedFilterButton").set_active(True)
         self.filterHandler = {} 
         for name in ("installedFilterButton", "availableFilterButton",
                      "allFilterButton", "outofdateFilterButton"):
@@ -66,6 +68,7 @@
             self.filterHandler[name] = widget.connect("clicked", self.filterButtonClicked)
         self.filter = "installedFilterButton" 
         
+
         self.operations = [] 
 	self.parent = self.get_widget("conaryGUI")
 	self.parent.connect( "destroy", self.quit )


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- conaryinterface.py	13 Sep 2004 15:40:52 -0000	1.37
+++ conaryinterface.py	13 Sep 2004 17:13:17 -0000	1.38
@@ -167,7 +167,6 @@
                         if v.isAfter(lv):
                             updates.append(pkg)
      
-        print updates
         return (troveList, updates, labels)
         
 class UpdateTrove(ConaryOperation):


From tgerla@specifixinc.com Mon Sep 13 13:32:42 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DHWfbI009891
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 13:32:42 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 1D28C16706
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 10:32:48 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DHWhNI019906; Mon, 13 Sep 2004 13:32:43 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DHWhG4019902; Mon, 13 Sep 2004 13:32:43 -0400
Date: Mon, 13 Sep 2004 13:32:43 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409131732.i8DHWhG4019902@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.25,1.26 conary-gui.py,1.41,1.42
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 17:32:42 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv19890

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
connect cancel button, and keep icon display when changing troves


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- conary-gui.glade	13 Sep 2004 14:52:22 -0000	1.25
+++ conary-gui.glade	13 Sep 2004 17:32:40 -0000	1.26
@@ -940,6 +940,7 @@
 	      <property name="use_stock">True</property>
 	      <property name="relief">GTK_RELIEF_NORMAL</property>
 	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="onCancelButtonClicked" last_modification_time="Mon, 13 Sep 2004 17:25:00 GMT"/>
 	    </widget>
 	  </child>
 


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- conary-gui.py	13 Sep 2004 17:13:17 -0000	1.41
+++ conary-gui.py	13 Sep 2004 17:32:40 -0000	1.42
@@ -350,14 +350,20 @@
 
 	items.sort(self.cmpVersion)
         for (item, itemInfo) in items:
-        
             # don't display empty labels   
             if isinstance(item, versions.Label) and len(tree[item].keys()) <= 2:
                 continue
 
+            # XXX this could be done more efficently by switching self.operations
+            # over to a dictionary (again)
+            status = self.NO_STATUS
+            for obj, objStatus in self.operations:
+                if obj == (troveName, item, itemInfo["flavor"]):
+                    status = objStatus
+
             newIter = self.remoteVersionStore.append(treeIter,
                 [(troveName, item, itemInfo["flavor"]),
-                 self.NO_STATUS,
+                 status,
                  itemInfo["text"],
                  str(itemInfo["flavor"]),
                  itemInfo["color"],


From tgerla@specifixinc.com Mon Sep 13 15:07:17 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DJ7GbI010285
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 15:07:16 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id BE162164B3
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 12:07:22 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DJ7KNI026763; Mon, 13 Sep 2004 15:07:20 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DJ7JIl026759; Mon, 13 Sep 2004 15:07:19 -0400
Date: Mon, 13 Sep 2004 15:07:19 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409131907.i8DJ7JIl026759@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.26,1.27 conary-gui.py,1.42,1.43
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 19:07:17 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv26747

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
remove the buttonbar and move those operations to the menu bar


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- conary-gui.glade	13 Sep 2004 17:32:40 -0000	1.26
+++ conary-gui.glade	13 Sep 2004 19:07:17 -0000	1.27
@@ -47,7 +47,7 @@
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image2">
+			<widget class="GtkImage" id="image26">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -69,7 +69,7 @@
 		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image3">
+			<widget class="GtkImage" id="image27">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -91,13 +91,13 @@
 		  <child>
 		    <widget class="GtkImageMenuItem" id="quit2">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">quit</property>
+		      <property name="label" translatable="yes">Quit</property>
 		      <property name="use_underline">True</property>
 		      <signal name="activate" handler="quit" last_modification_time="Fri, 27 Aug 2004 20:50:53 GMT"/>
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image4">
+			<widget class="GtkImage" id="image28">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -117,30 +117,63 @@
 	  <child>
 	    <widget class="GtkMenuItem" id="trove1">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Trove</property>
+	      <property name="label" translatable="yes">Troves</property>
 	      <property name="use_underline">True</property>
 
 	      <child>
 		<widget class="GtkMenu" id="trove1_menu">
 
 		  <child>
-		    <widget class="GtkMenuItem" id="installTroveVersionMenu">
+		    <widget class="GtkRadioMenuItem" id="viewAllTroves">
 		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Update local system to selected trove version</property>
-		      <property name="label" translatable="yes">Install Trove Version</property>
+		      <property name="label" translatable="yes">View All</property>
 		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="onUpdateToSelectedActivate" last_modification_time="Tue, 03 Aug 2004 02:15:59 GMT"/>
-		      <accelerator key="I" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+		      <property name="active">True</property>
 		    </widget>
 		  </child>
 
 		  <child>
-		    <widget class="GtkMenuItem" id="create_changeset_from_selected1">
+		    <widget class="GtkRadioMenuItem" id="viewInstalledTroves">
 		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Create a changeset file relative to the local system  from the selected trove</property>
-		      <property name="label" translatable="yes">Create Changeset</property>
+		      <property name="label" translatable="yes">View Installed</property>
 		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_create_changeset_from_selected1_activate" last_modification_time="Mon, 02 Aug 2004 23:50:50 GMT"/>
+		      <property name="active">False</property>
+		      <property name="group">viewAllTroves</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkRadioMenuItem" id="viewAvailableTroves">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">View Available</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <property name="group">viewAllTroves</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkRadioMenuItem" id="viewOutofdateTroves">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">View Out of Date</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <property name="group">viewAllTroves</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkSeparatorMenuItem" id="separator4">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkMenuItem" id="update_all_out_of_date1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Update All Out of Date</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_update_all_out_of_date1_activate" last_modification_time="Mon, 13 Sep 2004 18:01:51 GMT"/>
 		    </widget>
 		  </child>
 		</widget>
@@ -465,112 +498,6 @@
 	      <property name="spacing">0</property>
 
 	      <child>
-		<widget class="GtkLabel" id="label21">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Show troves:</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>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox4">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">True</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkToggleButton" id="installedFilterButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Installed</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>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkToggleButton" id="availableFilterButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Available</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>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkToggleButton" id="allFilterButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">All</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>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkToggleButton" id="outofdateFilterButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Out Of Date</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>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">12</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
 		<widget class="GtkLabel" id="opsPending">
 		  <property name="visible">True</property>
 		  <property name="label" translatable="yes">opsPending</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- conary-gui.py	13 Sep 2004 17:32:40 -0000	1.42
+++ conary-gui.py	13 Sep 2004 19:07:17 -0000	1.43
@@ -48,7 +48,22 @@
     NO_STATUS = 0
     MARKED_FOR_UPDATE = 1
     MARKED_FOR_ERASE = 2
-	
+
+    VIEW_ALL_TROVES = 0
+    VIEW_INSTALLED_TROVES = 1
+    VIEW_AVAILABLE_TROVES = 2
+    VIEW_OUTOFDATE_TROVES = 3
+
+    # mapping between enum filter types and their widget
+    filters = {
+        VIEW_ALL_TROVES: "viewAllTroves",
+        VIEW_INSTALLED_TROVES: "viewInstalledTroves",
+        VIEW_AVAILABLE_TROVES: "viewAvailableTroves",
+        VIEW_OUTOFDATE_TROVES: "viewOutofdateTroves",
+    }
+
+    currentFilter = VIEW_ALL_TROVES
+
     pixmaps = { 
                NO_STATUS: None,
                MARKED_FOR_UPDATE: "gtk-add",
@@ -59,15 +74,14 @@
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "conaryGUI")
         self.signal_autoconnect(self)
         
-        # set up the filter buttons
-        self.get_widget("installedFilterButton").set_active(True)
+        # set up the filter menu
+        self.get_widget(self.filters[self.VIEW_ALL_TROVES]).set_active(True)
         self.filterHandler = {} 
-        for name in ("installedFilterButton", "availableFilterButton",
-                     "allFilterButton", "outofdateFilterButton"):
-            widget = self.get_widget(name)
-            self.filterHandler[name] = widget.connect("clicked", self.filterButtonClicked)
-        self.filter = "installedFilterButton" 
-        
+        for filter in self.filters:
+            widgetName = self.filters[filter]
+            widget = self.get_widget(widgetName)
+            self.filterHandler[filter] = widget.connect("activate", self.filterMenuItemActivated)
+        self.currenFilter = self.VIEW_ALL_TROVES
 
         self.operations = [] 
 	self.parent = self.get_widget("conaryGUI")
@@ -83,12 +97,9 @@
         # on the repositories found referenced in the system.
 	self.troveStore = self.buildTroveTree("troveTree", self.onTroveSelected)
         self.buildVersionTree()
-	#self.buildFileList()
 	
         self.updateTroveTreeBegin()	
         self.localVersionStore = self.buildLocalVersionList()
-        
-	self.get_widget("installTroveVersionMenu").set_sensitive(False)
 
     def buildTroveTree(self, treeViewName, changedCallback):
 	troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
@@ -233,11 +244,11 @@
     def _fillTroveTree(self, troves):
 	self.troveStore.clear()
 
-        if self.filter == "allFilterButton":
+        if self.currentFilter == self.VIEW_ALL_TROVES:
             troves = self.localTroves + self.remoteTroves
-        elif self.filter == "installedFilterButton":
+        elif self.currentFilter == self.VIEW_INSTALLED_TROVES:
             troves = self.localTroves
-        elif self.filter == "availableFilterButton":
+        elif self.currentFilter == self.VIEW_AVAILABLE_TROVES:
             troves = copy.copy(self.remoteTroves)
             for trove in self.localTroves:
                 if trove in troves:
@@ -245,7 +256,7 @@
             for trove in self.remoteTroves:
                 if trove.endswith(':source'):
                     troves.remove(trove)
-        elif self.filter == "outofdateFilterButton":
+        elif self.currentFilter == self.VIEW_OUTOFDATE_TROVES:
             troves = self.outofdateTroves
 
         # munge the replist into two parts:
@@ -591,18 +602,17 @@
 
         self.onRefresh()
 
-    def filterButtonClicked(self, button):
-        for name in ("installedFilterButton", "availableFilterButton",
-                     "allFilterButton", "outofdateFilterButton"):
-            widget = self.get_widget(name)
-            widget.handler_block(self.filterHandler[name])
-            if button == widget:
+    def filterMenuItemActivated(self, item):
+        for filter in self.filters:
+            widget = self.get_widget(self.filters[filter])
+            widget.handler_block(self.filterHandler[filter])
+            if item == widget:
                 widget.set_active(True)
-                self.filter = name
+                self.currentFilter = filter
                 self.onFilterChanged()
             else:
                 widget.set_active(False)
-            widget.handler_unblock(self.filterHandler[name])
+            widget.handler_unblock(self.filterHandler[filter])
 
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, callback):


From tgerla@specifixinc.com Mon Sep 13 15:31:31 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DJVUbI010378
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 15:31:30 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 82D89164B3
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 12:31:36 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DJVXNI028089; Mon, 13 Sep 2004 15:31:33 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DJVXAP028086; Mon, 13 Sep 2004 15:31:33 -0400
Date: Mon, 13 Sep 2004 15:31:33 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409131931.i8DJVXAP028086@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.27,1.28
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 19:31:31 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv28068

Modified Files:
	conary-gui.glade 
Log Message:
fix up the GUI


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- conary-gui.glade	13 Sep 2004 19:07:17 -0000	1.27
+++ conary-gui.glade	13 Sep 2004 19:31:31 -0000	1.28
@@ -226,16 +226,16 @@
 		<widget class="GtkScrolledWindow" id="scrolledwindow1">
 		  <property name="visible">True</property>
 		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
+		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
 		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 		  <child>
 		    <widget class="GtkTreeView" id="troveTree">
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
+		      <property name="headers_visible">False</property>
 		      <property name="rules_hint">False</property>
 		      <property name="reorderable">False</property>
 		      <property name="enable_search">True</property>
@@ -270,7 +270,7 @@
 			  <child>
 			    <widget class="GtkLabel" id="label27">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;Installed versions:&lt;/b&gt;</property>
+			      <property name="label" translatable="yes">Installed versions:</property>
 			      <property name="use_underline">False</property>
 			      <property name="use_markup">True</property>
 			      <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -294,7 +294,7 @@
 			      <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_NONE</property>
+			      <property name="shadow_type">GTK_SHADOW_IN</property>
 			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 			      <child>
@@ -310,7 +310,7 @@
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="padding">0</property>
+			      <property name="padding">4</property>
 			      <property name="expand">True</property>
 			      <property name="fill">True</property>
 			    </packing>
@@ -331,7 +331,7 @@
 			  <child>
 			    <widget class="GtkLabel" id="label28">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">&lt;b&gt;Available versions:&lt;/b&gt;</property>
+			      <property name="label" translatable="yes">Available versions:</property>
 			      <property name="use_underline">False</property>
 			      <property name="use_markup">True</property>
 			      <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -355,7 +355,7 @@
 			      <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_NONE</property>
+			      <property name="shadow_type">GTK_SHADOW_IN</property>
 			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 			      <child>
@@ -371,7 +371,7 @@
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="padding">0</property>
+			      <property name="padding">4</property>
 			      <property name="expand">True</property>
 			      <property name="fill">True</property>
 			    </packing>
@@ -425,7 +425,7 @@
 		      <child>
 			<widget class="GtkLabel" id="label24">
 			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;b&gt;Trove Details:&lt;/b&gt;</property>
+			  <property name="label" translatable="yes">Trove Details:</property>
 			  <property name="use_underline">False</property>
 			  <property name="use_markup">True</property>
 			  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -449,7 +449,7 @@
 		      <child>
 			<widget class="GtkLabel" id="label23">
 			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;b&gt;Description:&lt;/b&gt;</property>
+			  <property name="label" translatable="yes">Description:</property>
 			  <property name="use_underline">False</property>
 			  <property name="use_markup">True</property>
 			  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -476,126 +476,126 @@
 		      <property name="fill">True</property>
 		    </packing>
 		  </child>
-		</widget>
-		<packing>
-		  <property name="shrink">True</property>
-		  <property name="resize">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox3">
-	      <property name="border_width">6</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkLabel" id="opsPending">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">opsPending</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.96</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="goButton">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Tue, 31 Aug 2004 18:29:18 GMT"/>
 
 		  <child>
-		    <widget class="GtkAlignment" id="alignment1">
+		    <widget class="GtkHBox" id="hbox3">
+		      <property name="border_width">6</property>
 		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">0</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
 
 		      <child>
-			<widget class="GtkHBox" id="hbox2">
+			<widget class="GtkLabel" id="opsPending">
 			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">2</property>
+			  <property name="label" translatable="yes">opsPending</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.95</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
 
-			  <child>
-			    <widget class="GtkImage" id="image12">
-			      <property name="visible">True</property>
-			      <property name="stock">gtk-execute</property>
-			      <property name="icon_size">4</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
+		      <child>
+			<widget class="GtkButton" id="goButton">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Tue, 31 Aug 2004 18:29:18 GMT"/>
 
 			  <child>
-			    <widget class="GtkLabel" id="label19">
+			    <widget class="GtkAlignment" id="alignment1">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Go</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
 			      <property name="xalign">0.5</property>
 			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
+			      <property name="xscale">0</property>
+			      <property name="yscale">0</property>
+			      <property name="top_padding">0</property>
+			      <property name="bottom_padding">0</property>
+			      <property name="left_padding">0</property>
+			      <property name="right_padding">0</property>
+
+			      <child>
+				<widget class="GtkHBox" id="hbox2">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">2</property>
+
+				  <child>
+				    <widget class="GtkImage" id="image12">
+				      <property name="visible">True</property>
+				      <property name="stock">gtk-execute</property>
+				      <property name="icon_size">4</property>
+				      <property name="xalign">0.5</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+
+				  <child>
+				    <widget class="GtkLabel" id="label19">
+				      <property name="visible">True</property>
+				      <property name="label" translatable="yes">Go</property>
+				      <property name="use_underline">True</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap">False</property>
+				      <property name="selectable">False</property>
+				      <property name="xalign">0.5</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xpad">0</property>
+				      <property name="ypad">0</property>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">False</property>
+				    </packing>
+				  </child>
+				</widget>
+			      </child>
 			    </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>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
 		      </child>
 		    </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>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
+		  <property name="shrink">True</property>
+		  <property name="resize">True</property>
 		</packing>
 	      </child>
 	    </widget>
 	    <packing>
 	      <property name="padding">0</property>
-	      <property name="expand">False</property>
+	      <property name="expand">True</property>
 	      <property name="fill">True</property>
 	    </packing>
 	  </child>


From tgerla@specifixinc.com Mon Sep 13 15:33:48 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DJXlbI010389
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 15:33:47 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 71EB2164B3
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 12:33:54 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DJXqNI028348; Mon, 13 Sep 2004 15:33:52 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DJXpKa028345; Mon, 13 Sep 2004 15:33:51 -0400
Date: Mon, 13 Sep 2004 15:33:51 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409131933.i8DJXpKa028345@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.28,1.29
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 19:33:48 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv28323

Modified Files:
	conary-gui.glade 
Log Message:
remove a tad of white space


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- conary-gui.glade	13 Sep 2004 19:31:31 -0000	1.28
+++ conary-gui.glade	13 Sep 2004 19:33:49 -0000	1.29
@@ -256,7 +256,6 @@
 
 		  <child>
 		    <widget class="GtkVPaned" id="vpaned2">
-		      <property name="border_width">6</property>
 		      <property name="visible">True</property>
 		      <property name="can_focus">True</property>
 		      <property name="position">225</property>
@@ -265,7 +264,7 @@
 			<widget class="GtkVBox" id="vbox6">
 			  <property name="visible">True</property>
 			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
+			  <property name="spacing">0</property>
 
 			  <child>
 			    <widget class="GtkLabel" id="label27">
@@ -282,7 +281,7 @@
 			      <property name="ypad">0</property>
 			    </widget>
 			    <packing>
-			      <property name="padding">0</property>
+			      <property name="padding">4</property>
 			      <property name="expand">False</property>
 			      <property name="fill">False</property>
 			    </packing>
@@ -326,7 +325,7 @@
 			<widget class="GtkVBox" id="vbox7">
 			  <property name="visible">True</property>
 			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
+			  <property name="spacing">0</property>
 
 			  <child>
 			    <widget class="GtkLabel" id="label28">
@@ -343,7 +342,7 @@
 			      <property name="ypad">0</property>
 			    </widget>
 			    <packing>
-			      <property name="padding">0</property>
+			      <property name="padding">4</property>
 			      <property name="expand">False</property>
 			      <property name="fill">False</property>
 			    </packing>


From tgerla@specifixinc.com Mon Sep 13 15:36:59 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DJaxbI010399
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 15:36:59 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 3B99A164B3
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 12:37:06 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DJb3NI009626; Mon, 13 Sep 2004 15:37:03 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DJb3Th009621; Mon, 13 Sep 2004 15:37:03 -0400
Date: Mon, 13 Sep 2004 15:37:03 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409131937.i8DJb3Th009621@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.29, 1.30 conary-gui.py, 1.43,
	1.44 conaryinterface.py, 1.38, 1.39
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 19:36:59 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv9599

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
remove references to old widget, fixing the right-click spew, and catch errors in GUI.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- conary-gui.glade	13 Sep 2004 19:33:49 -0000	1.29
+++ conary-gui.glade	13 Sep 2004 19:37:01 -0000	1.30
@@ -830,7 +830,7 @@
 	  <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_NONE</property>
+	  <property name="shadow_type">GTK_SHADOW_OUT</property>
 	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 	  <child>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- conary-gui.py	13 Sep 2004 19:07:17 -0000	1.43
+++ conary-gui.py	13 Sep 2004 19:37:01 -0000	1.44
@@ -396,7 +396,6 @@
 
 	    if not isinstance(version, versions.Label) and False:
 		self.remoteVersionStore.set_data("selectedTrove", (troveName, version, flavor))
-		self.get_widget("installTroveVersionMenu").set_sensitive(True)
 			    
 		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
 		self.updating += 1
@@ -405,10 +404,8 @@
 		fs.start()
 	    else:
 		self.remoteVersionStore.set_data("selectedTrove", None)
-		self.get_widget("installTroveVersionMenu").set_sensitive(False)
 	else:
 	    self.remoteVersionStore.set_data("selectedTrove", None)
-	    self.get_widget("installTroveVersionMenu").set_sensitive(False)
 	    
     def fileListFinish(self, fileList, error):
 	for (fileId, path, version, file) in fileList:


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- conaryinterface.py	13 Sep 2004 17:13:17 -0000	1.38
+++ conaryinterface.py	13 Sep 2004 19:37:01 -0000	1.39
@@ -53,7 +53,6 @@
 	except:
 	    error = str(sys.exc_info()[1])
 	    retval = None
-            raise
 	else:
 	    error = None
 	self.finish(retval, error)


From tgerla@specifixinc.com Mon Sep 13 16:00:33 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DK0XbI010486
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 16:00:33 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 05CF7164B3
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 13:00:40 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DK0aNI012174; Mon, 13 Sep 2004 16:00:36 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DK0aQq012171; Mon, 13 Sep 2004 16:00:36 -0400
Date: Mon, 13 Sep 2004 16:00:36 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409132000.i8DK0aQq012171@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.44,1.45
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 20:00:34 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12159

Modified Files:
	conary-gui.py 
Log Message:
filter out :test components as well as :source


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- conary-gui.py	13 Sep 2004 19:37:01 -0000	1.44
+++ conary-gui.py	13 Sep 2004 20:00:34 -0000	1.45
@@ -254,8 +254,10 @@
                 if trove in troves:
                     troves.remove(trove)
             for trove in self.remoteTroves:
-                if trove.endswith(':source'):
-                    troves.remove(trove)
+                if trove.endswith(':source') or\
+                   trove.endswith(':test'):
+                    if trove in troves:
+                        troves.remove(trove)
         elif self.currentFilter == self.VIEW_OUTOFDATE_TROVES:
             troves = self.outofdateTroves
 


From tgerla@specifixinc.com Mon Sep 13 16:01:44 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DK1hbI010505
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 16:01:44 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 25F7C164B3
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 13:01:49 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DK1iNI012249; Mon, 13 Sep 2004 16:01:44 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DK1iJt012246; Mon, 13 Sep 2004 16:01:44 -0400
Date: Mon, 13 Sep 2004 16:01:44 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409132001.i8DK1iJt012246@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.45,1.46
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 20:01:44 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12234

Modified Files:
	conary-gui.py 
Log Message:
filter out :test components as well as :source


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- conary-gui.py	13 Sep 2004 20:00:34 -0000	1.45
+++ conary-gui.py	13 Sep 2004 20:01:41 -0000	1.46
@@ -273,7 +273,7 @@
                 package = t[ :idx ]
                 component = t[ idx+1: ]
                 
-                if package not in components.keys():
+                if package not in components:
                     components[package] = []
                 if package not in packages:
                     packages.append(package)


From tgerla@specifixinc.com Mon Sep 13 18:06:48 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifixinc.com (8.12.10/8.12.10) with ESMTP id i8DM6lbI010739
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 18:06:47 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 710AA164B3
	for <conary-gui-commits@lists.specifixinc.com>;
	Mon, 13 Sep 2004 15:06:54 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8DM6pNI017818; Mon, 13 Sep 2004 18:06:51 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8DM6pWp017815; Mon, 13 Sep 2004 18:06:51 -0400
Date: Mon, 13 Sep 2004 18:06:51 -0400
From: Tim Gerla <tgerla@specifixinc.com>
Message-Id: <200409132206.i8DM6pWp017815@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifixinc.com, synccvs@specifixinc.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.46,1.47
X-BeenThere: conary-gui-commits@lists.specifixinc.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifixinc.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifixinc.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifixinc.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifixinc.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifixinc.com?subject=subscribe>
X-List-Received-Date: Mon, 13 Sep 2004 22:06:48 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv17803

Modified Files:
	conary-gui.py 
Log Message:
profiling work, try to speed up trove listing a little bit


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- conary-gui.py	13 Sep 2004 20:01:41 -0000	1.46
+++ conary-gui.py	13 Sep 2004 22:06:49 -0000	1.47
@@ -12,9 +12,14 @@
 # or fitness for a particular purpose. See the Common Public License for
 # full details.
 #
+profiling = False
 
 import string, os, copy
 import sys, types, new, traceback
+from sets import Set
+
+if profiling:
+    import hotshot, hotshot.stats
 
 import gtk, gobject
 import gtk.glade
@@ -215,8 +220,9 @@
 
     def updateTroveTreeFinish(self, results, error):
         self.statusBarUpdater("")
-        self.localTroves, self.outofdateTroves, repos = results
+        localTroves, self.outofdateTroves, repos = results
 
+        self.localTroves = Set(localTroves)
         self.updateRemoteTroveTreeBegin(repos)
 
     def updateRemoteTroveTreeBegin(self, repos):
@@ -227,9 +233,19 @@
         troves, brokenRepos = results
         self.statusBarUpdater("")
 
-        self.remoteTroves = troves
-        self._fillTroveTree(troves + self.localTroves)
-       
+        # set up the various sets of troves
+        self.remoteTroves = Set(troves)
+        self.allTroves = self.localTroves | self.remoteTroves
+
+        self.availableTroves = self.remoteTroves - self.localTroves
+        for trove in self.availableTroves:
+            if trove.endswith(':source') or\
+               trove.endswith(':test'):
+                if trove in troves:
+                    troves.remove(trove)
+
+        self._fillTroveTree()
+      
         self.updating -= 1
         
         if brokenRepos:
@@ -241,23 +257,15 @@
             dialog.run()
             dialog.destroy()
         
-    def _fillTroveTree(self, troves):
+    def _fillTroveTree(self):
 	self.troveStore.clear()
 
         if self.currentFilter == self.VIEW_ALL_TROVES:
-            troves = self.localTroves + self.remoteTroves
+            troves = self.allTroves
         elif self.currentFilter == self.VIEW_INSTALLED_TROVES:
             troves = self.localTroves
         elif self.currentFilter == self.VIEW_AVAILABLE_TROVES:
-            troves = copy.copy(self.remoteTroves)
-            for trove in self.localTroves:
-                if trove in troves:
-                    troves.remove(trove)
-            for trove in self.remoteTroves:
-                if trove.endswith(':source') or\
-                   trove.endswith(':test'):
-                    if trove in troves:
-                        troves.remove(trove)
+            troves = self.availableTroves
         elif self.currentFilter == self.VIEW_OUTOFDATE_TROVES:
             troves = self.outofdateTroves
 
@@ -266,23 +274,22 @@
         # packages: a list of packages
 
         components = {}
-        packages = []
+        packages = {}
         for t in troves:
-            idx = t.find(':')
-            if idx >= 0:
-                package = t[ :idx ]
-                component = t[ idx+1: ]
+            if ':' in t:
+                package, component = t.split(':')
                 
                 if package not in components:
-                    components[package] = []
-                if package not in packages:
-                    packages.append(package)
-                if component not in components[package]: 
-                    components[package].append(component)
+                    components[package] = {} 
+                if not packages.has_key(package):
+                    packages[package] = True
+                if not components[package].has_key(component):
+                    components[package][component] = True
             else:
-                if t not in packages:
-                    packages.append(t)
-                
+                if not packages.has_key(t):
+                    packages[t] = True
+               
+        packages = packages.keys()
         packages.sort(lambda a, b: cmp(a.lower(), b.lower()))
         for package in packages:
             iter = self.troveStore.append(None, [package, package, None])
@@ -486,7 +493,12 @@
         self.localVersionStore.clear()
         self.remoteVersionStore.clear()
 
-        self._fillTroveTree(self.remoteTroves+self.localTroves)
+        if profiling:
+            prof = hotshot.Profile("profile.prof", lineevents=True)
+            prof.runcall(self._fillTroveTree)
+            prof.close()
+        else:
+            self._fillTroveTree()
 
     def quit(self, obj):
         gtk.main_quit()
@@ -602,10 +614,12 @@
         self.onRefresh()
 
     def filterMenuItemActivated(self, item):
+        last = self.currentFilter
+
         for filter in self.filters:
             widget = self.get_widget(self.filters[filter])
             widget.handler_block(self.filterHandler[filter])
-            if item == widget:
+            if item == widget and widget.get_active() and filter != last:
                 widget.set_active(True)
                 self.currentFilter = filter
                 self.onFilterChanged()


From tgerla@specifixinc.com Tue Sep 14 15:18:11 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8EJIAm4014904
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 14 Sep 2004 15:18:11 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifixinc.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 618091622A
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 14 Sep 2004 12:18:18 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8EJIEGP020573; Tue, 14 Sep 2004 15:18:14 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8EJIDc8020568; Tue, 14 Sep 2004 15:18:13 -0400
Date: Tue, 14 Sep 2004 15:18:13 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409141918.i8EJIDc8020568@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.30, 1.31 conary-gui.py, 1.47,
	1.48 conaryinterface.py, 1.39, 1.40
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 14 Sep 2004 19:18:12 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv20556

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
Make 'mark all out of date packages for update' work. Profiling, bugfixes.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- conary-gui.glade	13 Sep 2004 19:37:01 -0000	1.30
+++ conary-gui.glade	14 Sep 2004 19:18:10 -0000	1.31
@@ -47,7 +47,7 @@
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image26">
+			<widget class="GtkImage" id="image32">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -69,7 +69,7 @@
 		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image27">
+			<widget class="GtkImage" id="image33">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -97,7 +97,7 @@
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image28">
+			<widget class="GtkImage" id="image34">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -128,7 +128,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View All</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">True</property>
+		      <property name="active">False</property>
 		    </widget>
 		  </child>
 
@@ -157,7 +157,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Out of Date</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
+		      <property name="active">True</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
@@ -171,9 +171,9 @@
 		  <child>
 		    <widget class="GtkMenuItem" id="update_all_out_of_date1">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Update All Out of Date</property>
+		      <property name="label" translatable="yes">Mark All Out of Date</property>
 		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_update_all_out_of_date1_activate" last_modification_time="Mon, 13 Sep 2004 18:01:51 GMT"/>
+		      <signal name="activate" handler="updateOutofdateTroves" last_modification_time="Tue, 14 Sep 2004 16:45:56 GMT"/>
 		    </widget>
 		  </child>
 		</widget>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- conary-gui.py	13 Sep 2004 22:06:49 -0000	1.47
+++ conary-gui.py	14 Sep 2004 19:18:10 -0000	1.48
@@ -267,7 +267,7 @@
         elif self.currentFilter == self.VIEW_AVAILABLE_TROVES:
             troves = self.availableTroves
         elif self.currentFilter == self.VIEW_OUTOFDATE_TROVES:
-            troves = self.outofdateTroves
+            troves = self.outofdateTroves.keys()
 
         # munge the replist into two parts:
         # components: a hash with package name as key containing a list of components
@@ -585,7 +585,6 @@
 
     def onOperationsChecked(self, operations):
          for object, status in operations:
-            print object, status    
             if status == self.MARKED_FOR_UPDATE:
                 print "Updating %s to version %s" % (object[0], object[1].asString())
             elif status == self.MARKED_FOR_ERASE:
@@ -603,7 +602,8 @@
         else:
             text = "Completed %d operations." % results
             icon = gtk.MESSAGE_INFO
-            self.operations.clear()
+            self.operations = []
+            self.updateOpsPending()
 
         self.updating -= 1
         dialog = gtk.MessageDialog(self.parent, 0, icon, gtk.BUTTONS_CLOSE, text)
@@ -627,6 +627,48 @@
                 widget.set_active(False)
             widget.handler_unblock(self.filterHandler[filter])
 
+    def updateOutofdateTroves(self, item):
+        updates = []
+        components = {}
+        packages = []
+        for t in self.outofdateTroves:
+            if ':' in t:
+                package, component = t.split(':')
+
+                if not components.has_key(package):
+                    components[package] = {}
+                components[package][component] = True
+            else:
+                packages.append(t)
+                
+        for package in components:
+            # package out of date, add package to final list and continue
+            if package in packages:
+                updates.append(package)
+                packages.remove(package)
+                continue
+            
+            # if components[package] contains all components of the package as
+            # listed on the repository, update the package itself, otherwise,
+            # just the list of components.
+            pkgComps = []
+            for t in self.remoteTroves:
+                if ':' in t and t.startswith(package) and\
+                   not (t.endswith('source') or t.endswith('test')):
+                    pkgComps.append(t.split(':')[1])
+            
+            # if the sets are identical, and the package actually exists, update package
+            if Set(pkgComps) == Set(components[package]) and package in self.remoteTroves:
+                updates.append(package)
+            else:
+                tmpTroves = [package + ":" + component for component in components[package]]
+                updates.extend(tmpTroves)
+            
+        for trove in updates:
+            obj = (trove, self.outofdateTroves[trove], None)
+            self.operations.append((obj, self.MARKED_FOR_UPDATE))
+        self.updateOpsPending()
+
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, callback):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "operationsWindow")


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- conaryinterface.py	13 Sep 2004 19:37:01 -0000	1.39
+++ conaryinterface.py	14 Sep 2004 19:18:10 -0000	1.40
@@ -23,6 +23,7 @@
 import sys
 import os
 from lib import log
+import hotshot, hotshot.stats
 
 import conarycfg
 import versions
@@ -32,6 +33,9 @@
 from repository import repository
 from repository import changeset
 
+profiling = False 
+prof = hotshot.Profile("conary-gui.prof", lineevents=False)
+
 # FIXME if the main app is killed before the thread is done, the process doesn't end..
 #       join any threads on exit, or daemonize these?
 
@@ -49,8 +53,14 @@
 	
     def run(self):
 	try:
-	    retval = self.doOperation()
+            if profiling:
+                prof.start()
+            retval = self.doOperation()
+            if profiling:
+                prof.stop()
+
 	except:
+            raise
 	    error = str(sys.exc_info()[1])
 	    retval = None
 	else:
@@ -139,7 +149,7 @@
                     labelPkgs[label][trove] = []
                 labelPkgs[label][trove].append(v)
                 
-        updates = []
+        updates = {}
         notavail = []
 
         labels = repos.keys()
@@ -164,7 +174,7 @@
                         if lv.branch() != v.branch():
                             continue
                         if v.isAfter(lv):
-                            updates.append(pkg)
+                            updates[pkg] = v
      
         return (troveList, updates, labels)
         
@@ -214,12 +224,12 @@
                 gtk.threads_leave()
                 self.client.eraseTrove([(troveName, version.asString())])
 
-            gtk.threads_enter()
-            self.labelUpdater("%d operations completed successfully." % len(self.operations.keys()))
-            gtk.threads_leave()
+        gtk.threads_enter()
+        self.labelUpdater("%d operations completed successfully." % len(self.operations))
+        gtk.threads_leave()
+    
+        return len(self.operations)
         
-            return len(self.operations)
-            
 class FileList(ConaryOperation):
     """
     Retrieve a list of all files inside a trove.


From tgerla@specifixinc.com Tue Sep 14 17:47:55 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8ELlsm4015197
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 14 Sep 2004 17:47:54 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id B73BA16706
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 14 Sep 2004 14:48:02 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8ELm0GP027349; Tue, 14 Sep 2004 17:48:00 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8ELm0aP027344; Tue, 14 Sep 2004 17:48:00 -0400
Date: Tue, 14 Sep 2004 17:48:00 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409142148.i8ELm0aP027344@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.31, 1.32 conary-gui.py, 1.48,
	1.49 conaryinterface.py, 1.40, 1.41
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 14 Sep 2004 21:47:55 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv27326

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
improve status bar display


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- conary-gui.glade	14 Sep 2004 19:18:10 -0000	1.31
+++ conary-gui.glade	14 Sep 2004 21:47:58 -0000	1.32
@@ -492,7 +492,7 @@
 			  <property name="justify">GTK_JUSTIFY_LEFT</property>
 			  <property name="wrap">False</property>
 			  <property name="selectable">False</property>
-			  <property name="xalign">0.95</property>
+			  <property name="xalign">0.9</property>
 			  <property name="yalign">0.5</property>
 			  <property name="xpad">0</property>
 			  <property name="ypad">0</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- conary-gui.py	14 Sep 2004 19:18:10 -0000	1.48
+++ conary-gui.py	14 Sep 2004 21:47:58 -0000	1.49
@@ -215,7 +215,7 @@
         self.updating += 1
         gobject.timeout_add(50, self.pulse)
 
-        troveList = conaryinterface.LocalTroveList(client, self.updateTroveTreeFinish)
+        troveList = conaryinterface.LocalTroveList(client, self.statusBarUpdater, self.updateTroveTreeFinish)
         troveList.start()
 
     def updateTroveTreeFinish(self, results, error):


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- conaryinterface.py	14 Sep 2004 19:18:10 -0000	1.40
+++ conaryinterface.py	14 Sep 2004 21:47:58 -0000	1.41
@@ -126,7 +126,10 @@
     Also parses those trove versions to generate a list of all
     remote repositories this system has installed troves from.
     """
-
+    def __init__(self, client, statusBarUpdater, callback):
+        ConaryOperation.__init__(self, client, callback)
+        self.statusBarUpdater = statusBarUpdater
+                            
     def doOperation(self):
         troves = self.client.db.iterAllTroveNames()
             
@@ -152,6 +155,10 @@
         updates = {}
         notavail = []
 
+        gtk.threads_enter()
+        self.statusBarUpdater("Finding out-of-date troves...")
+        gtk.threads_leave()
+        
         labels = repos.keys()
         for label in labels:
             labelDbpkgs = labelPkgs[label].keys()


From tgerla@specifixinc.com Wed Sep 15 16:23:49 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8FKNmm4025522
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 15 Sep 2004 16:23:48 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A3D8816228
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 15 Sep 2004 13:23:57 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8FKNsGP001173; Wed, 15 Sep 2004 16:23:54 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8FKNseD001170; Wed, 15 Sep 2004 16:23:54 -0400
Date: Wed, 15 Sep 2004 16:23:54 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409152023.i8FKNseD001170@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.49,1.50 conaryinterface.py,1.41,1.42
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 15 Sep 2004 20:23:49 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv1157

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
improve error handling


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- conary-gui.py	14 Sep 2004 21:47:58 -0000	1.49
+++ conary-gui.py	15 Sep 2004 20:23:51 -0000	1.50
@@ -92,6 +92,7 @@
 	self.parent = self.get_widget("conaryGUI")
 	self.parent.connect( "destroy", self.quit )
         self.updating = 0
+        self.pulsing = False
         self.menu = gtk.glade.XML(gladefiles.getGladeFile(), "versionMenu")
         self.menu.signal_autoconnect(self)
 
@@ -200,12 +201,18 @@
         self.get_widget("statusbar1").push(0, message)
  
     def pulse(self):
+        if not self.pulsing:
+            gobject.timeout_add(50, self._pulse)
+        self.pulsing = True
+        
+    def _pulse(self):
 	if self.updating:
             self.get_widget('main_gui').set_sensitive(False)
 	    self.get_widget('progressBar').pulse()
 	else:
 	    self.get_widget('progressBar').set_fraction(0.0)
             self.get_widget('main_gui').set_sensitive(True)
+            self.pulsing = False
 	return self.updating
              
     ### Trove tree methods
@@ -213,7 +220,7 @@
     def updateTroveTreeBegin(self):
         self.statusBarUpdater("Updating local trove list...")
         self.updating += 1
-        gobject.timeout_add(50, self.pulse)
+        self.pulse()
 
         troveList = conaryinterface.LocalTroveList(client, self.statusBarUpdater, self.updateTroveTreeFinish)
         troveList.start()
@@ -320,7 +327,7 @@
 	    if troveName:
 		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateBranchStructureFinish)       
 		self.updating += 1
-		gobject.timeout_add(50, self.pulse)
+                self.pulse()
 		bs.start()
         else:
             self.remoteVersionStore.set_data("troveName", None)
@@ -409,8 +416,8 @@
 		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
 		self.updating += 1
 	
-		gobject.timeout_add(50, self.pulse)
-		fs.start()
+		self.pulse()
+                fs.start()
 	    else:
 		self.remoteVersionStore.set_data("selectedTrove", None)
 	else:
@@ -591,25 +598,26 @@
                 print "Erasing version %s of trove %s" % (object[0], object[1].asString())
            
          self.updating += 1
-         gobject.timeout_add(50, self.pulse)
+         self.pulse()
          thread = conaryinterface.DoOperations(client, operations, self.statusBarUpdater, self.operationsComplete)
          thread.start()
 
     def operationsComplete(self, results, error):
-        if error:
-            text = "Error: " + error
-            icon = gtk.MESSAGE_ERROR
-        else:
-            text = "Completed %d operations." % results
-            icon = gtk.MESSAGE_INFO
-            self.operations = []
-            self.updateOpsPending()
-
         self.updating -= 1
-        dialog = gtk.MessageDialog(self.parent, 0, icon, gtk.BUTTONS_CLOSE, text)
-        response = dialog.run()
-        if response == gtk.RESPONSE_CLOSE:
-            dialog.destroy()
+        if results > 0:
+            if error:
+                text = "Error: " + error
+                icon = gtk.MESSAGE_ERROR
+            else:
+                text = "Completed %d operations." % results
+                icon = gtk.MESSAGE_INFO
+                self.operations = []
+                self.updateOpsPending()
+
+            dialog = gtk.MessageDialog(self.parent, 0, icon, gtk.BUTTONS_CLOSE, text)
+            response = dialog.run()
+            if response == gtk.RESPONSE_CLOSE:
+                dialog.destroy()
 
         self.onRefresh()
 


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- conaryinterface.py	14 Sep 2004 21:47:58 -0000	1.41
+++ conaryinterface.py	15 Sep 2004 20:23:51 -0000	1.42
@@ -75,6 +75,16 @@
 	self.callback(retval, error)
 	gtk.threads_leave()
 
+    def errorDialog(self, error, buttons):
+        gtk.threads_enter()
+        dialog = gtk.MessageDialog(type = gtk.MESSAGE_ERROR,
+                                   buttons = buttons,
+                                   message_format = error)
+        retval = dialog.run()
+        dialog.destroy()
+        gtk.threads_leave()
+        return retval
+
 class ApplyChangeSet(ConaryOperation):
     """
     Apply a changeset file to the local system.
@@ -202,7 +212,7 @@
 
 class DoOperations(ConaryOperation):
     """
-    Perform a set of operations passed from the main GUI
+    Perform a set of update and erase operations passed from the main GUI
     """
 
     NO_STATUS = 0
@@ -215,27 +225,59 @@
         self.labelUpdater = labelUpdater
 
     def doOperation(self):
+        completed = 0
+        pending = len(self.operations)
+        
         for object, status in self.operations:
             troveName = object[0]
             version = object[1]
 
-            if status == self.MARKED_FOR_UPDATE:
-                gtk.threads_enter()
-                self.labelUpdater("Updating trove %s to version %s" % (troveName, version.trailingVersion().asString()))
-                gtk.threads_leave()
+            if pending > 1:
+                buttons = gtk.BUTTONS_YES_NO
+                continue_string = "\n\nContinue?"
+            else:
+                buttons = gtk.BUTTONS_OK
+                continue_string = ""
+            
+            message = ""
+            try:
+                if status == self.MARKED_FOR_UPDATE:
+                    # in case of error
+                    message = "Error updating trove %s to version %s\n\n" % (troveName, version.trailingVersion().asString())
+
+                    gtk.threads_enter()
+                    self.labelUpdater("Updating trove %s to version %s" % (troveName, version.trailingVersion().asString()))
+                    gtk.threads_leave()
+                    self.client.updateTrove([(troveName, version.asString())])
+                    
+                elif status == self.MARKED_FOR_ERASE:
+                    # in case of error
+                    message = "Error erasing trove %s, version %s:\n\n" % (troveName, version.trailingVersion().asString())
+                    
+                    gtk.threads_enter()                
+                    self.labelUpdater("Erasing trove %s version %s" % (troveName, version.trailingVersion().asString()))
+                    gtk.threads_leave()
+                    self.client.eraseTrove([(troveName, version.asString())])
+
+            except conaryclient.UpdateError:
+                retval = self.errorDialog(message + str(sys.exc_info()[1]) + continue_string,
+                                          buttons)
+            except:
+                raise
+            else:
+                retval = False
+                completed += 1
+
+            if retval == gtk.RESPONSE_NO:
+                break
                 
-                self.client.updateTrove([(troveName, version.asString())])
-            elif status == self.MARKED_FOR_ERASE:
-                gtk.threads_enter()                
-                self.labelUpdater("Erasing trove %s version %s" % (troveName, version.trailingVersion().asString()))
-                gtk.threads_leave()
-                self.client.eraseTrove([(troveName, version.asString())])
+            pending -= 1
 
         gtk.threads_enter()
-        self.labelUpdater("%d operations completed successfully." % len(self.operations))
+        self.labelUpdater("%d operations completed successfully." % completed)
         gtk.threads_leave()
     
-        return len(self.operations)
+        return completed
         
 class FileList(ConaryOperation):
     """


From tgerla@specifixinc.com Wed Sep 15 17:59:56 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8FLxtm4025909
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 15 Sep 2004 17:59:55 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 9DEBD16228
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 15 Sep 2004 15:00:04 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8FM02GP004309; Wed, 15 Sep 2004 18:00:02 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8FM01td004306; Wed, 15 Sep 2004 18:00:01 -0400
Date: Wed, 15 Sep 2004 18:00:01 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409152200.i8FM01td004306@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.42,1.43
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 15 Sep 2004 21:59:56 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv4289

Modified Files:
	conaryinterface.py 
Log Message:
we don't eat all exceptions anymore, yay!


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- conaryinterface.py	15 Sep 2004 20:23:51 -0000	1.42
+++ conaryinterface.py	15 Sep 2004 21:59:59 -0000	1.43
@@ -39,8 +39,6 @@
 # FIXME if the main app is killed before the thread is done, the process doesn't end..
 #       join any threads on exit, or daemonize these?
 
-# FIXME we shouldn't eat all exceptions within run()
-
 class ConaryOperation(threading.Thread):
     """
     Abstract class for a threaded Conary operation with a Gtk-based callback


From tgerla@specifixinc.com Thu Sep 16 09:48:51 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GDmoVR028583
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 09:48:51 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id B976616223
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 06:49:00 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GDmwGP029815; Thu, 16 Sep 2004 09:48:58 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GDmvuk029811; Thu, 16 Sep 2004 09:48:57 -0400
Date: Thu, 16 Sep 2004 09:48:57 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161348.i8GDmvuk029811@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.50,1.51 conaryinterface.py,1.43,1.44
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 13:48:51 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv29799

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
don't add impossible-to-update packages to the update list, fix some console output


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- conary-gui.py	15 Sep 2004 20:23:51 -0000	1.50
+++ conary-gui.py	16 Sep 2004 13:48:55 -0000	1.51
@@ -591,12 +591,6 @@
         dialog = CheckOperations(self.operations, self.onOperationsChecked)
 
     def onOperationsChecked(self, operations):
-         for object, status in operations:
-            if status == self.MARKED_FOR_UPDATE:
-                print "Updating %s to version %s" % (object[0], object[1].asString())
-            elif status == self.MARKED_FOR_ERASE:
-                print "Erasing version %s of trove %s" % (object[0], object[1].asString())
-           
          self.updating += 1
          self.pulse()
          thread = conaryinterface.DoOperations(client, operations, self.statusBarUpdater, self.operationsComplete)
@@ -673,8 +667,9 @@
                 updates.extend(tmpTroves)
             
         for trove in updates:
-            obj = (trove, self.outofdateTroves[trove], None)
-            self.operations.append((obj, self.MARKED_FOR_UPDATE))
+            if trove in self.outofdateTroves:
+                obj = (trove, self.outofdateTroves[trove], None)
+                self.operations.append((obj, self.MARKED_FOR_UPDATE))
         self.updateOpsPending()
 
 class CheckOperations(gtk.glade.XML):


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- conaryinterface.py	15 Sep 2004 21:59:59 -0000	1.43
+++ conaryinterface.py	16 Sep 2004 13:48:55 -0000	1.44
@@ -34,7 +34,8 @@
 from repository import changeset
 
 profiling = False 
-prof = hotshot.Profile("conary-gui.prof", lineevents=False)
+if profiling:
+    prof = hotshot.Profile("conary-gui.prof", lineevents=False)
 
 # FIXME if the main app is killed before the thread is done, the process doesn't end..
 #       join any threads on exit, or daemonize these?
@@ -243,18 +244,26 @@
                     # in case of error
                     message = "Error updating trove %s to version %s\n\n" % (troveName, version.trailingVersion().asString())
 
+                    status = "Updating trove %s to version %s" % (troveName, version.trailingVersion().asString())
+                    print status
+                    
                     gtk.threads_enter()
-                    self.labelUpdater("Updating trove %s to version %s" % (troveName, version.trailingVersion().asString()))
+                    self.labelUpdater(status)
                     gtk.threads_leave()
+                    
                     self.client.updateTrove([(troveName, version.asString())])
                     
                 elif status == self.MARKED_FOR_ERASE:
                     # in case of error
                     message = "Error erasing trove %s, version %s:\n\n" % (troveName, version.trailingVersion().asString())
                     
+                    status = "Erasing trove %s version %s" % (troveName, version.trailingVersion().asString())
+                    print status
+                    
                     gtk.threads_enter()                
-                    self.labelUpdater("Erasing trove %s version %s" % (troveName, version.trailingVersion().asString()))
+                    self.labelUpdater(status)
                     gtk.threads_leave()
+                    
                     self.client.eraseTrove([(troveName, version.asString())])
 
             except conaryclient.UpdateError:


From tgerla@specifixinc.com Thu Sep 16 10:08:30 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GE8UVR028607
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 10:08:30 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 4FCC716223
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 07:08:40 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GE8cGP030470; Thu, 16 Sep 2004 10:08:38 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GE8b70030467; Thu, 16 Sep 2004 10:08:37 -0400
Date: Thu, 16 Sep 2004 10:08:37 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161408.i8GE8b70030467@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.51,1.52
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 14:08:31 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv30455

Modified Files:
	conary-gui.py 
Log Message:
Fix marking out-of-date troves in the version list


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- conary-gui.py	16 Sep 2004 13:48:55 -0000	1.51
+++ conary-gui.py	16 Sep 2004 14:08:35 -0000	1.52
@@ -383,9 +383,11 @@
 
             # XXX this could be done more efficently by switching self.operations
             # over to a dictionary (again)
+            # note: we have to ignore the 3rd item in the obj tuple, the flavor,
+            # since "mark out of date" doesn't fill the flavor
             status = self.NO_STATUS
             for obj, objStatus in self.operations:
-                if obj == (troveName, item, itemInfo["flavor"]):
+                if obj[:2] == (troveName, item):
                     status = objStatus
 
             newIter = self.remoteVersionStore.append(treeIter,


From tgerla@specifixinc.com Thu Sep 16 10:19:39 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GEJcVR028620
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 10:19:38 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8001816223
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 07:19:48 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GEJkGP031165; Thu, 16 Sep 2004 10:19:46 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GEJkfO031162; Thu, 16 Sep 2004 10:19:46 -0400
Date: Thu, 16 Sep 2004 10:19:46 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161419.i8GEJkfO031162@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.52,1.53
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 14:19:39 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv31150

Modified Files:
	conary-gui.py 
Log Message:
remove some crufty, unused code


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- conary-gui.py	16 Sep 2004 14:08:35 -0000	1.52
+++ conary-gui.py	16 Sep 2004 14:19:43 -0000	1.53
@@ -411,44 +411,7 @@
 
 	    version = object[0]
 	    flavor = object[1]
-
-	    if not isinstance(version, versions.Label) and False:
-		self.remoteVersionStore.set_data("selectedTrove", (troveName, version, flavor))
-			    
-		fs = conaryinterface.FileList(client, troveName, version, flavor, self.fileListFinish)
-		self.updating += 1
-	
-		self.pulse()
-                fs.start()
-	    else:
-		self.remoteVersionStore.set_data("selectedTrove", None)
-	else:
-	    self.remoteVersionStore.set_data("selectedTrove", None)
-	    
-    def fileListFinish(self, fileList, error):
-	for (fileId, path, version, file) in fileList:
-	    if isinstance(file, files.SymbolicLink):
-		name = "%s -> %s" %(path, file.target.value())
-	    else:
-		name = path
 	    
-	    self.fileStore.append([file.modeString(), file.inode.owner(), file.inode.group(),
-	                           file.sizeString(), file.timeString(), name])
-	self.updating -= 1
-	
-    def onUpdateToSelectedActivate(self, widget):
-	(troveName, version, flavor) = self.remoteVersionStore.get_data("selectedTrove")
-	message = "Are you sure you want to update to version %s of %s?" %\
-		  (version.trailingVersion().asString(), troveName)
-
-	dialog = gtk.MessageDialog(type = gtk.MESSAGE_QUESTION,
-				   buttons = gtk.BUTTONS_YES_NO,
-				   message_format = message)
-	result = dialog.run()
-	dialog.destroy()
-	if result == gtk.RESPONSE_YES:
-	    updatetrove.UpdateTrove(client, troveName, version, flavor)
-
     def onOpenChangeset(self, widget):
         fs = gtk.FileChooserDialog(title   = 'Open Change Set',
                                    parent  = self.parent,


From tgerla@specifixinc.com Thu Sep 16 10:25:11 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GEPBVR028634
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 10:25:11 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 85B0C16223
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 07:25:21 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GEPJGP031518; Thu, 16 Sep 2004 10:25:19 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GEPJq6031515; Thu, 16 Sep 2004 10:25:19 -0400
Date: Thu, 16 Sep 2004 10:25:19 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161425.i8GEPJq6031515@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.53,1.54
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 14:25:11 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv31503

Modified Files:
	conary-gui.py 
Log Message:
fix unmarking of automatically-marked troves from the operations list


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- conary-gui.py	16 Sep 2004 14:19:43 -0000	1.53
+++ conary-gui.py	16 Sep 2004 14:25:17 -0000	1.54
@@ -542,9 +542,11 @@
     def onUnmark(self, widget):
         model, path = widget.parent.get_data("selectedRow")
         treeIter = model.get_iter(path)
-        object = model[treeIter][self.VERSION_COLUMN_OBJECT]
+        obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
 
-        self.operations.remove((object, model[treeIter][self.VERSION_COLUMN_STATUS])) 
+        for op, status in self.operations:
+            if op[2:] == obj[2:]:
+                self.operations.remove((op, model[treeIter][self.VERSION_COLUMN_STATUS])) 
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.NO_STATUS
         self.updateOpsPending()
         


From tgerla@specifixinc.com Thu Sep 16 10:47:42 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GEldVR028655
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 10:47:41 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id EF78F16223
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 07:47:44 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GEldGP032326; Thu, 16 Sep 2004 10:47:39 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GElcko032322; Thu, 16 Sep 2004 10:47:38 -0400
Date: Thu, 16 Sep 2004 10:47:38 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161447.i8GElcko032322@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.54,1.55 conaryinterface.py,1.44,1.45
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 14:47:44 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv32310

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
change self.operations to a dict instead of a list. hopefully fewer opportunities for bugs.


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- conary-gui.py	16 Sep 2004 14:25:17 -0000	1.54
+++ conary-gui.py	16 Sep 2004 14:47:36 -0000	1.55
@@ -88,7 +88,7 @@
             self.filterHandler[filter] = widget.connect("activate", self.filterMenuItemActivated)
         self.currenFilter = self.VIEW_ALL_TROVES
 
-        self.operations = [] 
+        self.operations = {} 
 	self.parent = self.get_widget("conaryGUI")
 	self.parent.connect( "destroy", self.quit )
         self.updating = 0
@@ -381,14 +381,9 @@
             if isinstance(item, versions.Label) and len(tree[item].keys()) <= 2:
                 continue
 
-            # XXX this could be done more efficently by switching self.operations
-            # over to a dictionary (again)
-            # note: we have to ignore the 3rd item in the obj tuple, the flavor,
-            # since "mark out of date" doesn't fill the flavor
             status = self.NO_STATUS
-            for obj, objStatus in self.operations:
-                if obj[:2] == (troveName, item):
-                    status = objStatus
+            if (troveName, item) in self.operations:
+                status = self.operations[(troveName, item)]
 
             newIter = self.remoteVersionStore.append(treeIter,
                 [(troveName, item, itemInfo["flavor"]),
@@ -526,8 +521,8 @@
         treeIter = model.get_iter(path)
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_UPDATE
         
-        object = model[treeIter][self.VERSION_COLUMN_OBJECT]
-        self.operations.append((object, self.MARKED_FOR_UPDATE))
+        obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
+        self.operations[obj] = self.MARKED_FOR_UPDATE
         self.updateOpsPending()
 
     def onMarkForErase(self, widget):
@@ -535,8 +530,8 @@
         treeIter = model.get_iter(path)
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
 
-        object = model[treeIter][self.VERSION_COLUMN_OBJECT]
-        self.operations.append((object, self.MARKED_FOR_ERASE))
+        obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
+        self.operations[obj] = self.MARKED_FOR_ERASE
         self.updateOpsPending()
 
     def onUnmark(self, widget):
@@ -544,9 +539,8 @@
         treeIter = model.get_iter(path)
         obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
 
-        for op, status in self.operations:
-            if op[2:] == obj[2:]:
-                self.operations.remove((op, model[treeIter][self.VERSION_COLUMN_STATUS])) 
+        if obj in self.operations:
+            del self.operations[obj]
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.NO_STATUS
         self.updateOpsPending()
         
@@ -572,7 +566,7 @@
             else:
                 text = "Completed %d operations." % results
                 icon = gtk.MESSAGE_INFO
-                self.operations = []
+                self.operations = {} 
                 self.updateOpsPending()
 
             dialog = gtk.MessageDialog(self.parent, 0, icon, gtk.BUTTONS_CLOSE, text)
@@ -635,8 +629,8 @@
             
         for trove in updates:
             if trove in self.outofdateTroves:
-                obj = (trove, self.outofdateTroves[trove], None)
-                self.operations.append((obj, self.MARKED_FOR_UPDATE))
+                obj = (trove, self.outofdateTroves[trove])
+                self.operations[obj] = self.MARKED_FOR_UPDATE
         self.updateOpsPending()
 
 class CheckOperations(gtk.glade.XML):
@@ -651,7 +645,7 @@
         ops = ['THIS IS A BUG', 'Update', 'Erase']
         pixmaps = [None, 'gtk-add', 'gtk-remove']
 
-        for object, status in operations:
+        for object, status in operations.iteritems():
             self.store.append([(object, status),
                                True,
                                ops[status],
@@ -701,7 +695,12 @@
         model[path][column] = not model[path][column]
                     
     def onGoButtonClicked(self, button):
-        checkedOps = [x[self.OP_COLUMN_OBJECT] for x in self.store if x[self.OP_COLUMN_TOGGLE]]
+        checkedOps = {}
+        for x in self.store:
+            if x[self.OP_COLUMN_TOGGLE]:
+                obj, status = x[self.OP_COLUMN_OBJECT]
+                checkedOps[obj] = status
+
         self.callback(checkedOps)
         self.window.destroy()
     


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- conaryinterface.py	16 Sep 2004 13:48:55 -0000	1.44
+++ conaryinterface.py	16 Sep 2004 14:47:36 -0000	1.45
@@ -227,7 +227,7 @@
         completed = 0
         pending = len(self.operations)
         
-        for object, status in self.operations:
+        for object, status in self.operations.iteritems():
             troveName = object[0]
             version = object[1]
 


From tgerla@specifixinc.com Thu Sep 16 11:02:52 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GF2pVR028681
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 11:02:52 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 0F52316223
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 08:03:02 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GF2xGP000404; Thu, 16 Sep 2004 11:02:59 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GF2x6E000401; Thu, 16 Sep 2004 11:02:59 -0400
Date: Thu, 16 Sep 2004 11:02:59 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161502.i8GF2x6E000401@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.55,1.56
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 15:02:53 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv389

Modified Files:
	conary-gui.py 
Log Message:
fix unmarking of automatically-marked troves


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- conary-gui.py	16 Sep 2004 14:47:36 -0000	1.55
+++ conary-gui.py	16 Sep 2004 15:02:57 -0000	1.56
@@ -321,7 +321,7 @@
             else:
                 for trove in troveList:
                     version = trove.getVersion()
-                    self.localVersionStore.append([(troveName, version, None), self.NO_STATUS, version.asString()])
+                    self.localVersionStore.append([(troveName, version), self.NO_STATUS, version.asString()])
  
             # fill remote version list
 	    if troveName:
@@ -386,7 +386,7 @@
                 status = self.operations[(troveName, item)]
 
             newIter = self.remoteVersionStore.append(treeIter,
-                [(troveName, item, itemInfo["flavor"]),
+                [(troveName, item),
                  status,
                  itemInfo["text"],
                  str(itemInfo["flavor"]),


From tgerla@specifixinc.com Thu Sep 16 11:16:54 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GFGrVR028723
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 11:16:54 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 3BAAD16223
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 08:17:04 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GFH1GP000845; Thu, 16 Sep 2004 11:17:01 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GFH1RY000843; Thu, 16 Sep 2004 11:17:01 -0400
Date: Thu, 16 Sep 2004 11:17:01 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161517.i8GFH1RY000843@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.desktop,NONE,1.1 specifix.png,NONE,1.1
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 15:16:55 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv829

Added Files:
	conary-gui.desktop specifix.png 
Log Message:
add some helpful items from Ken VanDine


--- NEW FILE conary-gui.desktop ---
[Desktop Entry]
Name=Conary GUI
GenericName=Update system
Comment=Update system
Exec=/usr/bin/conary-gui
Terminal=false
Type=Application
Icon=specifix.png
Encoding=UTF-8
X-Desktop-File-Install-Version=0.6
Categories=Application;System;SystemSetup;


From tgerla@specifixinc.com Thu Sep 16 11:34:20 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GFYJVR028776
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 11:34:20 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id DD74516223
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 08:34:26 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GFYKGP001402; Thu, 16 Sep 2004 11:34:20 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GFYKnV001399; Thu, 16 Sep 2004 11:34:20 -0400
Date: Thu, 16 Sep 2004 11:34:20 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161534.i8GFYKnV001399@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.12,1.13
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 15:34:20 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv1387

Modified Files:
	Makefile 
Log Message:
update makefile for version 0.3


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Makefile	27 Aug 2004 19:24:04 -0000	1.12
+++ Makefile	16 Sep 2004 15:34:18 -0000	1.13
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper
 
-export VERSION = 0.2
+export VERSION = 0.3
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr
@@ -17,14 +17,15 @@
 subdirs_rule=
 
 python_files = conaryinterface.py \
-               conary-gui.py \
-	       updatetrove.py \
-	       gladefiles.py \
-	       applychangeset.py \
-	       statuswindow.py
+		   conary-gui.py \
+		   updatetrove.py \
+		   gladefiles.py \
+		   applychangeset.py \
+		   statuswindow.py
 
 glade_files = conary-gui.glade
-dist_files = $(python_files) $(glade_files) Makefile Make.rules conary-gui-wrapper.in
+desktop_files = specifix.png conary-gui.desktop
+dist_files = $(desktop_files) $(python_files) $(glade_files) Makefile Make.rules conary-gui-wrapper.in
 
 generated_files = *.pyo *.pyc 
 
@@ -48,6 +49,8 @@
 	$(PYTHON) -OO -c "import compileall; compileall.compile_dir('$(DESTDIR)$(conarydir)', ddir='$(conarydir)', quiet=1)"
 	ln -sf conary-gui-wrapper $(DESTDIR)$(bindir)/conary-gui
 	install conary-gui.glade $(DESTDIR)$(conarydir)/gui
+	install conary-gui.desktop $(DESTDIR)$(prefix)/share/applications/
+	install specifix.png $(DESTDIR)$(prefix)/share/pixmaps/
 
 dist: $(dist_files)
 	rm -rf $(DISTDIR)


From tgerla@specifixinc.com Thu Sep 16 13:14:52 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GHEpVR028907
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 13:14:51 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id DD0ED16212
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 10:15:01 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GHExGP003821; Thu, 16 Sep 2004 13:14:59 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GHExNx003818; Thu, 16 Sep 2004 13:14:59 -0400
Date: Thu, 16 Sep 2004 13:14:59 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161714.i8GHExNx003818@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.png, NONE, 1.1 Makefile, 1.13,
	1.14 specifix.png, 1.1, NONE
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 17:14:52 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv3806

Modified Files:
	Makefile 
Added Files:
	conary-gui.png 
Removed Files:
	specifix.png 
Log Message:
fix makefile to properly install desktop pieces


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Makefile	16 Sep 2004 15:34:18 -0000	1.13
+++ Makefile	16 Sep 2004 17:14:57 -0000	1.14
@@ -24,7 +24,7 @@
 		   statuswindow.py
 
 glade_files = conary-gui.glade
-desktop_files = specifix.png conary-gui.desktop
+desktop_files = conary-gui.png conary-gui.desktop
 dist_files = $(desktop_files) $(python_files) $(glade_files) Makefile Make.rules conary-gui-wrapper.in
 
 generated_files = *.pyo *.pyc 
@@ -42,15 +42,17 @@
 install-mkdirs:
 	mkdir -p $(DESTDIR)$(bindir)
 	mkdir -p $(DESTDIR)$(conarydir)/gui
+	mkdir -p $(DESTDIR)$(prefix)/share/applications/
+	mkdir -p $(DESTDIR)$(prefix)/share/pixmaps
 	
 install: all install-mkdirs install-subdirs pyfiles-install
 	install -m 755 conary-gui-wrapper $(DESTDIR)$(bindir)
 	$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)$(conarydir)', ddir='$(conarydir)', quiet=1)"
 	$(PYTHON) -OO -c "import compileall; compileall.compile_dir('$(DESTDIR)$(conarydir)', ddir='$(conarydir)', quiet=1)"
 	ln -sf conary-gui-wrapper $(DESTDIR)$(bindir)/conary-gui
-	install conary-gui.glade $(DESTDIR)$(conarydir)/gui
+	install conary-gui.glade $(DESTDIR)$(conarydir)/gui/
 	install conary-gui.desktop $(DESTDIR)$(prefix)/share/applications/
-	install specifix.png $(DESTDIR)$(prefix)/share/pixmaps/
+	install conary-gui.png $(DESTDIR)$(prefix)/share/pixmaps/
 
 dist: $(dist_files)
 	rm -rf $(DISTDIR)


From tgerla@specifixinc.com Thu Sep 16 13:29:30 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GHTTVR028951
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 13:29:30 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 033B016212
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 10:29:37 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GHTYGP004267; Thu, 16 Sep 2004 13:29:34 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GHTYiU004264; Thu, 16 Sep 2004 13:29:34 -0400
Date: Thu, 16 Sep 2004 13:29:34 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161729.i8GHTYiU004264@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.desktop,1.1,1.2
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 17:29:31 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv4252

Modified Files:
	conary-gui.desktop 
Log Message:
fix icon name


Index: conary-gui.desktop
===================================================================
RCS file: /cvs/conary-gui/conary-gui.desktop,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- conary-gui.desktop	16 Sep 2004 15:16:59 -0000	1.1
+++ conary-gui.desktop	16 Sep 2004 17:29:32 -0000	1.2
@@ -5,7 +5,7 @@
 Exec=/usr/bin/conary-gui
 Terminal=false
 Type=Application
-Icon=specifix.png
+Icon=conary-gui.png
 Encoding=UTF-8
 X-Desktop-File-Install-Version=0.6
 Categories=Application;System;SystemSetup;


From tgerla@specifixinc.com Thu Sep 16 14:14:39 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GIEcVR029077
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 14:14:39 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id EAE3D16212
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 11:14:48 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GIEkGP021488; Thu, 16 Sep 2004 14:14:46 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GIEj6Q021485; Thu, 16 Sep 2004 14:14:45 -0400
Date: Thu, 16 Sep 2004 14:14:45 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409161814.i8GIEj6Q021485@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.56,1.57
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 18:14:39 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv21473

Modified Files:
	conary-gui.py 
Log Message:
make sure a package name is actually the package name, and not part of a package name.


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- conary-gui.py	16 Sep 2004 15:02:57 -0000	1.56
+++ conary-gui.py	16 Sep 2004 18:14:43 -0000	1.57
@@ -616,8 +616,8 @@
             # just the list of components.
             pkgComps = []
             for t in self.remoteTroves:
-                if ':' in t and t.startswith(package) and\
-                   not (t.endswith('source') or t.endswith('test')):
+                if ':' in t and t.startswith(package + ':') and\
+                   not (t.endswith(':source') or t.endswith(':test')):
                     pkgComps.append(t.split(':')[1])
             
             # if the sets are identical, and the package actually exists, update package


From tgerla@specifixinc.com Thu Sep 16 17:47:16 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8GLlFVR029674
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 17:47:16 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A41731622A
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 14:47:25 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8GLlNGP012902; Thu, 16 Sep 2004 17:47:23 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8GLlMwV012898; Thu, 16 Sep 2004 17:47:22 -0400
Date: Thu, 16 Sep 2004 17:47:22 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409162147.i8GLlMwV012898@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.57,1.58 conaryinterface.py,1.45,1.46
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2004 21:47:16 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12886

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
sort operations, update operations pending, preserve failed operations, preserve operation review selections


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- conary-gui.py	16 Sep 2004 18:14:43 -0000	1.57
+++ conary-gui.py	16 Sep 2004 21:47:20 -0000	1.58
@@ -12,6 +12,10 @@
 # or fitness for a particular purpose. See the Common Public License for
 # full details.
 #
+
+# FIXME: centralize status widget changes so that the conaryoperation classes
+#        don't have as much work to do to report status back to the client
+
 profiling = False
 
 import string, os, copy
@@ -196,10 +200,13 @@
 
     ### Utility functions
 		
-    def statusBarUpdater(self, message):
+    def statusBarUpdater(self, message, opsPending = -1):
         self.get_widget("statusbar1").pop(0)
         self.get_widget("statusbar1").push(0, message)
- 
+
+        if opsPending != -1:
+            self.get_widget('opsPending').set_text("Operations pending: %d" % opsPending)
+
     def pulse(self):
         if not self.pulsing:
             gobject.timeout_add(50, self._pulse)
@@ -552,21 +559,23 @@
         dialog = CheckOperations(self.operations, self.onOperationsChecked)
 
     def onOperationsChecked(self, operations):
-         self.updating += 1
-         self.pulse()
-         thread = conaryinterface.DoOperations(client, operations, self.statusBarUpdater, self.operationsComplete)
-         thread.start()
+        self.operations = operations
+        self.updating += 1
+        self.pulse()
+        thread = conaryinterface.DoOperations(client, operations, self.statusBarUpdater, self.operationsComplete)
+        thread.start()
 
     def operationsComplete(self, results, error):
+        failed, completed = results
         self.updating -= 1
-        if results > 0:
+        if len(failed) > 0 or completed > 0:
+            self.operations = failed
             if error:
                 text = "Error: " + error
                 icon = gtk.MESSAGE_ERROR
             else:
-                text = "Completed %d operations." % results
+                text = "Completed %d operations, %d failed." % (completed, len(failed))
                 icon = gtk.MESSAGE_INFO
-                self.operations = {} 
                 self.updateOpsPending()
 
             dialog = gtk.MessageDialog(self.parent, 0, icon, gtk.BUTTONS_CLOSE, text)
@@ -642,15 +651,20 @@
         self.callback = callback
         self.store = self.buildOpsList(operations)
 
-        ops = ['THIS IS A BUG', 'Update', 'Erase']
+        operationTitles = ['THIS IS A BUG', 'Update', 'Erase']
         pixmaps = [None, 'gtk-add', 'gtk-remove']
 
-        for object, status in operations.iteritems():
-            self.store.append([(object, status),
+        ops = operations.keys()
+        ops.sort(lambda a, b: cmp(a[0].lower(), b[0].lower()))
+                
+        for obj in ops:
+            status = operations[obj]
+            troveName, version = obj
+            self.store.append([(obj, status),
                                True,
-                               ops[status],
-                               object[0], 'gtk-forward',
-                               object[1].trailingVersion().asString()])
+                               operationTitles[status],
+                               troveName, 'gtk-forward',
+                               version.trailingVersion().asString()])
         
     def buildOpsList(self, operations):
         troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN, gobject.TYPE_STRING,


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- conaryinterface.py	16 Sep 2004 14:47:36 -0000	1.45
+++ conaryinterface.py	16 Sep 2004 21:47:20 -0000	1.46
@@ -226,10 +226,14 @@
     def doOperation(self):
         completed = 0
         pending = len(self.operations)
+   
+        # perform operations in the same order as they are display on the review list
+        ops = self.operations.keys()
+        ops.sort(lambda a, b: cmp(a[0].lower(), b[0].lower()))
         
-        for object, status in self.operations.iteritems():
-            troveName = object[0]
-            version = object[1]
+        for obj in ops:
+            troveName, version = obj
+            status = self.operations[obj]
 
             if pending > 1:
                 buttons = gtk.BUTTONS_YES_NO
@@ -248,7 +252,7 @@
                     print status
                     
                     gtk.threads_enter()
-                    self.labelUpdater(status)
+                    self.labelUpdater(status, pending)
                     gtk.threads_leave()
                     
                     self.client.updateTrove([(troveName, version.asString())])
@@ -261,7 +265,7 @@
                     print status
                     
                     gtk.threads_enter()                
-                    self.labelUpdater(status)
+                    self.labelUpdater(status, pending)
                     gtk.threads_leave()
                     
                     self.client.eraseTrove([(troveName, version.asString())])
@@ -274,6 +278,8 @@
             else:
                 retval = False
                 completed += 1
+                # if successful, remove operation from the list
+                del self.operations[obj]
 
             if retval == gtk.RESPONSE_NO:
                 break
@@ -284,7 +290,8 @@
         self.labelUpdater("%d operations completed successfully." % completed)
         gtk.threads_leave()
     
-        return completed
+        # return unfininshed operations, and count of completed operations
+        return self.operations, completed
         
 class FileList(ConaryOperation):
     """


From tgerla@specifixinc.com Thu Sep 16 20:46:56 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8H0ktVR030044
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 20:46:55 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id F20731622A
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 17:47:04 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8H0l1GP015949; Thu, 16 Sep 2004 20:47:01 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8H0l1J8015945; Thu, 16 Sep 2004 20:47:01 -0400
Date: Thu, 16 Sep 2004 20:47:01 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409170047.i8H0l1J8015945@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.58,1.59 conaryinterface.py,1.46,1.47
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 17 Sep 2004 00:46:56 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv15925

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
improve status updating between GUI and repository threads


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- conary-gui.py	16 Sep 2004 21:47:20 -0000	1.58
+++ conary-gui.py	17 Sep 2004 00:46:58 -0000	1.59
@@ -95,12 +95,11 @@
         self.operations = {} 
 	self.parent = self.get_widget("conaryGUI")
 	self.parent.connect( "destroy", self.quit )
-        self.updating = 0
         self.pulsing = False
         self.menu = gtk.glade.XML(gladefiles.getGladeFile(), "versionMenu")
         self.menu.signal_autoconnect(self)
 
-        self.updateOpsPending()
+        self.updateStatus(False)
 
         # build remote and local trove lists, fill the local trove tree.
         # once the local trove tree is done, it fills the remote trove tree, based
@@ -200,52 +199,53 @@
 
     ### Utility functions
 		
-    def statusBarUpdater(self, message, opsPending = -1):
-        self.get_widget("statusbar1").pop(0)
-        self.get_widget("statusbar1").push(0, message)
-
-        if opsPending != -1:
-            self.get_widget('opsPending').set_text("Operations pending: %d" % opsPending)
-
-    def pulse(self):
-        if not self.pulsing:
-            gobject.timeout_add(50, self._pulse)
-        self.pulsing = True
-        
     def _pulse(self):
-	if self.updating:
+	if self.pulsing:
             self.get_widget('main_gui').set_sensitive(False)
 	    self.get_widget('progressBar').pulse()
 	else:
 	    self.get_widget('progressBar').set_fraction(0.0)
             self.get_widget('main_gui').set_sensitive(True)
+	return self.pulsing
+    
+    def updateStatus(self, busy, statusBarText="", opsPending=-1):
+        if opsPending != -1:
+            text = "Operations pending: %d" % opsPending
+        else:
+            text = "Operations pending: %d" % len(self.operations)
+        self.get_widget('opsPending').set_text(text)
+
+        self.get_widget("statusbar1").pop(0)
+        self.get_widget("statusbar1").push(0, statusBarText)
+
+        if busy and not self.pulsing:
+            gobject.timeout_add(50, self._pulse)
+            self.pulsing = True
+        if not busy:
             self.pulsing = False
-	return self.updating
-             
+    
     ### Trove tree methods
  
     def updateTroveTreeBegin(self):
-        self.statusBarUpdater("Updating local trove list...")
-        self.updating += 1
-        self.pulse()
-
-        troveList = conaryinterface.LocalTroveList(client, self.statusBarUpdater, self.updateTroveTreeFinish)
+        self.updateStatus(True, "Updating local trove list...")
+        troveList = conaryinterface.LocalTroveList(client, self.updateStatus, self.updateTroveTreeFinish)
         troveList.start()
 
     def updateTroveTreeFinish(self, results, error):
-        self.statusBarUpdater("")
+        self.updateStatus(False)
         localTroves, self.outofdateTroves, repos = results
 
         self.localTroves = Set(localTroves)
         self.updateRemoteTroveTreeBegin(repos)
 
     def updateRemoteTroveTreeBegin(self, repos):
-        troveList = conaryinterface.TroveList(client, repos, self.statusBarUpdater, self.updateRemoteTroveTreeFinish)
+        self.updateStatus(True, "Querying remote repositories...")
+        troveList = conaryinterface.TroveList(client, repos, self.updateStatus, self.updateRemoteTroveTreeFinish)
         troveList.start()
 
     def updateRemoteTroveTreeFinish(self, results, error):
         troves, brokenRepos = results
-        self.statusBarUpdater("")
+        self.updateStatus(False)
 
         # set up the various sets of troves
         self.remoteTroves = Set(troves)
@@ -260,8 +260,6 @@
 
         self._fillTroveTree()
       
-        self.updating -= 1
-        
         if brokenRepos:
             message = "The following repositories could not be accessed:<b>\n\n" + "\n".join(brokenRepos) + "</b>"
             dialog = gtk.MessageDialog(type = gtk.MESSAGE_INFO,
@@ -332,9 +330,8 @@
  
             # fill remote version list
 	    if troveName:
-		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateBranchStructureFinish)       
-		self.updating += 1
-                self.pulse()
+		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateBranchStructureFinish)
+                self.updateStatus(True)
 		bs.start()
         else:
             self.remoteVersionStore.set_data("troveName", None)
@@ -344,7 +341,7 @@
         troveName = self.remoteVersionStore.get_data("troveName")
         self._fillVersionTree(tree, None, None, troveName)
 	self.get_widget("remoteVersionTree").expand_all()
-	self.updating -= 1
+        self.updateStatus(False)
 
     def cmpVersion(self, x, y):
         if isinstance(x[0], versions.Label) or isinstance(y[0], versions.Label):
@@ -530,7 +527,7 @@
         
         obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
         self.operations[obj] = self.MARKED_FOR_UPDATE
-        self.updateOpsPending()
+        self.updateStatus(False)
 
     def onMarkForErase(self, widget):
         model, path = widget.parent.get_data("selectedRow")
@@ -539,7 +536,7 @@
 
         obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
         self.operations[obj] = self.MARKED_FOR_ERASE
-        self.updateOpsPending()
+        self.updateStatus(False)
 
     def onUnmark(self, widget):
         model, path = widget.parent.get_data("selectedRow")
@@ -549,25 +546,21 @@
         if obj in self.operations:
             del self.operations[obj]
         model[treeIter][self.VERSION_COLUMN_STATUS] = self.NO_STATUS
-        self.updateOpsPending()
+        self.updateStatus(False)
         
-    def updateOpsPending(self):
-        pending = len(self.operations)
-        self.get_widget('opsPending').set_text("Operations pending: %d" % pending)
-       
     def onGoButtonClicked(self, button):
         dialog = CheckOperations(self.operations, self.onOperationsChecked)
 
     def onOperationsChecked(self, operations):
         self.operations = operations
-        self.updating += 1
-        self.pulse()
-        thread = conaryinterface.DoOperations(client, operations, self.statusBarUpdater, self.operationsComplete)
+        self.updateStatus(True)
+        thread = conaryinterface.DoOperations(client, operations, self.updateStatus, self.operationsComplete)
         thread.start()
 
     def operationsComplete(self, results, error):
         failed, completed = results
-        self.updating -= 1
+        self.updateStatus(False)
+        
         if len(failed) > 0 or completed > 0:
             self.operations = failed
             if error:
@@ -576,7 +569,6 @@
             else:
                 text = "Completed %d operations, %d failed." % (completed, len(failed))
                 icon = gtk.MESSAGE_INFO
-                self.updateOpsPending()
 
             dialog = gtk.MessageDialog(self.parent, 0, icon, gtk.BUTTONS_CLOSE, text)
             response = dialog.run()
@@ -640,7 +632,7 @@
             if trove in self.outofdateTroves:
                 obj = (trove, self.outofdateTroves[trove])
                 self.operations[obj] = self.MARKED_FOR_UPDATE
-        self.updateOpsPending()
+        self.updateStatus(False)
 
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, callback):


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- conaryinterface.py	16 Sep 2004 21:47:20 -0000	1.46
+++ conaryinterface.py	17 Sep 2004 00:46:58 -0000	1.47
@@ -45,10 +45,11 @@
     Abstract class for a threaded Conary operation with a Gtk-based callback
     to be called when the operation is complete.
     """
-    def __init__(self, client, callback):
+    def __init__(self, client, statusCallback, finishedCallback):
 	threading.Thread.__init__(self)	
         self.client = client
-        self.callback = callback
+        self._statusCallback = statusCallback
+        self.finishedCallback = finishedCallback
 	
     def run(self):
 	try:
@@ -69,9 +70,14 @@
     def doOperation(self):
 	pass
 
+    def updateStatus(self, *args, **kwargs):
+        gtk.threads_enter()
+        self._statusCallback(*args, **kwargs)
+        gtk.threads_leave()
+
     def finish(self, retval, error):
 	gtk.threads_enter()
-	self.callback(retval, error)
+	self.finishedCallback(retval, error)
 	gtk.threads_leave()
 
     def errorDialog(self, error, buttons):
@@ -89,8 +95,8 @@
     Apply a changeset file to the local system.
     """
 
-    def __init__(self, client, filename, callback):
-	ConaryOperation.__init__(self, client, callback)
+    def __init__(self, client, filename, statusCallback, finishedCallback):
+	ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
         self.filename = filename
 
     def doOperation(self):
@@ -102,10 +108,9 @@
     Retrieve a list of all troves in the repositories.
     """
 
-    def __init__(self, client, foundRepos, statusBarUpdater, callback):
-        ConaryOperation.__init__(self, client, callback)
+    def __init__(self, client, foundRepos, statusCallback, finishedCallback):
+        ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
         self.foundRepos = foundRepos
-        self.statusBarUpdater = statusBarUpdater
         
     def doOperation(self):
 	troves = []
@@ -119,11 +124,9 @@
 
         for repo in allRepos:
             try:
-                gtk.threads_enter()
-                self.statusBarUpdater("Updating trove list from repository: %s" % repo)
-                gtk.threads_leave()
+                self.updateStatus(True, "Updating trove list from repository: %s" % repo)
                 troves += [ x for x in self.client.repos.iterAllTroveNames(repo) ]
-            except:
+            except: # FIXME don't catch all exceptions here!
                 brokenRepos[repo] = True
                 print "warning: failed to open repo %s, skipping" % repo
 
@@ -135,9 +138,6 @@
     Also parses those trove versions to generate a list of all
     remote repositories this system has installed troves from.
     """
-    def __init__(self, client, statusBarUpdater, callback):
-        ConaryOperation.__init__(self, client, callback)
-        self.statusBarUpdater = statusBarUpdater
                             
     def doOperation(self):
         troves = self.client.db.iterAllTroveNames()
@@ -164,9 +164,7 @@
         updates = {}
         notavail = []
 
-        gtk.threads_enter()
-        self.statusBarUpdater("Finding out-of-date troves...")
-        gtk.threads_leave()
+        self.updateStatus(True, "Finding out-of-date troves...")
         
         labels = repos.keys()
         for label in labels:
@@ -198,8 +196,8 @@
     """
     Update the local system to a certain trove, by version and flavor.
     """
-    def __init__(self, client, troveName, version, flavor, callback):
-	ConaryOperation.__init__(self, client, callback)
+    def __init__(self, client, troveName, version, flavor, statusCallback, finishedCallback):
+	ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
 	self.troveName = troveName
 	self.version = version
 	self.flavor = flavor
@@ -218,10 +216,9 @@
     MARKED_FOR_UPDATE = 1
     MARKED_FOR_ERASE = 2
 
-    def __init__(self, client, operations, labelUpdater, callback):
-        ConaryOperation.__init__(self, client, callback)
+    def __init__(self, client, operations, statusCallback, finishedCallback):
+        ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
         self.operations = operations
-        self.labelUpdater = labelUpdater
 
     def doOperation(self):
         completed = 0
@@ -251,10 +248,8 @@
                     status = "Updating trove %s to version %s" % (troveName, version.trailingVersion().asString())
                     print status
                     
-                    gtk.threads_enter()
-                    self.labelUpdater(status, pending)
-                    gtk.threads_leave()
-                    
+
+                    self.updateStatus(True, status, opsPending=pending)
                     self.client.updateTrove([(troveName, version.asString())])
                     
                 elif status == self.MARKED_FOR_ERASE:
@@ -264,10 +259,7 @@
                     status = "Erasing trove %s version %s" % (troveName, version.trailingVersion().asString())
                     print status
                     
-                    gtk.threads_enter()                
-                    self.labelUpdater(status, pending)
-                    gtk.threads_leave()
-                    
+                    self.updateStatus(True, status, opsPending=pending)
                     self.client.eraseTrove([(troveName, version.asString())])
 
             except conaryclient.UpdateError:
@@ -286,10 +278,8 @@
                 
             pending -= 1
 
-        gtk.threads_enter()
-        self.labelUpdater("%d operations completed successfully." % completed)
-        gtk.threads_leave()
-    
+        self.updateStatus(False, "%d operations completed successfully." % completed)
+   
         # return unfininshed operations, and count of completed operations
         return self.operations, completed
         
@@ -297,9 +287,8 @@
     """
     Retrieve a list of all files inside a trove.
     """
-    def __init__(self, client, troveName, version, flavor, callback):
-	ConaryOperation.__init__(self, client, callback)
-	
+    def __init__(self, client, troveName, version, flavor, statusCallback, finishedCallback):
+	ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
 	self.troveName = troveName
 	self.version = version
 	self.flavor = flavor
@@ -316,8 +305,8 @@
     """
     Given a trove name, return a tree-like structure of versions and branches.
     """
-    def __init__(self, client, troveName, startLabelHost, callback):
-	ConaryOperation.__init__(self, client, callback)
+    def __init__(self, client, troveName, startLabelHost, statusCallback, finishedCallback):
+	ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
 	self.troveName = troveName
 
     def doOperation(self):


From tgerla@specifixinc.com Fri Sep 17 00:16:39 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8H4GcVR030525
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 17 Sep 2004 00:16:39 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 468B11622A
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 16 Sep 2004 21:16:48 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8H4GjGP018243; Fri, 17 Sep 2004 00:16:45 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8H4GjuK018240; Fri, 17 Sep 2004 00:16:45 -0400
Date: Fri, 17 Sep 2004 00:16:45 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409170416.i8H4GjuK018240@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.47,1.48
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 17 Sep 2004 04:16:40 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv18222

Modified Files:
	conaryinterface.py 
Log Message:
remove some silly blank lines


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- conaryinterface.py	17 Sep 2004 00:46:58 -0000	1.47
+++ conaryinterface.py	17 Sep 2004 04:16:42 -0000	1.48
@@ -244,24 +244,19 @@
                 if status == self.MARKED_FOR_UPDATE:
                     # in case of error
                     message = "Error updating trove %s to version %s\n\n" % (troveName, version.trailingVersion().asString())
-
                     status = "Updating trove %s to version %s" % (troveName, version.trailingVersion().asString())
                     print status
-                    
 
                     self.updateStatus(True, status, opsPending=pending)
                     self.client.updateTrove([(troveName, version.asString())])
-                    
                 elif status == self.MARKED_FOR_ERASE:
                     # in case of error
                     message = "Error erasing trove %s, version %s:\n\n" % (troveName, version.trailingVersion().asString())
-                    
                     status = "Erasing trove %s version %s" % (troveName, version.trailingVersion().asString())
                     print status
                     
                     self.updateStatus(True, status, opsPending=pending)
                     self.client.eraseTrove([(troveName, version.asString())])
-
             except conaryclient.UpdateError:
                 retval = self.errorDialog(message + str(sys.exc_info()[1]) + continue_string,
                                           buttons)


From tgerla@specifixinc.com Fri Sep 17 23:27:03 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8I3R2VR015022
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 17 Sep 2004 23:27:02 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 7AAAB1622D
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 17 Sep 2004 20:27:13 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8I3RAGP021292; Fri, 17 Sep 2004 23:27:10 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8I3R9vh021289; Fri, 17 Sep 2004 23:27:09 -0400
Date: Fri, 17 Sep 2004 23:27:09 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409180327.i8I3R9vh021289@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.59,1.60
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sat, 18 Sep 2004 03:27:04 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv21277

Modified Files:
	conary-gui.py 
Log Message:
fix version list viewing


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- conary-gui.py	17 Sep 2004 00:46:58 -0000	1.59
+++ conary-gui.py	18 Sep 2004 03:27:07 -0000	1.60
@@ -330,7 +330,7 @@
  
             # fill remote version list
 	    if troveName:
-		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateBranchStructureFinish)
+		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateStatus, self.updateBranchStructureFinish)
                 self.updateStatus(True)
 		bs.start()
         else:


From tgerla@specifixinc.com Wed Sep 22 17:12:47 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8MLCkVR025438
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 22 Sep 2004 17:12:46 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8F24116212
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 22 Sep 2004 14:13:03 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8MLCmGP031008; Wed, 22 Sep 2004 17:12:48 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8MLCltb031004; Wed, 22 Sep 2004 17:12:47 -0400
Date: Wed, 22 Sep 2004 17:12:47 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409222112.i8MLCltb031004@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.60,1.61 conaryinterface.py,1.48,1.49
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 22 Sep 2004 21:12:47 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv30992

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
work with the new ConaryClient interface: dependencies work


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- conary-gui.py	18 Sep 2004 03:27:07 -0000	1.60
+++ conary-gui.py	22 Sep 2004 21:12:45 -0000	1.61
@@ -209,6 +209,7 @@
 	return self.pulsing
     
     def updateStatus(self, busy, statusBarText="", opsPending=-1):
+        print self
         if opsPending != -1:
             text = "Operations pending: %d" % opsPending
         else:
@@ -219,11 +220,13 @@
         self.get_widget("statusbar1").push(0, statusBarText)
 
         if busy and not self.pulsing:
-            gobject.timeout_add(50, self._pulse)
+            print "calling pulse", self.pulsing
             self.pulsing = True
+            gobject.timeout_add(50, self._pulse)
         if not busy:
             self.pulsing = False
-    
+        self._pulse()    
+
     ### Trove tree methods
  
     def updateTroveTreeBegin(self):
@@ -558,23 +561,7 @@
         thread.start()
 
     def operationsComplete(self, results, error):
-        failed, completed = results
         self.updateStatus(False)
-        
-        if len(failed) > 0 or completed > 0:
-            self.operations = failed
-            if error:
-                text = "Error: " + error
-                icon = gtk.MESSAGE_ERROR
-            else:
-                text = "Completed %d operations, %d failed." % (completed, len(failed))
-                icon = gtk.MESSAGE_INFO
-
-            dialog = gtk.MessageDialog(self.parent, 0, icon, gtk.BUTTONS_CLOSE, text)
-            response = dialog.run()
-            if response == gtk.RESPONSE_CLOSE:
-                dialog.destroy()
-
         self.onRefresh()
 
     def filterMenuItemActivated(self, item):


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- conaryinterface.py	17 Sep 2004 04:16:42 -0000	1.48
+++ conaryinterface.py	22 Sep 2004 21:12:45 -0000	1.49
@@ -23,7 +23,6 @@
 import sys
 import os
 from lib import log
-import hotshot, hotshot.stats
 
 import conarycfg
 import versions
@@ -32,10 +31,7 @@
 from local import database
 from repository import repository
 from repository import changeset
-
-profiling = False 
-if profiling:
-    prof = hotshot.Profile("conary-gui.prof", lineevents=False)
+from lib import util
 
 # FIXME if the main app is killed before the thread is done, the process doesn't end..
 #       join any threads on exit, or daemonize these?
@@ -52,19 +48,8 @@
         self.finishedCallback = finishedCallback
 	
     def run(self):
-	try:
-            if profiling:
-                prof.start()
-            retval = self.doOperation()
-            if profiling:
-                prof.stop()
-
-	except:
-            raise
-	    error = str(sys.exc_info()[1])
-	    retval = None
-	else:
-	    error = None
+        retval = self.doOperation()
+        error = None
 	self.finish(retval, error)
 
     def doOperation(self):
@@ -80,9 +65,9 @@
 	self.finishedCallback(retval, error)
 	gtk.threads_leave()
 
-    def errorDialog(self, error, buttons):
+    def messageDialog(self, error, type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK):
         gtk.threads_enter()
-        dialog = gtk.MessageDialog(type = gtk.MESSAGE_ERROR,
+        dialog = gtk.MessageDialog(type = type,
                                    buttons = buttons,
                                    message_format = error)
         retval = dialog.run()
@@ -223,60 +208,66 @@
     def doOperation(self):
         completed = 0
         pending = len(self.operations)
-   
+  
         # perform operations in the same order as they are display on the review list
         ops = self.operations.keys()
         ops.sort(lambda a, b: cmp(a[0].lower(), b[0].lower()))
+       
+        updates = [(x[0], x[1].asString()) for x in ops if self.operations[x] == self.MARKED_FOR_UPDATE]
+        erases = [(x[0], x[1].asString()) for x in ops if self.operations[x] == self.MARKED_FOR_ERASE]
         
-        for obj in ops:
-            troveName, version = obj
-            status = self.operations[obj]
-
-            if pending > 1:
-                buttons = gtk.BUTTONS_YES_NO
-                continue_string = "\n\nContinue?"
+        try:
+            self.updateStatus(True, "Resolving dependencies...")
+            (cs, depFailures, suggMap) = self.client.updateChangeSet(updates)
+
+            if depFailures:
+                raise DepsFailed, depFailures
+            elif suggMap:
+                message = "Including extra troves for dependency resolution:\n\n"
+                for (req, suggList) in suggMap.iteritems():
+                    message += "%s -> %s\n" % (req, " ".join([x[0] for x in suggList]))
+                message += "\n\nContinue?"
+
+                retval = self.messageDialog(message, buttons=gtk.BUTTONS_YES_NO)
             else:
-                buttons = gtk.BUTTONS_OK
-                continue_string = ""
+                retval = gtk.RESPONSE_OK
+                
+            if retval in (gtk.RESPONSE_YES, gtk.RESPONSE_OK):
+                self.updateStatus(True, "Applying changeset...")
+                self.client.applyUpdate(cs)
+                
+        except (repository.CommitError, conaryclient.UpdateError), e:
+            self.messageDialog("Error updating troves: " + str(sys.exc_info()[1]))
+            self.updateStatus(False, "Operation failed.")
+            return
+        except DepsFailed, depFailures:
+            message = "The following dependencies could not be resolved:\n\n"
+            for (troveName, depSet) in depFailures:
+                message += "%s:\n\t%s\n" % (troveName, "\n\t".join(str(depSet).split("\n")))
+            self.messageDialog(message)
+            self.updateStatus(False, "Operation failed")
+            return
+        else:
+            for ops in self.operations.keys():
+                if self.operations[ops] == self.MARKED_FOR_UPDATE:
+                    del self.operations[ops]
             
-            message = ""
-            try:
-                if status == self.MARKED_FOR_UPDATE:
-                    # in case of error
-                    message = "Error updating trove %s to version %s\n\n" % (troveName, version.trailingVersion().asString())
-                    status = "Updating trove %s to version %s" % (troveName, version.trailingVersion().asString())
-                    print status
-
-                    self.updateStatus(True, status, opsPending=pending)
-                    self.client.updateTrove([(troveName, version.asString())])
-                elif status == self.MARKED_FOR_ERASE:
-                    # in case of error
-                    message = "Error erasing trove %s, version %s:\n\n" % (troveName, version.trailingVersion().asString())
-                    status = "Erasing trove %s version %s" % (troveName, version.trailingVersion().asString())
-                    print status
+        try:
+            self.updateStatus(True, "Removing packages marked for erase")
+            self.client.eraseTrove(erases)
+        except (repository.CommitError, conaryclient.UpdateError), e:
+            self.messageDialog("Error erasing troves: " + str(sys.exc_info()[1]))
+            self.updateStatus(False, "Operation failed.")
+            return
+        else:
+            for ops in self.operations.keys():
+                if self.operations[ops] == self.MARKED_FOR_ERASE:
+                    del self.operations[ops]
                     
-                    self.updateStatus(True, status, opsPending=pending)
-                    self.client.eraseTrove([(troveName, version.asString())])
-            except conaryclient.UpdateError:
-                retval = self.errorDialog(message + str(sys.exc_info()[1]) + continue_string,
-                                          buttons)
-            except:
-                raise
-            else:
-                retval = False
-                completed += 1
-                # if successful, remove operation from the list
-                del self.operations[obj]
-
-            if retval == gtk.RESPONSE_NO:
-                break
-                
-            pending -= 1
-
-        self.updateStatus(False, "%d operations completed successfully." % completed)
+        self.updateStatus(False, "Operations completed successfully.")
    
         # return unfininshed operations, and count of completed operations
-        return self.operations, completed
+        return self.operations
         
 class FileList(ConaryOperation):
     """


From tgerla@specifixinc.com Wed Sep 22 17:13:25 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8MLDOVR025508
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 22 Sep 2004 17:13:25 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 6BF5916212
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 22 Sep 2004 14:13:42 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8MLDZGP031087; Wed, 22 Sep 2004 17:13:35 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8MLDZqO031084; Wed, 22 Sep 2004 17:13:35 -0400
Date: Wed, 22 Sep 2004 17:13:35 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409222113.i8MLDZqO031084@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.61,1.62
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 22 Sep 2004 21:13:25 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv31072

Modified Files:
	conary-gui.py 
Log Message:
remove debug prints


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- conary-gui.py	22 Sep 2004 21:12:45 -0000	1.61
+++ conary-gui.py	22 Sep 2004 21:13:33 -0000	1.62
@@ -209,7 +209,6 @@
 	return self.pulsing
     
     def updateStatus(self, busy, statusBarText="", opsPending=-1):
-        print self
         if opsPending != -1:
             text = "Operations pending: %d" % opsPending
         else:
@@ -220,7 +219,6 @@
         self.get_widget("statusbar1").push(0, statusBarText)
 
         if busy and not self.pulsing:
-            print "calling pulse", self.pulsing
             self.pulsing = True
             gobject.timeout_add(50, self._pulse)
         if not busy:


From tgerla@specifixinc.com Wed Sep 22 17:19:15 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8MLJFVR026048
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 22 Sep 2004 17:19:15 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 765C516212
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 22 Sep 2004 14:19:32 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8MLJPGP031257; Wed, 22 Sep 2004 17:19:25 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8MLJPOY031253; Wed, 22 Sep 2004 17:19:25 -0400
Date: Wed, 22 Sep 2004 17:19:25 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409222119.i8MLJPOY031253@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.62,1.63 conaryinterface.py,1.49,1.50
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 22 Sep 2004 21:19:15 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv31241

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
the progress pulser has a few bugs...attempt to move most status updating to conaryinterface


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- conary-gui.py	22 Sep 2004 21:13:33 -0000	1.62
+++ conary-gui.py	22 Sep 2004 21:19:23 -0000	1.63
@@ -223,7 +223,6 @@
             gobject.timeout_add(50, self._pulse)
         if not busy:
             self.pulsing = False
-        self._pulse()    
 
     ### Trove tree methods
  
@@ -233,20 +232,17 @@
         troveList.start()
 
     def updateTroveTreeFinish(self, results, error):
-        self.updateStatus(False)
         localTroves, self.outofdateTroves, repos = results
 
         self.localTroves = Set(localTroves)
         self.updateRemoteTroveTreeBegin(repos)
 
     def updateRemoteTroveTreeBegin(self, repos):
-        self.updateStatus(True, "Querying remote repositories...")
         troveList = conaryinterface.TroveList(client, repos, self.updateStatus, self.updateRemoteTroveTreeFinish)
         troveList.start()
 
     def updateRemoteTroveTreeFinish(self, results, error):
         troves, brokenRepos = results
-        self.updateStatus(False)
 
         # set up the various sets of troves
         self.remoteTroves = Set(troves)
@@ -332,7 +328,6 @@
             # fill remote version list
 	    if troveName:
 		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateStatus, self.updateBranchStructureFinish)
-                self.updateStatus(True)
 		bs.start()
         else:
             self.remoteVersionStore.set_data("troveName", None)
@@ -342,7 +337,6 @@
         troveName = self.remoteVersionStore.get_data("troveName")
         self._fillVersionTree(tree, None, None, troveName)
 	self.get_widget("remoteVersionTree").expand_all()
-        self.updateStatus(False)
 
     def cmpVersion(self, x, y):
         if isinstance(x[0], versions.Label) or isinstance(y[0], versions.Label):
@@ -554,12 +548,10 @@
 
     def onOperationsChecked(self, operations):
         self.operations = operations
-        self.updateStatus(True)
         thread = conaryinterface.DoOperations(client, operations, self.updateStatus, self.operationsComplete)
         thread.start()
 
     def operationsComplete(self, results, error):
-        self.updateStatus(False)
         self.onRefresh()
 
     def filterMenuItemActivated(self, item):


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- conaryinterface.py	22 Sep 2004 21:12:45 -0000	1.49
+++ conaryinterface.py	22 Sep 2004 21:19:23 -0000	1.50
@@ -115,6 +115,7 @@
                 brokenRepos[repo] = True
                 print "warning: failed to open repo %s, skipping" % repo
 
+        self.updateStatus(False)
 	return troves, brokenRepos
 
 class LocalTroveList(ConaryOperation):
@@ -174,7 +175,8 @@
                             continue
                         if v.isAfter(lv):
                             updates[pkg] = v
-     
+    
+        self.updateStatus(False)
         return (troveList, updates, labels)
         
 class UpdateTrove(ConaryOperation):
@@ -248,6 +250,7 @@
             self.updateStatus(False, "Operation failed")
             return
         else:
+            self.updateStatus(False)
             for ops in self.operations.keys():
                 if self.operations[ops] == self.MARKED_FOR_UPDATE:
                     del self.operations[ops]
@@ -263,8 +266,7 @@
             for ops in self.operations.keys():
                 if self.operations[ops] == self.MARKED_FOR_ERASE:
                     del self.operations[ops]
-                    
-        self.updateStatus(False, "Operations completed successfully.")
+            self.updateStatus(False, "Operations completed successfully.")
    
         # return unfininshed operations, and count of completed operations
         return self.operations


From tgerla@specifixinc.com Wed Sep 29 17:38:19 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8TLcJVR013744
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 29 Sep 2004 17:38:19 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 6436F16228
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 29 Sep 2004 14:38:44 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8TLcdGP014930; Wed, 29 Sep 2004 17:38:39 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8TLcd22014927; Wed, 29 Sep 2004 17:38:39 -0400
Date: Wed, 29 Sep 2004 17:38:39 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409292138.i8TLcd22014927@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui-wrapper.in,1.2,1.3
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 29 Sep 2004 21:38:19 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv14915

Modified Files:
	conary-gui-wrapper.in 
Log Message:
remove reference to obsolete conary-python


Index: conary-gui-wrapper.in
===================================================================
RCS file: /cvs/conary-gui/conary-gui-wrapper.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- conary-gui-wrapper.in	23 Aug 2004 20:15:53 -0000	1.2
+++ conary-gui-wrapper.in	29 Sep 2004 21:38:37 -0000	1.3
@@ -13,7 +13,7 @@
 # full details.
 #
 
-PYTHONORDER="/usr/lib/conary/python/bin/python2.3 python2.3 python23 python"
+PYTHONORDER="python2.3 python23 python"
 
 for p in $PYTHONORDER; do
     if type $p > /dev/null 2>&1; then


From tgerla@specifixinc.com Thu Sep 30 10:20:25 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8UEKOVR021857
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 30 Sep 2004 10:20:25 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 5F7D9164DB
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 30 Sep 2004 07:20:50 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8UEKkGP003218; Thu, 30 Sep 2004 10:20:46 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8UEKkpV003213; Thu, 30 Sep 2004 10:20:46 -0400
Date: Thu, 30 Sep 2004 10:20:46 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409301420.i8UEKkpV003213@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.32, 1.33 conary-gui.py, 1.63,
	1.64 conaryinterface.py, 1.51, 1.52
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 30 Sep 2004 14:20:26 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv3201

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
add 'locally built troves' display for locally cooked and emerged troves


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- conary-gui.glade	14 Sep 2004 21:47:58 -0000	1.32
+++ conary-gui.glade	30 Sep 2004 14:20:43 -0000	1.33
@@ -47,7 +47,7 @@
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image32">
+			<widget class="GtkImage" id="image38">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -69,7 +69,7 @@
 		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image33">
+			<widget class="GtkImage" id="image39">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -97,7 +97,7 @@
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image34">
+			<widget class="GtkImage" id="image40">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -163,6 +163,16 @@
 		  </child>
 
 		  <child>
+		    <widget class="GtkRadioMenuItem" id="viewLocallyBuiltTroves">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">View Locally Built</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <property name="group">viewAllTroves</property>
+		    </widget>
+		  </child>
+
+		  <child>
 		    <widget class="GtkSeparatorMenuItem" id="separator4">
 		      <property name="visible">True</property>
 		    </widget>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- conary-gui.py	22 Sep 2004 21:19:23 -0000	1.63
+++ conary-gui.py	30 Sep 2004 14:20:43 -0000	1.64
@@ -62,6 +62,7 @@
     VIEW_INSTALLED_TROVES = 1
     VIEW_AVAILABLE_TROVES = 2
     VIEW_OUTOFDATE_TROVES = 3
+    VIEW_LOCALLY_BUILT_TROVES = 4
 
     # mapping between enum filter types and their widget
     filters = {
@@ -69,6 +70,7 @@
         VIEW_INSTALLED_TROVES: "viewInstalledTroves",
         VIEW_AVAILABLE_TROVES: "viewAvailableTroves",
         VIEW_OUTOFDATE_TROVES: "viewOutofdateTroves",
+        VIEW_LOCALLY_BUILT_TROVES: "viewLocallyBuiltTroves"
     }
 
     currentFilter = VIEW_ALL_TROVES
@@ -232,9 +234,10 @@
         troveList.start()
 
     def updateTroveTreeFinish(self, results, error):
-        localTroves, self.outofdateTroves, repos = results
+        localTroves, locallyBuiltTroves, self.outofdateTroves, repos = results
 
         self.localTroves = Set(localTroves)
+        self.locallyBuiltTroves = Set(locallyBuiltTroves)
         self.updateRemoteTroveTreeBegin(repos)
 
     def updateRemoteTroveTreeBegin(self, repos):
@@ -277,7 +280,9 @@
             troves = self.availableTroves
         elif self.currentFilter == self.VIEW_OUTOFDATE_TROVES:
             troves = self.outofdateTroves.keys()
-
+        elif self.currentFilter == self.VIEW_LOCALLY_BUILT_TROVES:
+            troves = self.locallyBuiltTroves
+            
         # munge the replist into two parts:
         # components: a hash with package name as key containing a list of components
         # packages: a list of packages


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- conaryinterface.py	28 Sep 2004 13:06:33 -0000	1.51
+++ conaryinterface.py	30 Sep 2004 14:20:44 -0000	1.52
@@ -140,6 +140,7 @@
         troves = self.client.db.iterAllTroveNames()
             
         troveList = list(troves)
+        locallyBuilt = []
 
         labelPkgs = {}
         repos = {}
@@ -148,6 +149,7 @@
                 label = v.branch().label()
                 if isinstance(label, versions.CookBranch) or \
                    isinstance(label, versions.EmergeBranch):
+                    locallyBuilt.append(trove)
                     continue
 
                 repos[label] = True
@@ -188,7 +190,7 @@
                             updates[pkg] = v
     
         self.updateStatus(False)
-        return (troveList, updates, labels)
+        return (troveList, locallyBuilt, updates, labels)
         
 class UpdateTrove(ConaryOperation):
     """


From tgerla@specifixinc.com Thu Sep 30 14:03:58 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i8UI3vVR022965
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 30 Sep 2004 14:03:57 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id CA76316399
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 30 Sep 2004 11:04:23 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i8UI4LGP011042; Thu, 30 Sep 2004 14:04:21 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i8UI4LHw011039; Thu, 30 Sep 2004 14:04:21 -0400
Date: Thu, 30 Sep 2004 14:04:21 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200409301804.i8UI4LHw011039@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.64,1.65
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 30 Sep 2004 18:03:58 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv11027

Modified Files:
	conary-gui.py 
Log Message:
show busy indicator when grabbing branch structure


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- conary-gui.py	30 Sep 2004 14:20:43 -0000	1.64
+++ conary-gui.py	30 Sep 2004 18:04:19 -0000	1.65
@@ -332,12 +332,14 @@
  
             # fill remote version list
 	    if troveName:
+                self.updateStatus(True)
 		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateStatus, self.updateBranchStructureFinish)
 		bs.start()
         else:
             self.remoteVersionStore.set_data("troveName", None)
 
     def updateBranchStructureFinish(self, tree, error):
+        self.updateStatus(False)
 	self.remoteVersionStore.clear()
         troveName = self.remoteVersionStore.get_data("troveName")
         self._fillVersionTree(tree, None, None, troveName)


From tgerla@specifixinc.com Mon Oct  4 14:33:38 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i94IXcVR017448
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 4 Oct 2004 14:33:38 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8FB3716242
	for <conary-gui-commits@lists.specifix.com>;
	Mon,  4 Oct 2004 11:34:08 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i94IY5GP012046; Mon, 4 Oct 2004 14:34:05 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i94IY5bL012042; Mon, 4 Oct 2004 14:34:05 -0400
Date: Mon, 4 Oct 2004 14:34:05 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410041834.i94IY5bL012042@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS, NONE, 1.1 Makefile, 1.14, 1.15 conary-gui.py, 1.65,
	1.66
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 04 Oct 2004 18:33:39 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12030

Modified Files:
	Makefile conary-gui.py 
Added Files:
	NEWS 
Log Message:
add NEWS, update Makefile


--- NEW FILE NEWS ---
Changes in 0.5:
    * Minor bugfixes
    * New view of locally cooked/emerged packages

Changes in 0.4:
    * Now supports dependency calculation and resolution on updates.


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- Makefile	16 Sep 2004 17:14:57 -0000	1.14
+++ Makefile	4 Oct 2004 18:34:03 -0000	1.15
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper
 
-export VERSION = 0.3
+export VERSION = 0.5
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr
@@ -25,9 +25,9 @@
 
 glade_files = conary-gui.glade
 desktop_files = conary-gui.png conary-gui.desktop
-dist_files = $(desktop_files) $(python_files) $(glade_files) Makefile Make.rules conary-gui-wrapper.in
+dist_files = $(desktop_files) $(python_files) $(glade_files) Makefile Make.rules conary-gui-wrapper.in NEWS
 
-generated_files = *.pyo *.pyc 
+generated_files = *.pyo *.pyc conary-gui-wrapper
 
 .PHONY: clean dist install conary-gui
 
@@ -75,8 +75,6 @@
 	rm -rf $$d
 
 clean: clean-subdirs default-clean
-	rm -f _sqlite.so
-	rm -rf sqlite
 
 test:
 	make -C test $@


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- conary-gui.py	30 Sep 2004 18:04:19 -0000	1.65
+++ conary-gui.py	4 Oct 2004 18:34:03 -0000	1.66
@@ -293,6 +293,8 @@
             if ':' in t:
                 package, component = t.split(':')
                 
+                if component in ('test', 'source'):
+                    continue
                 if package not in components:
                     components[package] = {} 
                 if not packages.has_key(package):


From tgerla@specifixinc.com Thu Oct  7 16:19:22 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i97KJMVR026898
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 7 Oct 2004 16:19:22 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id B969C16618
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  7 Oct 2004 13:19:56 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i97KJsGP028808; Thu, 7 Oct 2004 16:19:54 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i97KJrVN028805; Thu, 7 Oct 2004 16:19:53 -0400
Date: Thu, 7 Oct 2004 16:19:53 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410072019.i97KJrVN028805@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.15,1.16
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 07 Oct 2004 20:19:23 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv28793

Modified Files:
	Makefile 
Log Message:
separate desktop stuff


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- Makefile	4 Oct 2004 18:34:03 -0000	1.15
+++ Makefile	7 Oct 2004 20:19:51 -0000	1.16
@@ -45,14 +45,16 @@
 	mkdir -p $(DESTDIR)$(prefix)/share/applications/
 	mkdir -p $(DESTDIR)$(prefix)/share/pixmaps
 	
+install-desktop:
+	install conary-gui.desktop $(DESTDIR)$(prefix)/share/applications/
+	install conary-gui.png $(DESTDIR)$(prefix)/share/pixmaps/
+
 install: all install-mkdirs install-subdirs pyfiles-install
 	install -m 755 conary-gui-wrapper $(DESTDIR)$(bindir)
 	$(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)$(conarydir)', ddir='$(conarydir)', quiet=1)"
 	$(PYTHON) -OO -c "import compileall; compileall.compile_dir('$(DESTDIR)$(conarydir)', ddir='$(conarydir)', quiet=1)"
 	ln -sf conary-gui-wrapper $(DESTDIR)$(bindir)/conary-gui
 	install conary-gui.glade $(DESTDIR)$(conarydir)/gui/
-	install conary-gui.desktop $(DESTDIR)$(prefix)/share/applications/
-	install conary-gui.png $(DESTDIR)$(prefix)/share/pixmaps/
 
 dist: $(dist_files)
 	rm -rf $(DISTDIR)


From tgerla@specifixinc.com Thu Oct  7 16:20:09 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i97KK8VR026910
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 7 Oct 2004 16:20:08 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2132E16618
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  7 Oct 2004 13:20:43 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i97KKfGP028871; Thu, 7 Oct 2004 16:20:41 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i97KKeaN028867; Thu, 7 Oct 2004 16:20:40 -0400
Date: Thu, 7 Oct 2004 16:20:40 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410072020.i97KKeaN028867@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.66,1.67 conaryinterface.py,1.52,1.53
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 07 Oct 2004 20:20:09 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv28855

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
sort versions newest-to-oldest, properly handle erase-only sets of operations, properly display erase icons


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- conary-gui.py	4 Oct 2004 18:34:03 -0000	1.66
+++ conary-gui.py	7 Oct 2004 20:20:38 -0000	1.67
@@ -330,7 +330,12 @@
             else:
                 for trove in troveList:
                     version = trove.getVersion()
-                    self.localVersionStore.append([(troveName, version), self.NO_STATUS, version.asString()])
+                    obj = (troveName, version)
+                    if obj in self.operations:
+                        status = self.operations[obj]
+                    else:
+                        status = self.NO_STATUS
+                    self.localVersionStore.append([obj, status, version.asString()])
  
             # fill remote version list
 	    if troveName:
@@ -384,6 +389,7 @@
             items.append((item, {"text": text, "flavor": flavor, "color": color, "weight": weight}))
 
 	items.sort(self.cmpVersion)
+        items.reverse() # show newest first 
         for (item, itemInfo) in items:
             # don't display empty labels   
             if isinstance(item, versions.Label) and len(tree[item].keys()) <= 2:
@@ -391,7 +397,8 @@
 
             status = self.NO_STATUS
             if (troveName, item) in self.operations:
-                status = self.operations[(troveName, item)]
+                if self.MARKED_FOR_UPDATE == self.operations[(troveName, item)]:
+                    status = self.MARKED_FOR_UPDATE
 
             newIter = self.remoteVersionStore.append(treeIter,
                 [(troveName, item),


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- conaryinterface.py	30 Sep 2004 14:20:44 -0000	1.52
+++ conaryinterface.py	7 Oct 2004 20:20:38 -0000	1.53
@@ -230,56 +230,58 @@
        
         updates = [(x[0], x[1].asString()) for x in ops if self.operations[x] == self.MARKED_FOR_UPDATE]
         erases = [(x[0], x[1].asString()) for x in ops if self.operations[x] == self.MARKED_FOR_ERASE]
-        
-        try:
-            self.updateStatus(True, "Resolving dependencies...")
-            (cs, depFailures, suggMap) = self.client.updateChangeSet(updates)
-
-            if depFailures:
-                raise DepsFailed, depFailures
-            elif suggMap:
-                message = "Including extra troves for dependency resolution:\n\n"
-                for (req, suggList) in suggMap.iteritems():
-                    message += "%s -> %s\n" % (req, " ".join([x[0] for x in suggList]))
-                message += "\n\nContinue?"
+       
+        if updates:
+            try:
+                self.updateStatus(True, "Resolving dependencies...")
+                (cs, depFailures, suggMap) = self.client.updateChangeSet(updates)
 
-                retval = self.messageDialog(message, buttons=gtk.BUTTONS_YES_NO)
+                if depFailures:
+                    raise DepsFailed, depFailures
+                elif suggMap:
+                    message = "Including extra troves for dependency resolution:\n\n"
+                    for (req, suggList) in suggMap.iteritems():
+                        message += "%s -> %s\n" % (req, " ".join([x[0] for x in suggList]))
+                    message += "\n\nContinue?"
+
+                    retval = self.messageDialog(message, buttons=gtk.BUTTONS_YES_NO)
+                else:
+                    retval = gtk.RESPONSE_OK
+                    
+                if retval in (gtk.RESPONSE_YES, gtk.RESPONSE_OK):
+                    self.updateStatus(True, "Applying changeset...")
+                    self.client.applyUpdate(cs)
+                    
+            except (repository.CommitError, conaryclient.UpdateError), e:
+                self.messageDialog("Error updating troves: " + str(sys.exc_info()[1]))
+                self.updateStatus(False, "Operation failed.")
+                return
+            except DepsFailed, depFailures:
+                message = "The following dependencies could not be resolved:\n\n"
+                message += str(depFailures)
+                self.messageDialog(message)
+                self.updateStatus(False, "Operation failed")
+                return
             else:
-                retval = gtk.RESPONSE_OK
-                
-            if retval in (gtk.RESPONSE_YES, gtk.RESPONSE_OK):
-                self.updateStatus(True, "Applying changeset...")
-                self.client.applyUpdate(cs)
-                
-        except (repository.CommitError, conaryclient.UpdateError), e:
-            self.messageDialog("Error updating troves: " + str(sys.exc_info()[1]))
-            self.updateStatus(False, "Operation failed.")
-            return
-        except DepsFailed, depFailures:
-            message = "The following dependencies could not be resolved:\n\n"
-            message += str(depFailures)
-            self.messageDialog(message)
-            self.updateStatus(False, "Operation failed")
-            return
-        else:
-            self.updateStatus(False)
-            for ops in self.operations.keys():
-                if self.operations[ops] == self.MARKED_FOR_UPDATE:
-                    del self.operations[ops]
-            
-        try:
-            self.updateStatus(True, "Removing packages marked for erase")
-            self.client.eraseTrove(erases)
-        except (repository.CommitError, conaryclient.UpdateError), e:
-            self.messageDialog("Error erasing troves: " + str(sys.exc_info()[1]))
-            self.updateStatus(False, "Operation failed.")
-            return
-        else:
-            for ops in self.operations.keys():
-                if self.operations[ops] == self.MARKED_FOR_ERASE:
-                    del self.operations[ops]
-            self.updateStatus(False, "Operations completed successfully.")
-   
+                self.updateStatus(False)
+                for ops in self.operations.keys():
+                    if self.operations[ops] == self.MARKED_FOR_UPDATE:
+                        del self.operations[ops]
+        
+        if erases:
+            try:
+                self.updateStatus(True, "Removing packages marked for erase")
+                self.client.eraseTrove(erases)
+            except (repository.CommitError, conaryclient.UpdateError), e:
+                self.messageDialog("Error erasing troves: " + str(sys.exc_info()[1]))
+                self.updateStatus(False, "Operation failed.")
+                return
+            else:
+                for ops in self.operations.keys():
+                    if self.operations[ops] == self.MARKED_FOR_ERASE:
+                        del self.operations[ops]
+                self.updateStatus(False, "Operations completed successfully.")
+       
         # return unfininshed operations, and count of completed operations
         return self.operations
         


From tgerla@specifixinc.com Thu Oct  7 16:44:02 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i97Ki1VR026930
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 7 Oct 2004 16:44:02 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 277E6164DB
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  7 Oct 2004 13:44:36 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i97KiXGP029367; Thu, 7 Oct 2004 16:44:33 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i97KiXME029363; Thu, 7 Oct 2004 16:44:33 -0400
Date: Thu, 7 Oct 2004 16:44:33 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410072044.i97KiXME029363@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.67,1.68 conaryinterface.py,1.53,1.54
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 07 Oct 2004 20:44:03 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv29345

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
improve handling of broken repositories


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- conary-gui.py	7 Oct 2004 20:20:38 -0000	1.67
+++ conary-gui.py	7 Oct 2004 20:44:31 -0000	1.68
@@ -94,6 +94,7 @@
             self.filterHandler[filter] = widget.connect("activate", self.filterMenuItemActivated)
         self.currenFilter = self.VIEW_ALL_TROVES
 
+        self.notifiedBroken = False
         self.operations = {} 
 	self.parent = self.get_widget("conaryGUI")
 	self.parent.connect( "destroy", self.quit )
@@ -246,7 +247,7 @@
 
     def updateRemoteTroveTreeFinish(self, results, error):
         troves, brokenRepos = results
-
+        
         # set up the various sets of troves
         self.remoteTroves = Set(troves)
         self.allTroves = self.localTroves | self.remoteTroves
@@ -260,7 +261,7 @@
 
         self._fillTroveTree()
       
-        if brokenRepos:
+        if brokenRepos and not self.notifiedBroken:
             message = "The following repositories could not be accessed:<b>\n\n" + "\n".join(brokenRepos) + "</b>"
             dialog = gtk.MessageDialog(type = gtk.MESSAGE_INFO,
                                     buttons = gtk.BUTTONS_OK,
@@ -268,6 +269,7 @@
             dialog.vbox.get_children()[0].get_children()[1].set_use_markup(True)
             dialog.run()
             dialog.destroy()
+            self.notifiedBroken = True
         
     def _fillTroveTree(self):
 	self.troveStore.clear()


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- conaryinterface.py	7 Oct 2004 20:20:38 -0000	1.53
+++ conaryinterface.py	7 Oct 2004 20:44:31 -0000	1.54
@@ -171,9 +171,8 @@
             labelDbpkgs.sort()
             try:
                 versionList = self.client.repos.getTroveLeavesByLabel(labelDbpkgs, label)
-            except repository.OpenError, e:
-                print "Warning: could not access %s: %s" % (label.asString(), e)
-                print "Skipping packages %s" % labelDbpkgs
+            except (IOError, repository.OpenError):
+                # this will be caught when we query all repositories
                 continue
             for pkg in labelDbpkgs:
                 dbVersions = labelPkgs[label][pkg]


From tgerla@specifixinc.com Thu Oct  7 16:56:19 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i97KuJVR026980
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 7 Oct 2004 16:56:19 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id EE9A8164DB
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  7 Oct 2004 13:56:53 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i97KupGP029956; Thu, 7 Oct 2004 16:56:51 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i97Kupg3029953; Thu, 7 Oct 2004 16:56:51 -0400
Date: Thu, 7 Oct 2004 16:56:51 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410072056.i97Kupg3029953@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS,1.1,1.2
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 07 Oct 2004 20:56:20 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv29941

Modified Files:
	NEWS 
Log Message:
update NEWS


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- NEWS	4 Oct 2004 18:34:03 -0000	1.1
+++ NEWS	7 Oct 2004 20:56:49 -0000	1.2
@@ -1,3 +1,8 @@
+    * Improve handling of broken repositories
+    * Sort packages newest-to-oldest
+    * Display the 'erased' icon in the correct list
+    * Properly handle erase-only operations
+
 Changes in 0.5:
     * Minor bugfixes
     * New view of locally cooked/emerged packages


From tgerla@specifixinc.com Wed Oct 13 12:47:58 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9DGlwVR017288
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 13 Oct 2004 12:47:58 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 63D09167B2
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 13 Oct 2004 09:48:39 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9DGmYGP016081; Wed, 13 Oct 2004 12:48:34 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9DGmYqQ016078; Wed, 13 Oct 2004 12:48:34 -0400
Date: Wed, 13 Oct 2004 12:48:34 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410131648.i9DGmYqQ016078@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.54,1.55
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 13 Oct 2004 16:47:59 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv16065

Modified Files:
	conaryinterface.py 
Log Message:
update to use troveNames instead of iterAllTroveNames


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- conaryinterface.py	7 Oct 2004 20:44:31 -0000	1.54
+++ conaryinterface.py	13 Oct 2004 16:48:32 -0000	1.55
@@ -115,16 +115,22 @@
         cfgRepos = self.client.cfg.installLabelPath 
 
         # combine two lists, removing dups
-        allRepos = [repo.getHost() for repo in cfgRepos + self.foundRepos]
-        allRepos = dict.fromkeys(allRepos, True).keys()
-
+        allRepos = [repo for repo in cfgRepos + self.foundRepos]
+        hosts = []
+        uniqueRepos = []
         for repo in allRepos:
+            if repo.getHost() not in hosts:
+                uniqueRepos.append(repo)
+                hosts.append(repo.getHost())
+                
+        for repo in uniqueRepos:
             try:
-                self.updateStatus(True, "Updating trove list from repository: %s" % repo)
-                troves += [ x for x in self.client.repos.iterAllTroveNames(repo) ]
+                self.updateStatus(True, "Updating trove list from repository: %s" % repo.getHost())
+                troves += self.client.repos.troveNames(repo)
             except: # FIXME don't catch all exceptions here!
                 brokenRepos[repo] = True
                 print "warning: failed to open repo %s, skipping" % repo
+                raise
 
         self.updateStatus(False)
 	return troves, brokenRepos


From tgerla@specifixinc.com Wed Oct 13 12:48:48 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9DGmmVR017298
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 13 Oct 2004 12:48:48 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 950941623E
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 13 Oct 2004 09:49:29 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9DGnRGP016282; Wed, 13 Oct 2004 12:49:27 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9DGnRLZ016278; Wed, 13 Oct 2004 12:49:27 -0400
Date: Wed, 13 Oct 2004 12:49:27 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410131649.i9DGnRLZ016278@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.16,1.17 NEWS,1.2,1.3
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 13 Oct 2004 16:48:48 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv16266

Modified Files:
	Makefile NEWS 
Log Message:
release version 0.6


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- Makefile	7 Oct 2004 20:19:51 -0000	1.16
+++ Makefile	13 Oct 2004 16:49:25 -0000	1.17
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper
 
-export VERSION = 0.5
+export VERSION = 0.6
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- NEWS	7 Oct 2004 20:56:49 -0000	1.2
+++ NEWS	13 Oct 2004 16:49:25 -0000	1.3
@@ -1,3 +1,5 @@
+Changes in 0.6:
+    * support for conary 0.10.8
     * Improve handling of broken repositories
     * Sort packages newest-to-oldest
     * Display the 'erased' icon in the correct list


From tgerla@specifixinc.com Thu Oct 14 09:35:38 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9EDZbVR019847
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 09:35:37 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 57F2D16774
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 06:36:17 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9EDaEGP029039; Thu, 14 Oct 2004 09:36:14 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9EDaExO029036; Thu, 14 Oct 2004 09:36:14 -0400
Date: Thu, 14 Oct 2004 09:36:14 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410141336.i9EDaExO029036@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.55,1.56
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 14 Oct 2004 13:35:38 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv29024

Modified Files:
	conaryinterface.py 
Log Message:
don't raise that exception again


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- conaryinterface.py	13 Oct 2004 16:48:32 -0000	1.55
+++ conaryinterface.py	14 Oct 2004 13:36:12 -0000	1.56
@@ -130,7 +130,6 @@
             except: # FIXME don't catch all exceptions here!
                 brokenRepos[repo] = True
                 print "warning: failed to open repo %s, skipping" % repo
-                raise
 
         self.updateStatus(False)
 	return troves, brokenRepos


From tgerla@specifixinc.com Thu Oct 14 09:37:48 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9EDblVR019858
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 09:37:47 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 0E67E16774
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 06:38:30 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9EDcRGP029148; Thu, 14 Oct 2004 09:38:28 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9EDcRwn029144; Thu, 14 Oct 2004 09:38:27 -0400
Date: Thu, 14 Oct 2004 09:38:27 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410141338.i9EDcRwn029144@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.68,1.69 conaryinterface.py,1.56,1.57
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 14 Oct 2004 13:37:48 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv29132

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
fix broken repository dialog and warning message


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- conary-gui.py	7 Oct 2004 20:44:31 -0000	1.68
+++ conary-gui.py	14 Oct 2004 13:38:25 -0000	1.69
@@ -260,7 +260,8 @@
                     troves.remove(trove)
 
         self._fillTroveTree()
-      
+    
+        brokenRepos = [r.getHost() for r in brokenRepos]
         if brokenRepos and not self.notifiedBroken:
             message = "The following repositories could not be accessed:<b>\n\n" + "\n".join(brokenRepos) + "</b>"
             dialog = gtk.MessageDialog(type = gtk.MESSAGE_INFO,


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- conaryinterface.py	14 Oct 2004 13:36:12 -0000	1.56
+++ conaryinterface.py	14 Oct 2004 13:38:25 -0000	1.57
@@ -129,7 +129,7 @@
                 troves += self.client.repos.troveNames(repo)
             except: # FIXME don't catch all exceptions here!
                 brokenRepos[repo] = True
-                print "warning: failed to open repo %s, skipping" % repo
+                print "warning: failed to open repo %s, skipping" % repo.getHost()
 
         self.updateStatus(False)
 	return troves, brokenRepos


From tgerla@specifixinc.com Thu Oct 14 09:56:40 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9EDueVR019905
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 09:56:40 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 5C9DE16774
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 06:57:22 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9EDvKGP030298; Thu, 14 Oct 2004 09:57:20 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9EDvJ1p030294; Thu, 14 Oct 2004 09:57:19 -0400
Date: Thu, 14 Oct 2004 09:57:19 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410141357.i9EDvJ1p030294@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.17,1.18 NEWS,1.3,1.4
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 14 Oct 2004 13:56:41 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv30282

Modified Files:
	Makefile NEWS 
Log Message:
update for bugfix release 0.6.1


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- Makefile	13 Oct 2004 16:49:25 -0000	1.17
+++ Makefile	14 Oct 2004 13:57:17 -0000	1.18
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper
 
-export VERSION = 0.6
+export VERSION = 0.6.1
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- NEWS	13 Oct 2004 16:49:25 -0000	1.3
+++ NEWS	14 Oct 2004 13:57:17 -0000	1.4
@@ -1,3 +1,6 @@
+Changes in 0.6.1:
+    * Fix handling of broken repositories
+
 Changes in 0.6:
     * support for conary 0.10.8
     * Improve handling of broken repositories


From tgerla@specifixinc.com Thu Oct 14 12:08:02 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9EG81VR020459
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 12:08:01 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id BB5C316240
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 09:08:43 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9EG8eGP002417; Thu, 14 Oct 2004 12:08:40 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9EG8eKf002414; Thu, 14 Oct 2004 12:08:40 -0400
Date: Thu, 14 Oct 2004 12:08:40 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410141608.i9EG8eKf002414@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.69,1.70
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 14 Oct 2004 16:08:02 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv2402

Modified Files:
	conary-gui.py 
Log Message:
double click on a trove version is now a shortcut to the correct right-click menu item


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- conary-gui.py	14 Oct 2004 13:38:25 -0000	1.69
+++ conary-gui.py	14 Oct 2004 16:08:38 -0000	1.70
@@ -491,29 +491,46 @@
     ### Context-menu handling
 
     def onVersionTreeEvent(self, widget, event):
-        if event.button == 3:
-            x = int(event.x)
-            y = int(event.y)
-            time = event.time
-
-            path = widget.get_path_at_pos(x, y)
-            if path:
-                path, col, cellx, celly = path
+        x = int(event.x)
+        y = int(event.y)
+        time = event.time
+
+        path = widget.get_path_at_pos(x, y)
+        if path:
+            path, col, cellx, celly = path
+        else:
+            return
+        model = widget.get_model()
+        treeIter = model.get_iter(path)
+       
+        if not model[treeIter][self.VERSION_COLUMN_OBJECT][0]:
+            return
+        if isinstance(model[treeIter][self.VERSION_COLUMN_OBJECT][1], versions.Label):
+            return 
+
+        if event.type == gtk.gdk._2BUTTON_PRESS:
+            troveName, version = model[treeIter][self.VERSION_COLUMN_OBJECT]
+            obj = (troveName, version)
+            status = model[treeIter][self.VERSION_COLUMN_STATUS]
+            
+            if status != self.NO_STATUS:
+                if obj in self.operations:
+                    del self.operations[obj]
+                model[treeIter][self.VERSION_COLUMN_STATUS] = self.NO_STATUS
             else:
-                return
-
+                if widget == self.get_widget("remoteVersionTree"):
+                    model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_UPDATE
+                    self.operations[obj] = self.MARKED_FOR_UPDATE
+                elif widget == self.get_widget("localVersionTree"):
+                    model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
+                    self.operations[obj] = self.MARKED_FOR_ERASE
+            self.updateStatus(False)
+        elif event.button == 3:
             # find item selected
-            model = widget.get_model()
-            treeIter = model.get_iter(path)
-           
-            if not model[treeIter][self.VERSION_COLUMN_OBJECT][0]:
-                return
-            if isinstance(model[treeIter][self.VERSION_COLUMN_OBJECT][1], versions.Label):
-                return 
-           
+          
             # pop up menu
             widget.grab_focus()
-            widget.set_cursor( path, col, 0)
+            widget.set_cursor(path, col, 0)
             popup = self.menu.get_widget("versionMenu")
             popup.set_data("selectedRow", (model, path))
             if widget == self.get_widget("remoteVersionTree"):


From tgerla@specifixinc.com Thu Oct 14 14:30:59 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9EIUxVR020874
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 14:30:59 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id E7CDB16240
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 14 Oct 2004 11:31:41 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9EIVcGP008058; Thu, 14 Oct 2004 14:31:38 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9EIVbFg008055; Thu, 14 Oct 2004 14:31:37 -0400
Date: Thu, 14 Oct 2004 14:31:37 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410141831.i9EIVbFg008055@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.57,1.58
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 14 Oct 2004 18:30:59 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv8037

Modified Files:
	conaryinterface.py 
Log Message:
possibly fix lost operation list on error


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- conaryinterface.py	14 Oct 2004 13:38:25 -0000	1.57
+++ conaryinterface.py	14 Oct 2004 18:31:35 -0000	1.58
@@ -265,7 +265,7 @@
                 message += str(depFailures)
                 self.messageDialog(message)
                 self.updateStatus(False, "Operation failed")
-                return
+                return self.operations
             else:
                 self.updateStatus(False)
                 for ops in self.operations.keys():
@@ -279,14 +279,14 @@
             except (repository.CommitError, conaryclient.UpdateError), e:
                 self.messageDialog("Error erasing troves: " + str(sys.exc_info()[1]))
                 self.updateStatus(False, "Operation failed.")
-                return
+                return self.operations
             else:
                 for ops in self.operations.keys():
                     if self.operations[ops] == self.MARKED_FOR_ERASE:
                         del self.operations[ops]
                 self.updateStatus(False, "Operations completed successfully.")
        
-        # return unfininshed operations, and count of completed operations
+        # return unfininshed operations
         return self.operations
         
 class FileList(ConaryOperation):


From tgerla@specifixinc.com Mon Oct 18 13:49:09 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9IHn8VR030322
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 13:49:09 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 27F86167CC
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 10:49:55 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9IHnqGP012285; Mon, 18 Oct 2004 13:49:52 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9IHnpHC012280; Mon, 18 Oct 2004 13:49:51 -0400
Date: Mon, 18 Oct 2004 13:49:51 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410181749.i9IHnpHC012280@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.33, 1.34 conary-gui.py, 1.70,
	1.71 conaryinterface.py, 1.58, 1.59
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 18 Oct 2004 17:49:10 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12268

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
retrieve limited metadata from the repository for the GUI view. no caching yet.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- conary-gui.glade	30 Sep 2004 14:20:43 -0000	1.33
+++ conary-gui.glade	18 Oct 2004 17:49:49 -0000	1.34
@@ -277,6 +277,114 @@
 			  <property name="spacing">0</property>
 
 			  <child>
+			    <widget class="GtkHBox" id="hbox8">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkLabel" id="shortDesc">
+				  <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>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkButton" id="button3">
+				  <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>
+
+				  <child>
+				    <widget class="GtkAlignment" id="alignment3">
+				      <property name="visible">True</property>
+				      <property name="xalign">0.5</property>
+				      <property name="yalign">0.5</property>
+				      <property name="xscale">0</property>
+				      <property name="yscale">0</property>
+				      <property name="top_padding">0</property>
+				      <property name="bottom_padding">0</property>
+				      <property name="left_padding">0</property>
+				      <property name="right_padding">0</property>
+
+				      <child>
+					<widget class="GtkHBox" id="hbox7">
+					  <property name="visible">True</property>
+					  <property name="homogeneous">False</property>
+					  <property name="spacing">2</property>
+
+					  <child>
+					    <widget class="GtkImage" id="image41">
+					      <property name="visible">True</property>
+					      <property name="stock">gtk-dialog-info</property>
+					      <property name="icon_size">4</property>
+					      <property name="xalign">0.5</property>
+					      <property name="yalign">0.5</property>
+					      <property name="xpad">0</property>
+					      <property name="ypad">0</property>
+					    </widget>
+					    <packing>
+					      <property name="padding">0</property>
+					      <property name="expand">False</property>
+					      <property name="fill">False</property>
+					    </packing>
+					  </child>
+
+					  <child>
+					    <widget class="GtkLabel" id="label33">
+					      <property name="visible">True</property>
+					      <property name="label" translatable="yes">Details</property>
+					      <property name="use_underline">True</property>
+					      <property name="use_markup">False</property>
+					      <property name="justify">GTK_JUSTIFY_LEFT</property>
+					      <property name="wrap">False</property>
+					      <property name="selectable">False</property>
+					      <property name="xalign">0.5</property>
+					      <property name="yalign">0.5</property>
+					      <property name="xpad">0</property>
+					      <property name="ypad">0</property>
+					    </widget>
+					    <packing>
+					      <property name="padding">0</property>
+					      <property name="expand">False</property>
+					      <property name="fill">False</property>
+					    </packing>
+					  </child>
+					</widget>
+				      </child>
+				    </widget>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">6</property>
+			      <property name="expand">False</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
 			    <widget class="GtkLabel" id="label27">
 			      <property name="visible">True</property>
 			      <property name="label" translatable="yes">Installed versions:</property>
@@ -400,95 +508,7 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkTable" id="table2">
-		      <property name="border_width">12</property>
-		      <property name="visible">True</property>
-		      <property name="n_rows">2</property>
-		      <property name="n_columns">2</property>
-		      <property name="homogeneous">False</property>
-		      <property name="row_spacing">12</property>
-		      <property name="column_spacing">12</property>
-
-		      <child>
-			<widget class="GtkScrolledWindow" id="scrolledwindow11">
-			  <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_NONE</property>
-			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			  <child>
-			    <placeholder/>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">1</property>
-			  <property name="right_attach">2</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">2</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label24">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Trove Details:</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>
-			</widget>
-			<packing>
-			  <property name="left_attach">0</property>
-			  <property name="right_attach">1</property>
-			  <property name="top_attach">0</property>
-			  <property name="bottom_attach">1</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label23">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Description:</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>
-			</widget>
-			<packing>
-			  <property name="left_attach">0</property>
-			  <property name="right_attach">1</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">2</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox3">
-		      <property name="border_width">6</property>
+		    <widget class="GtkHBox" id="hbox9">
 		      <property name="visible">True</property>
 		      <property name="homogeneous">False</property>
 		      <property name="spacing">0</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
--- conary-gui.py	14 Oct 2004 16:08:38 -0000	1.70
+++ conary-gui.py	18 Oct 2004 17:49:49 -0000	1.71
@@ -235,9 +235,11 @@
         troveList.start()
 
     def updateTroveTreeFinish(self, results, error):
-        localTroves, locallyBuiltTroves, self.outofdateTroves, repos = results
+        troveVersions, locallyBuiltTroves, self.outofdateTroves, repos = results
 
-        self.localTroves = Set(localTroves)
+        self.troveVersions = troveVersions
+
+        self.localTroves = Set(troveVersions.keys())
         self.locallyBuiltTroves = Set(locallyBuiltTroves)
         self.updateRemoteTroveTreeBegin(repos)
 
@@ -324,6 +326,22 @@
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
 	    self.remoteVersionStore.set_data("troveName", troveName)
             
+            # fetch metadata
+            if troveName in self.troveVersions:
+                branch = self.troveVersions[troveName].branch()
+            else:
+                # FIXME:
+                for label in client.cfg.installLabelPath:
+                    d = client.repos.getTroveLeavesByLabel([troveName], label)
+                    print d
+                    if d[troveName]:
+                        branch = d[troveName][0].branch()
+                        break
+
+            troveList = [(troveName+":source", branch)]
+            md = conaryinterface.Metadata(client, troveList, branch.label(), False, None, self.updateShortDesc)
+            md.start()
+            
             # fill local version list
             self.localVersionStore.clear()
             try:
@@ -348,6 +366,15 @@
         else:
             self.remoteVersionStore.set_data("troveName", None)
 
+    def updateShortDesc(self, metadata, error):
+        self.metadata = metadata
+        print metadata
+        
+        troveName = self.remoteVersionStore.get_data("troveName")
+
+        if troveName+":source" in metadata:
+            self.get_widget("shortDesc").set_text(metadata[troveName+":source"]["shortDesc"][0])
+
     def updateBranchStructureFinish(self, tree, error):
         self.updateStatus(False)
 	self.remoteVersionStore.clear()
@@ -392,7 +419,8 @@
             items.append((item, {"text": text, "flavor": flavor, "color": color, "weight": weight}))
 
 	items.sort(self.cmpVersion)
-        items.reverse() # show newest first 
+        items.reverse() # show newest first
+
         for (item, itemInfo) in items:
             # don't display empty labels   
             if isinstance(item, versions.Label) and len(tree[item].keys()) <= 2:
@@ -508,8 +536,11 @@
         if isinstance(model[treeIter][self.VERSION_COLUMN_OBJECT][1], versions.Label):
             return 
 
+        troveName, version = model[treeIter][self.VERSION_COLUMN_OBJECT]
+        metadata = client.repos.getMetadata([(troveName+":source", version.branch())], version.branch().label())
+        self.get_widget("shortDesc").set_text(metadata[troveName+":source"]["shortDesc"][0])
+
         if event.type == gtk.gdk._2BUTTON_PRESS:
-            troveName, version = model[treeIter][self.VERSION_COLUMN_OBJECT]
             obj = (troveName, version)
             status = model[treeIter][self.VERSION_COLUMN_STATUS]
             


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- conaryinterface.py	14 Oct 2004 18:31:35 -0000	1.58
+++ conaryinterface.py	18 Oct 2004 17:49:49 -0000	1.59
@@ -57,7 +57,7 @@
         self.client = client
         self._statusCallback = statusCallback
         self.finishedCallback = finishedCallback
-	
+    
     def run(self):
         retval = self.doOperation()
         error = None
@@ -68,7 +68,8 @@
 
     def updateStatus(self, *args, **kwargs):
         gtk.threads_enter()
-        self._statusCallback(*args, **kwargs)
+        if self._statusCallback:
+            self._statusCallback(*args, **kwargs)
         gtk.threads_leave()
 
     def finish(self, retval, error):
@@ -146,6 +147,7 @@
             
         troveList = list(troves)
         locallyBuilt = []
+        troves = {}
 
         labelPkgs = {}
         repos = {}
@@ -164,6 +166,7 @@
                 if trove not in labelPkgs[label]:
                     labelPkgs[label][trove] = []
                 labelPkgs[label][trove].append(v)
+                troves[trove] = v
                 
         updates = {}
         notavail = []
@@ -194,7 +197,7 @@
                             updates[pkg] = v
     
         self.updateStatus(False)
-        return (troveList, locallyBuilt, updates, labels)
+        return (troves, locallyBuilt, updates, labels)
         
 class UpdateTrove(ConaryOperation):
     """
@@ -307,6 +310,23 @@
 	fileList = list(iter)
 	return fileList
 
+class Metadata(ConaryOperation):
+    """
+    Retrieves metadata for a certain list of troves, optionally from a
+    local cache.
+    """
+
+    def __init__(self, client, troveList, label, useCache, statusCallback, finishedCallback):
+        ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
+        self.troveList = troveList
+        self.label = label
+        self.useCache = useCache
+
+    def doOperation(self):
+        print self.troveList
+        metadata = self.client.repos.getMetadata(self.troveList, self.label)
+        return metadata
+
 class BranchStructure(ConaryOperation):
     """
     Given a trove name, return a tree-like structure of versions and branches.


From tgerla@specifixinc.com Mon Oct 18 13:50:07 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9IHo7VR030334
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 13:50:07 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 880F7167CC
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 10:50:54 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9IHoqGP012365; Mon, 18 Oct 2004 13:50:52 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9IHoqdc012361; Mon, 18 Oct 2004 13:50:52 -0400
Date: Mon, 18 Oct 2004 13:50:52 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410181750.i9IHoqdc012361@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.71,1.72 conaryinterface.py,1.59,1.60
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 18 Oct 2004 17:50:07 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12349

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
remove some leftover debugging prints


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- conary-gui.py	18 Oct 2004 17:49:49 -0000	1.71
+++ conary-gui.py	18 Oct 2004 17:50:50 -0000	1.72
@@ -333,7 +333,6 @@
                 # FIXME:
                 for label in client.cfg.installLabelPath:
                     d = client.repos.getTroveLeavesByLabel([troveName], label)
-                    print d
                     if d[troveName]:
                         branch = d[troveName][0].branch()
                         break
@@ -368,7 +367,6 @@
 
     def updateShortDesc(self, metadata, error):
         self.metadata = metadata
-        print metadata
         
         troveName = self.remoteVersionStore.get_data("troveName")
 


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- conaryinterface.py	18 Oct 2004 17:49:49 -0000	1.59
+++ conaryinterface.py	18 Oct 2004 17:50:50 -0000	1.60
@@ -323,7 +323,6 @@
         self.useCache = useCache
 
     def doOperation(self):
-        print self.troveList
         metadata = self.client.repos.getMetadata(self.troveList, self.label)
         return metadata
 


From tgerla@specifixinc.com Mon Oct 18 16:38:24 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9IKcNVR030583
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 16:38:24 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 99480167CD
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 13:39:10 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9IKd6GP019261; Mon, 18 Oct 2004 16:39:06 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9IKd5Yi019257; Mon, 18 Oct 2004 16:39:05 -0400
Date: Mon, 18 Oct 2004 16:39:05 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410182039.i9IKd5Yi019257@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.72,1.73 conaryinterface.py,1.60,1.61
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 18 Oct 2004 20:38:25 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv19245

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
put a basic (pickled) metadata cache in ~/.conary-gui/metadata.cache. no invalidation or priming yet.


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- conary-gui.py	18 Oct 2004 17:50:50 -0000	1.72
+++ conary-gui.py	18 Oct 2004 20:39:03 -0000	1.73
@@ -51,6 +51,8 @@
 import applychangeset
 
 client = conaryclient.ConaryClient()
+cacheAvail = False
+dotdir = os.environ["HOME"] + "/.conary-gui"
 
 class RepositoryView( gtk.glade.XML ):
 
@@ -326,11 +328,12 @@
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
 	    self.remoteVersionStore.set_data("troveName", troveName)
             
-            # fetch metadata
+            # fetch metadata, prefering the locally installed branch,
+            # or if the item is not installed, the first trove found
+            # in the installLabelPath
             if troveName in self.troveVersions:
                 branch = self.troveVersions[troveName].branch()
             else:
-                # FIXME:
                 for label in client.cfg.installLabelPath:
                     d = client.repos.getTroveLeavesByLabel([troveName], label)
                     if d[troveName]:
@@ -338,8 +341,10 @@
                         break
 
             troveList = [(troveName+":source", branch)]
-            md = conaryinterface.Metadata(client, troveList, branch.label(), False, None, self.updateShortDesc)
-            md.start()
+            md = conaryinterface.Metadata(client, troveList, branch.label(),
+                                          cacheAvail, dotdir,
+                                          None, self.updateShortDesc)
+            md.checkCache()
             
             # fill local version list
             self.localVersionStore.clear()
@@ -754,8 +759,19 @@
     
     def onCancelButtonClicked(self, button):
         self.window.destroy()
-        
+
 if __name__ == "__main__":
+    if os.access(dotdir, os.F_OK):
+        cacheAvail = True
+    else:
+        try:
+            os.makedirs(dotdir)
+        except OSError:
+            # FIXME pop up warning dialog here
+            cacheAvail = False
+        else:
+            cacheAvail = True
+
     gtk.threads_init()
     gui = RepositoryView()
     gtk.main()


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- conaryinterface.py	18 Oct 2004 17:50:50 -0000	1.60
+++ conaryinterface.py	18 Oct 2004 20:39:03 -0000	1.61
@@ -23,6 +23,7 @@
 import sys
 import os
 from lib import log
+import pickle
 
 import conarycfg
 import versions
@@ -316,15 +317,73 @@
     local cache.
     """
 
-    def __init__(self, client, troveList, label, useCache, statusCallback, finishedCallback):
+    def __init__(self, client, troveList, label, useCache, dotdir, statusCallback, finishedCallback):
         ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
         self.troveList = troveList
         self.label = label
         self.useCache = useCache
+        self.cache = os.path.join(dotdir, "metadata.cache")
+        self.metadata = {}
 
     def doOperation(self):
-        metadata = self.client.repos.getMetadata(self.troveList, self.label)
-        return metadata
+        self.metadata = self.client.repos.getMetadata(self.troveList, self.label)
+        
+        if self.metadata and self.useCache:
+            try:
+                cacheFile = open(self.cache, "rw")
+                cache = pickle.load(cacheFile)
+                cacheFile.close()    
+            except IOError, EOFError:
+                cache = {}
+            
+            cacheFile = open(self.cache, "w")
+            
+            # filter down troveList to only contain items for which we found metadata
+            troveList = [x for x in self.troveList if x[0] in self.metadata]
+
+            lStr = self.label.asString()
+            for troveName, branch in troveList:
+                bStr = branch.asString()
+            
+                if lStr not in cache:
+                    cache[lStr] = {}
+                if bStr not in cache[lStr]:
+                    cache[lStr][bStr] = {}
+                    
+                cache[lStr][bStr][troveName] = self.metadata[troveName]
+           
+            pickle.dump(cache, cacheFile)
+            cacheFile.close()
+
+        return self.metadata
+
+    def checkCache(self):
+        self.metadata = {}
+        if self.useCache:
+            try:
+                cacheFile = open(self.cache, "r")
+                cache = pickle.load(cacheFile)
+                cacheFile.close()
+            except IOError, EOFError:
+                self.start()
+            else:
+                lStr = self.label.asString()
+               
+                troveList = self.troveList[:]
+                for troveName, branch in troveList:
+                    bStr = branch.asString()
+
+                    if lStr in cache and\
+                       bStr in cache[lStr] and\
+                       troveName in cache[lStr][bStr]:
+                        self.metadata[troveName] = cache[lStr][bStr][troveName]
+                        self.troveList.remove((troveName, branch))
+
+                # if the cache missed any, grab from the repos
+                if self.troveList:
+                    self.start()
+                else:
+                    self.finishedCallback(self.metadata, None)
 
 class BranchStructure(ConaryOperation):
     """


From tgerla@specifixinc.com Mon Oct 18 23:39:50 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9J3dnVR031115
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 23:39:50 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 6902A1623E
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 20:40:37 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9J3eZGP016022; Mon, 18 Oct 2004 23:40:35 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9J3eYKZ016018; Mon, 18 Oct 2004 23:40:34 -0400
Date: Mon, 18 Oct 2004 23:40:34 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410190340.i9J3eYKZ016018@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.73,1.74 conaryinterface.py,1.61,1.62
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 19 Oct 2004 03:39:50 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv16006

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
use the new ConaryClient get metadata interface


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- conary-gui.py	18 Oct 2004 20:39:03 -0000	1.73
+++ conary-gui.py	19 Oct 2004 03:40:32 -0000	1.74
@@ -377,7 +377,8 @@
 
         if troveName+":source" in metadata:
             self.get_widget("shortDesc").set_text(metadata[troveName+":source"]["shortDesc"][0])
-
+        else:
+            self.get_widget("shortDesc").set_text("")
     def updateBranchStructureFinish(self, tree, error):
         self.updateStatus(False)
 	self.remoteVersionStore.clear()


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- conaryinterface.py	18 Oct 2004 20:39:03 -0000	1.61
+++ conaryinterface.py	19 Oct 2004 03:40:32 -0000	1.62
@@ -22,9 +22,10 @@
 import gtk
 import sys
 import os
-from lib import log
+from sets import Set 
 import pickle
 
+from lib import log
 import conarycfg
 import versions
 from lib import util
@@ -326,64 +327,26 @@
         self.metadata = {}
 
     def doOperation(self):
-        self.metadata = self.client.repos.getMetadata(self.troveList, self.label)
-        
-        if self.metadata and self.useCache:
-            try:
-                cacheFile = open(self.cache, "rw")
-                cache = pickle.load(cacheFile)
-                cacheFile.close()    
-            except IOError, EOFError:
-                cache = {}
-            
-            cacheFile = open(self.cache, "w")
-            
-            # filter down troveList to only contain items for which we found metadata
-            troveList = [x for x in self.troveList if x[0] in self.metadata]
-
-            lStr = self.label.asString()
-            for troveName, branch in troveList:
-                bStr = branch.asString()
-            
-                if lStr not in cache:
-                    cache[lStr] = {}
-                if bStr not in cache[lStr]:
-                    cache[lStr][bStr] = {}
-                    
-                cache[lStr][bStr][troveName] = self.metadata[troveName]
-           
-            pickle.dump(cache, cacheFile)
-            cacheFile.close()
-
+        md = self.client.getMetadata(self.troveList, self.label,
+                                     cacheFile = self.cache,
+                                     cacheOnly = False,
+                                     saveOnly = True)
+        self.metadata.update(md)
         return self.metadata
 
     def checkCache(self):
-        self.metadata = {}
-        if self.useCache:
-            try:
-                cacheFile = open(self.cache, "r")
-                cache = pickle.load(cacheFile)
-                cacheFile.close()
-            except IOError, EOFError:
-                self.start()
-            else:
-                lStr = self.label.asString()
-               
-                troveList = self.troveList[:]
-                for troveName, branch in troveList:
-                    bStr = branch.asString()
-
-                    if lStr in cache and\
-                       bStr in cache[lStr] and\
-                       troveName in cache[lStr][bStr]:
-                        self.metadata[troveName] = cache[lStr][bStr][troveName]
-                        self.troveList.remove((troveName, branch))
-
-                # if the cache missed any, grab from the repos
-                if self.troveList:
-                    self.start()
-                else:
-                    self.finishedCallback(self.metadata, None)
+        metadata = self.client.getMetadata(self.troveList, self.label,
+                                           cacheFile = self.cache,
+                                           cacheOnly = True)
+        
+        # did the cache-only operation get them all?
+        troveList = self.troveList[:]
+        trovesLeft = list(Set([x[0] for x in troveList]) - Set(metadata.keys()))
+        if trovesLeft:
+            self.troveList = [x for x in troveList if x[0] in trovesLeft]
+            self.start()
+        else:
+            self.finishedCallback(metadata, None)
 
 class BranchStructure(ConaryOperation):
     """


From tgerla@specifixinc.com Tue Oct 19 00:38:05 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9J4c4VR031166
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 19 Oct 2004 00:38:05 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 0E34F1623E
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 18 Oct 2004 21:38:52 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9J4clGP017020; Tue, 19 Oct 2004 00:38:47 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9J4ciLX017017; Tue, 19 Oct 2004 00:38:44 -0400
Date: Tue, 19 Oct 2004 00:38:44 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410190438.i9J4ciLX017017@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.34,1.35
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 19 Oct 2004 04:38:05 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv17005

Modified Files:
	conary-gui.glade 
Log Message:
possibly improve widget padding...


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- conary-gui.glade	18 Oct 2004 17:49:49 -0000	1.34
+++ conary-gui.glade	19 Oct 2004 04:38:42 -0000	1.35
@@ -272,6 +272,7 @@
 
 		      <child>
 			<widget class="GtkVBox" id="vbox6">
+			  <property name="border_width">6</property>
 			  <property name="visible">True</property>
 			  <property name="homogeneous">False</property>
 			  <property name="spacing">0</property>
@@ -378,7 +379,7 @@
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="padding">6</property>
+			      <property name="padding">0</property>
 			      <property name="expand">False</property>
 			      <property name="fill">True</property>
 			    </packing>
@@ -427,7 +428,7 @@
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="padding">4</property>
+			      <property name="padding">0</property>
 			      <property name="expand">True</property>
 			      <property name="fill">True</property>
 			    </packing>
@@ -441,6 +442,7 @@
 
 		      <child>
 			<widget class="GtkVBox" id="vbox7">
+			  <property name="border_width">6</property>
 			  <property name="visible">True</property>
 			  <property name="homogeneous">False</property>
 			  <property name="spacing">0</property>
@@ -488,7 +490,7 @@
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="padding">4</property>
+			      <property name="padding">0</property>
 			      <property name="expand">True</property>
 			      <property name="fill">True</property>
 			    </packing>
@@ -603,14 +605,14 @@
 			  </child>
 			</widget>
 			<packing>
-			  <property name="padding">0</property>
+			  <property name="padding">6</property>
 			  <property name="expand">False</property>
 			  <property name="fill">False</property>
 			</packing>
 		      </child>
 		    </widget>
 		    <packing>
-		      <property name="padding">0</property>
+		      <property name="padding">6</property>
 		      <property name="expand">False</property>
 		      <property name="fill">False</property>
 		    </packing>


From tgerla@specifixinc.com Tue Oct 19 13:06:41 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9JH6eVR014000
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 19 Oct 2004 13:06:40 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 43F74167D0
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 19 Oct 2004 10:07:28 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9JH7OGP010950; Tue, 19 Oct 2004 13:07:24 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9JH7OKs010947; Tue, 19 Oct 2004 13:07:24 -0400
Date: Tue, 19 Oct 2004 13:07:24 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410191707.i9JH7OKs010947@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.35,1.36
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 19 Oct 2004 17:06:41 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv10935

Modified Files:
	conary-gui.glade 
Log Message:
first try at package details dialog


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- conary-gui.glade	19 Oct 2004 04:38:42 -0000	1.35
+++ conary-gui.glade	19 Oct 2004 17:07:22 -0000	1.36
@@ -983,4 +983,161 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="metadataWindow">
+  <property name="border_width">12</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">window1</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">True</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_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox9">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">6</property>
+
+      <child>
+	<widget class="GtkLabel" id="label34">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes">&lt;b&gt;Details of %s&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>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkLabel" id="shortDescLabel">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="label" translatable="yes">shortDescLabel</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">True</property>
+	  <property name="xalign">0</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xpad">0</property>
+	  <property name="ypad">0</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkScrolledWindow" id="scrolledwindow14">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+	  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+	  <property name="shadow_type">GTK_SHADOW_NONE</property>
+	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+	  <child>
+	    <widget class="GtkTextView" id="longDescTv">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="editable">True</property>
+	      <property name="overwrite">False</property>
+	      <property name="accepts_tab">True</property>
+	      <property name="justification">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap_mode">GTK_WRAP_NONE</property>
+	      <property name="cursor_visible">True</property>
+	      <property name="pixels_above_lines">0</property>
+	      <property name="pixels_below_lines">0</property>
+	      <property name="pixels_inside_wrap">0</property>
+	      <property name="left_margin">0</property>
+	      <property name="right_margin">0</property>
+	      <property name="indent">0</property>
+	      <property name="text" translatable="yes"></property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkScrolledWindow" id="scrolledwindow15">
+	  <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="licensesList">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="headers_visible">True</property>
+	      <property name="rules_hint">False</property>
+	      <property name="reorderable">False</property>
+	      <property name="enable_search">True</property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkScrolledWindow" id="categoriesList">
+	  <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="treeview2">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="headers_visible">True</property>
+	      <property name="rules_hint">False</property>
+	      <property name="reorderable">False</property>
+	      <property name="enable_search">True</property>
+	    </widget>
+	  </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>


From tgerla@specifixinc.com Wed Oct 20 10:45:24 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9KEjNVR029256
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 20 Oct 2004 10:45:23 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id BDBBD164DB
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 20 Oct 2004 07:46:11 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9KEk8GP007085; Wed, 20 Oct 2004 10:46:08 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9KEk8Ib007081; Wed, 20 Oct 2004 10:46:08 -0400
Date: Wed, 20 Oct 2004 10:46:08 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410201446.i9KEk8Ib007081@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.36,1.37 conary-gui.py,1.74,1.75
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 20 Oct 2004 14:45:24 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv7052

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
display trove metadata in separate dialog


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- conary-gui.glade	19 Oct 2004 17:07:22 -0000	1.36
+++ conary-gui.glade	20 Oct 2004 14:46:06 -0000	1.37
@@ -281,7 +281,7 @@
 			    <widget class="GtkHBox" id="hbox8">
 			      <property name="visible">True</property>
 			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
+			      <property name="spacing">12</property>
 
 			      <child>
 				<widget class="GtkLabel" id="shortDesc">
@@ -290,7 +290,7 @@
 				  <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="wrap">True</property>
 				  <property name="selectable">False</property>
 				  <property name="xalign">0</property>
 				  <property name="yalign">0.5</property>
@@ -305,11 +305,12 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkButton" id="button3">
+				<widget class="GtkButton" id="metadataButton">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
 				  <property name="relief">GTK_RELIEF_NORMAL</property>
 				  <property name="focus_on_click">True</property>
+				  <signal name="clicked" handler="onMetadataButtonClicked" last_modification_time="Wed, 20 Oct 2004 14:00:35 GMT"/>
 
 				  <child>
 				    <widget class="GtkAlignment" id="alignment3">
@@ -985,8 +986,10 @@
 
 <widget class="GtkWindow" id="metadataWindow">
   <property name="border_width">12</property>
+  <property name="width_request">500</property>
+  <property name="height_request">500</property>
   <property name="visible">True</property>
-  <property name="title" translatable="yes">window1</property>
+  <property name="title" translatable="yes">Trove Details</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
   <property name="window_position">GTK_WIN_POS_NONE</property>
   <property name="modal">False</property>
@@ -1005,7 +1008,7 @@
       <property name="spacing">6</property>
 
       <child>
-	<widget class="GtkLabel" id="label34">
+	<widget class="GtkLabel" id="detailsLabel">
 	  <property name="visible">True</property>
 	  <property name="label" translatable="yes">&lt;b&gt;Details of %s&lt;/b&gt;</property>
 	  <property name="use_underline">False</property>
@@ -1051,21 +1054,21 @@
 	<widget class="GtkScrolledWindow" id="scrolledwindow14">
 	  <property name="visible">True</property>
 	  <property name="can_focus">True</property>
-	  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
-	  <property name="shadow_type">GTK_SHADOW_NONE</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="GtkTextView" id="longDescTv">
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
-	      <property name="editable">True</property>
+	      <property name="editable">False</property>
 	      <property name="overwrite">False</property>
 	      <property name="accepts_tab">True</property>
 	      <property name="justification">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap_mode">GTK_WRAP_NONE</property>
-	      <property name="cursor_visible">True</property>
+	      <property name="wrap_mode">GTK_WRAP_WORD</property>
+	      <property name="cursor_visible">False</property>
 	      <property name="pixels_above_lines">0</property>
 	      <property name="pixels_below_lines">0</property>
 	      <property name="pixels_inside_wrap">0</property>
@@ -1093,7 +1096,7 @@
 	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 	  <child>
-	    <widget class="GtkTreeView" id="licensesList">
+	    <widget class="GtkTreeView" id="licenseList">
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
 	      <property name="headers_visible">True</property>
@@ -1111,7 +1114,7 @@
       </child>
 
       <child>
-	<widget class="GtkScrolledWindow" id="categoriesList">
+	<widget class="GtkScrolledWindow" id="scrolledwindow3">
 	  <property name="visible">True</property>
 	  <property name="can_focus">True</property>
 	  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
@@ -1120,7 +1123,7 @@
 	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 	  <child>
-	    <widget class="GtkTreeView" id="treeview2">
+	    <widget class="GtkTreeView" id="categoryList">
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
 	      <property name="headers_visible">True</property>
@@ -1136,6 +1139,61 @@
 	  <property name="fill">True</property>
 	</packing>
       </child>
+
+      <child>
+	<widget class="GtkHBox" id="hbox10">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">True</property>
+	  <property name="spacing">12</property>
+
+	  <child>
+	    <widget class="GtkLabel" id="label35">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Installed size: 0kB</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>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label36">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Built: 2004-10-20 12:50 GMT</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">1</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
     </widget>
   </child>
 </widget>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- conary-gui.py	19 Oct 2004 03:40:32 -0000	1.74
+++ conary-gui.py	20 Oct 2004 14:46:06 -0000	1.75
@@ -379,6 +379,7 @@
             self.get_widget("shortDesc").set_text(metadata[troveName+":source"]["shortDesc"][0])
         else:
             self.get_widget("shortDesc").set_text("")
+
     def updateBranchStructureFinish(self, tree, error):
         self.updateStatus(False)
 	self.remoteVersionStore.clear()
@@ -682,6 +683,11 @@
                 self.operations[obj] = self.MARKED_FOR_UPDATE
         self.updateStatus(False)
 
+    def onMetadataButtonClicked(self, button):
+        troveName = self.remoteVersionStore.get_data("troveName")
+            
+        md = MetadataWindow(troveName, self.metadata[troveName+":source"])
+
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, callback):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "operationsWindow")
@@ -761,6 +767,34 @@
     def onCancelButtonClicked(self, button):
         self.window.destroy()
 
+class MetadataWindow(gtk.glade.XML):
+    def __init__(self, troveName, metadata):
+        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "metadataWindow")
+        self.signal_autoconnect(self)
+        
+        self.get_widget("detailsLabel").set_markup("<b>Details of %s</b>" % troveName)
+        self.get_widget("shortDescLabel").set_text(metadata["shortDesc"][0])
+        
+        buffer = self.get_widget("longDescTv").get_buffer()
+        buffer.insert(buffer.get_start_iter(), metadata["longDesc"][0])
+       
+        # license list
+        licenseStore = gtk.ListStore(gobject.TYPE_STRING)
+        tv = self.get_widget("licenseList")
+        tv.set_model(licenseStore)
+        tv.append_column(gtk.TreeViewColumn("Licenses", gtk.CellRendererText(), text=0))
+                
+        # category list
+        categoryStore = gtk.ListStore(gobject.TYPE_STRING)
+        tv = self.get_widget("categoryList")
+        tv.set_model(categoryStore)
+        tv.append_column(gtk.TreeViewColumn("Categories", gtk.CellRendererText(), text=0))
+        
+        for x in metadata["license"]:
+            licenseStore.append([x])
+        for x in metadata["category"]:
+            categoryStore.append([x])
+        
 if __name__ == "__main__":
     if os.access(dotdir, os.F_OK):
         cacheAvail = True


From tgerla@specifixinc.com Wed Oct 20 16:51:22 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9KKpMVR032246
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 20 Oct 2004 16:51:22 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id BE7081623E
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 20 Oct 2004 13:52:10 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9KKq7j5028448; Wed, 20 Oct 2004 16:52:07 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9KKq7I2028444; Wed, 20 Oct 2004 16:52:07 -0400
Date: Wed, 20 Oct 2004 16:52:07 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410202052.i9KKq7I2028444@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.75,1.76 conaryinterface.py,1.62,1.63
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 20 Oct 2004 20:51:23 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv28432

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
don't mark components for update if that component is already installed


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- conary-gui.py	20 Oct 2004 14:46:06 -0000	1.75
+++ conary-gui.py	20 Oct 2004 20:52:05 -0000	1.76
@@ -328,11 +328,11 @@
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
 	    self.remoteVersionStore.set_data("troveName", troveName)
             
-            # fetch metadata, prefering the locally installed branch,
+            # fetch metadata, prefering the first locally installed branch,
             # or if the item is not installed, the first trove found
             # in the installLabelPath
             if troveName in self.troveVersions:
-                branch = self.troveVersions[troveName].branch()
+                branch = self.troveVersions[troveName][0].branch()
             else:
                 for label in client.cfg.installLabelPath:
                     d = client.repos.getTroveLeavesByLabel([troveName], label)


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- conaryinterface.py	19 Oct 2004 03:40:32 -0000	1.62
+++ conaryinterface.py	20 Oct 2004 20:52:05 -0000	1.63
@@ -168,7 +168,10 @@
                 if trove not in labelPkgs[label]:
                     labelPkgs[label][trove] = []
                 labelPkgs[label][trove].append(v)
-                troves[trove] = v
+                
+                if trove not in troves:
+                    troves[trove] = []
+                troves[trove].append(v)
                 
         updates = {}
         notavail = []
@@ -195,7 +198,7 @@
                     for v in repoVersions:
                         if lv.branch() != v.branch():
                             continue
-                        if v.isAfter(lv):
+                        if v.isAfter(lv) and v not in troves[pkg]:
                             updates[pkg] = v
     
         self.updateStatus(False)


From tgerla@specifixinc.com Wed Oct 20 17:28:51 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9KLSpVR032340
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 20 Oct 2004 17:28:51 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id ED9341623E
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 20 Oct 2004 14:29:40 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9KLTcj5030139; Wed, 20 Oct 2004 17:29:38 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9KLTcPE030135; Wed, 20 Oct 2004 17:29:38 -0400
Date: Wed, 20 Oct 2004 17:29:38 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410202129.i9KLTcPE030135@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.37,1.38 conary-gui.py,1.76,1.77
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 20 Oct 2004 21:28:52 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv30123

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
avoid tracebacks on missing metadata, determine source trove slightly more intelligently, and disable the Details button when no metadata is available.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- conary-gui.glade	20 Oct 2004 14:46:06 -0000	1.37
+++ conary-gui.glade	20 Oct 2004 21:29:36 -0000	1.38
@@ -307,6 +307,7 @@
 			      <child>
 				<widget class="GtkButton" id="metadataButton">
 				  <property name="visible">True</property>
+				  <property name="sensitive">False</property>
 				  <property name="can_focus">True</property>
 				  <property name="relief">GTK_RELIEF_NORMAL</property>
 				  <property name="focus_on_click">True</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- conary-gui.py	20 Oct 2004 20:52:05 -0000	1.76
+++ conary-gui.py	20 Oct 2004 21:29:36 -0000	1.77
@@ -322,6 +322,14 @@
                 
     ### trove selected
 
+    # XXX this needs to be changed once we have source component pointers in cooked troves    
+    def findSourceTrove(self, troveName):
+        if ':' in troveName:
+            package = troveName[:troveName.find(':')]
+        else:
+            package = troveName
+        return package + ":source"
+
     def onTroveSelected(self, selection):
 	treeIter = selection.get_selected()[1]
 	if treeIter:
@@ -340,7 +348,7 @@
                         branch = d[troveName][0].branch()
                         break
 
-            troveList = [(troveName+":source", branch)]
+            troveList = [(self.findSourceTrove(troveName), branch)]
             md = conaryinterface.Metadata(client, troveList, branch.label(),
                                           cacheAvail, dotdir,
                                           None, self.updateShortDesc)
@@ -373,13 +381,15 @@
     def updateShortDesc(self, metadata, error):
         self.metadata = metadata
         
-        troveName = self.remoteVersionStore.get_data("troveName")
-
-        if troveName+":source" in metadata:
-            self.get_widget("shortDesc").set_text(metadata[troveName+":source"]["shortDesc"][0])
+        troveName = self.findSourceTrove(self.remoteVersionStore.get_data("troveName"))
+            
+        if troveName in metadata:
+            self.get_widget("shortDesc").set_text(metadata[troveName]["shortDesc"][0])
+            self.get_widget("metadataButton").set_sensitive(True)
         else:
             self.get_widget("shortDesc").set_text("")
-
+            self.get_widget("metadataButton").set_sensitive(False)
+            
     def updateBranchStructureFinish(self, tree, error):
         self.updateStatus(False)
 	self.remoteVersionStore.clear()
@@ -542,8 +552,6 @@
             return 
 
         troveName, version = model[treeIter][self.VERSION_COLUMN_OBJECT]
-        metadata = client.repos.getMetadata([(troveName+":source", version.branch())], version.branch().label())
-        self.get_widget("shortDesc").set_text(metadata[troveName+":source"]["shortDesc"][0])
 
         if event.type == gtk.gdk._2BUTTON_PRESS:
             obj = (troveName, version)
@@ -686,7 +694,7 @@
     def onMetadataButtonClicked(self, button):
         troveName = self.remoteVersionStore.get_data("troveName")
             
-        md = MetadataWindow(troveName, self.metadata[troveName+":source"])
+        md = MetadataWindow(troveName, self.metadata[self.findSourceTrove(troveName)])
 
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, callback):


From tgerla@specifixinc.com Wed Oct 20 17:41:34 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9KLfYVR032367
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 20 Oct 2004 17:41:34 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 835CD1623E
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 20 Oct 2004 14:42:23 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9KLgFj5030642; Wed, 20 Oct 2004 17:42:15 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9KLgF6q030639; Wed, 20 Oct 2004 17:42:15 -0400
Date: Wed, 20 Oct 2004 17:42:15 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410202142.i9KLgF6q030639@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.63,1.64
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 20 Oct 2004 21:41:35 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv30627

Modified Files:
	conaryinterface.py 
Log Message:
use new ConaryClient interface to handle dependencies broken by an erase.


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- conaryinterface.py	20 Oct 2004 20:52:05 -0000	1.63
+++ conaryinterface.py	20 Oct 2004 21:42:13 -0000	1.64
@@ -246,8 +246,10 @@
         if updates:
             try:
                 self.updateStatus(True, "Resolving dependencies...")
-                (cs, depFailures, suggMap) = self.client.updateChangeSet(updates)
+                (cs, depFailures, suggMap, brokenByErase) = self.client.updateChangeSet(updates)
 
+                if brokenByErase:
+                    raise BrokenByErase, brokenByErase
                 if depFailures:
                     raise DepsFailed, depFailures
                 elif suggMap:
@@ -256,7 +258,8 @@
                         message += "%s -> %s\n" % (req, " ".join([x[0] for x in suggList]))
                     message += "\n\nContinue?"
 
-                    retval = self.messageDialog(message, buttons=gtk.BUTTONS_YES_NO)
+                    retval = self.messageDialog(message, type=gtk.MESSAGE_INFO,
+                                                         buttons=gtk.BUTTONS_YES_NO)
                 else:
                     retval = gtk.RESPONSE_OK
                     
@@ -268,6 +271,12 @@
                 self.messageDialog("Error updating troves: " + str(sys.exc_info()[1]))
                 self.updateStatus(False, "Operation failed.")
                 return
+            except BrokenByErase, brokenByErase:
+                message = "Troves being removed create unresolved dependencies:"
+                message += str(brokenByErase)
+                self.messageDialog(message)
+                self.updateStatus(False, "Operation failed")
+                return self.operations
             except DepsFailed, depFailures:
                 message = "The following dependencies could not be resolved:\n\n"
                 message += str(depFailures)


From tgerla@specifixinc.com Thu Oct 21 11:13:57 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9LFDuVR002056
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 11:13:57 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 9E14B16242
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 08:14:46 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9LFEij5020297; Thu, 21 Oct 2004 11:14:44 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9LFEhtx020292; Thu, 21 Oct 2004 11:14:43 -0400
Date: Thu, 21 Oct 2004 11:14:43 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410211514.i9LFEhtx020292@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.38, 1.39 conary-gui.py, 1.77,
	1.78 conaryinterface.py, 1.64, 1.65
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 21 Oct 2004 15:13:58 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv20280

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
show changelog from old to new version in the 'pending operations' dialog


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- conary-gui.glade	20 Oct 2004 21:29:36 -0000	1.38
+++ conary-gui.glade	21 Oct 2004 15:14:41 -0000	1.39
@@ -819,7 +819,7 @@
   <property name="width_request">600</property>
   <property name="height_request">300</property>
   <property name="visible">True</property>
-  <property name="title" translatable="yes">window1</property>
+  <property name="title" translatable="yes">Pending Operations</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
   <property name="window_position">GTK_WIN_POS_NONE</property>
   <property name="modal">True</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- conary-gui.py	20 Oct 2004 21:29:36 -0000	1.77
+++ conary-gui.py	21 Oct 2004 15:14:41 -0000	1.78
@@ -54,6 +54,14 @@
 cacheAvail = False
 dotdir = os.environ["HOME"] + "/.conary-gui"
 
+# XXX this needs to be changed once we have source component pointers in cooked troves    
+def findSourceTrove(troveName):
+    if ':' in troveName:
+        package = troveName[:troveName.find(':')]
+    else:
+        package = troveName
+    return package + ":source"
+
 class RepositoryView( gtk.glade.XML ):
 
     NO_STATUS = 0
@@ -103,6 +111,7 @@
         self.pulsing = False
         self.menu = gtk.glade.XML(gladefiles.getGladeFile(), "versionMenu")
         self.menu.signal_autoconnect(self)
+        self.checkOps = None
 
         self.updateStatus(False)
 
@@ -322,14 +331,6 @@
                 
     ### trove selected
 
-    # XXX this needs to be changed once we have source component pointers in cooked troves    
-    def findSourceTrove(self, troveName):
-        if ':' in troveName:
-            package = troveName[:troveName.find(':')]
-        else:
-            package = troveName
-        return package + ":source"
-
     def onTroveSelected(self, selection):
 	treeIter = selection.get_selected()[1]
 	if treeIter:
@@ -348,7 +349,7 @@
                         branch = d[troveName][0].branch()
                         break
 
-            troveList = [(self.findSourceTrove(troveName), branch)]
+            troveList = [(findSourceTrove(troveName), branch)]
             md = conaryinterface.Metadata(client, troveList, branch.label(),
                                           cacheAvail, dotdir,
                                           None, self.updateShortDesc)
@@ -381,7 +382,7 @@
     def updateShortDesc(self, metadata, error):
         self.metadata = metadata
         
-        troveName = self.findSourceTrove(self.remoteVersionStore.get_data("troveName"))
+        troveName = findSourceTrove(self.remoteVersionStore.get_data("troveName"))
             
         if troveName in metadata:
             self.get_widget("shortDesc").set_text(metadata[troveName]["shortDesc"][0])
@@ -624,12 +625,13 @@
         self.updateStatus(False)
         
     def onGoButtonClicked(self, button):
-        dialog = CheckOperations(self.operations, self.onOperationsChecked)
+        self.checkOps = CheckOperations(self.operations, self.changeLogs, self.onOperationsChecked)
 
     def onOperationsChecked(self, operations):
         self.operations = operations
         thread = conaryinterface.DoOperations(client, operations, self.updateStatus, self.operationsComplete)
         thread.start()
+        self.checkOps = None
 
     def operationsComplete(self, results, error):
         self.onRefresh()
@@ -649,6 +651,8 @@
             widget.handler_unblock(self.filterHandler[filter])
 
     def updateOutofdateTroves(self, item):
+        self.checkOps = None
+        self.changeLogs = {}
         updates = []
         components = {}
         packages = []
@@ -689,21 +693,35 @@
             if trove in self.outofdateTroves:
                 obj = (trove, self.outofdateTroves[trove])
                 self.operations[obj] = self.MARKED_FOR_UPDATE
+                
+                old = self.troveVersions[trove][-1]
+                new = obj[1]
+
+                cl = conaryinterface.ChangeLog(client, trove, old, new, self.updateStatus, self.clFinished)
+                cl.start()
+                
         self.updateStatus(False)
 
+    def clFinished(self, results, error):
+        troveName, cl = results
+        self.changeLogs[troveName] = cl
+        if self.checkOps:
+            self.checkOps.setChangelog(troveName, cl)
+
     def onMetadataButtonClicked(self, button):
         troveName = self.remoteVersionStore.get_data("troveName")
             
-        md = MetadataWindow(troveName, self.metadata[self.findSourceTrove(troveName)])
+        md = MetadataWindow(troveName, self.metadata[findSourceTrove(troveName)])
 
 class CheckOperations(gtk.glade.XML):
-    def __init__(self, operations, callback):
+    def __init__(self, operations, changeLogs, callback):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "operationsWindow")
         self.signal_autoconnect(self)
 
         self.window = self.get_widget("operationsWindow")
         self.callback = callback
         self.store = self.buildOpsList(operations)
+        self.treeRoots = {}
 
         operationTitles = ['THIS IS A BUG', 'Update', 'Erase']
         pixmaps = [None, 'gtk-add', 'gtk-remove']
@@ -714,46 +732,46 @@
         for obj in ops:
             status = operations[obj]
             troveName, version = obj
-            self.store.append([(obj, status),
-                               True,
-                               operationTitles[status],
-                               troveName, 'gtk-forward',
-                               version.trailingVersion().asString()])
-        
+            root = self.store.append(None, [(obj, status), True, True,
+                                            operationTitles[status] + " " + troveName,
+                                            "#e9ecf8"])
+            if findSourceTrove(troveName) in changeLogs:
+                for l in changeLogs[findSourceTrove(troveName)]:
+                    self.store.append(root, [None, None, False, l, None])
+            else:
+                self.treeRoots[findSourceTrove(troveName)] = root
+    
+    # function to add the changelog to the tree view after the dialog is open
+    def setChangelog(self, troveName, changeLog):
+        if troveName in self.treeRoots:
+            root = self.treeRoots[troveName]
+            for l in changeLog:
+                self.store.append(root, [None, None, False, l, None])
+ 
     def buildOpsList(self, operations):
-        troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN, gobject.TYPE_STRING,
-                                   gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
+        troveStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN,
+                                   gobject.TYPE_STRING, gobject.TYPE_STRING)
 
         treeview = self.get_widget("opsList")
         treeview.set_model(troveStore)
 
         self.OP_COLUMN_OBJECT = 0
         self.OP_COLUMN_TOGGLE = 1
-        self.OP_COLUMN_STATUS = 2
+        self.OP_COLUMN_TOGGLE_VISIBLE = 2
         self.OP_COLUMN_TROVE = 3
-        self.OP_COLUMN_TO = 4
-        self.OP_COLUMN_VERSION = 5
+        self.OP_COLUMN_TROVE_BG = 4
 
         renderer = gtk.CellRendererToggle()
         renderer.set_property("activatable", True)
-        column = gtk.TreeViewColumn("", renderer, active=self.OP_COLUMN_TOGGLE)
+        column = gtk.TreeViewColumn("", renderer, active=self.OP_COLUMN_TOGGLE,
+                                                  visible=self.OP_COLUMN_TOGGLE_VISIBLE)
         treeview.append_column(column)
         renderer.connect("toggled", self.onOperationClicked, (troveStore, self.OP_COLUMN_TOGGLE))
+        
 
         renderer = gtk.CellRendererText()
-        column = gtk.TreeViewColumn("Operation", renderer, text=self.OP_COLUMN_STATUS)
-        treeview.append_column(column)
-
-        renderer = gtk.CellRendererText()
-        column = gtk.TreeViewColumn("Trove", renderer, text=self.OP_COLUMN_TROVE)
-        treeview.append_column(column)
-
-        renderer = gtk.CellRendererPixbuf()
-        column = gtk.TreeViewColumn("To", renderer, stock_id=self.OP_COLUMN_TO)
-        treeview.append_column(column)
-
-        renderer = gtk.CellRendererText()
-        column = gtk.TreeViewColumn("Version", renderer, text=self.OP_COLUMN_VERSION)
+        column = gtk.TreeViewColumn("Trove", renderer, markup=self.OP_COLUMN_TROVE,
+                                                       background=self.OP_COLUMN_TROVE_BG)
         treeview.append_column(column)
 
         return troveStore
@@ -774,7 +792,7 @@
     
     def onCancelButtonClicked(self, button):
         self.window.destroy()
-
+       
 class MetadataWindow(gtk.glade.XML):
     def __init__(self, troveName, metadata):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "metadataWindow")


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- conaryinterface.py	20 Oct 2004 21:42:13 -0000	1.64
+++ conaryinterface.py	21 Oct 2004 15:14:41 -0000	1.65
@@ -19,6 +19,7 @@
 """
 
 import threading
+import time
 import gtk
 import sys
 import os
@@ -76,7 +77,7 @@
 
     def finish(self, retval, error):
 	gtk.threads_enter()
-	self.finishedCallback(retval, error)
+        self.finishedCallback(retval, error)
 	gtk.threads_leave()
 
     def messageDialog(self, error, type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK):
@@ -360,6 +361,46 @@
         else:
             self.finishedCallback(metadata, None)
 
+class ChangeLog(ConaryOperation):
+    def __init__(self, client, troveName, oldVersion, newVersion, statusCallback, finishedCallback):
+        ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
+        self.troveName = troveName+":source"
+        self.oldVersion = oldVersion
+        self.newVersion = newVersion
+
+    def doOperation(self):
+        troveName = self.troveName
+        branch = self.newVersion.branch()
+        versions = self.client.repos.getTroveVersionsByLabel([troveName], branch.label())
+        versions[troveName].reverse()
+       
+        l = []
+        for v in versions[troveName]:
+            if v.branch() != branch:
+                return None
+            if not v.isAfter(self.oldVersion):
+                break
+            if not v.isAfter(self.newVersion):
+                l.append((troveName, v, None))
+
+        troves = self.client.repos.getTroves(l, withFiles=False)
+        
+        changelog = []
+        for trove in troves:
+            v = trove.getVersion()
+            cl = trove.getChangeLog()
+
+            when = time.strftime("%c", time.localtime(v.timeStamps()[-1]))
+            
+            s = "<b>%s %s (%s) %s</b>\n"\
+                % (v.trailingVersion().asString(), cl.getName(), cl.getContact(), when)
+            
+            lines = cl.getMessage().split("\n")
+            for l in lines:
+                s += "    %s" % l
+            changelog.append(s)
+        return troveName, changelog
+        
 class BranchStructure(ConaryOperation):
     """
     Given a trove name, return a tree-like structure of versions and branches.


From tgerla@specifixinc.com Thu Oct 21 11:23:07 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9LFN7VR002200
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 11:23:07 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id D4E7416242
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 08:23:57 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9LFNtj5021138; Thu, 21 Oct 2004 11:23:55 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9LFNtO5021134; Thu, 21 Oct 2004 11:23:55 -0400
Date: Thu, 21 Oct 2004 11:23:55 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410211523.i9LFNtO5021134@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.18,1.19 NEWS,1.4,1.5
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 21 Oct 2004 15:23:07 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv21116

Modified Files:
	Makefile NEWS 
Log Message:
update NEWS and Makefile for 0.7.0


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- Makefile	14 Oct 2004 13:57:17 -0000	1.18
+++ Makefile	21 Oct 2004 15:23:53 -0000	1.19
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper
 
-export VERSION = 0.6.1
+export VERSION = 0.7
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- NEWS	14 Oct 2004 13:57:17 -0000	1.4
+++ NEWS	21 Oct 2004 15:23:53 -0000	1.5
@@ -1,3 +1,11 @@
+Changes in 0.7:
+    * Retrieves and displays package metadata.
+    * Double-click on trove version marks/unmarks trove for update or erase.
+    * No longer forgets selected operations after a dependencies error.
+    * Doesn't mark components for update, if that component version is already installed.
+    * Show changelogs in the "pending operations" dialog
+    * Use new ConaryClient interface to update packages
+
 Changes in 0.6.1:
     * Fix handling of broken repositories
 


From tgerla@specifixinc.com Thu Oct 21 11:25:18 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9LFPHVR002217
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 11:25:18 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2B24E16242
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 08:26:08 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9LFQ6j5021244; Thu, 21 Oct 2004 11:26:06 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9LFQ5rk021240; Thu, 21 Oct 2004 11:26:05 -0400
Date: Thu, 21 Oct 2004 11:26:05 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410211526.i9LFQ5rk021240@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.19,1.20 NEWS,1.5,1.6
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 21 Oct 2004 15:25:18 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv21228

Modified Files:
	Makefile NEWS 
Log Message:
conform to conary version numbering conventions


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- Makefile	21 Oct 2004 15:23:53 -0000	1.19
+++ Makefile	21 Oct 2004 15:26:03 -0000	1.20
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper
 
-export VERSION = 0.7
+export VERSION = 0.7.0
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- NEWS	21 Oct 2004 15:23:53 -0000	1.5
+++ NEWS	21 Oct 2004 15:26:03 -0000	1.6
@@ -1,4 +1,4 @@
-Changes in 0.7:
+Changes in 0.7.0:
     * Retrieves and displays package metadata.
     * Double-click on trove version marks/unmarks trove for update or erase.
     * No longer forgets selected operations after a dependencies error.


From tgerla@specifixinc.com Thu Oct 21 11:42:35 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9LFgYVR002400
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 11:42:35 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 5002E16242
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 08:43:25 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9LFhMj5021988; Thu, 21 Oct 2004 11:43:22 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9LFhMQc021985; Thu, 21 Oct 2004 11:43:22 -0400
Date: Thu, 21 Oct 2004 11:43:22 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410211543.i9LFhMQc021985@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.65,1.66
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 21 Oct 2004 15:42:35 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv21973

Modified Files:
	conaryinterface.py 
Log Message:
add missing exception


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -r1.65 -r1.66
--- conaryinterface.py	21 Oct 2004 15:14:41 -0000	1.65
+++ conaryinterface.py	21 Oct 2004 15:43:20 -0000	1.66
@@ -50,6 +50,19 @@
             l.append("%s:\n\t%s\n" % (troveName, "\n\t".join(str(depSet).split("\n"))))
         return "".join(l)
 
+class BrokenByErase(Exception):
+    def __init__(self, val):
+        Exception.__init__(self)
+        self.brokenByErase = val
+
+    def __str__(self):
+        l = []
+        for (troveName, depSet) in self.brokenByErase:
+            l.append("    %s:\n\t%s" % \
+                (troveName, "\n\t".join(str(depSet).split("\n"))) )
+        return "".join("l")
+                                                        
+
 class ConaryOperation(threading.Thread):
     """
     Abstract class for a threaded Conary operation with a Gtk-based callback


From tgerla@specifixinc.com Thu Oct 21 22:31:03 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9M2V2VR004042
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 22:31:03 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C5A9E167CF
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 21 Oct 2004 19:31:53 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9M2Vnj5027607; Thu, 21 Oct 2004 22:31:49 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9M2VnLO027604; Thu, 21 Oct 2004 22:31:49 -0400
Date: Thu, 21 Oct 2004 22:31:49 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410220231.i9M2VnLO027604@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.39,1.40
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 02:31:04 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv27592

Modified Files:
	conary-gui.glade 
Log Message:
minor aesthetic change


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- conary-gui.glade	21 Oct 2004 15:14:41 -0000	1.39
+++ conary-gui.glade	22 Oct 2004 02:31:46 -0000	1.40
@@ -7,7 +7,7 @@
   <property name="width_request">600</property>
   <property name="height_request">600</property>
   <property name="visible">True</property>
-  <property name="title" translatable="yes">Conary Manager</property>
+  <property name="title" translatable="yes">Conary Package Manager</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
   <property name="window_position">GTK_WIN_POS_NONE</property>
   <property name="modal">False</property>


From tgerla@specifixinc.com Fri Oct 22 11:31:33 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MFVWVR031457
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 11:31:32 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 9B97416228
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 08:32:22 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MFWHj5010755; Fri, 22 Oct 2004 11:32:17 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MFWG1J010751; Fri, 22 Oct 2004 11:32:16 -0400
Date: Fri, 22 Oct 2004 11:32:16 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221532.i9MFWG1J010751@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.78,1.79 conaryinterface.py,1.66,1.67
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 15:31:34 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv10631

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
conary-gui.py:
 * don't freeze UI while retrieving remote version list
 * don't use get/set_value, use a class variable instead

conaryinterface.py:
 * don't calculate installed versions in BranchStructure anymore
 * return a troveName from BranchStructure




Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- conary-gui.py	21 Oct 2004 15:14:41 -0000	1.78
+++ conary-gui.py	22 Oct 2004 15:32:14 -0000	1.79
@@ -335,7 +335,7 @@
 	treeIter = selection.get_selected()[1]
 	if treeIter:
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
-	    self.remoteVersionStore.set_data("troveName", troveName)
+            self.selectedTrove = troveName
             
             # fetch metadata, prefering the first locally installed branch,
             # or if the item is not installed, the first trove found
@@ -343,6 +343,7 @@
             if troveName in self.troveVersions:
                 branch = self.troveVersions[troveName][0].branch()
             else:
+                branch = None
                 for label in client.cfg.installLabelPath:
                     d = client.repos.getTroveLeavesByLabel([troveName], label)
                     if d[troveName]:
@@ -373,16 +374,19 @@
  
             # fill remote version list
 	    if troveName:
-                self.updateStatus(True)
-		bs = conaryinterface.BranchStructure(client, troveName, None, self.updateStatus, self.updateBranchStructureFinish)
+		self.remoteVersionStore.clear()
+                self.remoteVersionStore.append(None,
+                                               [None, 0, "Retrieving version list from server...",
+                                                None, None, pango.WEIGHT_NORMAL])
+                bs = conaryinterface.BranchStructure(client, troveName, None, self.updateStatus, self.updateBranchStructureFinish)
 		bs.start()
         else:
-            self.remoteVersionStore.set_data("troveName", None)
+            self.selectedTrove = None
 
     def updateShortDesc(self, metadata, error):
         self.metadata = metadata
         
-        troveName = findSourceTrove(self.remoteVersionStore.get_data("troveName"))
+        troveName = findSourceTrove(self.selectedTrove)
             
         if troveName in metadata:
             self.get_widget("shortDesc").set_text(metadata[troveName]["shortDesc"][0])
@@ -391,10 +395,16 @@
             self.get_widget("shortDesc").set_text("")
             self.get_widget("metadataButton").set_sensitive(False)
             
-    def updateBranchStructureFinish(self, tree, error):
-        self.updateStatus(False)
-	self.remoteVersionStore.clear()
-        troveName = self.remoteVersionStore.get_data("troveName")
+    def updateBranchStructureFinish(self, results, error):
+        tree, troveName = results 
+
+        # if the results returned don't match the
+        # currently selected trove, ignore them.
+        if troveName != self.selectedTrove:
+            return
+            
+        self.remoteVersionStore.clear()
+        troveName = self.selectedTrove
         self._fillVersionTree(tree, None, None, troveName)
 	self.get_widget("remoteVersionTree").expand_all()
 
@@ -427,7 +437,8 @@
 		    text = text[text.index('@'):]
 		flavor = ""
 	    else:
-                if tree[item]["installed"] == True:
+                if troveName in self.troveVersions and \
+                   item in self.troveVersions[troveName]:
                     weight = pango.WEIGHT_BOLD
 		text = item.trailingVersion().asString()
 		flavor = tree[item]["flavor"]    
@@ -439,7 +450,7 @@
 
         for (item, itemInfo) in items:
             # don't display empty labels   
-            if isinstance(item, versions.Label) and len(tree[item].keys()) <= 2:
+            if isinstance(item, versions.Label) and len(tree[item].keys()) <= 1:
                 continue
 
             status = self.NO_STATUS
@@ -463,11 +474,12 @@
     def onVersionSelected(self, selection):
 	treeIter = selection.get_selected()[1]
 	if treeIter:
-	    object = self.remoteVersionStore[treeIter][self.VERSION_COLUMN_OBJECT]
-	    troveName = self.remoteVersionStore.get_data("troveName")
+	    obj = self.remoteVersionStore[treeIter][self.VERSION_COLUMN_OBJECT]
 
-	    version = object[0]
-	    flavor = object[1]
+            if obj:
+                troveName = self.selectedTrove
+                version = obj[0]
+                flavor = obj[1]
 	    
     def onOpenChangeset(self, widget):
         fs = gtk.FileChooserDialog(title   = 'Open Change Set',
@@ -546,13 +558,15 @@
             return
         model = widget.get_model()
         treeIter = model.get_iter(path)
-       
-        if not model[treeIter][self.VERSION_COLUMN_OBJECT][0]:
+      
+        obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
+      
+        if not obj and obj[0]:
             return
-        if isinstance(model[treeIter][self.VERSION_COLUMN_OBJECT][1], versions.Label):
+        if isinstance(obj[1], versions.Label):
             return 
 
-        troveName, version = model[treeIter][self.VERSION_COLUMN_OBJECT]
+        troveName, version = obj
 
         if event.type == gtk.gdk._2BUTTON_PRESS:
             obj = (troveName, version)
@@ -709,7 +723,7 @@
             self.checkOps.setChangelog(troveName, cl)
 
     def onMetadataButtonClicked(self, button):
-        troveName = self.remoteVersionStore.get_data("troveName")
+        troveName = self.selectedTrove
             
         md = MetadataWindow(troveName, self.metadata[findSourceTrove(troveName)])
 


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- conaryinterface.py	21 Oct 2004 15:43:20 -0000	1.66
+++ conaryinterface.py	22 Oct 2004 15:32:14 -0000	1.67
@@ -434,7 +434,7 @@
             branches = self._getVersionsAndBranches(None, 0)
             tree.update(branches)
 
-	return tree
+	return tree, self.troveName
 
     def dumpStructure(self, tree, level=0):
 	if isinstance(tree, dict):
@@ -467,7 +467,7 @@
 	branches = self._getNestedBranches(label)
 	branches.sort()
 	
-	tree = { label: {"flavor": None, "installed": False}, "flavor": None, "installed": False }
+	tree = { label: {"flavor": None}, "flavor": None }
 	flavors = self.client.repos.getTroveVersionFlavors(versions)
 
 	for version in flavors[self.troveName]:
@@ -479,18 +479,6 @@
 		if version.branch().label() not in tree:
 		    tree[version.branch().label()] = { "flavor": None }
 		tree[version.branch().label()][version] = {"flavor": flavor}
-            try:
-                versionList = self.client.db.getTroveVersionList(self.troveName)
-            except:
-                installed = False
-            else:
-                thisVersion = version.asString()
-                versionStrs = [x.asString() for x in versionList]
-                if thisVersion in versionStrs:
-                    installed = True
-                else:
-                    installed = False
-            tree[version.branch().label()][version]["installed"] = installed 
 
 	for branch in branches:
 	    branchTree = self._getVersionsAndBranches(branch.label(), level+1)


From tgerla@specifixinc.com Fri Oct 22 11:50:51 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MFooVR031486
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 11:50:51 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 04E8116228
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 08:51:42 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MFpdj5011464; Fri, 22 Oct 2004 11:51:39 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MFpcsd011460; Fri, 22 Oct 2004 11:51:38 -0400
Date: Fri, 22 Oct 2004 11:51:38 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221551.i9MFpcsd011460@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS,1.6,1.7 conary-gui.py,1.79,1.80
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 15:50:52 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv11448

Modified Files:
	NEWS conary-gui.py 
Log Message:
minor interface fixups, show a warning dialog if the metadata cache is not available.


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- NEWS	21 Oct 2004 15:26:03 -0000	1.6
+++ NEWS	22 Oct 2004 15:51:36 -0000	1.7
@@ -1,3 +1,8 @@
+Changes in 0.7.1:
+    * Don't lock the GUI when retrieving version list from the remote server.
+    * Various code reorganizations to improve performance.
+    * Added a warning dialog if the metadata cache is not available.
+
 Changes in 0.7.0:
     * Retrieves and displays package metadata.
     * Double-click on trove version marks/unmarks trove for update or erase.


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- conary-gui.py	22 Oct 2004 15:32:14 -0000	1.79
+++ conary-gui.py	22 Oct 2004 15:51:36 -0000	1.80
@@ -13,9 +13,6 @@
 # full details.
 #
 
-# FIXME: centralize status widget changes so that the conaryoperation classes
-#        don't have as much work to do to report status back to the client
-
 profiling = False
 
 import string, os, copy
@@ -361,7 +358,7 @@
             try:
                 troveList = client.db.findTrove(troveName)
             except repository.repository.PackageNotFound:
-                pass
+                self.localVersionStore.append([None, 0, "No versions installed."])
             else:
                 for trove in troveList:
                     version = trove.getVersion()
@@ -561,7 +558,7 @@
       
         obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
       
-        if not obj and obj[0]:
+        if not obj or obj[0]:
             return
         if isinstance(obj[1], versions.Label):
             return 
@@ -816,7 +813,7 @@
         self.get_widget("shortDescLabel").set_text(metadata["shortDesc"][0])
         
         buffer = self.get_widget("longDescTv").get_buffer()
-        buffer.insert(buffer.get_start_iter(), metadata["longDesc"][0])
+        buffer.insert(buffer.get_start_iter(), metadata["longDesc"][0].replace("\n", ""))
        
         # license list
         licenseStore = gtk.ListStore(gobject.TYPE_STRING)
@@ -836,13 +833,18 @@
             categoryStore.append([x])
         
 if __name__ == "__main__":
-    if os.access(dotdir, os.F_OK):
+    if os.access(os.path.join(dotdir, "metadata.cache"), os.R_OK|os.W_OK):
         cacheAvail = True
     else:
         try:
             os.makedirs(dotdir)
-        except OSError:
-            # FIXME pop up warning dialog here
+        except:
+            msg = "Metadata cache unavailable:\n\n" + str(sys.exc_info()[1])
+            dialog = gtk.MessageDialog(type = gtk.MESSAGE_WARNING,
+                                       buttons = gtk.BUTTONS_OK,
+                                       message_format = msg)
+            dialog.run()
+            dialog.destroy()
             cacheAvail = False
         else:
             cacheAvail = True


From tgerla@specifixinc.com Fri Oct 22 11:56:28 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MFuRVR031498
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 11:56:28 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 7623016228
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 08:57:19 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MFvHj5011690; Fri, 22 Oct 2004 11:57:17 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MFvGq2011687; Fri, 22 Oct 2004 11:57:16 -0400
Date: Fri, 22 Oct 2004 11:57:16 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221557.i9MFvGq2011687@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.67,1.68
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 15:56:28 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv11675

Modified Files:
	conaryinterface.py 
Log Message:
remove unneeded warning print--the dialog is enough


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- conaryinterface.py	22 Oct 2004 15:32:14 -0000	1.67
+++ conaryinterface.py	22 Oct 2004 15:57:14 -0000	1.68
@@ -146,7 +146,6 @@
                 troves += self.client.repos.troveNames(repo)
             except: # FIXME don't catch all exceptions here!
                 brokenRepos[repo] = True
-                print "warning: failed to open repo %s, skipping" % repo.getHost()
 
         self.updateStatus(False)
 	return troves, brokenRepos


From tgerla@specifixinc.com Fri Oct 22 12:07:17 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MG7GVR031525
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 12:07:17 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 0EDC916212
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 09:08:08 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MG85j5011940; Fri, 22 Oct 2004 12:08:05 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MG85xX011937; Fri, 22 Oct 2004 12:08:05 -0400
Date: Fri, 22 Oct 2004 12:08:05 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221608.i9MG85xX011937@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.80,1.81
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 16:07:18 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv11925

Modified Files:
	conary-gui.py 
Log Message:
add a line to the remote versions list if no versions exist


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- conary-gui.py	22 Oct 2004 15:51:36 -0000	1.80
+++ conary-gui.py	22 Oct 2004 16:08:02 -0000	1.81
@@ -445,11 +445,13 @@
 	items.sort(self.cmpVersion)
         items.reverse() # show newest first
 
+        anyItems = False
         for (item, itemInfo) in items:
             # don't display empty labels   
             if isinstance(item, versions.Label) and len(tree[item].keys()) <= 1:
                 continue
 
+            anyItems = True
             status = self.NO_STATUS
             if (troveName, item) in self.operations:
                 if self.MARKED_FOR_UPDATE == self.operations[(troveName, item)]:
@@ -466,6 +468,11 @@
             )
             self._fillVersionTree(tree[item], item, newIter, troveName, level+1)
 
+        if not anyItems and level == 0:
+            self.remoteVersionStore.append(None,
+                [None, 0, "No versions found.",
+                 None, None, pango.WEIGHT_NORMAL])
+
     ### Version methods
                                                        
     def onVersionSelected(self, selection):


From tgerla@specifixinc.com Fri Oct 22 12:10:38 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MGAbVR031540
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 12:10:38 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 4375216212
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 09:11:29 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MGBRj5012213; Fri, 22 Oct 2004 12:11:27 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MGBQId012210; Fri, 22 Oct 2004 12:11:26 -0400
Date: Fri, 22 Oct 2004 12:11:26 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221611.i9MGBQId012210@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.81,1.82
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 16:10:38 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12198

Modified Files:
	conary-gui.py 
Log Message:
add a line to the remote versions list if no versions exist


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -r1.81 -r1.82
--- conary-gui.py	22 Oct 2004 16:08:02 -0000	1.81
+++ conary-gui.py	22 Oct 2004 16:11:24 -0000	1.82
@@ -565,6 +565,7 @@
       
         obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
       
+        print obj
         if not obj or obj[0]:
             return
         if isinstance(obj[1], versions.Label):


From tgerla@specifixinc.com Fri Oct 22 12:11:03 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MGB2VR031550
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 12:11:03 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2B01216212
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 09:11:54 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MGBqj5012275; Fri, 22 Oct 2004 12:11:52 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MGBpAk012272; Fri, 22 Oct 2004 12:11:51 -0400
Date: Fri, 22 Oct 2004 12:11:51 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221611.i9MGBpAk012272@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.82,1.83
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 16:11:03 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12260

Modified Files:
	conary-gui.py 
Log Message:
reverse accidental commit


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- conary-gui.py	22 Oct 2004 16:11:24 -0000	1.82
+++ conary-gui.py	22 Oct 2004 16:11:49 -0000	1.83
@@ -565,7 +565,6 @@
       
         obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
       
-        print obj
         if not obj or obj[0]:
             return
         if isinstance(obj[1], versions.Label):


From tgerla@specifixinc.com Fri Oct 22 12:11:47 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MGBlVR031561
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 12:11:47 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2742016212
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 09:12:39 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MGCbj5012360; Fri, 22 Oct 2004 12:12:37 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MGCa6e012357; Fri, 22 Oct 2004 12:12:36 -0400
Date: Fri, 22 Oct 2004 12:12:36 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221612.i9MGCa6e012357@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.83,1.84
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 16:11:48 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12345

Modified Files:
	conary-gui.py 
Log Message:
fix typo


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -r1.83 -r1.84
--- conary-gui.py	22 Oct 2004 16:11:49 -0000	1.83
+++ conary-gui.py	22 Oct 2004 16:12:34 -0000	1.84
@@ -565,7 +565,7 @@
       
         obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
       
-        if not obj or obj[0]:
+        if not obj or not obj[0]:
             return
         if isinstance(obj[1], versions.Label):
             return 


From tgerla@specifixinc.com Fri Oct 22 13:19:00 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MHIxVR031645
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 13:18:59 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C6F6616212
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 10:19:50 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MHJmj5013532; Fri, 22 Oct 2004 13:19:48 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MHJl8p013522; Fri, 22 Oct 2004 13:19:47 -0400
Date: Fri, 22 Oct 2004 13:19:47 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221719.i9MHJl8p013522@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.84,1.85 conaryinterface.py,1.68,1.69
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 17:19:00 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv13510

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
honor installLabelPath properly


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -r1.84 -r1.85
--- conary-gui.py	22 Oct 2004 16:12:34 -0000	1.84
+++ conary-gui.py	22 Oct 2004 17:19:45 -0000	1.85
@@ -249,10 +249,10 @@
 
         self.localTroves = Set(troveVersions.keys())
         self.locallyBuiltTroves = Set(locallyBuiltTroves)
-        self.updateRemoteTroveTreeBegin(repos)
+        self.updateRemoteTroveTreeBegin()
 
-    def updateRemoteTroveTreeBegin(self, repos):
-        troveList = conaryinterface.TroveList(client, repos, self.updateStatus, self.updateRemoteTroveTreeFinish)
+    def updateRemoteTroveTreeBegin(self):
+        troveList = conaryinterface.TroveList(client, self.updateStatus, self.updateRemoteTroveTreeFinish)
         troveList.start()
 
     def updateRemoteTroveTreeFinish(self, results, error):
@@ -347,12 +347,13 @@
                         branch = d[troveName][0].branch()
                         break
 
-            troveList = [(findSourceTrove(troveName), branch)]
-            md = conaryinterface.Metadata(client, troveList, branch.label(),
-                                          cacheAvail, dotdir,
-                                          None, self.updateShortDesc)
-            md.checkCache()
-            
+            if branch:
+                troveList = [(findSourceTrove(troveName), branch)]
+                md = conaryinterface.Metadata(client, troveList, branch.label(),
+                                              cacheAvail, dotdir,
+                                              None, self.updateShortDesc)
+                md.checkCache()
+                
             # fill local version list
             self.localVersionStore.clear()
             try:


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- conaryinterface.py	22 Oct 2004 15:57:14 -0000	1.68
+++ conaryinterface.py	22 Oct 2004 17:19:45 -0000	1.69
@@ -121,26 +121,13 @@
     Retrieve a list of all troves in the repositories.
     """
 
-    def __init__(self, client, foundRepos, statusCallback, finishedCallback):
-        ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
-        self.foundRepos = foundRepos
-        
     def doOperation(self):
 	troves = []
         brokenRepos = {}
 
         cfgRepos = self.client.cfg.installLabelPath 
 
-        # combine two lists, removing dups
-        allRepos = [repo for repo in cfgRepos + self.foundRepos]
-        hosts = []
-        uniqueRepos = []
-        for repo in allRepos:
-            if repo.getHost() not in hosts:
-                uniqueRepos.append(repo)
-                hosts.append(repo.getHost())
-                
-        for repo in uniqueRepos:
+        for repo in cfgRepos:
             try:
                 self.updateStatus(True, "Updating trove list from repository: %s" % repo.getHost())
                 troves += self.client.repos.troveNames(repo)


From tgerla@specifixinc.com Fri Oct 22 13:38:14 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MHcDVR031690
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 13:38:14 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 088A016212
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 10:39:05 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MHd2j5014118; Fri, 22 Oct 2004 13:39:02 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MHd2tc014113; Fri, 22 Oct 2004 13:39:02 -0400
Date: Fri, 22 Oct 2004 13:39:02 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221739.i9MHd2tc014113@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS, 1.7, 1.8 conary-gui.glade, 1.40, 1.41 conary-gui.py,
	1.85, 1.86
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 17:38:15 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv14099

Modified Files:
	NEWS conary-gui.glade conary-gui.py 
Log Message:
changes to the metadata details dialog in preparation for file lists and changelog display


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- NEWS	22 Oct 2004 15:51:36 -0000	1.7
+++ NEWS	22 Oct 2004 17:39:00 -0000	1.8
@@ -2,6 +2,8 @@
     * Don't lock the GUI when retrieving version list from the remote server.
     * Various code reorganizations to improve performance.
     * Added a warning dialog if the metadata cache is not available.
+    * Honors installLabelPath properly, instead of querying every repository
+      that the local system references.
 
 Changes in 0.7.0:
     * Retrieves and displays package metadata.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- conary-gui.glade	22 Oct 2004 02:31:46 -0000	1.40
+++ conary-gui.glade	22 Oct 2004 17:39:00 -0000	1.41
@@ -1195,6 +1195,69 @@
 	  <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">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox4">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">12</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button3">
+	      <property name="visible">True</property>
+	      <property name="sensitive">False</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label" translatable="yes">File List</property>
+	      <property name="use_underline">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="button4">
+	      <property name="visible">True</property>
+	      <property name="sensitive">False</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label" translatable="yes">Changelogs</property>
+	      <property name="use_underline">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="closeButton">
+	      <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>
+	      <signal name="clicked" handler="onCloseButtonClicked" last_modification_time="Fri, 22 Oct 2004 17:33:09 GMT"/>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
     </widget>
   </child>
 </widget>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- conary-gui.py	22 Oct 2004 17:19:45 -0000	1.85
+++ conary-gui.py	22 Oct 2004 17:39:00 -0000	1.86
@@ -839,6 +839,9 @@
             licenseStore.append([x])
         for x in metadata["category"]:
             categoryStore.append([x])
+
+    def onCloseButtonClicked(self, button):
+        self.get_widget("metadataWindow").destroy()
         
 if __name__ == "__main__":
     if os.access(os.path.join(dotdir, "metadata.cache"), os.R_OK|os.W_OK):


From tgerla@specifixinc.com Fri Oct 22 15:25:57 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9MJPuVR000680
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 15:25:57 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 7E3D616796
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 12:26:47 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9MJQij5016918; Fri, 22 Oct 2004 15:26:44 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9MJQhXB016912; Fri, 22 Oct 2004 15:26:43 -0400
Date: Fri, 22 Oct 2004 15:26:43 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410221926.i9MJQhXB016912@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui metadata.py, NONE, 1.1 Makefile, 1.20,
	1.21 conary-gui.glade, 1.41, 1.42 conary-gui.py, 1.86,
	1.87 conaryinterface.py, 1.69, 1.70
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 22 Oct 2004 19:25:58 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv16900

Modified Files:
	Makefile conary-gui.glade conary-gui.py conaryinterface.py 
Added Files:
	metadata.py 
Log Message:
add Changelog button to package Details dialog


--- NEW FILE metadata.py ---
#
# Copyright (c) 2004 Specifix, Inc.
#
# This program is distributed under the terms of the Common Public License,
# version 1.0. A copy of this license should have been distributed with this
# source file in a file called LICENSE. If it is not present, the license
# is always available at http://www.opensource.org/licenses/cpl.php.
#
# This program is distributed in the hope that it will be useful, but
# without any waranty; without even the implied warranty of merchantability
# or fitness for a particular purpose. See the Common Public License for
# full details.
#
import gtk
import gobject
import gtk.glade
import pango

import conaryinterface
import gladefiles

class MetadataWindow(gtk.glade.XML):
    def __init__(self, client, troveName, version, metadata):
        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "metadataWindow")
        self.signal_autoconnect(self)

        self.client = client
        self.troveName = troveName
        self.version = version

        self.get_widget("detailsLabel").set_markup("<b>Details of %s</b>" % troveName)
        self.get_widget("shortDescLabel").set_text(metadata["shortDesc"][0])

        buffer = self.get_widget("longDescTv").get_buffer()
        buffer.insert(buffer.get_start_iter(), metadata["longDesc"][0].replace("\n", ""))

        # license list
        licenseStore = gtk.ListStore(gobject.TYPE_STRING)
        tv = self.get_widget("licenseList")
        tv.set_model(licenseStore)
        tv.append_column(gtk.TreeViewColumn("Licenses", gtk.CellRendererText(), text=0))

        # category list
        categoryStore = gtk.ListStore(gobject.TYPE_STRING)
        tv = self.get_widget("categoryList")
        tv.set_model(categoryStore)
        tv.append_column(gtk.TreeViewColumn("Categories", gtk.CellRendererText(), text=0))

        for x in metadata["license"]:
            licenseStore.append([x])
        for x in metadata["category"]:
            categoryStore.append([x])

    def onCloseButtonClicked(self, button):
        self.get_widget("metadataWindow").destroy()

    def onChangelogButtonClicked(self, button):
        clw = ChangelogWindow(self.client, self.troveName, self.version.branch())
    

class FileListWindow(gtk.glade.XML):
    def __init__(self, client, troveName, version):
        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "fileListWindow")
        self.signal_autoconnect(self)
        self.client = client

        self.store = self.buildFileList()
        fl = conaryinterface.FileList(client, troveName, version, None, self.fileListFinished)
        fl.start()

    def fileListFinished(self, results, error):
        self.store.clear()
        print results
        for (fileId, path, version, file) in results:
            if isinstance(file, files.SymbolicLink):
                name = "%s -> %s" %(path, file.target.value())
            else:
                name = path
        
            self.store.append([file.modeString(), file.inode.owner(), file.inode.group(),
                                   file.sizeString(), file.timeString(), name])

    def buildFileList(self):
        store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
                                       gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)

        treeview = self.get_widget("fileListTv")
        treeview.set_model(store)

        self.FILE_COLUMN_MODE = 0
        self.FILE_COLUMN_OWNER = 1
        self.FILE_COLUMN_GROUP = 2
        self.FILE_COLUMN_SIZE = 3
        self.FILE_COLUMN_TIME = 4
        self.FILE_COLUMN_NAME = 5

        column = gtk.TreeViewColumn("Mode", gtk.CellRendererText(), text=self.FILE_COLUMN_MODE)
        treeview.append_column(column)
        column = gtk.TreeViewColumn("Owner", gtk.CellRendererText(), text=self.FILE_COLUMN_OWNER)
        treeview.append_column(column)
        column = gtk.TreeViewColumn("Group", gtk.CellRendererText(), text=self.FILE_COLUMN_GROUP)
        treeview.append_column(column)
        column = gtk.TreeViewColumn("Size", gtk.CellRendererText(), text=self.FILE_COLUMN_SIZE)
        treeview.append_column(column)
        column = gtk.TreeViewColumn("Time", gtk.CellRendererText(), text=self.FILE_COLUMN_TIME)
        treeview.append_column(column)
        column = gtk.TreeViewColumn("Name", gtk.CellRendererText(), text=self.FILE_COLUMN_NAME)
        treeview.append_column(column)

        return store

class ChangelogWindow(gtk.glade.XML):
    def __init__(self, client, troveName, branch):
        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "changelogWindow")
        self.signal_autoconnect(self)

        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)

        tv = self.get_widget("changelogTv")
        tv.set_model(self.store)

        column = gtk.TreeViewColumn(None, gtk.CellRendererText(), markup=0, background=1)
        tv.append_column(column)

        self.store.append(['Retrieving changelogs...', None])
        cl = conaryinterface.ChangeLog(client, troveName, None, None, branch,
                                       None, self.changelogFinished)
        cl.start()

    def changelogFinished(self, results, error):
        troveName, changelogs = results
        self.store.clear()
        for l in changelogs:
            self.store.append([l["header"], "#e9ecf8"])
            self.store.append([l["body"], None])
       
    def onCloseButtonClicked(self, button):
        self.get_widget("changelogWindow").destroy()


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- Makefile	21 Oct 2004 15:26:03 -0000	1.20
+++ Makefile	22 Oct 2004 19:26:41 -0000	1.21
@@ -20,6 +20,7 @@
 		   conary-gui.py \
 		   updatetrove.py \
 		   gladefiles.py \
+                   metadata.py \
 		   applychangeset.py \
 		   statuswindow.py
 


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- conary-gui.glade	22 Oct 2004 17:39:00 -0000	1.41
+++ conary-gui.glade	22 Oct 2004 19:26:41 -0000	1.42
@@ -1214,30 +1214,195 @@
 	  <property name="spacing">12</property>
 
 	  <child>
-	    <widget class="GtkButton" id="button3">
+	    <widget class="GtkButton" id="changelogButton">
 	      <property name="visible">True</property>
-	      <property name="sensitive">False</property>
 	      <property name="can_default">True</property>
 	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">File List</property>
+	      <property name="label" translatable="yes">Changelogs</property>
 	      <property name="use_underline">True</property>
 	      <property name="relief">GTK_RELIEF_NORMAL</property>
 	      <property name="focus_on_click">True</property>
+	      <signal name="clicked" handler="onChangelogButtonClicked" last_modification_time="Fri, 22 Oct 2004 18:59:33 GMT"/>
 	    </widget>
 	  </child>
 
 	  <child>
-	    <widget class="GtkButton" id="button4">
+	    <widget class="GtkButton" id="closeButton">
 	      <property name="visible">True</property>
-	      <property name="sensitive">False</property>
 	      <property name="can_default">True</property>
 	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Changelogs</property>
-	      <property name="use_underline">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>
+	      <signal name="clicked" handler="onCloseButtonClicked" last_modification_time="Fri, 22 Oct 2004 17:33:09 GMT"/>
+	      <accelerator key="Escape" modifiers="0" signal="clicked"/>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="fileListWindow">
+  <property name="border_width">12</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">File List</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">True</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_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox10">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">6</property>
+
+      <child>
+	<widget class="GtkScrolledWindow" id="scrolledwindow12">
+	  <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="fileListTv">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="headers_visible">True</property>
+	      <property name="rules_hint">False</property>
+	      <property name="reorderable">False</property>
+	      <property name="enable_search">True</property>
 	    </widget>
 	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHSeparator" id="hseparator2">
+	  <property name="visible">True</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox5">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button6">
+	      <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>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+<widget class="GtkWindow" id="changelogWindow">
+  <property name="border_width">12</property>
+  <property name="width_request">500</property>
+  <property name="height_request">500</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Changelog</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">True</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_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox11">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">6</property>
+
+      <child>
+	<widget class="GtkScrolledWindow" id="scrolledwindow17">
+	  <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="changelogTv">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="headers_visible">True</property>
+	      <property name="rules_hint">False</property>
+	      <property name="reorderable">False</property>
+	      <property name="enable_search">True</property>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHSeparator" id="hseparator3">
+	  <property name="visible">True</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox6">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">0</property>
 
 	  <child>
 	    <widget class="GtkButton" id="closeButton">
@@ -1248,7 +1413,8 @@
 	      <property name="use_stock">True</property>
 	      <property name="relief">GTK_RELIEF_NORMAL</property>
 	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="onCloseButtonClicked" last_modification_time="Fri, 22 Oct 2004 17:33:09 GMT"/>
+	      <signal name="clicked" handler="onCloseButtonClicked" last_modification_time="Fri, 22 Oct 2004 18:53:03 GMT"/>
+	      <accelerator key="Escape" modifiers="0" signal="clicked"/>
 	    </widget>
 	  </child>
 	</widget>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -r1.86 -r1.87
--- conary-gui.py	22 Oct 2004 17:39:00 -0000	1.86
+++ conary-gui.py	22 Oct 2004 19:26:41 -0000	1.87
@@ -46,6 +46,7 @@
 import conaryinterface 
 import updatetrove
 import applychangeset
+import metadata
 
 client = conaryclient.ConaryClient()
 cacheAvail = False
@@ -338,16 +339,18 @@
             # or if the item is not installed, the first trove found
             # in the installLabelPath
             if troveName in self.troveVersions:
-                branch = self.troveVersions[troveName][0].branch()
+                version = self.troveVersions[troveName][0]
             else:
-                branch = None
+                version = None
                 for label in client.cfg.installLabelPath:
                     d = client.repos.getTroveLeavesByLabel([troveName], label)
                     if d[troveName]:
-                        branch = d[troveName][0].branch()
+                        version = d[troveName][0]
                         break
 
-            if branch:
+            self.selectedVersion = version
+            if version:
+                branch = version.branch()
                 troveList = [(findSourceTrove(troveName), branch)]
                 md = conaryinterface.Metadata(client, troveList, branch.label(),
                                               cacheAvail, dotdir,
@@ -716,7 +719,8 @@
                 old = self.troveVersions[trove][-1]
                 new = obj[1]
 
-                cl = conaryinterface.ChangeLog(client, trove, old, new, self.updateStatus, self.clFinished)
+                cl = conaryinterface.ChangeLog(client, trove, old, new, new.branch(),
+                                               self.updateStatus, self.clFinished)
                 cl.start()
                 
         self.updateStatus(False)
@@ -729,8 +733,9 @@
 
     def onMetadataButtonClicked(self, button):
         troveName = self.selectedTrove
-            
-        md = MetadataWindow(troveName, self.metadata[findSourceTrove(troveName)])
+        
+        md = metadata.MetadataWindow(client, troveName, self.selectedVersion,
+                                     self.metadata[findSourceTrove(troveName)])
 
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, changeLogs, callback):
@@ -754,18 +759,19 @@
             root = self.store.append(None, [(obj, status), True, True,
                                             operationTitles[status] + " " + troveName,
                                             "#e9ecf8"])
+
+            self.treeRoots[findSourceTrove(troveName)] = root
             if findSourceTrove(troveName) in changeLogs:
-                for l in changeLogs[findSourceTrove(troveName)]:
-                    self.store.append(root, [None, None, False, l, None])
-            else:
-                self.treeRoots[findSourceTrove(troveName)] = root
+                self.setChangelog(findSourceTrove(troveName), changeLogs[findSourceTrove(troveName)])
     
     # function to add the changelog to the tree view after the dialog is open
     def setChangelog(self, troveName, changeLog):
         if troveName in self.treeRoots:
             root = self.treeRoots[troveName]
             for l in changeLog:
-                self.store.append(root, [None, None, False, l, None])
+                header = "<b>" + l["header"] + "</b>"
+                self.store.append(root, [None, None, False, header, None])
+                self.store.append(root, [None, None, False, l["body"], None])
  
     def buildOpsList(self, operations):
         troveStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN,
@@ -812,37 +818,6 @@
     def onCancelButtonClicked(self, button):
         self.window.destroy()
        
-class MetadataWindow(gtk.glade.XML):
-    def __init__(self, troveName, metadata):
-        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "metadataWindow")
-        self.signal_autoconnect(self)
-        
-        self.get_widget("detailsLabel").set_markup("<b>Details of %s</b>" % troveName)
-        self.get_widget("shortDescLabel").set_text(metadata["shortDesc"][0])
-        
-        buffer = self.get_widget("longDescTv").get_buffer()
-        buffer.insert(buffer.get_start_iter(), metadata["longDesc"][0].replace("\n", ""))
-       
-        # license list
-        licenseStore = gtk.ListStore(gobject.TYPE_STRING)
-        tv = self.get_widget("licenseList")
-        tv.set_model(licenseStore)
-        tv.append_column(gtk.TreeViewColumn("Licenses", gtk.CellRendererText(), text=0))
-                
-        # category list
-        categoryStore = gtk.ListStore(gobject.TYPE_STRING)
-        tv = self.get_widget("categoryList")
-        tv.set_model(categoryStore)
-        tv.append_column(gtk.TreeViewColumn("Categories", gtk.CellRendererText(), text=0))
-        
-        for x in metadata["license"]:
-            licenseStore.append([x])
-        for x in metadata["category"]:
-            categoryStore.append([x])
-
-    def onCloseButtonClicked(self, button):
-        self.get_widget("metadataWindow").destroy()
-        
 if __name__ == "__main__":
     if os.access(os.path.join(dotdir, "metadata.cache"), os.R_OK|os.W_OK):
         cacheAvail = True


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- conaryinterface.py	22 Oct 2004 17:19:45 -0000	1.69
+++ conaryinterface.py	22 Oct 2004 19:26:41 -0000	1.70
@@ -310,18 +310,19 @@
     """
     Retrieve a list of all files inside a trove.
     """
-    def __init__(self, client, troveName, version, flavor, statusCallback, finishedCallback):
+    def __init__(self, client, troveName, version, statusCallback, finishedCallback):
 	ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
 	self.troveName = troveName
 	self.version = version
-	self.flavor = flavor
 
     def doOperation(self):
-	iter = self.client.repos.iterFilesInTrove(self.troveName, self.version,
-		 		           self.flavor, sortByPath = True,
-		 		           withFiles = True)
+        trove = self.client.repos.getTroveVersionFlavors({self.troveName: [self.version]})
+        
+        flavor = trove[self.troveName][self.version][0]
+	files = self.client.repos.iterFilesInTrove(self.troveName, self.version, flavor,
+		 		                   sortByPath = True, withFiles = True)
 
-	fileList = list(iter)
+	fileList = list(files)
 	return fileList
 
 class Metadata(ConaryOperation):
@@ -361,18 +362,24 @@
             self.finishedCallback(metadata, None)
 
 class ChangeLog(ConaryOperation):
-    def __init__(self, client, troveName, oldVersion, newVersion, statusCallback, finishedCallback):
+    def __init__(self, client, troveName, oldVersion, newVersion, branch, statusCallback, finishedCallback):
         ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
         self.troveName = troveName+":source"
         self.oldVersion = oldVersion
         self.newVersion = newVersion
+        self.branch = branch
 
     def doOperation(self):
         troveName = self.troveName
-        branch = self.newVersion.branch()
+        branch = self.branch
         versions = self.client.repos.getTroveVersionsByLabel([troveName], branch.label())
         versions[troveName].reverse()
-       
+    
+        if not self.oldVersion:
+            self.oldVersion = versions[troveName][-1]
+        if not self.newVersion:
+            self.newVersion = versions[troveName][0]
+    
         l = []
         for v in versions[troveName]:
             if v.branch() != branch:
@@ -391,13 +398,14 @@
 
             when = time.strftime("%c", time.localtime(v.timeStamps()[-1]))
             
-            s = "<b>%s %s (%s) %s</b>\n"\
+            header = "%s %s (%s) %s"\
                 % (v.trailingVersion().asString(), cl.getName(), cl.getContact(), when)
-            
+
+            body = ""
             lines = cl.getMessage().split("\n")
             for l in lines:
-                s += "    %s" % l
-            changelog.append(s)
+                body += "    %s" % l
+            changelog.append({"header": header, "body": body})
         return troveName, changelog
         
 class BranchStructure(ConaryOperation):


From tgerla@specifixinc.com Fri Oct 22 22:19:06 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9N2J5VR001296
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 22:19:06 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8BEDE16796
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 19:19:57 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9N2Jrj5026168; Fri, 22 Oct 2004 22:19:53 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9N2Jr1m026166; Fri, 22 Oct 2004 22:19:53 -0400
Date: Fri, 22 Oct 2004 22:19:53 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410230219.i9N2Jr1m026166@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.87,1.88
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sat, 23 Oct 2004 02:19:06 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv26153

Modified Files:
	conary-gui.py 
Log Message:
set up changelog retrieval for manually-marked troves


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- conary-gui.py	22 Oct 2004 19:26:41 -0000	1.87
+++ conary-gui.py	23 Oct 2004 02:19:50 -0000	1.88
@@ -110,7 +110,8 @@
         self.menu = gtk.glade.XML(gladefiles.getGladeFile(), "versionMenu")
         self.menu.signal_autoconnect(self)
         self.checkOps = None
-
+        self.changeLogs = {}
+        
         self.updateStatus(False)
 
         # build remote and local trove lists, fill the local trove tree.
@@ -588,6 +589,9 @@
                 if widget == self.get_widget("remoteVersionTree"):
                     model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_UPDATE
                     self.operations[obj] = self.MARKED_FOR_UPDATE
+                    cl = conaryinterface.ChangeLog(client, obj[0], None, obj[1], obj[1].branch(),
+                                                   self.updateStatus, self.clFinished)
+                    cl.start()
                 elif widget == self.get_widget("localVersionTree"):
                     model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
                     self.operations[obj] = self.MARKED_FOR_ERASE
@@ -625,6 +629,9 @@
         
         obj = model[treeIter][self.VERSION_COLUMN_OBJECT]
         self.operations[obj] = self.MARKED_FOR_UPDATE
+        cl = conaryinterface.ChangeLog(client, obj[0], None, obj[1], obj[1].branch(),
+                                       self.updateStatus, self.clFinished)
+        cl.start()
         self.updateStatus(False)
 
     def onMarkForErase(self, widget):
@@ -674,7 +681,6 @@
 
     def updateOutofdateTroves(self, item):
         self.checkOps = None
-        self.changeLogs = {}
         updates = []
         components = {}
         packages = []


From tgerla@specifixinc.com Sat Oct 23 00:55:17 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9N4tGVR001437
	for <conary-gui-commits@lists.specifix.com>;
	Sat, 23 Oct 2004 00:55:17 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id B336E16796
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 21:56:08 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9N4u5j5028616; Sat, 23 Oct 2004 00:56:05 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9N4u5nQ028612; Sat, 23 Oct 2004 00:56:05 -0400
Date: Sat, 23 Oct 2004 00:56:05 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410230456.i9N4u5nQ028612@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py, 1.88, 1.89 conaryinterface.py, 1.70,
	1.71 updatetrove.py, 1.6, NONE
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sat, 23 Oct 2004 04:55:18 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv28600

Modified Files:
	conary-gui.py conaryinterface.py 
Removed Files:
	updatetrove.py 
Log Message:
remove some unused update code which has been superceded by the DoOperations class in conaryinterface


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -r1.88 -r1.89
--- conary-gui.py	23 Oct 2004 02:19:50 -0000	1.88
+++ conary-gui.py	23 Oct 2004 04:56:02 -0000	1.89
@@ -44,7 +44,6 @@
 
 import gladefiles
 import conaryinterface 
-import updatetrove
 import applychangeset
 import metadata
 


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
--- conaryinterface.py	22 Oct 2004 19:26:41 -0000	1.70
+++ conaryinterface.py	23 Oct 2004 04:56:02 -0000	1.71
@@ -204,21 +204,6 @@
         self.updateStatus(False)
         return (troves, locallyBuilt, updates, labels)
         
-class UpdateTrove(ConaryOperation):
-    """
-    Update the local system to a certain trove, by version and flavor.
-    """
-    def __init__(self, client, troveName, version, flavor, statusCallback, finishedCallback):
-	ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
-	self.troveName = troveName
-	self.version = version
-	self.flavor = flavor
-
-    def doOperation(self):
-        self.client.updateTrove([(self.troveName, self.version.asString())])
-
-        return None
-
 class DoOperations(ConaryOperation):
     """
     Perform a set of update and erase operations passed from the main GUI


--- updatetrove.py DELETED ---


From tgerla@specifixinc.com Sat Oct 23 00:59:34 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9N4xXVR001448
	for <conary-gui-commits@lists.specifix.com>;
	Sat, 23 Oct 2004 00:59:34 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2209B16796
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 22:00:26 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9N50Oj5028734; Sat, 23 Oct 2004 01:00:24 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9N50OdD028731; Sat, 23 Oct 2004 01:00:24 -0400
Date: Sat, 23 Oct 2004 01:00:24 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410230500.i9N50OdD028731@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.21,1.22
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sat, 23 Oct 2004 04:59:34 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv28719

Modified Files:
	Makefile 
Log Message:
remove reference to obsolete file


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- Makefile	22 Oct 2004 19:26:41 -0000	1.21
+++ Makefile	23 Oct 2004 05:00:21 -0000	1.22
@@ -18,7 +18,6 @@
 
 python_files = conaryinterface.py \
 		   conary-gui.py \
-		   updatetrove.py \
 		   gladefiles.py \
                    metadata.py \
 		   applychangeset.py \


From tgerla@specifixinc.com Sat Oct 23 01:27:35 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9N5RYVR001484
	for <conary-gui-commits@lists.specifix.com>;
	Sat, 23 Oct 2004 01:27:34 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 79C7B16796
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 22 Oct 2004 22:28:26 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9N5SMj5029226; Sat, 23 Oct 2004 01:28:22 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9N5SLwF029222; Sat, 23 Oct 2004 01:28:21 -0400
Date: Sat, 23 Oct 2004 01:28:21 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410230528.i9N5SLwF029222@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.42,1.43 conary-gui.py,1.89,1.90
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sat, 23 Oct 2004 05:27:35 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv29210

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
indicate when the 'review operations' dialog is still retrieving changelogs


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- conary-gui.glade	22 Oct 2004 19:26:41 -0000	1.42
+++ conary-gui.glade	23 Oct 2004 05:28:19 -0000	1.43
@@ -886,93 +886,127 @@
       </child>
 
       <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox3">
+	<widget class="GtkHBox" id="hbox11">
 	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-	  <property name="spacing">12</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">0</property>
 
 	  <child>
-	    <widget class="GtkButton" id="button1">
+	    <widget class="GtkLabel" id="pendingStatusLabel">
 	      <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>
-	      <signal name="clicked" handler="onCancelButtonClicked" last_modification_time="Mon, 13 Sep 2004 17:25:00 GMT"/>
+	      <property name="label" translatable="yes">pendingStatusLabel</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>
 	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkButton" id="button2">
+	    <widget class="GtkHButtonBox" id="hbuttonbox3">
 	      <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>
-	      <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Fri, 10 Sep 2004 15:47:44 GMT"/>
+	      <property name="layout_style">GTK_BUTTONBOX_END</property>
+	      <property name="spacing">12</property>
+
+	      <child>
+		<widget class="GtkButton" id="button1">
+		  <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>
+		  <signal name="clicked" handler="onCancelButtonClicked" last_modification_time="Mon, 13 Sep 2004 17:25:00 GMT"/>
+		</widget>
+	      </child>
 
 	      <child>
-		<widget class="GtkAlignment" id="alignment2">
+		<widget class="GtkButton" id="button2">
 		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">0</property>
-		  <property name="yscale">0</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">0</property>
-		  <property name="right_padding">0</property>
+		  <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>
+		  <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Fri, 10 Sep 2004 15:47:44 GMT"/>
 
 		  <child>
-		    <widget class="GtkHBox" id="hbox5">
+		    <widget class="GtkAlignment" id="alignment2">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">2</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">0</property>
+		      <property name="yscale">0</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">0</property>
+		      <property name="right_padding">0</property>
 
 		      <child>
-			<widget class="GtkImage" id="image15">
+			<widget class="GtkHBox" id="hbox5">
 			  <property name="visible">True</property>
-			  <property name="stock">gtk-execute</property>
-			  <property name="icon_size">4</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">2</property>
 
-		      <child>
-			<widget class="GtkLabel" id="label30">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Go</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
+			  <child>
+			    <widget class="GtkImage" id="image15">
+			      <property name="visible">True</property>
+			      <property name="stock">gtk-execute</property>
+			      <property name="icon_size">4</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkLabel" id="label30">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">Go</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0.5</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			    </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>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
 		      </child>
 		    </widget>
 		  </child>
 		</widget>
 	      </child>
 	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
 	  </child>
 	</widget>
 	<packing>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- conary-gui.py	23 Oct 2004 04:56:02 -0000	1.89
+++ conary-gui.py	23 Oct 2004 05:28:19 -0000	1.90
@@ -735,7 +735,7 @@
         self.changeLogs[troveName] = cl
         if self.checkOps:
             self.checkOps.setChangelog(troveName, cl)
-
+    
     def onMetadataButtonClicked(self, button):
         troveName = self.selectedTrove
         
@@ -751,12 +751,15 @@
         self.callback = callback
         self.store = self.buildOpsList(operations)
         self.treeRoots = {}
+        self.operations = operations
+        self.changeLogs = changeLogs
 
         operationTitles = ['THIS IS A BUG', 'Update', 'Erase']
         pixmaps = [None, 'gtk-add', 'gtk-remove']
 
         ops = operations.keys()
         ops.sort(lambda a, b: cmp(a[0].lower(), b[0].lower()))
+        self.updateStatus()
                 
         for obj in ops:
             status = operations[obj]
@@ -771,13 +774,21 @@
     
     # function to add the changelog to the tree view after the dialog is open
     def setChangelog(self, troveName, changeLog):
+        self.changeLogs[troveName] = changeLog
         if troveName in self.treeRoots:
             root = self.treeRoots[troveName]
             for l in changeLog:
                 header = "<b>" + l["header"] + "</b>"
                 self.store.append(root, [None, None, False, header, None])
                 self.store.append(root, [None, None, False, l["body"], None])
- 
+        self.updateStatus()
+
+    def updateStatus(self):
+        if len(self.changeLogs) < len(self.operations):
+            self.get_widget("pendingStatusLabel").set_text("Retrieving changelogs...")
+        else:
+            self.get_widget("pendingStatusLabel").set_text("")
+        
     def buildOpsList(self, operations):
         troveStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN,
                                    gobject.TYPE_STRING, gobject.TYPE_STRING)


From tgerla@specifixinc.com Mon Oct 25 16:32:36 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9PKWZVR010200
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 25 Oct 2004 16:32:35 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 08112167D6
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 25 Oct 2004 13:33:29 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9PKXPj5004702; Mon, 25 Oct 2004 16:33:25 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9PKXPaB004696; Mon, 25 Oct 2004 16:33:25 -0400
Date: Mon, 25 Oct 2004 16:33:25 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410252033.i9PKXPaB004696@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.43, 1.44 conary-gui.py, 1.90,
	1.91 conaryinterface.py, 1.71, 1.72 metadata.py, 1.1, 1.2
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 25 Oct 2004 20:32:36 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv4684

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py metadata.py 
Log Message:
lots more UI polish, add a toolbar to replace the disparate buttons scattered around the interface, fix bugs.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- conary-gui.glade	23 Oct 2004 05:28:19 -0000	1.43
+++ conary-gui.glade	25 Oct 2004 20:33:23 -0000	1.44
@@ -47,7 +47,7 @@
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image38">
+			<widget class="GtkImage" id="image48">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -69,7 +69,7 @@
 		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image39">
+			<widget class="GtkImage" id="image49">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -97,7 +97,7 @@
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image40">
+			<widget class="GtkImage" id="image50">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -128,7 +128,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View All</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
+		      <property name="active">True</property>
 		    </widget>
 		  </child>
 
@@ -143,9 +143,9 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkRadioMenuItem" id="viewAvailableTroves">
+		    <widget class="GtkRadioMenuItem" id="viewOutofdateTroves">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">View Available</property>
+		      <property name="label" translatable="yes">View Installed (upgradable)</property>
 		      <property name="use_underline">True</property>
 		      <property name="active">False</property>
 		      <property name="group">viewAllTroves</property>
@@ -153,11 +153,11 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkRadioMenuItem" id="viewOutofdateTroves">
+		    <widget class="GtkRadioMenuItem" id="viewAvailableTroves">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">View Out of Date</property>
+		      <property name="label" translatable="yes">View Not Installed</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">True</property>
+		      <property name="active">False</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
@@ -171,21 +171,6 @@
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
-
-		  <child>
-		    <widget class="GtkSeparatorMenuItem" id="separator4">
-		      <property name="visible">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkMenuItem" id="update_all_out_of_date1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Mark All Out of Date</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="updateOutofdateTroves" last_modification_time="Tue, 14 Sep 2004 16:45:56 GMT"/>
-		    </widget>
-		  </child>
 		</widget>
 	      </child>
 	    </widget>
@@ -221,6 +206,101 @@
       </child>
 
       <child>
+	<widget class="GtkToolbar" id="toolbar1">
+	  <property name="visible">True</property>
+	  <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
+	  <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
+	  <property name="tooltips">True</property>
+	  <property name="show_arrow">True</property>
+
+	  <child>
+	    <widget class="GtkToolButton" id="refreshTbb">
+	      <property name="visible">True</property>
+	      <property name="stock_id">gtk-refresh</property>
+	      <property name="visible_horizontal">True</property>
+	      <property name="visible_vertical">True</property>
+	      <property name="is_important">False</property>
+	      <signal name="clicked" handler="onRefresh" last_modification_time="Mon, 25 Oct 2004 17:50:59 GMT"/>
+	    </widget>
+	    <packing>
+	      <property name="expand">False</property>
+	      <property name="homogeneous">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkToolButton" id="markUpdateTbb">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Mark Updates</property>
+	      <property name="use_underline">True</property>
+	      <property name="stock_id">gtk-apply</property>
+	      <property name="visible_horizontal">True</property>
+	      <property name="visible_vertical">True</property>
+	      <property name="is_important">False</property>
+	      <signal name="clicked" handler="updateOutofdateTroves" last_modification_time="Mon, 25 Oct 2004 17:50:35 GMT"/>
+	    </widget>
+	    <packing>
+	      <property name="expand">False</property>
+	      <property name="homogeneous">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkToolButton" id="goButton">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Apply</property>
+	      <property name="use_underline">True</property>
+	      <property name="stock_id">gtk-execute</property>
+	      <property name="visible_horizontal">True</property>
+	      <property name="visible_vertical">True</property>
+	      <property name="is_important">False</property>
+	      <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Mon, 25 Oct 2004 17:57:23 GMT"/>
+	    </widget>
+	    <packing>
+	      <property name="expand">False</property>
+	      <property name="homogeneous">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkSeparatorToolItem" id="separatortoolitem1">
+	      <property name="visible">True</property>
+	      <property name="draw">True</property>
+	      <property name="visible_horizontal">True</property>
+	      <property name="visible_vertical">True</property>
+	    </widget>
+	    <packing>
+	      <property name="expand">False</property>
+	      <property name="homogeneous">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkToolButton" id="metadataButton">
+	      <property name="visible">True</property>
+	      <property name="sensitive">False</property>
+	      <property name="label" translatable="yes">Details</property>
+	      <property name="use_underline">True</property>
+	      <property name="stock_id">gtk-dialog-info</property>
+	      <property name="visible_horizontal">True</property>
+	      <property name="visible_vertical">True</property>
+	      <property name="is_important">False</property>
+	      <signal name="clicked" handler="onMetadataButtonClicked" last_modification_time="Mon, 25 Oct 2004 17:57:42 GMT"/>
+	    </widget>
+	    <packing>
+	      <property name="expand">False</property>
+	      <property name="homogeneous">True</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
 	<widget class="GtkVBox" id="main_gui">
 	  <property name="visible">True</property>
 	  <property name="homogeneous">False</property>
@@ -228,6 +308,7 @@
 
 	  <child>
 	    <widget class="GtkHPaned" id="hpaned1">
+	      <property name="border_width">6</property>
 	      <property name="visible">True</property>
 	      <property name="can_focus">True</property>
 	      <property name="position">300</property>
@@ -272,7 +353,6 @@
 
 		      <child>
 			<widget class="GtkVBox" id="vbox6">
-			  <property name="border_width">6</property>
 			  <property name="visible">True</property>
 			  <property name="homogeneous">False</property>
 			  <property name="spacing">0</property>
@@ -303,82 +383,6 @@
 				  <property name="fill">True</property>
 				</packing>
 			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="metadataButton">
-				  <property name="visible">True</property>
-				  <property name="sensitive">False</property>
-				  <property name="can_focus">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="onMetadataButtonClicked" last_modification_time="Wed, 20 Oct 2004 14:00:35 GMT"/>
-
-				  <child>
-				    <widget class="GtkAlignment" id="alignment3">
-				      <property name="visible">True</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xscale">0</property>
-				      <property name="yscale">0</property>
-				      <property name="top_padding">0</property>
-				      <property name="bottom_padding">0</property>
-				      <property name="left_padding">0</property>
-				      <property name="right_padding">0</property>
-
-				      <child>
-					<widget class="GtkHBox" id="hbox7">
-					  <property name="visible">True</property>
-					  <property name="homogeneous">False</property>
-					  <property name="spacing">2</property>
-
-					  <child>
-					    <widget class="GtkImage" id="image41">
-					      <property name="visible">True</property>
-					      <property name="stock">gtk-dialog-info</property>
-					      <property name="icon_size">4</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-
-					  <child>
-					    <widget class="GtkLabel" id="label33">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">Details</property>
-					      <property name="use_underline">True</property>
-					      <property name="use_markup">False</property>
-					      <property name="justify">GTK_JUSTIFY_LEFT</property>
-					      <property name="wrap">False</property>
-					      <property name="selectable">False</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
 			    </widget>
 			    <packing>
 			      <property name="padding">0</property>
@@ -444,7 +448,6 @@
 
 		      <child>
 			<widget class="GtkVBox" id="vbox7">
-			  <property name="border_width">6</property>
 			  <property name="visible">True</property>
 			  <property name="homogeneous">False</property>
 			  <property name="spacing">0</property>
@@ -510,115 +513,6 @@
 		      <property name="fill">True</property>
 		    </packing>
 		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox9">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkLabel" id="opsPending">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">opsPending</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.9</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="goButton">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="onGoButtonClicked" last_modification_time="Tue, 31 Aug 2004 18:29:18 GMT"/>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment1">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox2">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image12">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-execute</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label19">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Go</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">6</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">6</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
 		</widget>
 		<packing>
 		  <property name="shrink">True</property>
@@ -644,7 +538,7 @@
 	<widget class="GtkHBox" id="hbox1">
 	  <property name="visible">True</property>
 	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
+	  <property name="spacing">0</property>
 
 	  <child>
 	    <widget class="GtkProgressBar" id="progressBar">
@@ -1037,206 +931,290 @@
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
 
   <child>
-    <widget class="GtkVBox" id="vbox9">
+    <widget class="GtkVBox" id="vbox12">
       <property name="visible">True</property>
       <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child>
-	<widget class="GtkLabel" id="detailsLabel">
-	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">&lt;b&gt;Details of %s&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>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkLabel" id="shortDescLabel">
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="label" translatable="yes">shortDescLabel</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">True</property>
-	  <property name="xalign">0</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
+      <property name="spacing">12</property>
 
       <child>
-	<widget class="GtkScrolledWindow" id="scrolledwindow14">
+	<widget class="GtkNotebook" id="notebook1">
 	  <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>
+	  <property name="show_tabs">True</property>
+	  <property name="show_border">True</property>
+	  <property name="tab_pos">GTK_POS_TOP</property>
+	  <property name="scrollable">False</property>
+	  <property name="enable_popup">False</property>
 
 	  <child>
-	    <widget class="GtkTextView" id="longDescTv">
+	    <widget class="GtkVBox" id="vbox9">
+	      <property name="border_width">12</property>
 	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="editable">False</property>
-	      <property name="overwrite">False</property>
-	      <property name="accepts_tab">True</property>
-	      <property name="justification">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap_mode">GTK_WRAP_WORD</property>
-	      <property name="cursor_visible">False</property>
-	      <property name="pixels_above_lines">0</property>
-	      <property name="pixels_below_lines">0</property>
-	      <property name="pixels_inside_wrap">0</property>
-	      <property name="left_margin">0</property>
-	      <property name="right_margin">0</property>
-	      <property name="indent">0</property>
-	      <property name="text" translatable="yes"></property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">6</property>
 
-      <child>
-	<widget class="GtkScrolledWindow" id="scrolledwindow15">
-	  <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="GtkLabel" id="detailsLabel">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Details of %s&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>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
 
-	  <child>
-	    <widget class="GtkTreeView" id="licenseList">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="headers_visible">True</property>
-	      <property name="rules_hint">False</property>
-	      <property name="reorderable">False</property>
-	      <property name="enable_search">True</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
+	      <child>
+		<widget class="GtkLabel" id="shortDescLabel">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">shortDescLabel</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">True</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
 
-      <child>
-	<widget class="GtkScrolledWindow" id="scrolledwindow3">
-	  <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="GtkScrolledWindow" id="scrolledwindow14">
+		  <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="categoryList">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="headers_visible">True</property>
-	      <property name="rules_hint">False</property>
-	      <property name="reorderable">False</property>
-	      <property name="enable_search">True</property>
+		  <child>
+		    <widget class="GtkTextView" id="longDescTv">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="editable">False</property>
+		      <property name="overwrite">False</property>
+		      <property name="accepts_tab">True</property>
+		      <property name="justification">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap_mode">GTK_WRAP_WORD</property>
+		      <property name="cursor_visible">False</property>
+		      <property name="pixels_above_lines">0</property>
+		      <property name="pixels_below_lines">0</property>
+		      <property name="pixels_inside_wrap">0</property>
+		      <property name="left_margin">0</property>
+		      <property name="right_margin">0</property>
+		      <property name="indent">0</property>
+		      <property name="text" translatable="yes"></property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow15">
+		  <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="licenseList">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="headers_visible">True</property>
+		      <property name="rules_hint">False</property>
+		      <property name="reorderable">False</property>
+		      <property name="enable_search">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow3">
+		  <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="categoryList">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="headers_visible">True</property>
+		      <property name="rules_hint">False</property>
+		      <property name="reorderable">False</property>
+		      <property name="enable_search">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHBox" id="hbox10">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">True</property>
+		  <property name="spacing">12</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label35">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Installed size: 0kB</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>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label36">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Built: 2004-10-20 12:50 GMT</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">1</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
 	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
 	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHBox" id="hbox10">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">True</property>
-	  <property name="spacing">12</property>
 
 	  <child>
-	    <widget class="GtkLabel" id="label35">
+	    <widget class="GtkLabel" id="label36">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Installed size: 0kB</property>
+	      <property name="label" translatable="yes">Details</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="xalign">0.5</property>
 	      <property name="yalign">0.5</property>
 	      <property name="xpad">0</property>
 	      <property name="ypad">0</property>
 	    </widget>
 	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
+	      <property name="type">tab</property>
 	    </packing>
 	  </child>
 
 	  <child>
-	    <widget class="GtkLabel" id="label36">
+	    <widget class="GtkScrolledWindow" id="scrolledwindow17">
+	      <property name="border_width">12</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="changelogTv">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="headers_visible">False</property>
+		  <property name="rules_hint">False</property>
+		  <property name="reorderable">False</property>
+		  <property name="enable_search">True</property>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label37">
 	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Built: 2004-10-20 12:50 GMT</property>
+	      <property name="label" translatable="yes">Changelogs</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">1</property>
+	      <property name="xalign">0.5</property>
 	      <property name="yalign">0.5</property>
 	      <property name="xpad">0</property>
 	      <property name="ypad">0</property>
 	    </widget>
 	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
+	      <property name="type">tab</property>
 	    </packing>
 	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>
-	  <property name="expand">False</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="expand">True</property>
 	  <property name="fill">True</property>
 	</packing>
       </child>
@@ -1248,19 +1226,6 @@
 	  <property name="spacing">12</property>
 
 	  <child>
-	    <widget class="GtkButton" id="changelogButton">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">Changelogs</property>
-	      <property name="use_underline">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="onChangelogButtonClicked" last_modification_time="Fri, 22 Oct 2004 18:59:33 GMT"/>
-	    </widget>
-	  </child>
-
-	  <child>
 	    <widget class="GtkButton" id="closeButton">
 	      <property name="visible">True</property>
 	      <property name="can_default">True</property>
@@ -1371,95 +1336,4 @@
   </child>
 </widget>
 
-<widget class="GtkWindow" id="changelogWindow">
-  <property name="border_width">12</property>
-  <property name="width_request">500</property>
-  <property name="height_request">500</property>
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Changelog</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">True</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_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-
-  <child>
-    <widget class="GtkVBox" id="vbox11">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child>
-	<widget class="GtkScrolledWindow" id="scrolledwindow17">
-	  <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="changelogTv">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="headers_visible">True</property>
-	      <property name="rules_hint">False</property>
-	      <property name="reorderable">False</property>
-	      <property name="enable_search">True</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHSeparator" id="hseparator3">
-	  <property name="visible">True</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox6">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-	  <property name="spacing">0</property>
-
-	  <child>
-	    <widget class="GtkButton" id="closeButton">
-	      <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>
-	      <signal name="clicked" handler="onCloseButtonClicked" last_modification_time="Fri, 22 Oct 2004 18:53:03 GMT"/>
-	      <accelerator key="Escape" modifiers="0" signal="clicked"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
 </glade-interface>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- conary-gui.py	23 Oct 2004 05:28:19 -0000	1.90
+++ conary-gui.py	25 Oct 2004 20:33:23 -0000	1.91
@@ -110,9 +110,9 @@
         self.menu.signal_autoconnect(self)
         self.checkOps = None
         self.changeLogs = {}
-        
-        self.updateStatus(False)
-
+        self.allTroves = []
+        self.localTroves = []
+    
         # build remote and local trove lists, fill the local trove tree.
         # once the local trove tree is done, it fills the remote trove tree, based
         # on the repositories found referenced in the system.
@@ -121,7 +121,7 @@
 	
         self.updateTroveTreeBegin()	
         self.localVersionStore = self.buildLocalVersionList()
-
+        
     def buildTroveTree(self, treeViewName, changedCallback):
 	troveStore = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
                                           
@@ -213,22 +213,28 @@
 		
     def _pulse(self):
 	if self.pulsing:
-            self.get_widget('main_gui').set_sensitive(False)
+            self.get_widget('conaryGUI').set_sensitive(False)
 	    self.get_widget('progressBar').pulse()
 	else:
 	    self.get_widget('progressBar').set_fraction(0.0)
-            self.get_widget('main_gui').set_sensitive(True)
+            self.get_widget('conaryGUI').set_sensitive(True)
 	return self.pulsing
     
-    def updateStatus(self, busy, statusBarText="", opsPending=-1):
-        if opsPending != -1:
-            text = "Operations pending: %d" % opsPending
+    def updateStatus(self, busy, statusBarText=""):
+        
+        if not statusBarText:
+            all = len(self.allTroves)
+            installed = len(self.localTroves)
+            toUpdate = len([x for x in self.operations.values() if x == self.MARKED_FOR_UPDATE])
+            toErase = len([x for x in self.operations.values() if x == self.MARKED_FOR_ERASE])
+
+            text = "%s installed troves, out of %d known, %d to update, %d to erase." %\
+                (installed, all, toUpdate, toErase)
         else:
-            text = "Operations pending: %d" % len(self.operations)
-        self.get_widget('opsPending').set_text(text)
+            text = statusBarText
 
         self.get_widget("statusbar1").pop(0)
-        self.get_widget("statusbar1").push(0, statusBarText)
+        self.get_widget("statusbar1").push(0, text)
 
         if busy and not self.pulsing:
             self.pulsing = True
@@ -243,7 +249,10 @@
         troveList = conaryinterface.LocalTroveList(client, self.updateStatus, self.updateTroveTreeFinish)
         troveList.start()
 
-    def updateTroveTreeFinish(self, results, error):
+    def updateTroveTreeFinish(self, results):
+        if not results:
+            return
+
         troveVersions, locallyBuiltTroves, self.outofdateTroves, repos = results
 
         self.troveVersions = troveVersions
@@ -256,7 +265,10 @@
         troveList = conaryinterface.TroveList(client, self.updateStatus, self.updateRemoteTroveTreeFinish)
         troveList.start()
 
-    def updateRemoteTroveTreeFinish(self, results, error):
+    def updateRemoteTroveTreeFinish(self, results):
+        if not results:
+            return
+            
         troves, brokenRepos = results
         
         # set up the various sets of troves
@@ -273,6 +285,7 @@
         self._fillTroveTree()
     
         brokenRepos = [r.getHost() for r in brokenRepos]
+        self.updateStatus(False)
         if brokenRepos and not self.notifiedBroken:
             message = "The following repositories could not be accessed:<b>\n\n" + "\n".join(brokenRepos) + "</b>"
             dialog = gtk.MessageDialog(type = gtk.MESSAGE_INFO,
@@ -384,7 +397,7 @@
         else:
             self.selectedTrove = None
 
-    def updateShortDesc(self, metadata, error):
+    def updateShortDesc(self, metadata):
         self.metadata = metadata
         
         troveName = findSourceTrove(self.selectedTrove)
@@ -396,7 +409,10 @@
             self.get_widget("shortDesc").set_text("")
             self.get_widget("metadataButton").set_sensitive(False)
             
-    def updateBranchStructureFinish(self, results, error):
+    def updateBranchStructureFinish(self, results):
+        if not results:
+            return
+    
         tree, troveName = results 
 
         # if the results returned don't match the
@@ -661,7 +677,7 @@
         thread.start()
         self.checkOps = None
 
-    def operationsComplete(self, results, error):
+    def operationsComplete(self, results):
         self.onRefresh()
 
     def filterMenuItemActivated(self, item):
@@ -692,7 +708,7 @@
                 components[package][component] = True
             else:
                 packages.append(t)
-                
+        
         for package in components:
             # package out of date, add package to final list and continue
             if package in packages:
@@ -708,9 +724,11 @@
                 if ':' in t and t.startswith(package + ':') and\
                    not (t.endswith(':source') or t.endswith(':test')):
                     pkgComps.append(t.split(':')[1])
-            
-            # if the sets are identical, and the package actually exists, update package
-            if Set(pkgComps) == Set(components[package]) and package in self.remoteTroves:
+
+            components[package] = components[package].keys()
+            # if the sets are identical, and the package actually is installed locally,
+            # update the package. otherwise, update the separate components.
+            if Set(pkgComps) == Set(components[package]) and package in self.localTroves:
                 updates.append(package)
             else:
                 tmpTroves = [package + ":" + component for component in components[package]]
@@ -730,7 +748,10 @@
                 
         self.updateStatus(False)
 
-    def clFinished(self, results, error):
+    def clFinished(self, results):
+        if not results:
+            return
+
         troveName, cl = results
         self.changeLogs[troveName] = cl
         if self.checkOps:


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- conaryinterface.py	23 Oct 2004 04:56:02 -0000	1.71
+++ conaryinterface.py	25 Oct 2004 20:33:23 -0000	1.72
@@ -75,9 +75,15 @@
         self.finishedCallback = finishedCallback
     
     def run(self):
-        retval = self.doOperation()
-        error = None
-	self.finish(retval, error)
+        try:
+            retval = self.doOperation()
+        except:
+            message = "Operation failed:\n\n"
+            message += str(sys.exc_info()[1])
+            self.messageDialog(message)
+            retval = None
+
+	self.finish(retval)
 
     def doOperation(self):
 	pass
@@ -88,9 +94,9 @@
             self._statusCallback(*args, **kwargs)
         gtk.threads_leave()
 
-    def finish(self, retval, error):
+    def finish(self, retval):
 	gtk.threads_enter()
-        self.finishedCallback(retval, error)
+        self.finishedCallback(retval)
 	gtk.threads_leave()
 
     def messageDialog(self, error, type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK):
@@ -344,7 +350,7 @@
             self.troveList = [x for x in troveList if x[0] in trovesLeft]
             self.start()
         else:
-            self.finishedCallback(metadata, None)
+            self.finishedCallback(metadata)
 
 class ChangeLog(ConaryOperation):
     def __init__(self, client, troveName, oldVersion, newVersion, branch, statusCallback, finishedCallback):


Index: metadata.py
===================================================================
RCS file: /cvs/conary-gui/metadata.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- metadata.py	22 Oct 2004 19:26:41 -0000	1.1
+++ metadata.py	25 Oct 2004 20:33:23 -0000	1.2
@@ -32,7 +32,7 @@
         self.get_widget("shortDescLabel").set_text(metadata["shortDesc"][0])
 
         buffer = self.get_widget("longDescTv").get_buffer()
-        buffer.insert(buffer.get_start_iter(), metadata["longDesc"][0].replace("\n", ""))
+        buffer.insert(buffer.get_start_iter(), metadata["longDesc"][0].replace("\n", " "))
 
         # license list
         licenseStore = gtk.ListStore(gobject.TYPE_STRING)
@@ -46,11 +46,33 @@
         tv.set_model(categoryStore)
         tv.append_column(gtk.TreeViewColumn("Categories", gtk.CellRendererText(), text=0))
 
+        # changelog list
+        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
+
+        tv = self.get_widget("changelogTv")
+        tv.set_model(self.store)
+
+        column = gtk.TreeViewColumn(None, gtk.CellRendererText(), markup=0, background=1)
+        tv.append_column(column)
+
+        self.store.append(['Retrieving changelogs...', None])
+        cl = conaryinterface.ChangeLog(client, troveName, None, None, self.version.branch(),
+                                       None, self.changelogFinished)
+        cl.start()
+
         for x in metadata["license"]:
             licenseStore.append([x])
         for x in metadata["category"]:
             categoryStore.append([x])
 
+    def changelogFinished(self, results, error):
+        troveName, changelogs = results
+        self.store.clear()
+        for l in changelogs:
+            self.store.append([l["header"], "#e9ecf8"])
+            self.store.append([l["body"], None])
+ 
+
     def onCloseButtonClicked(self, button):
         self.get_widget("metadataWindow").destroy()
 
@@ -70,7 +92,6 @@
 
     def fileListFinished(self, results, error):
         self.store.clear()
-        print results
         for (fileId, path, version, file) in results:
             if isinstance(file, files.SymbolicLink):
                 name = "%s -> %s" %(path, file.target.value())
@@ -108,31 +129,3 @@
         treeview.append_column(column)
 
         return store
-
-class ChangelogWindow(gtk.glade.XML):
-    def __init__(self, client, troveName, branch):
-        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "changelogWindow")
-        self.signal_autoconnect(self)
-
-        self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
-
-        tv = self.get_widget("changelogTv")
-        tv.set_model(self.store)
-
-        column = gtk.TreeViewColumn(None, gtk.CellRendererText(), markup=0, background=1)
-        tv.append_column(column)
-
-        self.store.append(['Retrieving changelogs...', None])
-        cl = conaryinterface.ChangeLog(client, troveName, None, None, branch,
-                                       None, self.changelogFinished)
-        cl.start()
-
-    def changelogFinished(self, results, error):
-        troveName, changelogs = results
-        self.store.clear()
-        for l in changelogs:
-            self.store.append([l["header"], "#e9ecf8"])
-            self.store.append([l["body"], None])
-       
-    def onCloseButtonClicked(self, button):
-        self.get_widget("changelogWindow").destroy()


From tgerla@specifixinc.com Mon Oct 25 22:26:09 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9Q2Q7VR010716
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 25 Oct 2004 22:26:08 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 669B0167DC
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 25 Oct 2004 19:27:02 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9Q2Qwj5013654; Mon, 25 Oct 2004 22:26:58 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9Q2QvsR013650; Mon, 25 Oct 2004 22:26:57 -0400
Date: Mon, 25 Oct 2004 22:26:57 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410260226.i9Q2QvsR013650@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui config.py, NONE, 1.1 conary-gui.glade, 1.44,
	1.45 conary-gui.py, 1.91, 1.92
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 26 Oct 2004 02:26:09 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv13638

Modified Files:
	conary-gui.glade conary-gui.py 
Added Files:
	config.py 
Log Message:
add the beginnings of a configuration dialog/conaryrc editor


--- NEW FILE config.py ---
#
# Copyright (c) 2004 Specifix, Inc.
#
# This program is distributed under the terms of the Common Public License,
# version 1.0. A copy of this license should have been distributed with this
# source file in a file called LICENSE. If it is not present, the license
# is always available at http://www.opensource.org/licenses/cpl.php.
#
# This program is distributed in the hope that it will be useful, but
# without any waranty; without even the implied warranty of merchantability
# or fitness for a particular purpose. See the Common Public License for
# full details.
#
import gtk
import gobject
import gtk.glade
import pango

import conaryinterface
import gladefiles

class ConfigWindow(gtk.glade.XML):
    def __init__(self, client):
        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "configWindow")
        self.signal_autoconnect(self)
        self.client = client

        self.repoStore = self.buildReposList()
        
        print self.client.cfg.repositoryMap
        for repo in self.client.cfg.installLabelPath:
            self.repoStore.append([repo, True, repo.asString()])

        entries = {'buildPathEntry':            client.cfg.buildPath,
                   'sourceSearchPathEntry':     client.cfg.sourceSearchDir,
                   'lookasidePathEntry':        client.cfg.lookaside,
                   'tmpPathEntry':              client.cfg.tmpDir,
                   'buildLabelEntry':           client.cfg.buildLabel.asString(),
                   'nameEntry':                 client.cfg.name,
                   'emailEntry':                client.cfg.contact}
                   
        for entryName, value in entries.items():
            self.get_widget(entryName).set_text(value)

    def buildReposList(self):
        troveStore = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN,
                                   gobject.TYPE_STRING)
        
        treeview = self.get_widget("reposTv")
        treeview.set_model(troveStore)

        self.REPO_COLUMN_OBJECT = 0
        self.REPO_COLUMN_IN_PATH = 1
        self.REPO_COLUMN_REPOSITORY = 2

        renderer = gtk.CellRendererToggle()
        renderer.set_property("activatable", True)
        column = gtk.TreeViewColumn("Enabled", renderer, active=self.REPO_COLUMN_IN_PATH)
        treeview.append_column(column)

        renderer = gtk.CellRendererText()
        column = gtk.TreeViewColumn("Repository", renderer, markup=self.REPO_COLUMN_REPOSITORY)
        treeview.append_column(column)

        return troveStore


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- conary-gui.glade	25 Oct 2004 20:33:23 -0000	1.44
+++ conary-gui.glade	26 Oct 2004 02:26:55 -0000	1.45
@@ -47,7 +47,7 @@
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image48">
+			<widget class="GtkImage" id="image53">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -69,7 +69,7 @@
 		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image49">
+			<widget class="GtkImage" id="image54">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -83,6 +83,27 @@
 		  </child>
 
 		  <child>
+		    <widget class="GtkImageMenuItem" id="configuration1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Configuration...</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="onConfigurationActivate" last_modification_time="Mon, 25 Oct 2004 21:30:04 GMT"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image55">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-preferences</property>
+			  <property name="icon_size">1</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="GtkSeparatorMenuItem" id="separator1">
 		      <property name="visible">True</property>
 		    </widget>
@@ -97,7 +118,7 @@
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image50">
+			<widget class="GtkImage" id="image56">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -1336,4 +1357,803 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="configWindow">
+  <property name="border_width">12</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Conary Configuration</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">True</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_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox13">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">12</property>
+
+      <child>
+	<widget class="GtkNotebook" id="notebook2">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="show_tabs">True</property>
+	  <property name="show_border">True</property>
+	  <property name="tab_pos">GTK_POS_TOP</property>
+	  <property name="scrollable">False</property>
+	  <property name="enable_popup">False</property>
+
+	  <child>
+	    <widget class="GtkVBox" id="vbox14">
+	      <property name="border_width">12</property>
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">6</property>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow18">
+		  <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="reposTv">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="headers_visible">True</property>
+		      <property name="rules_hint">False</property>
+		      <property name="reorderable">False</property>
+		      <property name="enable_search">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkHButtonBox" id="hbuttonbox7">
+		  <property name="visible">True</property>
+		  <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
+		  <property name="spacing">0</property>
+
+		  <child>
+		    <widget class="GtkButton" id="button8">
+		      <property name="visible">True</property>
+		      <property name="can_default">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label">gtk-go-up</property>
+		      <property name="use_stock">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkButton" id="button9">
+		      <property name="visible">True</property>
+		      <property name="can_default">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label">gtk-go-down</property>
+		      <property name="use_stock">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkButton" id="button10">
+		      <property name="visible">True</property>
+		      <property name="can_default">True</property>
+		      <property name="can_focus">True</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>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkButton" id="button11">
+		      <property name="visible">True</property>
+		      <property name="can_default">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label">gtk-remove</property>
+		      <property name="use_stock">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</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="hbox12">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">12</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label45">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Install root path:</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>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="entry1">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</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>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label38">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Repositories</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>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkVBox" id="vbox15">
+	      <property name="border_width">12</property>
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">0</property>
+
+	      <child>
+		<widget class="GtkLabel" id="label47">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Paths&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</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkTable" id="table1">
+		  <property name="border_width">12</property>
+		  <property name="visible">True</property>
+		  <property name="n_rows">4</property>
+		  <property name="n_columns">2</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">12</property>
+		  <property name="column_spacing">12</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label43">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Lookaside cache path:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label44">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Temporary directory:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">3</property>
+		      <property name="bottom_attach">4</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label42">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Build path:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="buildPathEntry">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label46">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Source search path:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="sourceSearchPathEntry">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="lookasidePathEntry">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="tmpPathEntry">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">3</property>
+		      <property name="bottom_attach">4</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label48">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Options&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</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkTable" id="table2">
+		  <property name="border_width">12</property>
+		  <property name="visible">True</property>
+		  <property name="n_rows">3</property>
+		  <property name="n_columns">2</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">12</property>
+		  <property name="column_spacing">12</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label49">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Build label:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="buildLabelEntry">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckButton" id="debugExceptionsCheck">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Debug recipe exceptions</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckButton" id="dumpStackCheck">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Dump stack trace on error</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">True</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label50">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Contact information&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</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkTable" id="table3">
+		  <property name="border_width">12</property>
+		  <property name="visible">True</property>
+		  <property name="n_rows">2</property>
+		  <property name="n_columns">2</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">12</property>
+		  <property name="column_spacing">12</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label51">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Name:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label52">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Email address:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="nameEntry">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="emailEntry">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="y_options"></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="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label39">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Building</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>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkVBox" id="vbox16">
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">0</property>
+
+	      <child>
+		<placeholder/>
+	      </child>
+
+	      <child>
+		<placeholder/>
+	      </child>
+
+	      <child>
+		<placeholder/>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label53">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Flags</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>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox6">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">12</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button7">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-save</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="button12">
+	      <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>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- conary-gui.py	25 Oct 2004 20:33:23 -0000	1.91
+++ conary-gui.py	26 Oct 2004 02:26:55 -0000	1.92
@@ -46,6 +46,7 @@
 import conaryinterface 
 import applychangeset
 import metadata
+import config
 
 client = conaryclient.ConaryClient()
 cacheAvail = False
@@ -763,6 +764,9 @@
         md = metadata.MetadataWindow(client, troveName, self.selectedVersion,
                                      self.metadata[findSourceTrove(troveName)])
 
+    def onConfigurationActivate(self, item):
+        cfg = config.ConfigWindow(client)
+        
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, changeLogs, callback):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "operationsWindow")


From tgerla@specifixinc.com Wed Oct 27 09:16:01 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9RDG0VR014757
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 27 Oct 2004 09:16:01 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id AC766167DA
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 27 Oct 2004 06:16:57 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9RDGsj5021397; Wed, 27 Oct 2004 09:16:54 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9RDGsBn021394; Wed, 27 Oct 2004 09:16:54 -0400
Date: Wed, 27 Oct 2004 09:16:54 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410271316.i9RDGsBn021394@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.22,1.23
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 27 Oct 2004 13:16:01 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv21382

Modified Files:
	Makefile 
Log Message:
add config.py



Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- Makefile	23 Oct 2004 05:00:21 -0000	1.22
+++ Makefile	27 Oct 2004 13:16:52 -0000	1.23
@@ -18,6 +18,7 @@
 
 python_files = conaryinterface.py \
 		   conary-gui.py \
+                   config.py \
 		   gladefiles.py \
                    metadata.py \
 		   applychangeset.py \


From tgerla@specifixinc.com Wed Oct 27 13:19:34 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9RHJYVR015049
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 27 Oct 2004 13:19:34 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C0A7C164DB
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 27 Oct 2004 10:20:31 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9RHKTj5027732; Wed, 27 Oct 2004 13:20:29 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9RHKSre027729; Wed, 27 Oct 2004 13:20:28 -0400
Date: Wed, 27 Oct 2004 13:20:28 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410271720.i9RHKSre027729@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui metadata.py,1.2,1.3
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 27 Oct 2004 17:19:35 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv27717

Modified Files:
	metadata.py 
Log Message:
fix for changes in conaryinterface.py



Index: metadata.py
===================================================================
RCS file: /cvs/conary-gui/metadata.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- metadata.py	25 Oct 2004 20:33:23 -0000	1.2
+++ metadata.py	27 Oct 2004 17:20:26 -0000	1.3
@@ -65,7 +65,7 @@
         for x in metadata["category"]:
             categoryStore.append([x])
 
-    def changelogFinished(self, results, error):
+    def changelogFinished(self, results):
         troveName, changelogs = results
         self.store.clear()
         for l in changelogs:


From tgerla@specifixinc.com Fri Oct 29 10:34:03 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id i9TEY2VR019334
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 29 Oct 2004 10:34:02 -0400
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id E2AA8164DB
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 29 Oct 2004 07:35:00 -0700 (PDT)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	i9TEYvj5019088; Fri, 29 Oct 2004 10:34:57 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	i9TEYvDS019085; Fri, 29 Oct 2004 10:34:57 -0400
Date: Fri, 29 Oct 2004 10:34:57 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200410291434.i9TEYvDS019085@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.45,1.46
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 29 Oct 2004 14:34:03 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv19073

Modified Files:
	conary-gui.glade 
Log Message:
config dialog work


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- conary-gui.glade	26 Oct 2004 02:26:55 -0000	1.45
+++ conary-gui.glade	29 Oct 2004 14:34:55 -0000	1.46
@@ -1410,7 +1410,7 @@
 		      <property name="can_focus">True</property>
 		      <property name="headers_visible">True</property>
 		      <property name="rules_hint">False</property>
-		      <property name="reorderable">False</property>
+		      <property name="reorderable">True</property>
 		      <property name="enable_search">True</property>
 		    </widget>
 		  </child>
@@ -1426,34 +1426,10 @@
 		<widget class="GtkHButtonBox" id="hbuttonbox7">
 		  <property name="visible">True</property>
 		  <property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
-		  <property name="spacing">0</property>
+		  <property name="spacing">6</property>
 
 		  <child>
-		    <widget class="GtkButton" id="button8">
-		      <property name="visible">True</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-go-up</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="button9">
-		      <property name="visible">True</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-go-down</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="button10">
+		    <widget class="GtkButton" id="addButton">
 		      <property name="visible">True</property>
 		      <property name="can_default">True</property>
 		      <property name="can_focus">True</property>
@@ -1461,11 +1437,12 @@
 		      <property name="use_stock">True</property>
 		      <property name="relief">GTK_RELIEF_NORMAL</property>
 		      <property name="focus_on_click">True</property>
+		      <signal name="clicked" handler="onAddButtonClicked" last_modification_time="Tue, 26 Oct 2004 15:13:14 GMT"/>
 		    </widget>
 		  </child>
 
 		  <child>
-		    <widget class="GtkButton" id="button11">
+		    <widget class="GtkButton" id="removeButton">
 		      <property name="visible">True</property>
 		      <property name="can_default">True</property>
 		      <property name="can_focus">True</property>
@@ -1473,6 +1450,7 @@
 		      <property name="use_stock">True</property>
 		      <property name="relief">GTK_RELIEF_NORMAL</property>
 		      <property name="focus_on_click">True</property>
+		      <signal name="clicked" handler="onRemoveButtonClicked" last_modification_time="Tue, 26 Oct 2004 15:13:29 GMT"/>
 		    </widget>
 		  </child>
 		</widget>
@@ -2156,4 +2134,363 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="addRepoWindow">
+  <property name="border_width">12</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Add Repository</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">True</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_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox17">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">12</property>
+
+      <child>
+	<widget class="GtkFrame" id="frame1">
+	  <property name="visible">True</property>
+	  <property name="label_xalign">0</property>
+	  <property name="label_yalign">0.5</property>
+	  <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+	  <child>
+	    <widget class="GtkAlignment" id="alignment3">
+	      <property name="visible">True</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xscale">1</property>
+	      <property name="yscale">1</property>
+	      <property name="top_padding">0</property>
+	      <property name="bottom_padding">0</property>
+	      <property name="left_padding">12</property>
+	      <property name="right_padding">0</property>
+
+	      <child>
+		<widget class="GtkTable" id="table4">
+		  <property name="border_width">6</property>
+		  <property name="visible">True</property>
+		  <property name="n_rows">1</property>
+		  <property name="n_columns">2</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">6</property>
+		  <property name="column_spacing">6</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label55">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Install label:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="entry2">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label54">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">&lt;b&gt;Add 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.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">label_item</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkFrame" id="frame2">
+	  <property name="visible">True</property>
+	  <property name="label_xalign">0</property>
+	  <property name="label_yalign">0.5</property>
+	  <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+	  <child>
+	    <widget class="GtkAlignment" id="alignment4">
+	      <property name="visible">True</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xscale">1</property>
+	      <property name="yscale">1</property>
+	      <property name="top_padding">0</property>
+	      <property name="bottom_padding">0</property>
+	      <property name="left_padding">12</property>
+	      <property name="right_padding">0</property>
+
+	      <child>
+		<widget class="GtkTable" id="table5">
+		  <property name="border_width">6</property>
+		  <property name="visible">True</property>
+		  <property name="n_rows">3</property>
+		  <property name="n_columns">2</property>
+		  <property name="homogeneous">False</property>
+		  <property name="row_spacing">6</property>
+		  <property name="column_spacing">6</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="label61">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Repository URL:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label62">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Username:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="label63">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">Password:</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>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">0</property>
+		      <property name="right_attach">1</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="x_options">fill</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="entry3">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">0</property>
+		      <property name="bottom_attach">1</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="entry4">
+		      <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" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">1</property>
+		      <property name="bottom_attach">2</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkEntry" id="entry5">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="editable">True</property>
+		      <property name="visibility">False</property>
+		      <property name="max_length">0</property>
+		      <property name="text" translatable="yes"></property>
+		      <property name="has_frame">True</property>
+		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="activates_default">False</property>
+		    </widget>
+		    <packing>
+		      <property name="left_attach">1</property>
+		      <property name="right_attach">2</property>
+		      <property name="top_attach">2</property>
+		      <property name="bottom_attach">3</property>
+		      <property name="y_options"></property>
+		    </packing>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label59">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">&lt;b&gt;Map (optional):&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>
+	    </widget>
+	    <packing>
+	      <property name="type">label_item</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox8">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">12</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button13">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-ok</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkButton" id="button14">
+	      <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>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>


From tgerla@specifixinc.com Mon Nov  1 10:01:39 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iA1F1dVR028271
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 1 Nov 2004 10:01:39 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 78EC3162D7
	for <conary-gui-commits@lists.specifix.com>;
	Mon,  1 Nov 2004 07:02:37 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iA1F2Yj5013478; Mon, 1 Nov 2004 10:02:34 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iA1F2Ybl013474; Mon, 1 Nov 2004 10:02:34 -0500
Date: Mon, 1 Nov 2004 10:02:34 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411011502.iA1F2Ybl013474@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.92,1.93 metadatawindow.py,1.3,1.4
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifixinc.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 01 Nov 2004 15:01:40 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv13462

Modified Files:
	conary-gui.py metadatawindow.py 
Log Message:
update metadata calls to use new metadata object


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -r1.92 -r1.93
--- conary-gui.py	26 Oct 2004 02:26:55 -0000	1.92
+++ conary-gui.py	1 Nov 2004 15:02:32 -0000	1.93
@@ -45,7 +45,7 @@
 import gladefiles
 import conaryinterface 
 import applychangeset
-import metadata
+import metadatawindow
 import config
 
 client = conaryclient.ConaryClient()
@@ -404,7 +404,7 @@
         troveName = findSourceTrove(self.selectedTrove)
             
         if troveName in metadata:
-            self.get_widget("shortDesc").set_text(metadata[troveName]["shortDesc"][0])
+            self.get_widget("shortDesc").set_text(metadata[troveName].getShortDesc())
             self.get_widget("metadataButton").set_sensitive(True)
         else:
             self.get_widget("shortDesc").set_text("")
@@ -761,8 +761,8 @@
     def onMetadataButtonClicked(self, button):
         troveName = self.selectedTrove
         
-        md = metadata.MetadataWindow(client, troveName, self.selectedVersion,
-                                     self.metadata[findSourceTrove(troveName)])
+        md = metadatawindow.MetadataWindow(client, troveName, self.selectedVersion,
+                                           self.metadata[findSourceTrove(troveName)])
 
     def onConfigurationActivate(self, item):
         cfg = config.ConfigWindow(client)


Index: metadatawindow.py
===================================================================
RCS file: /cvs/conary-gui/metadatawindow.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- metadatawindow.py	27 Oct 2004 17:20:26 -0000	1.3
+++ metadatawindow.py	1 Nov 2004 15:02:32 -0000	1.4
@@ -29,10 +29,10 @@
         self.version = version
 
         self.get_widget("detailsLabel").set_markup("<b>Details of %s</b>" % troveName)
-        self.get_widget("shortDescLabel").set_text(metadata["shortDesc"][0])
+        self.get_widget("shortDescLabel").set_text(metadata.getShortDesc())
 
         buffer = self.get_widget("longDescTv").get_buffer()
-        buffer.insert(buffer.get_start_iter(), metadata["longDesc"][0].replace("\n", " "))
+        buffer.insert(buffer.get_start_iter(), metadata.getLongDesc().replace("\n", " "))
 
         # license list
         licenseStore = gtk.ListStore(gobject.TYPE_STRING)
@@ -60,9 +60,9 @@
                                        None, self.changelogFinished)
         cl.start()
 
-        for x in metadata["license"]:
+        for x in metadata.getLicenses():
             licenseStore.append([x])
-        for x in metadata["category"]:
+        for x in metadata.getCategories():
             categoryStore.append([x])
 
     def changelogFinished(self, results):


From tgerla@specifixinc.com Tue Nov  2 09:10:49 2004
Received: from bluesmobile.specifixinc.com ([64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iA2EAnUJ012848
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 2 Nov 2004 09:10:49 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 1E144167DC
	for <conary-gui-commits@lists.specifix.com>;
	Tue,  2 Nov 2004 06:10:43 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iA2EAej5017728; Tue, 2 Nov 2004 09:10:40 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iA2EAeQU017725; Tue, 2 Nov 2004 09:10:40 -0500
Date: Tue, 2 Nov 2004 09:10:40 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411021410.iA2EAeQU017725@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.23,1.24
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 02 Nov 2004 14:10:50 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv17712

Modified Files:
	Makefile 
Log Message:
update makefile to reflect renamed source


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- Makefile	27 Oct 2004 13:16:52 -0000	1.23
+++ Makefile	2 Nov 2004 14:10:37 -0000	1.24
@@ -20,7 +20,7 @@
 		   conary-gui.py \
                    config.py \
 		   gladefiles.py \
-                   metadata.py \
+                   metadatawindow.py \
 		   applychangeset.py \
 		   statuswindow.py
 


From tgerla@specifixinc.com Thu Nov  4 14:25:47 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iA4JPkUJ027121
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 4 Nov 2004 14:25:46 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 10E38164CB
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  4 Nov 2004 11:26:13 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iA4JQAj5010711; Thu, 4 Nov 2004 14:26:10 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iA4JQ9Kv010707; Thu, 4 Nov 2004 14:26:09 -0500
Date: Thu, 4 Nov 2004 14:26:09 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411041926.iA4JQ9Kv010707@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.46,1.47 conary-gui.py,1.93,1.94
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 04 Nov 2004 19:25:47 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv10695

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
disable configuration dialog for now, minor metadata fixups


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- conary-gui.glade	29 Oct 2004 14:34:55 -0000	1.46
+++ conary-gui.glade	4 Nov 2004 19:26:07 -0000	1.47
@@ -47,7 +47,7 @@
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image53">
+			<widget class="GtkImage" id="image56">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -69,7 +69,7 @@
 		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image54">
+			<widget class="GtkImage" id="image57">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -83,27 +83,6 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkImageMenuItem" id="configuration1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Configuration...</property>
-		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="onConfigurationActivate" last_modification_time="Mon, 25 Oct 2004 21:30:04 GMT"/>
-
-		      <child internal-child="image">
-			<widget class="GtkImage" id="image55">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-preferences</property>
-			  <property name="icon_size">1</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="GtkSeparatorMenuItem" id="separator1">
 		      <property name="visible">True</property>
 		    </widget>
@@ -118,7 +97,7 @@
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image56">
+			<widget class="GtkImage" id="image58">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -158,7 +137,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Installed</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
+		      <property name="active">True</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
@@ -168,7 +147,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Installed (upgradable)</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
+		      <property name="active">True</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
@@ -178,7 +157,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Not Installed</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
+		      <property name="active">True</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
@@ -188,7 +167,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Locally Built</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">False</property>
+		      <property name="active">True</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- conary-gui.py	1 Nov 2004 15:02:32 -0000	1.93
+++ conary-gui.py	4 Nov 2004 19:26:07 -0000	1.94
@@ -41,6 +41,7 @@
 import files
 import conaryclient
 import repository
+import metadata
 
 import gladefiles
 import conaryinterface 
@@ -398,13 +399,12 @@
         else:
             self.selectedTrove = None
 
-    def updateShortDesc(self, metadata):
-        self.metadata = metadata
-        
+    def updateShortDesc(self, md):
+        self.metadata = md
         troveName = findSourceTrove(self.selectedTrove)
-            
+        
         if troveName in metadata:
-            self.get_widget("shortDesc").set_text(metadata[troveName].getShortDesc())
+            self.get_widget("shortDesc").set_text(md[troveName].getShortDesc())
             self.get_widget("metadataButton").set_sensitive(True)
         else:
             self.get_widget("shortDesc").set_text("")


From tgerla@specifixinc.com Thu Nov  4 14:31:08 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iA4JV8UJ027482
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 4 Nov 2004 14:31:08 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 5029F164CB
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  4 Nov 2004 11:31:35 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iA4JVXj5010865; Thu, 4 Nov 2004 14:31:33 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iA4JVXdd010862; Thu, 4 Nov 2004 14:31:33 -0500
Date: Thu, 4 Nov 2004 14:31:33 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411041931.iA4JVXdd010862@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.47,1.48
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 04 Nov 2004 19:31:09 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv10850

Modified Files:
	conary-gui.glade 
Log Message:
stupid glade bug overwrites some of the menu options


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- conary-gui.glade	4 Nov 2004 19:26:07 -0000	1.47
+++ conary-gui.glade	4 Nov 2004 19:31:31 -0000	1.48
@@ -47,7 +47,7 @@
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image56">
+			<widget class="GtkImage" id="image58">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -69,7 +69,7 @@
 		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image57">
+			<widget class="GtkImage" id="image59">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -97,7 +97,7 @@
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image58">
+			<widget class="GtkImage" id="image60">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -137,7 +137,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Installed</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">True</property>
+		      <property name="active">False</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
@@ -147,7 +147,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Installed (upgradable)</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">True</property>
+		      <property name="active">False</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
@@ -157,7 +157,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Not Installed</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">True</property>
+		      <property name="active">False</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>
@@ -167,7 +167,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">View Locally Built</property>
 		      <property name="use_underline">True</property>
-		      <property name="active">True</property>
+		      <property name="active">False</property>
 		      <property name="group">viewAllTroves</property>
 		    </widget>
 		  </child>


From tgerla@specifixinc.com Thu Nov  4 14:54:04 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iA4Js3UJ029168
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 4 Nov 2004 14:54:03 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id E33E3164CB
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  4 Nov 2004 11:54:29 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iA4JsPj5012760; Thu, 4 Nov 2004 14:54:25 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iA4JsPRw012757; Thu, 4 Nov 2004 14:54:25 -0500
Date: Thu, 4 Nov 2004 14:54:25 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411041954.iA4JsPRw012757@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.94,1.95
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 04 Nov 2004 19:54:04 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv12745

Modified Files:
	conary-gui.py 
Log Message:
improve wording of metadata cache error message


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -r1.94 -r1.95
--- conary-gui.py	4 Nov 2004 19:26:07 -0000	1.94
+++ conary-gui.py	4 Nov 2004 19:54:22 -0000	1.95
@@ -866,7 +866,7 @@
         try:
             os.makedirs(dotdir)
         except:
-            msg = "Metadata cache unavailable:\n\n" + str(sys.exc_info()[1])
+            msg = "Metadata cache not available:\n\n" + str(sys.exc_info()[1])
             dialog = gtk.MessageDialog(type = gtk.MESSAGE_WARNING,
                                        buttons = gtk.BUTTONS_OK,
                                        message_format = msg)


From tgerla@specifixinc.com Tue Nov  9 17:05:57 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iA9M5uUJ026513
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 9 Nov 2004 17:05:57 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id CBB1E167A2
	for <conary-gui-commits@lists.specifix.com>;
	Tue,  9 Nov 2004 14:06:21 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iA9M6Ij5021991; Tue, 9 Nov 2004 17:06:18 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iA9M6IkU021986; Tue, 9 Nov 2004 17:06:18 -0500
Date: Tue, 9 Nov 2004 17:06:18 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411092206.iA9M6IkU021986@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS, 1.8, 1.9 conary-gui.py, 1.95,
	1.96 conaryinterface.py, 1.72, 1.73
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 09 Nov 2004 22:05:58 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv21974

Modified Files:
	NEWS conary-gui.py conaryinterface.py 
Log Message:
theoretically make deps on erase work


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- NEWS	22 Oct 2004 17:39:00 -0000	1.8
+++ NEWS	9 Nov 2004 22:06:16 -0000	1.9
@@ -1,3 +1,6 @@
+Changes in 0.8.0:
+    * Many UI improvements
+
 Changes in 0.7.1:
     * Don't lock the GUI when retrieving version list from the remote server.
     * Various code reorganizations to improve performance.


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -r1.95 -r1.96
--- conary-gui.py	4 Nov 2004 19:54:22 -0000	1.95
+++ conary-gui.py	9 Nov 2004 22:06:16 -0000	1.96
@@ -403,7 +403,7 @@
         self.metadata = md
         troveName = findSourceTrove(self.selectedTrove)
         
-        if troveName in metadata:
+        if troveName in md:
             self.get_widget("shortDesc").set_text(md[troveName].getShortDesc())
             self.get_widget("metadataButton").set_sensitive(True)
         else:


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- conaryinterface.py	25 Oct 2004 20:33:23 -0000	1.72
+++ conaryinterface.py	9 Nov 2004 22:06:16 -0000	1.73
@@ -58,9 +58,9 @@
     def __str__(self):
         l = []
         for (troveName, depSet) in self.brokenByErase:
-            l.append("    %s:\n\t%s" % \
+            l.append("%s:\n\t%s\n" % \
                 (troveName, "\n\t".join(str(depSet).split("\n"))) )
-        return "".join("l")
+        return "".join(l)
                                                         
 
 class ConaryOperation(threading.Thread):
@@ -283,11 +283,19 @@
         if erases:
             try:
                 self.updateStatus(True, "Removing packages marked for erase")
-                self.client.eraseTrove(erases)
+                cannotResolve = self.client.eraseTrove(erases)
+                if cannotResolve:
+                    raise BrokenByErase, cannotResolve
             except (repository.CommitError, conaryclient.UpdateError), e:
                 self.messageDialog("Error erasing troves: " + str(sys.exc_info()[1]))
                 self.updateStatus(False, "Operation failed.")
                 return self.operations
+            except BrokenByErase, cannotResolve:
+                message = "Troves being removed create unresolved dependencies:\n\n"
+                message += str(cannotResolve)
+                self.messageDialog(message)
+                self.updateStatus(False, "Operation failed")
+                return self.operations
             else:
                 for ops in self.operations.keys():
                     if self.operations[ops] == self.MARKED_FOR_ERASE:


From tgerla@specifixinc.com Wed Nov 10 10:12:19 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iAAFCIUJ027881
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 10 Nov 2004 10:12:19 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 76824167F0
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 10 Nov 2004 07:12:43 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iAAFCfj5008395; Wed, 10 Nov 2004 10:12:41 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iAAFCf9K008391; Wed, 10 Nov 2004 10:12:41 -0500
Date: Wed, 10 Nov 2004 10:12:41 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411101512.iAAFCf9K008391@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade,1.48,1.49 conary-gui.py,1.96,1.97
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 10 Nov 2004 15:12:19 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv8379

Modified Files:
	conary-gui.glade conary-gui.py 
Log Message:
add an About dialog


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- conary-gui.glade	4 Nov 2004 19:31:31 -0000	1.48
+++ conary-gui.glade	10 Nov 2004 15:12:38 -0000	1.49
@@ -47,7 +47,7 @@
 		      <accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image58">
+			<widget class="GtkImage" id="image64">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-open</property>
 			  <property name="icon_size">1</property>
@@ -69,7 +69,7 @@
 		      <accelerator key="R" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image59">
+			<widget class="GtkImage" id="image65">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-refresh</property>
 			  <property name="icon_size">1</property>
@@ -97,7 +97,7 @@
 		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
 
 		      <child internal-child="image">
-			<widget class="GtkImage" id="image60">
+			<widget class="GtkImage" id="image66">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-quit</property>
 			  <property name="icon_size">1</property>
@@ -190,7 +190,7 @@
 		      <property name="visible">True</property>
 		      <property name="label" translatable="yes">About</property>
 		      <property name="use_underline">True</property>
-		      <signal name="activate" handler="on_about1_activate" last_modification_time="Thu, 08 Jul 2004 13:26:33 GMT"/>
+		      <signal name="activate" handler="onAboutActivate" last_modification_time="Wed, 10 Nov 2004 14:55:31 GMT"/>
 		    </widget>
 		  </child>
 		</widget>
@@ -2472,4 +2472,139 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="aboutWindow">
+  <property name="border_width">12</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">About</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">True</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_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox18">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">6</property>
+
+      <child>
+	<widget class="GtkLabel" id="label65">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes">&lt;big&gt;Conary Package Manager&lt;/big&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>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkLabel" id="versionLabel">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes">Version 0.8.0</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>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkLabel" id="label67">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes">Copyright (c) 2004 Specifix, Inc.</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>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkLabel" id="label64">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="label" translatable="yes">This program is distributed under the terms of the Common Public License, version 1.0. A copy of this license should have been distributed with this source file in a file called LICENSE. If it is not present, the license is always available at http://www.opensource.org/licenses/cpl.php. This program is distributed in the hope that it will be useful, but without any waranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the Common Public License for full details.</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">True</property>
+	  <property name="xalign">0.5</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xpad">0</property>
+	  <property name="ypad">0</property>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHButtonBox" id="hbuttonbox9">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_END</property>
+	  <property name="spacing">0</property>
+
+	  <child>
+	    <widget class="GtkButton" id="closeButton">
+	      <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>
+	      <signal name="clicked" handler="onCloseButtonClicked" last_modification_time="Wed, 10 Nov 2004 14:58:19 GMT"/>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- conary-gui.py	9 Nov 2004 22:06:16 -0000	1.96
+++ conary-gui.py	10 Nov 2004 15:12:39 -0000	1.97
@@ -766,7 +766,18 @@
 
     def onConfigurationActivate(self, item):
         cfg = config.ConfigWindow(client)
-        
+    
+    def onAboutActivate(self, item):
+        about = AboutWindow()
+
+class AboutWindow(gtk.glade.XML):
+    def __init__(self):
+        gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "aboutWindow")
+        self.signal_autoconnect(self)
+
+    def onCloseButtonClicked(self, button):
+        self.get_widget("aboutWindow").destroy()
+    
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, changeLogs, callback):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "operationsWindow")


From tgerla@specifixinc.com Wed Nov 10 10:31:30 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iAAFVTUJ027933
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 10 Nov 2004 10:31:29 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 58B7E167F0
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 10 Nov 2004 07:31:54 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iAAFVpj5009331; Wed, 10 Nov 2004 10:31:51 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iAAFVpGF009326; Wed, 10 Nov 2004 10:31:51 -0500
Date: Wed, 10 Nov 2004 10:31:51 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411101531.iAAFVpGF009326@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui constants.py.in, NONE, 1.1 Makefile, 1.24,
	1.25 conary-gui.glade, 1.49, 1.50 conary-gui.py, 1.97, 1.98
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 10 Nov 2004 15:31:30 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv9314

Modified Files:
	Makefile conary-gui.glade conary-gui.py 
Added Files:
	constants.py.in 
Log Message:
new constants.py.in file to store version number, use constants.version in about dialog


--- NEW FILE constants.py.in ---
version = "@version@"


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- Makefile	2 Nov 2004 14:10:37 -0000	1.24
+++ Makefile	10 Nov 2004 15:31:49 -0000	1.25
@@ -3,9 +3,9 @@
 # All rights reserved
 #
 
-all: conary-gui conary-gui-wrapper
+all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.7.0
+export VERSION = 0.8.0
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr
@@ -17,18 +17,19 @@
 subdirs_rule=
 
 python_files = conaryinterface.py \
-		   conary-gui.py \
-                   config.py \
-		   gladefiles.py \
-                   metadatawindow.py \
-		   applychangeset.py \
-		   statuswindow.py
+	       conary-gui.py \
+               config.py \
+               constants.py \
+               gladefiles.py \
+               metadatawindow.py \
+	       applychangeset.py \
+	       statuswindow.py
 
 glade_files = conary-gui.glade
 desktop_files = conary-gui.png conary-gui.desktop
 dist_files = $(desktop_files) $(python_files) $(glade_files) Makefile Make.rules conary-gui-wrapper.in NEWS
 
-generated_files = *.pyo *.pyc conary-gui-wrapper
+generated_files = *.pyo *.pyc conary-gui-wrapper constants.py
 
 .PHONY: clean dist install conary-gui
 
@@ -39,6 +40,8 @@
 	sed s,@conarydir@,$(conarydir),g $< > $@
 	chmod 755 $@
 		
+constants.py: constants.py.in Makefile
+	sed s,@version@,$(VERSION),g $< > $@
 
 install-mkdirs:
 	mkdir -p $(DESTDIR)$(bindir)


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- conary-gui.glade	10 Nov 2004 15:12:38 -0000	1.49
+++ conary-gui.glade	10 Nov 2004 15:31:49 -0000	1.50
@@ -7,7 +7,7 @@
   <property name="width_request">600</property>
   <property name="height_request">600</property>
   <property name="visible">True</property>
-  <property name="title" translatable="yes">Conary Package Manager</property>
+  <property name="title" translatable="yes">Conary System Manager</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
   <property name="window_position">GTK_WIN_POS_NONE</property>
   <property name="modal">False</property>
@@ -2517,7 +2517,7 @@
       <child>
 	<widget class="GtkLabel" id="versionLabel">
 	  <property name="visible">True</property>
-	  <property name="label" translatable="yes">Version 0.8.0</property>
+	  <property name="label" translatable="yes">Version xxx</property>
 	  <property name="use_underline">False</property>
 	  <property name="use_markup">False</property>
 	  <property name="justify">GTK_JUSTIFY_LEFT</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -r1.97 -r1.98
--- conary-gui.py	10 Nov 2004 15:12:39 -0000	1.97
+++ conary-gui.py	10 Nov 2004 15:31:49 -0000	1.98
@@ -48,6 +48,7 @@
 import applychangeset
 import metadatawindow
 import config
+import constants
 
 client = conaryclient.ConaryClient()
 cacheAvail = False
@@ -774,10 +775,11 @@
     def __init__(self):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "aboutWindow")
         self.signal_autoconnect(self)
+        self.get_widget("versionLabel").set_text("Version %s" % constants.version)
 
     def onCloseButtonClicked(self, button):
         self.get_widget("aboutWindow").destroy()
-    
+        
 class CheckOperations(gtk.glade.XML):
     def __init__(self, operations, changeLogs, callback):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "operationsWindow")


From tgerla@specifixinc.com Wed Nov 10 10:41:21 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iAAFfKUJ027950
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 10 Nov 2004 10:41:21 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 9EA33167F0
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 10 Nov 2004 07:41:45 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iAAFfhj5009627; Wed, 10 Nov 2004 10:41:43 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iAAFfhwh009614; Wed, 10 Nov 2004 10:41:43 -0500
Date: Wed, 10 Nov 2004 10:41:43 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411101541.iAAFfhwh009614@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.98,1.99
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 10 Nov 2004 15:41:21 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv9600

Modified Files:
	conary-gui.py 
Log Message:
rearrange some constants, fix metadata cache availability test


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -r1.98 -r1.99
--- conary-gui.py	10 Nov 2004 15:31:49 -0000	1.98
+++ conary-gui.py	10 Nov 2004 15:41:41 -0000	1.99
@@ -64,6 +64,7 @@
 
 class RepositoryView( gtk.glade.XML ):
 
+    # enums for statuses and GtkTreeViews
     NO_STATUS = 0
     MARKED_FOR_UPDATE = 1
     MARKED_FOR_ERASE = 2
@@ -74,6 +75,21 @@
     VIEW_OUTOFDATE_TROVES = 3
     VIEW_LOCALLY_BUILT_TROVES = 4
 
+    VERSION_COLUMN_OBJECT = 0
+    VERSION_COLUMN_STATUS = 1
+    VERSION_COLUMN_VERSION = 2 
+    VERSION_COLUMN_FLAVOR = 3
+    VERSION_COLUMN_COLOR = 4
+    VERSION_COLUMN_FONT_WEIGHT = 5
+
+    LOCAL_VERSIONS_COLUMN_OBJECT = 0
+    LOCAL_VERSIONS_COLUMN_STATUS = 1
+    LOCAL_VERSIONS_COLUMN_VERSION = 2
+
+    TROVE_COLUMN_FULL_NAME = 0 
+    TROVE_COLUMN_DISPLAY_NAME = 1
+    TROVE_COLUMN_COLOR = 2 
+
     # mapping between enum filter types and their widget
     filters = {
         VIEW_ALL_TROVES: "viewAllTroves",
@@ -131,10 +147,6 @@
         tv = self.get_widget(treeViewName)
         tv.set_model(troveStore)
          
-        self.TROVE_COLUMN_FULL_NAME = 0 
-	self.TROVE_COLUMN_DISPLAY_NAME = 1
-	self.TROVE_COLUMN_COLOR = 2 
-
 	tv.set_search_column(self.TROVE_COLUMN_FULL_NAME)
 
         renderer = gtk.CellRendererText()
@@ -157,13 +169,6 @@
 	treeview.set_model(self.remoteVersionStore)
 
 
-        self.VERSION_COLUMN_OBJECT = 0
-        self.VERSION_COLUMN_STATUS = 1
-	self.VERSION_COLUMN_VERSION = 2 
-	self.VERSION_COLUMN_FLAVOR = 3
-	self.VERSION_COLUMN_COLOR = 4
-        self.VERSION_COLUMN_FONT_WEIGHT = 5
-
         renderer = gtk.CellRendererPixbuf()
         renderer.set_fixed_size(16, -1)
         column = gtk.TreeViewColumn("", renderer)
@@ -185,33 +190,6 @@
         value = model[tree_iter][self.VERSION_COLUMN_STATUS]
         cell.set_property('stock-id', self.pixmaps[value])
 
-    def buildFileList(self):
-	self.fileStore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,
-	                               gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
-
-	treeview = self.get_widget("fileList")
-	treeview.set_model(self.fileStore)
-
-	self.FILE_COLUMN_MODE = 0
-	self.FILE_COLUMN_OWNER = 1 
-	self.FILE_COLUMN_GROUP = 2
-	self.FILE_COLUMN_SIZE = 3
-	self.FILE_COLUMN_TIME = 4
-	self.FILE_COLUMN_NAME = 5
-
-	column = gtk.TreeViewColumn("Mode", gtk.CellRendererText(), text=self.FILE_COLUMN_MODE)
-	treeview.append_column(column)
-        column = gtk.TreeViewColumn("Owner", gtk.CellRendererText(), text=self.FILE_COLUMN_OWNER)
-	treeview.append_column(column)
-        column = gtk.TreeViewColumn("Group", gtk.CellRendererText(), text=self.FILE_COLUMN_GROUP)
-	treeview.append_column(column)
-        column = gtk.TreeViewColumn("Size", gtk.CellRendererText(), text=self.FILE_COLUMN_SIZE)
-	treeview.append_column(column)
-        column = gtk.TreeViewColumn("Time", gtk.CellRendererText(), text=self.FILE_COLUMN_TIME)
-	treeview.append_column(column)
-        column = gtk.TreeViewColumn("Name", gtk.CellRendererText(), text=self.FILE_COLUMN_NAME)
-	treeview.append_column(column)
-
     ### Utility functions
 		
     def _pulse(self):
@@ -527,10 +505,6 @@
         treeview = self.get_widget("localVersionTree")
         treeview.set_model(troveStore)
 
-        self.LOCAL_VERSIONS_COLUMN_OBJECT = 0
-        self.LOCAL_VERSIONS_COLUMN_STATUS = 1
-        self.LOCAL_VERSIONS_COLUMN_VERSION = 2
-
         renderer = gtk.CellRendererPixbuf()
         renderer.set_fixed_size(16, -1)
         column = gtk.TreeViewColumn("", renderer)
@@ -873,7 +847,7 @@
         self.window.destroy()
        
 if __name__ == "__main__":
-    if os.access(os.path.join(dotdir, "metadata.cache"), os.R_OK|os.W_OK):
+    if os.access(os.path.join(dotdir), os.R_OK|os.W_OK):
         cacheAvail = True
     else:
         try:


From tgerla@specifixinc.com Wed Nov 10 20:34:18 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iAB1YHUJ029224
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 10 Nov 2004 20:34:18 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id AC1B6162D7
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 10 Nov 2004 17:34:41 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iAB1Ycj5029618; Wed, 10 Nov 2004 20:34:38 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iAB1Yb5K029614; Wed, 10 Nov 2004 20:34:37 -0500
Date: Wed, 10 Nov 2004 20:34:37 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411110134.iAB1Yb5K029614@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.25,1.26 conary-gui.py,1.99,1.100
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 11 Nov 2004 01:34:18 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv29602

Modified Files:
	Makefile conary-gui.py 
Log Message:
rename constants.py to gui_constants.py to avoid conflicting with conary


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- Makefile	10 Nov 2004 15:31:49 -0000	1.25
+++ Makefile	11 Nov 2004 01:34:35 -0000	1.26
@@ -3,7 +3,7 @@
 # All rights reserved
 #
 
-all: conary-gui conary-gui-wrapper constants.py
+all: conary-gui conary-gui-wrapper gui_constants.py
 
 export VERSION = 0.8.0
 export TOPDIR = $(shell pwd)
@@ -19,7 +19,7 @@
 python_files = conaryinterface.py \
 	       conary-gui.py \
                config.py \
-               constants.py \
+               gui_constants.py \
                gladefiles.py \
                metadatawindow.py \
 	       applychangeset.py \
@@ -27,9 +27,10 @@
 
 glade_files = conary-gui.glade
 desktop_files = conary-gui.png conary-gui.desktop
-dist_files = $(desktop_files) $(python_files) $(glade_files) Makefile Make.rules conary-gui-wrapper.in NEWS
+dist_files = $(desktop_files) $(python_files) $(glade_files) \
+             gui_constants.py.in Makefile Make.rules conary-gui-wrapper.in NEWS 
 
-generated_files = *.pyo *.pyc conary-gui-wrapper constants.py
+generated_files = *.pyo *.pyc conary-gui-wrapper gui_constants.py
 
 .PHONY: clean dist install conary-gui
 
@@ -40,7 +41,7 @@
 	sed s,@conarydir@,$(conarydir),g $< > $@
 	chmod 755 $@
 		
-constants.py: constants.py.in Makefile
+gui_constants.py: gui_constants.py.in Makefile
 	sed s,@version@,$(VERSION),g $< > $@
 
 install-mkdirs:


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -r1.99 -r1.100
--- conary-gui.py	10 Nov 2004 15:41:41 -0000	1.99
+++ conary-gui.py	11 Nov 2004 01:34:35 -0000	1.100
@@ -48,7 +48,7 @@
 import applychangeset
 import metadatawindow
 import config
-import constants
+import gui_constants
 
 client = conaryclient.ConaryClient()
 cacheAvail = False
@@ -749,7 +749,7 @@
     def __init__(self):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "aboutWindow")
         self.signal_autoconnect(self)
-        self.get_widget("versionLabel").set_text("Version %s" % constants.version)
+        self.get_widget("versionLabel").set_text("Version %s" % gui_constants.version)
 
     def onCloseButtonClicked(self, button):
         self.get_widget("aboutWindow").destroy()
@@ -865,4 +865,5 @@
 
     gtk.threads_init()
     gui = RepositoryView()
+    
     gtk.main()


From tgerla@specifixinc.com Tue Nov 16 15:13:14 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iAGKDDUJ016987
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 16 Nov 2004 15:13:13 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 0748D162D7
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 16 Nov 2004 12:13:36 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iAGKDXj5028329; Tue, 16 Nov 2004 15:13:33 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iAGKDXYa028326; Tue, 16 Nov 2004 15:13:33 -0500
Date: Tue, 16 Nov 2004 15:13:33 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411162013.iAGKDXYa028326@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.100,1.101
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 16 Nov 2004 20:13:14 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv28314

Modified Files:
	conary-gui.py 
Log Message:
handle missing metadata a little more gracefully


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -r1.100 -r1.101
--- conary-gui.py	11 Nov 2004 01:34:35 -0000	1.100
+++ conary-gui.py	16 Nov 2004 20:13:30 -0000	1.101
@@ -382,7 +382,7 @@
         self.metadata = md
         troveName = findSourceTrove(self.selectedTrove)
         
-        if troveName in md:
+        if md and troveName in md:
             self.get_widget("shortDesc").set_text(md[troveName].getShortDesc())
             self.get_widget("metadataButton").set_sensitive(True)
         else:


From tgerla@specifixinc.com Fri Nov 19 15:03:03 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iAJK32UJ027138
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 19 Nov 2004 15:03:03 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 1AB02162C4
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 19 Nov 2004 12:03:01 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iAJK2vj5024793; Fri, 19 Nov 2004 15:02:57 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iAJK2uKM024791; Fri, 19 Nov 2004 15:02:56 -0500
Date: Fri, 19 Nov 2004 15:02:56 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411192002.iAJK2uKM024791@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.73,1.74
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 19 Nov 2004 20:03:03 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv24778

Modified Files:
	conaryinterface.py 
Log Message:
improve wording of dependency resolution dialog


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- conaryinterface.py	9 Nov 2004 22:06:16 -0000	1.73
+++ conaryinterface.py	19 Nov 2004 20:02:54 -0000	1.74
@@ -244,10 +244,10 @@
                 if depFailures:
                     raise DepsFailed, depFailures
                 elif suggMap:
-                    message = "Including extra troves for dependency resolution:\n\n"
+                    message = "The following updates require additional troves:\n\n"
                     for (req, suggList) in suggMap.iteritems():
                         message += "%s -> %s\n" % (req, " ".join([x[0] for x in suggList]))
-                    message += "\n\nContinue?"
+                    message += "\n\nAdd requirements to update list and continue?"
 
                     retval = self.messageDialog(message, type=gtk.MESSAGE_INFO,
                                                          buttons=gtk.BUTTONS_YES_NO)


From tgerla@specifixinc.com Fri Nov 19 15:52:41 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iAJKqeUJ027278
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 19 Nov 2004 15:52:41 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2F5CC162C4
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 19 Nov 2004 12:52:39 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iAJKqZj5026618; Fri, 19 Nov 2004 15:52:35 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iAJKqZxt026615; Fri, 19 Nov 2004 15:52:35 -0500
Date: Fri, 19 Nov 2004 15:52:35 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200411192052.iAJKqZxt026615@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.74,1.75
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 19 Nov 2004 20:52:41 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv26603

Modified Files:
	conaryinterface.py 
Log Message:
improve error messages, fixes for flavor=None


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- conaryinterface.py	19 Nov 2004 20:02:54 -0000	1.74
+++ conaryinterface.py	19 Nov 2004 20:52:32 -0000	1.75
@@ -22,6 +22,7 @@
 import time
 import gtk
 import sys
+import traceback
 import os
 from sets import Set 
 import pickle
@@ -79,7 +80,7 @@
             retval = self.doOperation()
         except:
             message = "Operation failed:\n\n"
-            message += str(sys.exc_info()[1])
+            message += "".join(traceback.format_exception(*sys.exc_info()))
             self.messageDialog(message)
             retval = None
 
@@ -386,7 +387,7 @@
             if not v.isAfter(self.oldVersion):
                 break
             if not v.isAfter(self.newVersion):
-                l.append((troveName, v, None))
+                l.append((troveName, v, self.client.cfg.flavor))
 
         troves = self.client.repos.getTroves(l, withFiles=False)
         
@@ -460,7 +461,7 @@
 	branches = self._getNestedBranches(label)
 	branches.sort()
 	
-	tree = { label: {"flavor": None}, "flavor": None }
+	tree = { label: {"flavor": self.client.cfg.flavor}, "flavor": None }
 	flavors = self.client.repos.getTroveVersionFlavors(versions)
 
 	for version in flavors[self.troveName]:
@@ -470,7 +471,7 @@
             
 	    for flavor in flavors[self.troveName][version]:
 		if version.branch().label() not in tree:
-		    tree[version.branch().label()] = { "flavor": None }
+		    tree[version.branch().label()] = { "flavor": self.client.cfg.flavor }
 		tree[version.branch().label()][version] = {"flavor": flavor}
 
 	for branch in branches:


From tgerla@specifixinc.com Wed Dec  8 10:58:32 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iB8FwVQv024404
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 8 Dec 2004 10:58:31 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id C26FF164E0
	for <conary-gui-commits@lists.specifix.com>;
	Wed,  8 Dec 2004 07:58:26 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iB8FwLnE002535; Wed, 8 Dec 2004 10:58:21 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iB8FwLDk002529; Wed, 8 Dec 2004 10:58:21 -0500
Date: Wed, 8 Dec 2004 10:58:21 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412081558.iB8FwLDk002529@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui applychangeset.py, 1.5, 1.6 conary-gui.py, 1.101,
	1.102 conaryinterface.py, 1.75, 1.76 statuswindow.py, 1.4, 1.5
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 08 Dec 2004 15:58:32 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv2517

Modified Files:
	applychangeset.py conary-gui.py conaryinterface.py 
	statuswindow.py 
Log Message:
improve error handling, improve 'apply changeset file'


Index: applychangeset.py
===================================================================
RCS file: /cvs/conary-gui/applychangeset.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- applychangeset.py	19 Aug 2004 16:01:30 -0000	1.5
+++ applychangeset.py	8 Dec 2004 15:58:19 -0000	1.6
@@ -31,5 +31,5 @@
     successMessage = "Changeset applied successfully"
 
     def doAction(self, filename):
-	thread = conaryinterface.ApplyChangeSet(self.client, filename, self.callback)
+	thread = conaryinterface.ApplyChangeSet(self.client, filename, None, self.callback)
 	return thread


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -r1.101 -r1.102
--- conary-gui.py	16 Nov 2004 20:13:30 -0000	1.101
+++ conary-gui.py	8 Dec 2004 15:58:19 -0000	1.102
@@ -796,11 +796,12 @@
         self.updateStatus()
 
     def updateStatus(self):
-        if len(self.changeLogs) < len(self.operations):
-            self.get_widget("pendingStatusLabel").set_text("Retrieving changelogs...")
-        else:
-            self.get_widget("pendingStatusLabel").set_text("")
-        
+        if self.get_widget("pendingStatusLabel"):
+            if len(self.changeLogs) < len(self.operations):
+                self.get_widget("pendingStatusLabel").set_text("Retrieving changelogs...")
+            else:
+                self.get_widget("pendingStatusLabel").set_text("")
+            
     def buildOpsList(self, operations):
         troveStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN,
                                    gobject.TYPE_STRING, gobject.TYPE_STRING)


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- conaryinterface.py	19 Nov 2004 20:52:32 -0000	1.75
+++ conaryinterface.py	8 Dec 2004 15:58:19 -0000	1.76
@@ -80,6 +80,7 @@
             retval = self.doOperation()
         except:
             message = "Operation failed:\n\n"
+            print traceback.format_exception(*sys.exc_info())
             message += "".join(traceback.format_exception(*sys.exc_info()))
             self.messageDialog(message)
             retval = None
@@ -120,7 +121,11 @@
         self.filename = filename
 
     def doOperation(self):
-        self.client.applyChangeSet(self.filename)
+        cs = changeset.ChangeSetFromFile(self.filename)
+        (cs, depFailures, suggMap, brokenByErase) =\
+            self.client.updateChangeSet([changeSet], recurse=False, resolveDeps=False)
+        self.client.applyUpdate(cs)
+
         return None
 
 class TroveList(ConaryOperation):


Index: statuswindow.py
===================================================================
RCS file: /cvs/conary-gui/statuswindow.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- statuswindow.py	2 Sep 2004 19:27:03 -0000	1.4
+++ statuswindow.py	8 Dec 2004 15:58:19 -0000	1.5
@@ -50,23 +50,17 @@
             self.get_widget('progressbar').set_fraction(0.0)
         return self.updating
 
-    def callback(self, error, except_error):
+    def callback(self, error):
         self.updating = False
-        if error:
-            text = "Error: " + error
-            icon = gtk.MESSAGE_ERROR
-        elif except_error:
-            text = "Error: " + except_error
-            icon = gtk.MESSAGE_ERROR
-        else:
+        if not error:
             text = self.successMessage
             icon = gtk.MESSAGE_INFO
 
-        parentWindow = self.get_widget('statusWindow')
-        dialog = gtk.MessageDialog(parentWindow, 0, icon, gtk.BUTTONS_CLOSE, text)
-        response = dialog.run()
-        if response == gtk.RESPONSE_CLOSE:
-            dialog.destroy()
+            parentWindow = self.get_widget('statusWindow')
+            dialog = gtk.MessageDialog(parentWindow, 0, icon, gtk.BUTTONS_CLOSE, text)
+            response = dialog.run()
+            if response == gtk.RESPONSE_CLOSE:
+                dialog.destroy()
 
         self.get_widget('statusWindow').destroy()
 


From tgerla@specifixinc.com Wed Dec  8 13:13:46 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iB8IDjQv024906
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 8 Dec 2004 13:13:46 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 05BED16515
	for <conary-gui-commits@lists.specifix.com>;
	Wed,  8 Dec 2004 10:13:41 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iB8IDbnE006205; Wed, 8 Dec 2004 13:13:37 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iB8IDbqi006200; Wed, 8 Dec 2004 13:13:37 -0500
Date: Wed, 8 Dec 2004 13:13:37 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412081813.iB8IDbqi006200@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.50, 1.51 conary-gui.py, 1.102,
	1.103 conaryinterface.py, 1.76, 1.77
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 08 Dec 2004 18:13:47 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv6188

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
Log Message:
fix changelog retrieval--don't retrieve all changelogs at once. retrieve them upon request.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- conary-gui.glade	10 Nov 2004 15:31:49 -0000	1.50
+++ conary-gui.glade	8 Dec 2004 18:13:35 -0000	1.51
@@ -769,6 +769,7 @@
 	      <property name="rules_hint">False</property>
 	      <property name="reorderable">False</property>
 	      <property name="enable_search">True</property>
+	      <signal name="row_expanded" handler="onRowExpanded" last_modification_time="Wed, 08 Dec 2004 16:38:11 GMT"/>
 	    </widget>
 	  </child>
 	</widget>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -r1.102 -r1.103
--- conary-gui.py	8 Dec 2004 15:58:19 -0000	1.102
+++ conary-gui.py	8 Dec 2004 18:13:35 -0000	1.103
@@ -131,7 +131,7 @@
         self.changeLogs = {}
         self.allTroves = []
         self.localTroves = []
-    
+   
         # build remote and local trove lists, fill the local trove tree.
         # once the local trove tree is done, it fills the remote trove tree, based
         # on the repositories found referenced in the system.
@@ -580,9 +580,9 @@
                 if widget == self.get_widget("remoteVersionTree"):
                     model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_UPDATE
                     self.operations[obj] = self.MARKED_FOR_UPDATE
-                    cl = conaryinterface.ChangeLog(client, obj[0], None, obj[1], obj[1].branch(),
-                                                   self.updateStatus, self.clFinished)
-                    cl.start()
+                    old = self.troveVersions[trove][-1]
+                    new = obj[1]
+                    self.changeLogs[findSourceTrove(trove)] = (old, new)
                 elif widget == self.get_widget("localVersionTree"):
                     model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
                     self.operations[obj] = self.MARKED_FOR_ERASE
@@ -710,6 +710,7 @@
                 tmpTroves = [package + ":" + component for component in components[package]]
                 updates.extend(tmpTroves)
             
+        self.changeLogs = {}
         for trove in updates:
             if trove in self.outofdateTroves:
                 obj = (trove, self.outofdateTroves[trove])
@@ -717,22 +718,10 @@
                 
                 old = self.troveVersions[trove][-1]
                 new = obj[1]
-
-                cl = conaryinterface.ChangeLog(client, trove, old, new, new.branch(),
-                                               self.updateStatus, self.clFinished)
-                cl.start()
+                self.changeLogs[findSourceTrove(trove)] = (old, new)
                 
         self.updateStatus(False)
 
-    def clFinished(self, results):
-        if not results:
-            return
-
-        troveName, cl = results
-        self.changeLogs[troveName] = cl
-        if self.checkOps:
-            self.checkOps.setChangelog(troveName, cl)
-    
     def onMetadataButtonClicked(self, button):
         troveName = self.selectedTrove
         
@@ -771,7 +760,6 @@
 
         ops = operations.keys()
         ops.sort(lambda a, b: cmp(a[0].lower(), b[0].lower()))
-        self.updateStatus()
                 
         for obj in ops:
             status = operations[obj]
@@ -780,28 +768,32 @@
                                             operationTitles[status] + " " + troveName,
                                             "#e9ecf8"])
 
-            self.treeRoots[findSourceTrove(troveName)] = root
-            if findSourceTrove(troveName) in changeLogs:
-                self.setChangelog(findSourceTrove(troveName), changeLogs[findSourceTrove(troveName)])
-    
-    # function to add the changelog to the tree view after the dialog is open
-    def setChangelog(self, troveName, changeLog):
-        self.changeLogs[troveName] = changeLog
+            statusIter = self.store.append(root, [None, None, False, "Retrieving changelog...", None])
+            self.treeRoots[findSourceTrove(troveName)] = (root, statusIter)
+
+    def onRowExpanded(self, tv, iter, path):
+        troveName = findSourceTrove(self.store[iter][0][0][0])
+
+        if troveName in self.changeLogs:
+            old, new = self.changeLogs[troveName]
+            cl = conaryinterface.ChangeLog(client, troveName, old, new, new.branch(),
+                                           None, self.clFinished)
+            cl.start()
+            del self.changeLogs[troveName]
+            
+    def clFinished(self, results):
+        troveName, changeLog = results
         if troveName in self.treeRoots:
-            root = self.treeRoots[troveName]
-            for l in changeLog:
-                header = "<b>" + l["header"] + "</b>"
-                self.store.append(root, [None, None, False, header, None])
-                self.store.append(root, [None, None, False, l["body"], None])
-        self.updateStatus()
-
-    def updateStatus(self):
-        if self.get_widget("pendingStatusLabel"):
-            if len(self.changeLogs) < len(self.operations):
-                self.get_widget("pendingStatusLabel").set_text("Retrieving changelogs...")
+            root, statusIter = self.treeRoots[troveName]
+            if changeLog:
+                for l in changeLog:
+                    header = "<b>" + l["header"] + "</b>"
+                    self.store.append(root, [None, None, False, header, None])
+                    self.store.append(root, [None, None, False, l["body"], None])
             else:
-                self.get_widget("pendingStatusLabel").set_text("")
-            
+                self.store.append(root, [None, None, False, "No changelog.", None])
+            self.store.remove(statusIter)
+
     def buildOpsList(self, operations):
         troveStore = gtk.TreeStore(gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN,
                                    gobject.TYPE_STRING, gobject.TYPE_STRING)


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- conaryinterface.py	8 Dec 2004 15:58:19 -0000	1.76
+++ conaryinterface.py	8 Dec 2004 18:13:35 -0000	1.77
@@ -369,7 +369,7 @@
 class ChangeLog(ConaryOperation):
     def __init__(self, client, troveName, oldVersion, newVersion, branch, statusCallback, finishedCallback):
         ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
-        self.troveName = troveName+":source"
+        self.troveName = troveName
         self.oldVersion = oldVersion
         self.newVersion = newVersion
         self.branch = branch


From tgerla@specifixinc.com Wed Dec  8 13:31:48 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iB8IVlQv024990
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 8 Dec 2004 13:31:48 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 7F0A316515
	for <conary-gui-commits@lists.specifix.com>;
	Wed,  8 Dec 2004 10:31:43 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iB8IVenE007372; Wed, 8 Dec 2004 13:31:40 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iB8IVeb8007368; Wed, 8 Dec 2004 13:31:40 -0500
Date: Wed, 8 Dec 2004 13:31:40 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412081831.iB8IVeb8007368@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS,1.9,1.10 metadatawindow.py,1.4,1.5
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 08 Dec 2004 18:31:49 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv7356

Modified Files:
	NEWS metadatawindow.py 
Log Message:
update metadata window for new changelog interface


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- NEWS	9 Nov 2004 22:06:16 -0000	1.9
+++ NEWS	8 Dec 2004 18:31:38 -0000	1.10
@@ -1,3 +1,6 @@
+Changes in 0.8.1:
+    * Only retrieve changelogs when requested in the "review updates" window
+
 Changes in 0.8.0:
     * Many UI improvements
 


Index: metadatawindow.py
===================================================================
RCS file: /cvs/conary-gui/metadatawindow.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- metadatawindow.py	1 Nov 2004 15:02:32 -0000	1.4
+++ metadatawindow.py	8 Dec 2004 18:31:38 -0000	1.5
@@ -19,6 +19,14 @@
 import conaryinterface
 import gladefiles
 
+# XXX this needs to be changed once we have source component pointers in cooked troves
+def findSourceTrove(troveName):
+    if ':' in troveName:
+        package = troveName[:troveName.find(':')]
+    else:
+        package = troveName
+    return package + ":source"
+
 class MetadataWindow(gtk.glade.XML):
     def __init__(self, client, troveName, version, metadata):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "metadataWindow")
@@ -56,7 +64,7 @@
         tv.append_column(column)
 
         self.store.append(['Retrieving changelogs...', None])
-        cl = conaryinterface.ChangeLog(client, troveName, None, None, self.version.branch(),
+        cl = conaryinterface.ChangeLog(client, findSourceTrove(troveName), None, None, self.version.branch(),
                                        None, self.changelogFinished)
         cl.start()
 
@@ -71,7 +79,6 @@
         for l in changelogs:
             self.store.append([l["header"], "#e9ecf8"])
             self.store.append([l["body"], None])
- 
 
     def onCloseButtonClicked(self, button):
         self.get_widget("metadataWindow").destroy()


From tgerla@specifixinc.com Wed Dec  8 13:43:01 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iB8Ih1Qv025019
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 8 Dec 2004 13:43:01 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id BB25E16515
	for <conary-gui-commits@lists.specifix.com>;
	Wed,  8 Dec 2004 10:42:56 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iB8IgsnE007907; Wed, 8 Dec 2004 13:42:54 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iB8IgrqH007900; Wed, 8 Dec 2004 13:42:53 -0500
Date: Wed, 8 Dec 2004 13:42:53 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412081842.iB8IgrqH007900@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile, 1.26, 1.27 NEWS, 1.10, 1.11 conary-gui.glade,
	1.51, 1.52 conary-gui.py, 1.103, 1.104
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 08 Dec 2004 18:43:02 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv7877

Modified Files:
	Makefile NEWS conary-gui.glade conary-gui.py 
Log Message:
minor changelog bugfixes, update to 0.8.1


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- Makefile	11 Nov 2004 01:34:35 -0000	1.26
+++ Makefile	8 Dec 2004 18:42:51 -0000	1.27
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper gui_constants.py
 
-export VERSION = 0.8.0
+export VERSION = 0.8.1
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- NEWS	8 Dec 2004 18:31:38 -0000	1.10
+++ NEWS	8 Dec 2004 18:42:51 -0000	1.11
@@ -1,5 +1,6 @@
 Changes in 0.8.1:
     * Only retrieve changelogs when requested in the "review updates" window
+    * Fixed several bugs in "apply changeset from file"
 
 Changes in 0.8.0:
     * Many UI improvements


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- conary-gui.glade	8 Dec 2004 18:13:35 -0000	1.51
+++ conary-gui.glade	8 Dec 2004 18:42:51 -0000	1.52
@@ -787,27 +787,6 @@
 	  <property name="spacing">0</property>
 
 	  <child>
-	    <widget class="GtkLabel" id="pendingStatusLabel">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">pendingStatusLabel</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>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
 	    <widget class="GtkHButtonBox" id="hbuttonbox3">
 	      <property name="visible">True</property>
 	      <property name="layout_style">GTK_BUTTONBOX_END</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -r1.103 -r1.104
--- conary-gui.py	8 Dec 2004 18:13:35 -0000	1.103
+++ conary-gui.py	8 Dec 2004 18:42:51 -0000	1.104
@@ -580,9 +580,13 @@
                 if widget == self.get_widget("remoteVersionTree"):
                     model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_UPDATE
                     self.operations[obj] = self.MARKED_FOR_UPDATE
-                    old = self.troveVersions[trove][-1]
+
+                    if obj[0] in self.troveVersions:
+                        old = self.troveVersions[obj[0]][-1]
+                    else:
+                        old = None
                     new = obj[1]
-                    self.changeLogs[findSourceTrove(trove)] = (old, new)
+                    self.changeLogs[findSourceTrove(obj[0])] = (old, new)
                 elif widget == self.get_widget("localVersionTree"):
                     model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
                     self.operations[obj] = self.MARKED_FOR_ERASE


From tgerla@specifixinc.com Sun Dec 19 01:05:55 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iBJ65sQv009635
	for <conary-gui-commits@lists.specifix.com>;
	Sun, 19 Dec 2004 01:05:55 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id ED763164DE
	for <conary-gui-commits@lists.specifix.com>;
	Sat, 18 Dec 2004 22:05:44 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iBJ65fnE019885; Sun, 19 Dec 2004 01:05:41 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iBJ65eoL019883; Sun, 19 Dec 2004 01:05:40 -0500
Date: Sun, 19 Dec 2004 01:05:40 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412190605.iBJ65eoL019883@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui gui_constants.py,NONE,1.1
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sun, 19 Dec 2004 06:05:56 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv19871

Added Files:
	gui_constants.py 
Log Message:
commit missing source file


--- NEW FILE gui_constants.py ---
version = "0.8.1.1"


From tgerla@specifixinc.com Sun Dec 19 01:17:32 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iBJ6HVQv009657
	for <conary-gui-commits@lists.specifix.com>;
	Sun, 19 Dec 2004 01:17:32 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A801716779
	for <conary-gui-commits@lists.specifix.com>;
	Sat, 18 Dec 2004 22:17:22 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iBJ6HLnE020088 for <conary-gui-commits@lists.specifix.com>;
	Sun, 19 Dec 2004 01:17:21 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iBIHa2C8008005; Sat, 18 Dec 2004 12:36:02 -0500
Date: Sat, 18 Dec 2004 12:36:02 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412181736.iBIHa2C8008005@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui-wrapper.in,1.3,1.4
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sun, 19 Dec 2004 06:17:33 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv7991

Modified Files:
	conary-gui-wrapper.in 
Log Message:
update for python 2.4


Index: conary-gui-wrapper.in
===================================================================
RCS file: /cvs/conary-gui/conary-gui-wrapper.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- conary-gui-wrapper.in	29 Sep 2004 21:38:37 -0000	1.3
+++ conary-gui-wrapper.in	18 Dec 2004 17:36:00 -0000	1.4
@@ -13,7 +13,7 @@
 # full details.
 #
 
-PYTHONORDER="python2.3 python23 python"
+PYTHONORDER="python2.4 python24 python"
 
 for p in $PYTHONORDER; do
     if type $p > /dev/null 2>&1; then


From tgerla@specifixinc.com Sun Dec 19 01:17:32 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iBJ6HVQv009658
	for <conary-gui-commits@lists.specifix.com>;
	Sun, 19 Dec 2004 01:17:32 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id CD453167A9
	for <conary-gui-commits@lists.specifix.com>;
	Sat, 18 Dec 2004 22:17:22 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iBJ6HLnG020088 for <conary-gui-commits@lists.specifix.com>;
	Sun, 19 Dec 2004 01:17:21 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iBIHl6SR008242; Sat, 18 Dec 2004 12:47:06 -0500
Date: Sat, 18 Dec 2004 12:47:06 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412181747.iBIHl6SR008242@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Make.rules,1.1,1.2 Makefile,1.27,1.28 NEWS,1.11,1.12
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sun, 19 Dec 2004 06:17:33 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv8230

Modified Files:
	Make.rules Makefile NEWS 
Log Message:
0.8.1.1 with python 2.4 support


Index: Make.rules
===================================================================
RCS file: /cvs/conary-gui/Make.rules,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Make.rules	14 Jul 2004 15:48:02 -0000	1.1
+++ Make.rules	18 Dec 2004 17:47:04 -0000	1.2
@@ -4,7 +4,7 @@
 # All rights reserved
 #
 
-PYTHON = $(shell [ -x /usr/bin/python2.3 ] && echo /usr/bin/python2.3 || echo /usr/lib/conary/python/bin/python2.3)
+PYTHON = $(shell [ -x /usr/bin/python2.4 ] && echo /usr/bin/python2.4 || echo /usr/lib/conary/python/bin/python2.4)
 PYINCLUDE = $(shell $(PYTHON) -c 'import os, sys; print os.sep.join((sys.prefix, "include", "python" + sys.version[:3]))')
 
 pyfiles-install:


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- Makefile	8 Dec 2004 18:42:51 -0000	1.27
+++ Makefile	18 Dec 2004 17:47:04 -0000	1.28
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper gui_constants.py
 
-export VERSION = 0.8.1
+export VERSION = 0.8.1.1
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- NEWS	8 Dec 2004 18:42:51 -0000	1.11
+++ NEWS	18 Dec 2004 17:47:04 -0000	1.12
@@ -1,3 +1,6 @@
+Changes in 0.8.1.1:
+    * Update to support Python 2.4.
+
 Changes in 0.8.1:
     * Only retrieve changelogs when requested in the "review updates" window
     * Fixed several bugs in "apply changeset from file"


From tgerla@specifixinc.com Sun Dec 19 14:15:38 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iBJJFbQv022521
	for <conary-gui-commits@lists.specifix.com>;
	Sun, 19 Dec 2004 14:15:38 -0500
Received: from lambchop.rdu.specifixinc.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 101CC16775
	for <conary-gui-commits@lists.specifix.com>;
	Sun, 19 Dec 2004 11:15:28 -0800 (PST)
Received: from lambchop.rdu.specifixinc.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10) with ESMTP id
	iBJJFOnE006242; Sun, 19 Dec 2004 14:15:24 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifixinc.com (8.12.10/8.12.10/Submit) id
	iBJJFOsL006238; Sun, 19 Dec 2004 14:15:24 -0500
Date: Sun, 19 Dec 2004 14:15:24 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412191915.iBJJFOsL006238@lambchop.rdu.specifixinc.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile, 1.28, 1.29 conary-gui.py, 1.104,
	1.105 gui_constants.py, 1.1, NONE
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Sun, 19 Dec 2004 19:15:38 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifixinc.com:/tmp/cvs-serv6226

Modified Files:
	Makefile conary-gui.py 
Removed Files:
	gui_constants.py 
Log Message:
install to /usr/share/conary-gui instead of /usr/share/conary, rename gui_constants.py to constants.py


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- Makefile	18 Dec 2004 17:47:04 -0000	1.28
+++ Makefile	19 Dec 2004 19:15:21 -0000	1.29
@@ -3,13 +3,13 @@
 # All rights reserved
 #
 
-all: conary-gui conary-gui-wrapper gui_constants.py
+all: conary-gui conary-gui-wrapper constants.py
 
 export VERSION = 0.8.1.1
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr
-export conarydir = $(prefix)/share/conary
+export conarydir = $(prefix)/share/conary-gui
 export bindir = $(prefix)/bin
 
 SUBDIRS=
@@ -19,7 +19,7 @@
 python_files = conaryinterface.py \
 	       conary-gui.py \
                config.py \
-               gui_constants.py \
+               constants.py \
                gladefiles.py \
                metadatawindow.py \
 	       applychangeset.py \
@@ -28,9 +28,9 @@
 glade_files = conary-gui.glade
 desktop_files = conary-gui.png conary-gui.desktop
 dist_files = $(desktop_files) $(python_files) $(glade_files) \
-             gui_constants.py.in Makefile Make.rules conary-gui-wrapper.in NEWS 
+             constants.py.in Makefile Make.rules conary-gui-wrapper.in NEWS 
 
-generated_files = *.pyo *.pyc conary-gui-wrapper gui_constants.py
+generated_files = *.pyo *.pyc conary-gui-wrapper constants.py
 
 .PHONY: clean dist install conary-gui
 
@@ -41,7 +41,7 @@
 	sed s,@conarydir@,$(conarydir),g $< > $@
 	chmod 755 $@
 		
-gui_constants.py: gui_constants.py.in Makefile
+constants.py: constants.py.in Makefile
 	sed s,@version@,$(VERSION),g $< > $@
 
 install-mkdirs:


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -r1.104 -r1.105
--- conary-gui.py	8 Dec 2004 18:42:51 -0000	1.104
+++ conary-gui.py	19 Dec 2004 19:15:21 -0000	1.105
@@ -48,7 +48,7 @@
 import applychangeset
 import metadatawindow
 import config
-import gui_constants
+import constants
 
 client = conaryclient.ConaryClient()
 cacheAvail = False
@@ -742,7 +742,7 @@
     def __init__(self):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "aboutWindow")
         self.signal_autoconnect(self)
-        self.get_widget("versionLabel").set_text("Version %s" % gui_constants.version)
+        self.get_widget("versionLabel").set_text("Version %s" % constants.version)
 
     def onCloseButtonClicked(self, button):
         self.get_widget("aboutWindow").destroy()


--- gui_constants.py DELETED ---


From tgerla@lambchop.rdu.specifix.com Wed Dec 29 16:50:43 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iBTLohQv003399
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 29 Dec 2004 16:50:43 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2595A167A9
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 29 Dec 2004 13:50:30 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	iBTLoRfb005820; Wed, 29 Dec 2004 16:50:27 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id iBTLoQFg005817;
	Wed, 29 Dec 2004 16:50:26 -0500
Date: Wed, 29 Dec 2004 16:50:26 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412292150.iBTLoQFg005817@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.77,1.78
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 29 Dec 2004 21:50:44 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv5805

Modified Files:
	conaryinterface.py 
Log Message:
fix changelog retrieval to handle new flavor API


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- conaryinterface.py	8 Dec 2004 18:13:35 -0000	1.77
+++ conaryinterface.py	29 Dec 2004 21:50:24 -0000	1.78
@@ -377,16 +377,19 @@
     def doOperation(self):
         troveName = self.troveName
         branch = self.branch
-        versions = self.client.repos.getTroveVersionsByLabel([troveName], branch.label())
-        versions[troveName].reverse()
-    
+        versionDict = self.client.repos.getTroveVersionsByLabel([troveName], branch.label())
+         
+        versionList = versionDict[troveName].keys()
+        versionList.sort(versions.Version.compare)
+        versionList.reverse()
+        
         if not self.oldVersion:
-            self.oldVersion = versions[troveName][-1]
+            self.oldVersion = versionList[-1]
         if not self.newVersion:
-            self.newVersion = versions[troveName][0]
+            self.newVersion = versionList[0]
     
         l = []
-        for v in versions[troveName]:
+        for v in versionList:
             if v.branch() != branch:
                 return None
             if not v.isAfter(self.oldVersion):


From tgerla@lambchop.rdu.specifix.com Wed Dec 29 18:05:18 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iBTN5HQv003670
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 29 Dec 2004 18:05:18 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 2425A167A9
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 29 Dec 2004 15:05:04 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	iBTN50fb007559; Wed, 29 Dec 2004 18:05:00 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id iBTN504d007551;
	Wed, 29 Dec 2004 18:05:00 -0500
Date: Wed, 29 Dec 2004 18:05:00 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412292305.iBTN504d007551@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.105,1.106 conaryinterface.py,1.78,1.79
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 29 Dec 2004 23:05:19 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv7539

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
update various bits of conary-gui to handle the new flavor-enabled API


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -r1.105 -r1.106
--- conary-gui.py	19 Dec 2004 19:15:21 -0000	1.105
+++ conary-gui.py	29 Dec 2004 23:04:58 -0000	1.106
@@ -40,7 +40,7 @@
 import versions
 import files
 import conaryclient
-import repository
+from repository import repository
 import metadata
 
 import gladefiles
@@ -332,14 +332,17 @@
             # fetch metadata, prefering the first locally installed branch,
             # or if the item is not installed, the first trove found
             # in the installLabelPath
-            if troveName in self.troveVersions:
+            if troveName in self.troveVersions and\
+               troveName not in self.locallyBuiltTroves:
                 version = self.troveVersions[troveName][0]
             else:
                 version = None
                 for label in client.cfg.installLabelPath:
                     d = client.repos.getTroveLeavesByLabel([troveName], label)
-                    if d[troveName]:
-                        version = d[troveName][0]
+                    if troveName in d and d[troveName]:
+                        d = d[troveName].keys()
+                        d.sort(versions.Version.compare)
+                        version = d[0]
                         break
 
             self.selectedVersion = version
@@ -355,7 +358,7 @@
             self.localVersionStore.clear()
             try:
                 troveList = client.db.findTrove(troveName)
-            except repository.repository.PackageNotFound:
+            except repository.TroveNotFound:
                 self.localVersionStore.append([None, 0, "No versions installed."])
             else:
                 for trove in troveList:


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- conaryinterface.py	29 Dec 2004 21:50:24 -0000	1.78
+++ conaryinterface.py	29 Dec 2004 23:04:58 -0000	1.79
@@ -168,6 +168,11 @@
         for trove in troveList:
             for v in self.client.db.getTroveVersionList(trove):
                 label = v.branch().label()
+                
+                if trove not in troves:
+                    troves[trove] = []
+                troves[trove].append(v)
+                
                 if isinstance(label, versions.CookBranch) or \
                    isinstance(label, versions.EmergeBranch):
                     locallyBuilt.append(trove)
@@ -181,10 +186,7 @@
                     labelPkgs[label][trove] = []
                 labelPkgs[label][trove].append(v)
                 
-                if trove not in troves:
-                    troves[trove] = []
-                troves[trove].append(v)
-                
+       
         updates = {}
         notavail = []
 
@@ -431,10 +433,14 @@
             label = installLabel.asString()
             defaultBranch = label[label.index('@'):]
             self.startLabel = versions.Label(self.startLabelHost + defaultBranch)
-            self.troveVersions = self.client.repos.getTroveVersionList(self.startLabelHost, [self.troveName])
+            versionList = self.client.repos.getTroveVersionList(self.startLabelHost, [self.troveName])
+            
+            if self.troveName in versionList:
+                self.troveVersions = versionList[self.troveName].keys()
+                self.troveVersions.sort(versions.Version.compare)
 
-            branches = self._getVersionsAndBranches(None, 0)
-            tree.update(branches)
+                branches = self._getVersionsAndBranches(None, 0)
+                tree.update(branches)
 
 	return tree, self.troveName
 
@@ -446,7 +452,7 @@
 
     def _getNestedBranches(self, label):
 	branches = []
-	for v in self.troveVersions[self.troveName]:
+	for v in self.troveVersions:
 	    if v.branch() not in branches:
 		# skip ourself
 		if v.branch().label().asString() == label:


From tgerla@lambchop.rdu.specifix.com Wed Dec 29 18:14:32 2004
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id iBTNEWQv003775
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 29 Dec 2004 18:14:32 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id AD92B167A9
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 29 Dec 2004 15:14:18 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	iBTNEEfb007774; Wed, 29 Dec 2004 18:14:14 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id iBTNEEux007770;
	Wed, 29 Dec 2004 18:14:14 -0500
Date: Wed, 29 Dec 2004 18:14:14 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200412292314.iBTNEEux007770@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.29,1.30 NEWS,1.12,1.13
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 29 Dec 2004 23:14:32 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv7752

Modified Files:
	Makefile NEWS 
Log Message:
change makefile and NEWS


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- Makefile	19 Dec 2004 19:15:21 -0000	1.29
+++ Makefile	29 Dec 2004 23:14:12 -0000	1.30
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.8.1.1
+export VERSION = 0.8.2
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- NEWS	18 Dec 2004 17:47:04 -0000	1.12
+++ NEWS	29 Dec 2004 23:14:12 -0000	1.13
@@ -1,3 +1,6 @@
+Changes in 0.8.2:
+    * Updates to support the new flavor-enabled Conary API.
+
 Changes in 0.8.1.1:
     * Update to support Python 2.4.
 


From msw@lambchop.rdu.specifix.com Tue Jan  4 10:39:24 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j04FdNQv002998
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 4 Jan 2005 10:39:23 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 79835167A9
	for <conary-gui-commits@lists.specifix.com>;
	Tue,  4 Jan 2005 07:39:07 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j04Fd4fb004770; Tue, 4 Jan 2005 10:39:04 -0500
Received: (from msw@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j04Fd4Ni004767;
	Tue, 4 Jan 2005 10:39:04 -0500
Date: Tue, 4 Jan 2005 10:39:04 -0500
From: Matt Wilson <msw@specifix.com>
Message-Id: <200501041539.j04Fd4Ni004767@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.79,1.80
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 04 Jan 2005 15:39:24 -0000

Update of /mnt/specifix/cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv4755

Modified Files:
	conaryinterface.py 
Log Message:
handle case when we attempt to use a source component for the changelog when the source component does not exist


Index: conaryinterface.py
===================================================================
RCS file: /mnt/specifix/cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- conaryinterface.py	29 Dec 2004 23:04:58 -0000	1.79
+++ conaryinterface.py	4 Jan 2005 15:39:02 -0000	1.80
@@ -380,10 +380,14 @@
         troveName = self.troveName
         branch = self.branch
         versionDict = self.client.repos.getTroveVersionsByLabel([troveName], branch.label())
-         
-        versionList = versionDict[troveName].keys()
-        versionList.sort(versions.Version.compare)
-        versionList.reverse()
+        
+        if not versionDict.has_key(troveName):
+            return troveName, [{'header':'Not found',
+                                'body'  :'   No versions of "%s" were found when attempting to retrieve changelog' %troveName}]
+
+        # built a reverse sorted list of versions for this troveName
+        versionList = sorted(versionDict[troveName].iterkeys(),
+                             versions.Version.compare, None, True)
         
         if not self.oldVersion:
             self.oldVersion = versionList[-1]
@@ -393,6 +397,9 @@
         l = []
         for v in versionList:
             if v.branch() != branch:
+                # XXX this is most likely not the right thing to do,
+                # since we will not check to see if None was returned
+                # in conary-gui.py:792
                 return None
             if not v.isAfter(self.oldVersion):
                 break


From tgerla@lambchop.rdu.specifix.com Tue Jan  4 10:45:06 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j04Fj4Qv003023
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 4 Jan 2005 10:45:05 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id CDDFD167A9
	for <conary-gui-commits@lists.specifix.com>;
	Tue,  4 Jan 2005 07:44:45 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j04Fiefb005003; Tue, 4 Jan 2005 10:44:40 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j04FiefO005000;
	Tue, 4 Jan 2005 10:44:40 -0500
Date: Tue, 4 Jan 2005 10:44:40 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200501041544.j04FiefO005000@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS,1.13,1.14
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 04 Jan 2005 15:45:06 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv4988

Modified Files:
	NEWS 
Log Message:
update news


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- NEWS	29 Dec 2004 23:14:12 -0000	1.13
+++ NEWS	4 Jan 2005 15:44:38 -0000	1.14
@@ -1,5 +1,6 @@
 Changes in 0.8.2:
     * Updates to support the new flavor-enabled Conary API.
+    * Moved Python files from /usr/share/conary to /usr/share/conary-gui.
 
 Changes in 0.8.1.1:
     * Update to support Python 2.4.


From tgerla@lambchop.rdu.specifix.com Tue Jan  4 10:48:43 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j04FmgQv003034
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 4 Jan 2005 10:48:42 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 90742167A9
	for <conary-gui-commits@lists.specifix.com>;
	Tue,  4 Jan 2005 07:48:26 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j04FmLfb005141; Tue, 4 Jan 2005 10:48:21 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j04FmLPs005138;
	Tue, 4 Jan 2005 10:48:21 -0500
Date: Tue, 4 Jan 2005 10:48:21 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200501041548.j04FmLPs005138@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.80,1.81
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 04 Jan 2005 15:48:43 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv5126

Modified Files:
	conaryinterface.py 
Log Message:
return troveName along with None to signify no changelog, which is what conary-gui.py expects


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- conaryinterface.py	4 Jan 2005 15:39:02 -0000	1.80
+++ conaryinterface.py	4 Jan 2005 15:48:19 -0000	1.81
@@ -397,10 +397,7 @@
         l = []
         for v in versionList:
             if v.branch() != branch:
-                # XXX this is most likely not the right thing to do,
-                # since we will not check to see if None was returned
-                # in conary-gui.py:792
-                return None
+                return troveName, None
             if not v.isAfter(self.oldVersion):
                 break
             if not v.isAfter(self.newVersion):


From tgerla@lambchop.rdu.specifix.com Tue Jan  4 15:06:53 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j04K6pQv003909
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 4 Jan 2005 15:06:52 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id D7CA316776
	for <conary-gui-commits@lists.specifix.com>;
	Tue,  4 Jan 2005 12:06:35 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j04K6Wfb011638; Tue, 4 Jan 2005 15:06:32 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j04K6UUv011635;
	Tue, 4 Jan 2005 15:06:30 -0500
Date: Tue, 4 Jan 2005 15:06:30 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200501042006.j04K6UUv011635@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.81,1.82
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 04 Jan 2005 20:06:53 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv11623

Modified Files:
	conaryinterface.py 
Log Message:
more changes for the new flavor code


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -r1.81 -r1.82
--- conaryinterface.py	4 Jan 2005 15:48:19 -0000	1.81
+++ conaryinterface.py	4 Jan 2005 20:06:27 -0000	1.82
@@ -192,7 +192,7 @@
 
         self.updateStatus(True, "Finding out-of-date troves...")
         
-        labels = repos.keys()
+        labels = self.client.cfg.installLabelPath
         for label in labels:
             labelDbpkgs = labelPkgs[label].keys()
             labelDbpkgs.sort()
@@ -239,13 +239,13 @@
         ops = self.operations.keys()
         ops.sort(lambda a, b: cmp(a[0].lower(), b[0].lower()))
        
-        updates = [(x[0], x[1].asString()) for x in ops if self.operations[x] == self.MARKED_FOR_UPDATE]
-        erases = [(x[0], x[1].asString()) for x in ops if self.operations[x] == self.MARKED_FOR_ERASE]
+        updates = [(x[0], x[1].asString(), None) for x in ops if self.operations[x] == self.MARKED_FOR_UPDATE]
+        erases = [(x[0], x[1].asString(), None) for x in ops if self.operations[x] == self.MARKED_FOR_ERASE]
        
         if updates:
             try:
                 self.updateStatus(True, "Resolving dependencies...")
-                (cs, depFailures, suggMap, brokenByErase) = self.client.updateChangeSet(updates)
+                (cs, depFailures, suggMap, brokenByErase) = self.client.updateChangeSet(updates, resolveDeps=False)
 
                 if brokenByErase:
                     raise BrokenByErase, brokenByErase
@@ -437,7 +437,7 @@
             label = installLabel.asString()
             defaultBranch = label[label.index('@'):]
             self.startLabel = versions.Label(self.startLabelHost + defaultBranch)
-            versionList = self.client.repos.getTroveVersionList(self.startLabelHost, [self.troveName])
+            versionList = self.client.repos.getTroveVersionList(self.startLabelHost, {self.troveName: None})
             
             if self.troveName in versionList:
                 self.troveVersions = versionList[self.troveName].keys()
@@ -470,7 +470,7 @@
     def _getVersionsAndBranches(self, label, level):
 	if label == None:
 	    label = self.startLabel
-	    versions = self.client.repos.getTroveVersionList(label.getHost(), [self.troveName])
+	    versions = self.client.repos.getTroveVersionList(label.getHost(), {self.troveName: None})
 	else:
 	    versions = self.client.repos.getTroveVersionsByLabel([self.troveName], label)
 


From tgerla@lambchop.rdu.specifix.com Thu Jan  6 10:10:32 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j06FAWQv012377
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 6 Jan 2005 10:10:32 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8E65816A15
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  6 Jan 2005 07:10:15 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j06FADfb009145; Thu, 6 Jan 2005 10:10:13 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j06FACXB009140;
	Thu, 6 Jan 2005 10:10:12 -0500
Date: Thu, 6 Jan 2005 10:10:12 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200501061510.j06FACXB009140@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS, 1.14, 1.15 conary-gui.glade, 1.52,
	1.53 conary-gui.py, 1.106, 1.107
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 06 Jan 2005 15:10:32 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv9128

Modified Files:
	NEWS conary-gui.glade conary-gui.py 
Log Message:
add a text label above the trove list to report current trove filter


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- NEWS	4 Jan 2005 15:44:38 -0000	1.14
+++ NEWS	6 Jan 2005 15:10:10 -0000	1.15
@@ -1,3 +1,6 @@
+Changes in 0.8.3:
+    * More updates for changes in the Conary API.
+
 Changes in 0.8.2:
     * Updates to support the new flavor-enabled Conary API.
     * Moved Python files from /usr/share/conary to /usr/share/conary-gui.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- conary-gui.glade	8 Dec 2004 18:42:51 -0000	1.52
+++ conary-gui.glade	6 Jan 2005 15:10:10 -0000	1.53
@@ -314,23 +314,57 @@
 	      <property name="position">300</property>
 
 	      <child>
-		<widget class="GtkScrolledWindow" id="scrolledwindow1">
+		<widget class="GtkVBox" id="vbox19">
 		  <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_ETCHED_IN</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">0</property>
 
 		  <child>
-		    <widget class="GtkTreeView" id="troveTree">
+		    <widget class="GtkLabel" id="filterLabel">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">filterLabel</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>
+		    </widget>
+		    <packing>
+		      <property name="padding">4</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="headers_visible">False</property>
-		      <property name="rules_hint">False</property>
-		      <property name="reorderable">False</property>
-		      <property name="enable_search">True</property>
+		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		      <child>
+			<widget class="GtkTreeView" id="troveTree">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="headers_visible">False</property>
+			  <property name="rules_hint">False</property>
+			  <property name="reorderable">False</property>
+			  <property name="enable_search">True</property>
+			</widget>
+		      </child>
 		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
 		  </child>
 		</widget>
 		<packing>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.106
retrieving revision 1.107
diff -u -r1.106 -r1.107
--- conary-gui.py	29 Dec 2004 23:04:58 -0000	1.106
+++ conary-gui.py	6 Jan 2005 15:10:10 -0000	1.107
@@ -99,6 +99,14 @@
         VIEW_LOCALLY_BUILT_TROVES: "viewLocallyBuiltTroves"
     }
 
+    filterNames = {
+        VIEW_ALL_TROVES: "All Troves:",
+        VIEW_INSTALLED_TROVES: "Installed Troves:",
+        VIEW_AVAILABLE_TROVES: "Not Installed Troves:",
+        VIEW_OUTOFDATE_TROVES: "Installed Troves (Upgradable):",
+        VIEW_LOCALLY_BUILT_TROVES: "Locally Built Troves:",
+    }
+
     currentFilter = VIEW_ALL_TROVES
 
     pixmaps = { 
@@ -118,7 +126,8 @@
             widgetName = self.filters[filter]
             widget = self.get_widget(widgetName)
             self.filterHandler[filter] = widget.connect("activate", self.filterMenuItemActivated)
-        self.currenFilter = self.VIEW_ALL_TROVES
+        self.currentFilter = self.VIEW_ALL_TROVES
+        self.get_widget("filterLabel").set_text(self.filterNames[self.currentFilter])
 
         self.notifiedBroken = False
         self.operations = {} 
@@ -676,6 +685,7 @@
             else:
                 widget.set_active(False)
             widget.handler_unblock(self.filterHandler[filter])
+        self.get_widget("filterLabel").set_text(self.filterNames[self.currentFilter])
 
     def updateOutofdateTroves(self, item):
         self.checkOps = None


From tgerla@lambchop.rdu.specifix.com Mon Jan 24 14:45:38 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j0OJjbQv011371
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 24 Jan 2005 14:45:38 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 75A6E16798
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 24 Jan 2005 11:45:13 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j0OJjAfb007802; Mon, 24 Jan 2005 14:45:10 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j0OJj9I8007797;
	Mon, 24 Jan 2005 14:45:09 -0500
Date: Mon, 24 Jan 2005 14:45:09 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200501241945.j0OJj9I8007797@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile, 1.30, 1.31 NEWS, 1.15, 1.16 conary-gui.py,
	1.107, 1.108
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 24 Jan 2005 19:45:38 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv7763

Modified Files:
	Makefile NEWS conary-gui.py 
Log Message:
minor fixups


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- Makefile	29 Dec 2004 23:14:12 -0000	1.30
+++ Makefile	24 Jan 2005 19:45:07 -0000	1.31
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.8.2
+export VERSION = 0.8.3
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- NEWS	6 Jan 2005 15:10:10 -0000	1.15
+++ NEWS	24 Jan 2005 19:45:07 -0000	1.16
@@ -1,4 +1,5 @@
 Changes in 0.8.3:
+    * Add a label to indicate the current troves displayed.
     * More updates for changes in the Conary API.
 
 Changes in 0.8.2:


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -r1.107 -r1.108
--- conary-gui.py	6 Jan 2005 15:10:10 -0000	1.107
+++ conary-gui.py	24 Jan 2005 19:45:07 -0000	1.108
@@ -26,6 +26,8 @@
 import gtk.glade
 import pango
 
+import constants
+
 if os.environ.has_key("CONARY_PATH"):
     sys.path.insert(0, os.environ['CONARY_PATH'])
 else:
@@ -48,7 +50,6 @@
 import applychangeset
 import metadatawindow
 import config
-import constants
 
 client = conaryclient.ConaryClient()
 cacheAvail = False
@@ -350,7 +351,7 @@
                     d = client.repos.getTroveLeavesByLabel([troveName], label)
                     if troveName in d and d[troveName]:
                         d = d[troveName].keys()
-                        d.sort(versions.Version.compare)
+                        d.sort()
                         version = d[0]
                         break
 


From tgerla@lambchop.rdu.specifix.com Mon Jan 24 16:23:27 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j0OLNQQv011803
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 24 Jan 2005 16:23:27 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 795BB16A19
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 24 Jan 2005 13:23:02 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j0OLMxfb012900; Mon, 24 Jan 2005 16:22:59 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j0OLMwF3012894;
	Mon, 24 Jan 2005 16:22:58 -0500
Date: Mon, 24 Jan 2005 16:22:58 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200501242122.j0OLMwF3012894@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile, 1.31, 1.32 NEWS, 1.16, 1.17 conary-gui.py,
	1.108, 1.109 conaryinterface.py, 1.82, 1.83
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 24 Jan 2005 21:23:28 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv12882

Modified Files:
	Makefile NEWS conary-gui.py conaryinterface.py 
Log Message:
update to support new conary API


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- Makefile	24 Jan 2005 19:45:07 -0000	1.31
+++ Makefile	24 Jan 2005 21:22:56 -0000	1.32
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.8.3
+export VERSION = 0.8.4
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- NEWS	24 Jan 2005 19:45:07 -0000	1.16
+++ NEWS	24 Jan 2005 21:22:56 -0000	1.17
@@ -1,3 +1,6 @@
+Changes in 0.8.4:
+    * Update to support new Conary API.
+
 Changes in 0.8.3:
     * Add a label to indicate the current troves displayed.
     * More updates for changes in the Conary API.


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -r1.108 -r1.109
--- conary-gui.py	24 Jan 2005 19:45:07 -0000	1.108
+++ conary-gui.py	24 Jan 2005 21:22:56 -0000	1.109
@@ -419,7 +419,10 @@
 	self.get_widget("remoteVersionTree").expand_all()
 
     def cmpVersion(self, x, y):
-        if isinstance(x[0], versions.Label) or isinstance(y[0], versions.Label):
+        if isinstance(x[0], versions.Label) or\
+           isinstance(y[0], versions.Label) or\
+           isinstance(x[0], versions.Branch) or\
+           isinstance(y[0], versions.Branch):
             return 0
 
 	if x[0].isAfter(y[0]):
@@ -431,29 +434,24 @@
 
     def _fillVersionTree(self, tree, parentNode, treeIter, troveName, level=0):
 	items = [] 
-
 	for item in tree.keys():
-            if item in ("installed", "flavor"): continue
+            if item == "installed": continue
 	    
             weight = pango.WEIGHT_NORMAL
             color = None
             
-            if isinstance(item, versions.Label):
+            if isinstance(item, versions.Branch) or isinstance(item, versions.Label):
 		color = "blue"
-                
-		# trim the hostname if the parent hostname is identical
+        
 		text = item.asString()
-		if parentNode and parentNode.branch().label().getHost() == item.host:
-		    text = text[text.index('@'):]
-		flavor = ""
 	    else:
                 if troveName in self.troveVersions and \
                    item in self.troveVersions[troveName]:
                     weight = pango.WEIGHT_BOLD
-		text = item.trailingVersion().asString()
-		flavor = tree[item]["flavor"]    
 
-            items.append((item, {"text": text, "flavor": flavor, "color": color, "weight": weight}))
+		text = item.trailingRevision().asString()
+
+            items.append((item, {"text": text, "color": color, "weight": weight}))
 
 	items.sort(self.cmpVersion)
         items.reverse() # show newest first
@@ -474,7 +472,7 @@
                 [(troveName, item),
                  status,
                  itemInfo["text"],
-                 str(itemInfo["flavor"]),
+                 str("..."),
                  itemInfo["color"],
                  itemInfo["weight"]
                 ]


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- conaryinterface.py	4 Jan 2005 20:06:27 -0000	1.82
+++ conaryinterface.py	24 Jan 2005 21:22:56 -0000	1.83
@@ -173,8 +173,8 @@
                     troves[trove] = []
                 troves[trove].append(v)
                 
-                if isinstance(label, versions.CookBranch) or \
-                   isinstance(label, versions.EmergeBranch):
+                if isinstance(label, versions.CookLabel) or \
+                   isinstance(label, versions.EmergeLabel):
                     locallyBuilt.append(trove)
                     continue
 
@@ -207,7 +207,7 @@
                 # only look for updates to this version on the same branch
                 for lv in dbVersions:
                     if not repoVersions:
-                        lvt = lv.trailingVersion()
+                        lvt = lv.trailingRevision()
                         notavail.append((label, pkg, lv, None))
                     for v in repoVersions:
                         if lv.branch() != v.branch():
@@ -413,7 +413,7 @@
             when = time.strftime("%c", time.localtime(v.timeStamps()[-1]))
             
             header = "%s %s (%s) %s"\
-                % (v.trailingVersion().asString(), cl.getName(), cl.getContact(), when)
+                % (v.trailingRevision().asString(), cl.getName(), cl.getContact(), when)
 
             body = ""
             lines = cl.getMessage().split("\n")
@@ -441,7 +441,7 @@
             
             if self.troveName in versionList:
                 self.troveVersions = versionList[self.troveName].keys()
-                self.troveVersions.sort(versions.Version.compare)
+                self.troveVersions.sort()
 
                 branches = self._getVersionsAndBranches(None, 0)
                 tree.update(branches)
@@ -462,7 +462,7 @@
 		if v.branch().label().asString() == label:
 		    continue
 		# make sure our parent is directly underneath us
-		if v.branch().hasParent() and v.branch().parentNode().branch().label().asString() == label.asString():
+		if v.branch().hasParentBranch() and v.branch().parentBranch().label().asString() == label.asString():
 		    branches.append(v.branch())
 	
         return branches
@@ -477,23 +477,20 @@
         # only show the default branch on the first level
         filterBranch = label.asString() [label.asString().index('@'):]
 	branches = self._getNestedBranches(label)
-	branches.sort()
 	
-	tree = { label: {"flavor": self.client.cfg.flavor}, "flavor": None }
-	flavors = self.client.repos.getTroveVersionFlavors(versions)
+	tree = { label: {} }
 
-	for version in flavors[self.troveName]:
+	for version in sorted(versions[self.troveName].keys()):
             labelStr = version.branch().label().asString()
             if labelStr[labelStr.index('@'):] != filterBranch:
                 continue
             
-	    for flavor in flavors[self.troveName][version]:
-		if version.branch().label() not in tree:
-		    tree[version.branch().label()] = { "flavor": self.client.cfg.flavor }
-		tree[version.branch().label()][version] = {"flavor": flavor}
+            if version.branch().label() not in tree:
+                tree[version.branch().label()] = { }
+            tree[version.branch().label()][version] = {}
 
 	for branch in branches:
 	    branchTree = self._getVersionsAndBranches(branch.label(), level+1)
-	    if branch.hasParent():
-		tree[label][branch.parentNode()] = branchTree
+	    if branch.hasParentBranch():
+		tree[label][branch.parentBranch()] = branchTree
 	return tree


From tgerla@lambchop.rdu.specifix.com Mon Jan 24 16:24:23 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j0OLOMQv011823
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 24 Jan 2005 16:24:23 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id DEA0B16A1A
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 24 Jan 2005 13:23:58 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j0OLNufb013029; Mon, 24 Jan 2005 16:23:56 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j0OLNuQH013027;
	Mon, 24 Jan 2005 16:23:56 -0500
Date: Mon, 24 Jan 2005 16:23:56 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200501242123.j0OLNuQH013027@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui constants.py,NONE,1.1
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 24 Jan 2005 21:24:23 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv13015

Added Files:
	constants.py 
Log Message:
add constants.py


--- NEW FILE constants.py ---
version = "0.8.4"


From tgerla@lambchop.rdu.specifix.com Mon Jan 24 16:27:32 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j0OLRWQv011838
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 24 Jan 2005 16:27:32 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 0E59616A19
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 24 Jan 2005 13:27:08 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j0OLR5fb013194; Mon, 24 Jan 2005 16:27:05 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j0OLR5nu013192;
	Mon, 24 Jan 2005 16:27:05 -0500
Date: Mon, 24 Jan 2005 16:27:05 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200501242127.j0OLR5nu013192@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui constants.py,1.1,NONE
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifixinc.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 24 Jan 2005 21:27:32 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv13180

Removed Files:
	constants.py 
Log Message:
why did I add an auto-generated file?


--- constants.py DELETED ---


From tgerla@specifix.com Fri Feb 11 09:32:14 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j1BEWDQv017758
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 11 Feb 2005 09:32:14 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8333116A07
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 11 Feb 2005 06:31:41 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j1BEVcfb020626; Fri, 11 Feb 2005 09:31:38 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j1BEVb1g020622;
	Fri, 11 Feb 2005 09:31:37 -0500
Date: Fri, 11 Feb 2005 09:31:37 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200502111431.j1BEVb1g020622@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.109,1.110 conaryinterface.py,1.83,1.84
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 11 Feb 2005 14:32:14 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv20610

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
minor fixups to MessageDialog call to support new gtk, trap dead repositories


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -r1.109 -r1.110
--- conary-gui.py	24 Jan 2005 21:22:56 -0000	1.109
+++ conary-gui.py	11 Feb 2005 14:31:35 -0000	1.110
@@ -18,6 +18,7 @@
 import string, os, copy
 import sys, types, new, traceback
 from sets import Set
+from xmlrpclib import ProtocolError
 
 if profiling:
     import hotshot, hotshot.stats
@@ -278,11 +279,10 @@
         brokenRepos = [r.getHost() for r in brokenRepos]
         self.updateStatus(False)
         if brokenRepos and not self.notifiedBroken:
-            message = "The following repositories could not be accessed:<b>\n\n" + "\n".join(brokenRepos) + "</b>"
+            message = "The following repositories could not be accessed:\n\n" + "\n".join(brokenRepos) + ""
             dialog = gtk.MessageDialog(type = gtk.MESSAGE_INFO,
                                     buttons = gtk.BUTTONS_OK,
                                     message_format = message)
-            dialog.vbox.get_children()[0].get_children()[1].set_use_markup(True)
             dialog.run()
             dialog.destroy()
             self.notifiedBroken = True
@@ -348,6 +348,7 @@
             else:
                 version = None
                 for label in client.cfg.installLabelPath:
+                    # XXX this call should go in a thread, somewhere
                     d = client.repos.getTroveLeavesByLabel([troveName], label)
                     if troveName in d and d[troveName]:
                         d = d[troveName].keys()
@@ -412,7 +413,7 @@
         # currently selected trove, ignore them.
         if troveName != self.selectedTrove:
             return
-            
+        
         self.remoteVersionStore.clear()
         troveName = self.selectedTrove
         self._fillVersionTree(tree, None, None, troveName)
@@ -771,7 +772,7 @@
         self.operations = operations
         self.changeLogs = changeLogs
 
-        operationTitles = ['THIS IS A BUG', 'Update', 'Erase']
+        operationTitles = [None, 'Update', 'Erase']
         pixmaps = [None, 'gtk-add', 'gtk-remove']
 
         ops = operations.keys()


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -r1.83 -r1.84
--- conaryinterface.py	24 Jan 2005 21:22:56 -0000	1.83
+++ conaryinterface.py	11 Feb 2005 14:31:35 -0000	1.84
@@ -26,6 +26,7 @@
 import os
 from sets import Set 
 import pickle
+from xmlrpclib import ProtocolError
 
 from lib import log
 import conarycfg
@@ -437,15 +438,14 @@
             label = installLabel.asString()
             defaultBranch = label[label.index('@'):]
             self.startLabel = versions.Label(self.startLabelHost + defaultBranch)
-            versionList = self.client.repos.getTroveVersionList(self.startLabelHost, {self.troveName: None})
             
+            versionList = self.client.repos.getTroveVersionList(self.startLabelHost, {self.troveName: None})
             if self.troveName in versionList:
                 self.troveVersions = versionList[self.troveName].keys()
                 self.troveVersions.sort()
 
                 branches = self._getVersionsAndBranches(None, 0)
                 tree.update(branches)
-
 	return tree, self.troveName
 
     def dumpStructure(self, tree, level=0):
@@ -464,7 +464,6 @@
 		# make sure our parent is directly underneath us
 		if v.branch().hasParentBranch() and v.branch().parentBranch().label().asString() == label.asString():
 		    branches.append(v.branch())
-	
         return branches
     
     def _getVersionsAndBranches(self, label, level):


From tgerla@specifix.com Fri Feb 11 15:07:34 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j1BK7XQv018705
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 11 Feb 2005 15:07:33 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 6BF3716797
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 11 Feb 2005 12:07:01 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j1BK6wfb001940; Fri, 11 Feb 2005 15:06:58 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j1BK6wPY001934;
	Fri, 11 Feb 2005 15:06:58 -0500
Date: Fri, 11 Feb 2005 15:06:58 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200502112006.j1BK6wPY001934@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.53, 1.54 conary-gui.py, 1.110,
	1.111 conaryinterface.py, 1.84, 1.85 metadatawindow.py, 1.5, 1.6
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 11 Feb 2005 20:07:34 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv1922

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
	metadatawindow.py 
Log Message:
Eliminate the findSourceTrove hack and use TroveInfo. Expose other useful trove info items in the metadata view. Assorted bug fixes. Metadata cache has temporarily been disabled for refactoring.


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- conary-gui.glade	6 Jan 2005 15:10:10 -0000	1.53
+++ conary-gui.glade	11 Feb 2005 20:06:56 -0000	1.54
@@ -1107,9 +1107,9 @@
 		  <property name="spacing">12</property>
 
 		  <child>
-		    <widget class="GtkLabel" id="label35">
+		    <widget class="GtkLabel" id="sizeLabel">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Installed size: 0kB</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>
@@ -1128,9 +1128,9 @@
 		  </child>
 
 		  <child>
-		    <widget class="GtkLabel" id="label36">
+		    <widget class="GtkLabel" id="builtLabel">
 		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Built: 2004-10-20 12:50 GMT</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>
@@ -1154,6 +1154,61 @@
 		  <property name="fill">True</property>
 		</packing>
 	      </child>
+
+	      <child>
+		<widget class="GtkHBox" id="hbox13">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">True</property>
+		  <property name="spacing">12</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="sourceTroveLabel">
+		      <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>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkLabel" id="conaryVersionLabel">
+		      <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">1</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xpad">0</property>
+		      <property name="ypad">0</property>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">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="tab_expand">False</property>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -r1.110 -r1.111
--- conary-gui.py	11 Feb 2005 14:31:35 -0000	1.110
+++ conary-gui.py	11 Feb 2005 20:06:56 -0000	1.111
@@ -13,16 +13,11 @@
 # full details.
 #
 
-profiling = False
-
 import string, os, copy
 import sys, types, new, traceback
 from sets import Set
 from xmlrpclib import ProtocolError
 
-if profiling:
-    import hotshot, hotshot.stats
-
 import gtk, gobject
 import gtk.glade
 import pango
@@ -56,14 +51,6 @@
 cacheAvail = False
 dotdir = os.environ["HOME"] + "/.conary-gui"
 
-# XXX this needs to be changed once we have source component pointers in cooked troves    
-def findSourceTrove(troveName):
-    if ':' in troveName:
-        package = troveName[:troveName.find(':')]
-    else:
-        package = troveName
-    return package + ":source"
-
 class RepositoryView( gtk.glade.XML ):
 
     # enums for statuses and GtkTreeViews
@@ -358,12 +345,10 @@
 
             self.selectedVersion = version
             if version:
-                branch = version.branch()
-                troveList = [(findSourceTrove(troveName), branch)]
-                md = conaryinterface.Metadata(client, troveList, branch.label(),
+                md = conaryinterface.Metadata(client, troveName, version,
                                               cacheAvail, dotdir,
                                               None, self.updateShortDesc)
-                md.checkCache()
+                md.start()
                 
             # fill local version list
             self.localVersionStore.clear()
@@ -394,9 +379,9 @@
 
     def updateShortDesc(self, md):
         self.metadata = md
-        troveName = findSourceTrove(self.selectedTrove)
+        troveName = self.selectedTrove
         
-        if md and troveName in md:
+        if troveName in md and md[troveName]:
             self.get_widget("shortDesc").set_text(md[troveName].getShortDesc())
             self.get_widget("metadataButton").set_sensitive(True)
         else:
@@ -546,12 +531,7 @@
         self.localVersionStore.clear()
         self.remoteVersionStore.clear()
 
-        if profiling:
-            prof = hotshot.Profile("profile.prof", lineevents=True)
-            prof.runcall(self._fillTroveTree)
-            prof.close()
-        else:
-            self._fillTroveTree()
+        self._fillTroveTree()
 
     def quit(self, obj):
         gtk.main_quit()
@@ -598,7 +578,7 @@
                     else:
                         old = None
                     new = obj[1]
-                    self.changeLogs[findSourceTrove(obj[0])] = (old, new)
+                    self.changeLogs[obj[0]] = (old, new)
                 elif widget == self.get_widget("localVersionTree"):
                     model[treeIter][self.VERSION_COLUMN_STATUS] = self.MARKED_FOR_ERASE
                     self.operations[obj] = self.MARKED_FOR_ERASE
@@ -735,7 +715,7 @@
                 
                 old = self.troveVersions[trove][-1]
                 new = obj[1]
-                self.changeLogs[findSourceTrove(trove)] = (old, new)
+                self.changeLogs[trove] = (old, new)
                 
         self.updateStatus(False)
 
@@ -743,7 +723,7 @@
         troveName = self.selectedTrove
         
         md = metadatawindow.MetadataWindow(client, troveName, self.selectedVersion,
-                                           self.metadata[findSourceTrove(troveName)])
+                                           self.metadata[troveName])
 
     def onConfigurationActivate(self, item):
         cfg = config.ConfigWindow(client)
@@ -786,10 +766,10 @@
                                             "#e9ecf8"])
 
             statusIter = self.store.append(root, [None, None, False, "Retrieving changelog...", None])
-            self.treeRoots[findSourceTrove(troveName)] = (root, statusIter)
+            self.treeRoots[troveName] = (root, statusIter)
 
     def onRowExpanded(self, tv, iter, path):
-        troveName = findSourceTrove(self.store[iter][0][0][0])
+        troveName = self.store[iter][0][0][0]
 
         if troveName in self.changeLogs:
             old, new = self.changeLogs[troveName]
@@ -799,7 +779,7 @@
             del self.changeLogs[troveName]
             
     def clFinished(self, results):
-        troveName, changeLog = results
+        troveName, troveInfo, changeLog = results
         if troveName in self.treeRoots:
             root, statusIter = self.treeRoots[troveName]
             if changeLog:


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -r1.84 -r1.85
--- conaryinterface.py	11 Feb 2005 14:31:35 -0000	1.84
+++ conaryinterface.py	11 Feb 2005 20:06:56 -0000	1.85
@@ -37,6 +37,7 @@
 from repository import repository
 from repository import changeset
 from lib import util
+from deps import deps
 
 # FIXME if the main app is killed before the thread is done, the process doesn't end..
 #       join any threads on exit, or daemonize these?
@@ -339,35 +340,34 @@
     local cache.
     """
 
-    def __init__(self, client, troveList, label, useCache, dotdir, statusCallback, finishedCallback):
+    def __init__(self, client, troveName, version, useCache, dotdir, statusCallback, finishedCallback):
         ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
-        self.troveList = troveList
-        self.label = label
+        self.troveName = troveName
+        self.version = version
         self.useCache = useCache
         self.cache = os.path.join(dotdir, "metadata.cache")
-        self.metadata = {}
 
     def doOperation(self):
-        md = self.client.getMetadata(self.troveList, self.label,
-                                     cacheFile = self.cache,
-                                     cacheOnly = False,
-                                     saveOnly = True)
-        self.metadata.update(md)
-        return self.metadata
-
-    def checkCache(self):
-        metadata = self.client.getMetadata(self.troveList, self.label,
-                                           cacheFile = self.cache,
-                                           cacheOnly = True)
-        
-        # did the cache-only operation get them all?
-        troveList = self.troveList[:]
-        trovesLeft = list(Set([x[0] for x in troveList]) - Set(metadata.keys()))
-        if trovesLeft:
-            self.troveList = [x for x in troveList if x[0] in trovesLeft]
-            self.start()
+        trove = self.client.repos.getTroveVersionFlavors({self.troveName: {self.version: [None]}})
+        from lib import epdb
+        epdb.st() 
+        if not trove:
+            return {self.troveName: None}
+        flavor = trove[self.troveName][self.version][0]
+
+        trove = self.client.repos.getTrove(
+            self.troveName, self.version, flavor,
+            withFiles = False)
+        sourceName = trove.getSourceName()
+        sourceBranch = trove.getVersion().branch()
+    
+        troveList = [(sourceName, sourceBranch)]
+        md = self.client.getMetadata(troveList, sourceBranch.label(),
+                                     cacheFile = self.cache)
+        if sourceName in md:
+            return {self.troveName: md[sourceName]}
         else:
-            self.finishedCallback(metadata)
+            return {self.troveName: None}
 
 class ChangeLog(ConaryOperation):
     def __init__(self, client, troveName, oldVersion, newVersion, branch, statusCallback, finishedCallback):
@@ -380,48 +380,68 @@
     def doOperation(self):
         troveName = self.troveName
         branch = self.branch
-        versionDict = self.client.repos.getTroveVersionsByLabel([troveName], branch.label())
+        self.client.cfg.initializeFlavors()
         
-        if not versionDict.has_key(troveName):
-            return troveName, [{'header':'Not found',
-                                'body'  :'   No versions of "%s" were found when attempting to retrieve changelog' %troveName}]
-
-        # built a reverse sorted list of versions for this troveName
-        versionList = sorted(versionDict[troveName].iterkeys(),
-                             versions.Version.compare, None, True)
+        trove = self.client.repos.findTrove(branch.label(), troveName,
+                                            self.client.cfg.flavor,
+                                            acrossRepositories=True)
+        trove = self.client.repos.getTroves(trove)[0]
+        troveInfo = trove.getTroveInfo()
+        sourceName = trove.getSourceName()
         
-        if not self.oldVersion:
-            self.oldVersion = versionList[-1]
-        if not self.newVersion:
-            self.newVersion = versionList[0]
-    
-        l = []
-        for v in versionList:
-            if v.branch() != branch:
-                return troveName, None
-            if not v.isAfter(self.oldVersion):
-                break
-            if not v.isAfter(self.newVersion):
-                l.append((troveName, v, self.client.cfg.flavor))
+        if sourceName:
+            try:
+                sourceTrove = self.client.repos.getTrove(sourceName,
+                    trove.getVersion().getSourceVersion(), deps.DependencySet())
+            except repository.TroveMissing:
+                sourceTrove = None
+        else:
+            sourceTrove = None
 
-        troves = self.client.repos.getTroves(l, withFiles=False)
-        
-        changelog = []
-        for trove in troves:
-            v = trove.getVersion()
-            cl = trove.getChangeLog()
+        nullChangeLog = [{'header':'Not found',
+                          'body'  :'    No changelog found.' }]
 
-            when = time.strftime("%c", time.localtime(v.timeStamps()[-1]))
+        if sourceTrove:
+            versionDict = self.client.repos.getTroveVersionsByLabel(
+                [sourceName], sourceTrove.getVersion().branch().label())
             
-            header = "%s %s (%s) %s"\
-                % (v.trailingRevision().asString(), cl.getName(), cl.getContact(), when)
+            # built a reverse sorted list of versions for this troveName
+            versionList = sorted(versionDict[sourceName].iterkeys(),
+                                 versions.VersionSequence.__cmp__, None, True)
+            
+            if not self.oldVersion:
+                self.oldVersion = versionList[-1]
+            if not self.newVersion:
+                self.newVersion = versionList[0]
+        
+            l = []
+            for v in versionList:
+                if not v.isAfter(self.oldVersion):
+                    break
+                if not v.isAfter(self.newVersion):
+                    l.append((sourceName, v, deps.DependencySet()))
+
+            troves = self.client.repos.getTroves(l)
+          
+            changelog = []
+            for trove in troves:
+                v = trove.getVersion()
+                cl = trove.getChangeLog()
 
-            body = ""
-            lines = cl.getMessage().split("\n")
-            for l in lines:
-                body += "    %s" % l
-            changelog.append({"header": header, "body": body})
-        return troveName, changelog
+                when = time.strftime("%c", time.localtime(v.timeStamps()[-1]))
+                
+                header = "%s %s (%s) %s"\
+                    % (v.trailingRevision().asString(), cl.getName(), cl.getContact(), when)
+
+                body = ""
+                lines = cl.getMessage().split("\n")
+                for l in lines:
+                    body += "    %s" % l
+                changelog.append({"header": header, "body": body})
+        else:
+            changelog = nullChangeLog
+            
+        return troveName, troveInfo, changelog
         
 class BranchStructure(ConaryOperation):
     """


Index: metadatawindow.py
===================================================================
RCS file: /cvs/conary-gui/metadatawindow.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- metadatawindow.py	8 Dec 2004 18:31:38 -0000	1.5
+++ metadatawindow.py	11 Feb 2005 20:06:56 -0000	1.6
@@ -15,18 +15,11 @@
 import gobject
 import gtk.glade
 import pango
+import time
 
 import conaryinterface
 import gladefiles
 
-# XXX this needs to be changed once we have source component pointers in cooked troves
-def findSourceTrove(troveName):
-    if ':' in troveName:
-        package = troveName[:troveName.find(':')]
-    else:
-        package = troveName
-    return package + ":source"
-
 class MetadataWindow(gtk.glade.XML):
     def __init__(self, client, troveName, version, metadata):
         gtk.glade.XML.__init__(self, gladefiles.getGladeFile(), "metadataWindow")
@@ -64,8 +57,9 @@
         tv.append_column(column)
 
         self.store.append(['Retrieving changelogs...', None])
-        cl = conaryinterface.ChangeLog(client, findSourceTrove(troveName), None, None, self.version.branch(),
+        cl = conaryinterface.ChangeLog(client, troveName, None, None, self.version.branch(),
                                        None, self.changelogFinished)
+        self.get_widget("closeButton").set_sensitive(False)
         cl.start()
 
         for x in metadata.getLicenses():
@@ -74,11 +68,19 @@
             categoryStore.append([x])
 
     def changelogFinished(self, results):
-        troveName, changelogs = results
+        troveName, troveInfo, changelogs = results
+
+        if troveInfo:
+            self.get_widget("sizeLabel").set_text("Installed size: %dkB" % (int(troveInfo.size.value())/1024))
+            self.get_widget("builtLabel").set_text("Built: %s" % time.ctime(troveInfo.buildTime.value()))
+            self.get_widget("sourceTroveLabel").set_text("Source trove: %s" % troveInfo.sourceName.value())
+            self.get_widget("conaryVersionLabel").set_text("Built with: Conary %s" % troveInfo.conaryVersion.value())
+        
         self.store.clear()
         for l in changelogs:
             self.store.append([l["header"], "#e9ecf8"])
             self.store.append([l["body"], None])
+        self.get_widget("closeButton").set_sensitive(True)
 
     def onCloseButtonClicked(self, button):
         self.get_widget("metadataWindow").destroy()


From tgerla@specifix.com Fri Feb 11 15:09:48 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j1BK9lQv018726
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 11 Feb 2005 15:09:47 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 436D716797
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 11 Feb 2005 12:09:16 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j1BK9Efb002268; Fri, 11 Feb 2005 15:09:14 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j1BK9EVl002265;
	Fri, 11 Feb 2005 15:09:14 -0500
Date: Fri, 11 Feb 2005 15:09:14 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200502112009.j1BK9EVl002265@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS,1.17,1.18
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 11 Feb 2005 20:09:48 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv2252

Modified Files:
	NEWS 
Log Message:
mention changes for upcoming release


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- NEWS	24 Jan 2005 21:22:56 -0000	1.17
+++ NEWS	11 Feb 2005 20:09:12 -0000	1.18
@@ -1,3 +1,8 @@
+Changes in 0.9:
+    * Support TroveInfo to display source trove, installed size,
+      build date/time, and Conary version.
+    * Several Gtk+ bug fixes.
+
 Changes in 0.8.4:
     * Update to support new Conary API.
 


From tgerla@specifix.com Mon Feb 14 09:08:29 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j1EE8SQv009957
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 14 Feb 2005 09:08:28 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id E9DFF167AF
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 14 Feb 2005 06:07:55 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j1EE7qfb013551; Mon, 14 Feb 2005 09:07:52 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j1EE7qlM013547;
	Mon, 14 Feb 2005 09:07:52 -0500
Date: Mon, 14 Feb 2005 09:07:52 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200502141407.j1EE7qlM013547@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.32,1.33 conaryinterface.py,1.85,1.86
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 14 Feb 2005 14:08:29 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv13535

Modified Files:
	Makefile conaryinterface.py 
Log Message:
remove debugging statement, release 0.9


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- Makefile	24 Jan 2005 21:22:56 -0000	1.32
+++ Makefile	14 Feb 2005 14:07:50 -0000	1.33
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.8.4
+export VERSION = 0.9
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- conaryinterface.py	11 Feb 2005 20:06:56 -0000	1.85
+++ conaryinterface.py	14 Feb 2005 14:07:50 -0000	1.86
@@ -349,8 +349,6 @@
 
     def doOperation(self):
         trove = self.client.repos.getTroveVersionFlavors({self.troveName: {self.version: [None]}})
-        from lib import epdb
-        epdb.st() 
         if not trove:
             return {self.troveName: None}
         flavor = trove[self.troveName][self.version][0]


From tgerla@specifix.com Mon Feb 14 09:22:03 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j1EEM3Qv010006
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 14 Feb 2005 09:22:03 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 7C741167AF
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 14 Feb 2005 06:21:30 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j1EELRfb013853; Mon, 14 Feb 2005 09:21:27 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j1EELRfH013848;
	Mon, 14 Feb 2005 09:21:27 -0500
Date: Mon, 14 Feb 2005 09:21:27 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200502141421.j1EELRfH013848@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py, 1.111, 1.112 conaryinterface.py, 1.86,
	1.87 metadatawindow.py, 1.6, 1.7
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 14 Feb 2005 14:22:03 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv13836

Modified Files:
	conary-gui.py conaryinterface.py metadatawindow.py 
Log Message:
update copyrights


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -r1.111 -r1.112
--- conary-gui.py	11 Feb 2005 20:06:56 -0000	1.111
+++ conary-gui.py	14 Feb 2005 14:21:25 -0000	1.112
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright (c) 2004 Specifix, Inc.
+# Copyright (c) 2004-2005 Specifix, Inc.
 #
 # This program is distributed under the terms of the Common Public License,
 # version 1.0. A copy of this license should have been distributed with this


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -r1.86 -r1.87
--- conaryinterface.py	14 Feb 2005 14:07:50 -0000	1.86
+++ conaryinterface.py	14 Feb 2005 14:21:25 -0000	1.87
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004 Specifix, Inc.
+# Copyright (c) 2004-2005 Specifix, Inc.
 #
 # This program is distributed under the terms of the Common Public License,
 # version 1.0. A copy of this license should have been distributed with this


Index: metadatawindow.py
===================================================================
RCS file: /cvs/conary-gui/metadatawindow.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- metadatawindow.py	11 Feb 2005 20:06:56 -0000	1.6
+++ metadatawindow.py	14 Feb 2005 14:21:25 -0000	1.7
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004 Specifix, Inc.
+# Copyright (c) 2004-2005 Specifix, Inc.
 #
 # This program is distributed under the terms of the Common Public License,
 # version 1.0. A copy of this license should have been distributed with this


From tgerla@specifix.com Mon Mar  7 09:33:41 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j27EXeQv032361
	for <conary-gui-commits@lists.specifix.com>;
	Mon, 7 Mar 2005 09:33:41 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id AE451169BB
	for <conary-gui-commits@lists.specifix.com>;
	Mon,  7 Mar 2005 06:33:35 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j27EXWfb001400; Mon, 7 Mar 2005 09:33:32 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j27EXWML001395;
	Mon, 7 Mar 2005 09:33:32 -0500
Date: Mon, 7 Mar 2005 09:33:32 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503071433.j27EXWML001395@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile, 1.33, 1.34 conary-gui.py, 1.112,
	1.113 conaryinterface.py, 1.87, 1.88
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Mon, 07 Mar 2005 14:33:41 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv1383

Modified Files:
	Makefile conary-gui.py conaryinterface.py 
Log Message:
temporarily disable metadata cache, fix up findTrove calls, fix up metadata retrieval and display of troves with only one version in the repository


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- Makefile	14 Feb 2005 14:07:50 -0000	1.33
+++ Makefile	7 Mar 2005 14:33:30 -0000	1.34
@@ -1,11 +1,11 @@
 #
-# Copyright (c) 2004 Specifix, Inc.
+# Copyright (c) 2004-2005 Specifix, Inc.
 # All rights reserved
 #
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.9
+export VERSION = 0.9.1
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -r1.112 -r1.113
--- conary-gui.py	14 Feb 2005 14:21:25 -0000	1.112
+++ conary-gui.py	7 Mar 2005 14:33:30 -0000	1.113
@@ -129,7 +129,8 @@
         self.changeLogs = {}
         self.allTroves = []
         self.localTroves = []
-   
+        self.selectedTrove = None  
+  
         # build remote and local trove lists, fill the local trove tree.
         # once the local trove tree is done, it fills the remote trove tree, based
         # on the repositories found referenced in the system.
@@ -321,6 +322,7 @@
     ### trove selected
 
     def onTroveSelected(self, selection):
+        self.updateShortDesc()
 	treeIter = selection.get_selected()[1]
 	if treeIter:
 	    troveName = self.troveStore[treeIter][self.TROVE_COLUMN_FULL_NAME]
@@ -353,12 +355,11 @@
             # fill local version list
             self.localVersionStore.clear()
             try:
-                troveList = client.db.findTrove(troveName)
+                troveList = client.db.findTrove(None, troveName)
             except repository.TroveNotFound:
                 self.localVersionStore.append([None, 0, "No versions installed."])
             else:
-                for trove in troveList:
-                    version = trove.getVersion()
+                for troveName, version, flavor in troveList:
                     obj = (troveName, version)
                     if obj in self.operations:
                         status = self.operations[obj]
@@ -377,7 +378,7 @@
         else:
             self.selectedTrove = None
 
-    def updateShortDesc(self, md):
+    def updateShortDesc(self, md = {}):
         self.metadata = md
         troveName = self.selectedTrove
         
@@ -444,8 +445,8 @@
 
         anyItems = False
         for (item, itemInfo) in items:
-            # don't display empty labels   
-            if isinstance(item, versions.Label) and len(tree[item].keys()) <= 1:
+            # don't display empty labels
+            if isinstance(item, versions.Label) and len(tree[item].keys()) < 1:
                 continue
 
             anyItems = True
@@ -852,7 +853,10 @@
             cacheAvail = False
         else:
             cacheAvail = True
-
+    
+    # the cache is currently broken and untested, and therefore disabled
+    cacheAvail = False
+    
     gtk.threads_init()
     gui = RepositoryView()
     


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- conaryinterface.py	14 Feb 2005 14:21:25 -0000	1.87
+++ conaryinterface.py	7 Mar 2005 14:33:30 -0000	1.88
@@ -380,8 +380,8 @@
         branch = self.branch
         self.client.cfg.initializeFlavors()
         
-        trove = self.client.repos.findTrove(branch.label(), troveName,
-                                            self.client.cfg.flavor,
+        trove = self.client.repos.findTrove(branch.label(),
+                                            (troveName, None, self.client.cfg.flavor),
                                             acrossRepositories=True)
         trove = self.client.repos.getTroves(trove)[0]
         troveInfo = trove.getTroveInfo()


From tgerla@specifix.com Tue Mar  8 09:53:43 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j28ErhQv005574
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 8 Mar 2005 09:53:43 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id A6084165F8
	for <conary-gui-commits@lists.specifix.com>;
	Tue,  8 Mar 2005 06:53:37 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j28ErYfb013966; Tue, 8 Mar 2005 09:53:34 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j28ErYqb013962;
	Tue, 8 Mar 2005 09:53:34 -0500
Date: Tue, 8 Mar 2005 09:53:34 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503081453.j28ErYqb013962@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.113,1.114 conaryinterface.py,1.88,1.89
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 08 Mar 2005 14:53:43 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv13950

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
update getTroveLeavesByLabel calls to new API


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -r1.113 -r1.114
--- conary-gui.py	7 Mar 2005 14:33:30 -0000	1.113
+++ conary-gui.py	8 Mar 2005 14:53:32 -0000	1.114
@@ -338,7 +338,7 @@
                 version = None
                 for label in client.cfg.installLabelPath:
                     # XXX this call should go in a thread, somewhere
-                    d = client.repos.getTroveLeavesByLabel([troveName], label)
+                    d = client.repos.getTroveLeavesByLabel({troveName: {label: None}})
                     if troveName in d and d[troveName]:
                         d = d[troveName].keys()
                         d.sort()


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -r1.88 -r1.89
--- conaryinterface.py	7 Mar 2005 14:33:30 -0000	1.88
+++ conaryinterface.py	8 Mar 2005 14:53:32 -0000	1.89
@@ -199,7 +199,8 @@
             labelDbpkgs = labelPkgs[label].keys()
             labelDbpkgs.sort()
             try:
-                versionList = self.client.repos.getTroveLeavesByLabel(labelDbpkgs, label)
+                versionList = self.client.repos.getTroveLeavesByLabel(
+                    dict.fromkeys(labelDbpkgs, {label: None}))
             except (IOError, repository.OpenError):
                 # this will be caught when we query all repositories
                 continue


From tgerla@specifix.com Tue Mar  8 10:40:28 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j28FeSQv005951
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 8 Mar 2005 10:40:28 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 082F3165F8
	for <conary-gui-commits@lists.specifix.com>;
	Tue,  8 Mar 2005 07:40:23 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j28FeKfb015805; Tue, 8 Mar 2005 10:40:20 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j28FeKVV015802;
	Tue, 8 Mar 2005 10:40:20 -0500
Date: Tue, 8 Mar 2005 10:40:20 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503081540.j28FeKVV015802@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS,1.18,1.19
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 08 Mar 2005 15:40:28 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv15790

Modified Files:
	NEWS 
Log Message:
add NEWS item for 0.9.1


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- NEWS	11 Feb 2005 20:09:12 -0000	1.18
+++ NEWS	8 Mar 2005 15:40:18 -0000	1.19
@@ -1,3 +1,6 @@
+Changes in 0.9.1:
+    * Various updates to support new Conary API.
+
 Changes in 0.9:
     * Support TroveInfo to display source trove, installed size,
       build date/time, and Conary version.


From tgerla@specifix.com Fri Mar 11 10:19:42 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j2BFJgQv014416
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 11 Mar 2005 10:19:42 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8A3B7167C4
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 11 Mar 2005 07:19:30 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j2BFJSfb017161; Fri, 11 Mar 2005 10:19:28 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j2BFJRg3017158;
	Fri, 11 Mar 2005 10:19:27 -0500
Date: Fri, 11 Mar 2005 10:19:27 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503111519.j2BFJRg3017158@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.89,1.90
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 11 Mar 2005 15:19:42 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv17145

Modified Files:
	conaryinterface.py 
Log Message:
port to new getTroveVersionsByLabel API


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- conaryinterface.py	8 Mar 2005 14:53:32 -0000	1.89
+++ conaryinterface.py	11 Mar 2005 15:19:25 -0000	1.90
@@ -402,7 +402,7 @@
 
         if sourceTrove:
             versionDict = self.client.repos.getTroveVersionsByLabel(
-                [sourceName], sourceTrove.getVersion().branch().label())
+                {sourceName: {sourceTrove.getVersion().branch().label(): None}})
             
             # built a reverse sorted list of versions for this troveName
             versionList = sorted(versionDict[sourceName].iterkeys(),
@@ -490,7 +490,7 @@
 	    label = self.startLabel
 	    versions = self.client.repos.getTroveVersionList(label.getHost(), {self.troveName: None})
 	else:
-	    versions = self.client.repos.getTroveVersionsByLabel([self.troveName], label)
+	    versions = self.client.repos.getTroveVersionsByLabel({self.troveName: {label: None}})
 
         # only show the default branch on the first level
         filterBranch = label.asString() [label.asString().index('@'):]


From tgerla@specifix.com Tue Mar 15 09:04:26 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j2FE4PQv018745
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 15 Mar 2005 09:04:26 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 410CA16AA7
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 15 Mar 2005 06:04:17 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j2FE4Efb009242; Tue, 15 Mar 2005 09:04:14 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j2FE4ECj009236;
	Tue, 15 Mar 2005 09:04:14 -0500
Date: Tue, 15 Mar 2005 09:04:14 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503151404.j2FE4ECj009236@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile, 1.34, 1.35 NEWS, 1.19, 1.20 conary-gui.py,
	1.114, 1.115 conaryinterface.py, 1.90, 1.91
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Tue, 15 Mar 2005 14:04:26 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv9224

Modified Files:
	Makefile NEWS conary-gui.py conaryinterface.py 
Log Message:
borrow more code from yuck to improve out of date package selection, bug fixes


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- Makefile	7 Mar 2005 14:33:30 -0000	1.34
+++ Makefile	15 Mar 2005 14:04:11 -0000	1.35
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.9.1
+export VERSION = 0.9.2
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- NEWS	8 Mar 2005 15:40:18 -0000	1.19
+++ NEWS	15 Mar 2005 14:04:12 -0000	1.20
@@ -1,3 +1,8 @@
+Changes in 0.9.2:
+    * Borrowed more code from 'yuck' to improve out-of-date
+      package selection.
+    * Bugfixes to support another Conary API change.
+
 Changes in 0.9.1:
     * Various updates to support new Conary API.
 


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -r1.114 -r1.115
--- conary-gui.py	8 Mar 2005 14:53:32 -0000	1.114
+++ conary-gui.py	15 Mar 2005 14:04:12 -0000	1.115
@@ -670,54 +670,17 @@
 
     def updateOutofdateTroves(self, item):
         self.checkOps = None
-        updates = []
-        components = {}
-        packages = []
-        for t in self.outofdateTroves:
-            if ':' in t:
-                package, component = t.split(':')
-
-                if not components.has_key(package):
-                    components[package] = {}
-                components[package][component] = True
-            else:
-                packages.append(t)
-        
-        for package in components:
-            # package out of date, add package to final list and continue
-            if package in packages:
-                updates.append(package)
-                packages.remove(package)
-                continue
-            
-            # if components[package] contains all components of the package as
-            # listed on the repository, update the package itself, otherwise,
-            # just the list of components.
-            pkgComps = []
-            for t in self.remoteTroves:
-                if ':' in t and t.startswith(package + ':') and\
-                   not (t.endswith(':source') or t.endswith(':test')):
-                    pkgComps.append(t.split(':')[1])
-
-            components[package] = components[package].keys()
-            # if the sets are identical, and the package actually is installed locally,
-            # update the package. otherwise, update the separate components.
-            if Set(pkgComps) == Set(components[package]) and package in self.localTroves:
-                updates.append(package)
-            else:
-                tmpTroves = [package + ":" + component for component in components[package]]
-                updates.extend(tmpTroves)
-            
+        updates = self.outofdateTroves.keys()
+           
         self.changeLogs = {}
         for trove in updates:
-            if trove in self.outofdateTroves:
-                obj = (trove, self.outofdateTroves[trove])
-                self.operations[obj] = self.MARKED_FOR_UPDATE
-                
-                old = self.troveVersions[trove][-1]
-                new = obj[1]
-                self.changeLogs[trove] = (old, new)
-                
+            obj = (trove, self.outofdateTroves[trove])
+            self.operations[obj] = self.MARKED_FOR_UPDATE
+            
+            old = self.troveVersions[trove][-1]
+            new = obj[1]
+            self.changeLogs[trove] = (old, new)
+            
         self.updateStatus(False)
 
     def onMetadataButtonClicked(self, button):


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- conaryinterface.py	11 Mar 2005 15:19:25 -0000	1.90
+++ conaryinterface.py	15 Mar 2005 14:04:12 -0000	1.91
@@ -159,65 +159,79 @@
     """
                             
     def doOperation(self):
-        troves = self.client.db.iterAllTroveNames()
-            
-        troveList = list(troves)
-        locallyBuilt = []
-        troves = {}
+        db = self.client.db
+        repos = self.client.repos
 
-        labelPkgs = {}
-        repos = {}
-        for trove in troveList:
-            for v in self.client.db.getTroveVersionList(trove):
-                label = v.branch().label()
-                
-                if trove not in troves:
-                    troves[trove] = []
-                troves[trove].append(v)
-                
-                if isinstance(label, versions.CookLabel) or \
-                   isinstance(label, versions.EmergeLabel):
-                    locallyBuilt.append(trove)
+        dbTroves = dict.fromkeys(db.iterAllTroveNames())
+        dbpkgs = dict.fromkeys(x for x in dbTroves if x.find(':') == -1)
+        dbComps = [ x for x in dbTroves if x.split(':')[0] not in dbpkgs ]
+        dbpkgs = dbpkgs.keys() + dbComps
+        branchPkgs = {}
+        troves = {}
+        locallyBuilt = []
+        for pkg in dbpkgs:
+            dbVersions = db.getTroveVersionList(pkg, withFlavors=True)
+            troves[pkg] = []
+            for v,f in dbVersions:
+                troves[pkg].append(v)
+                branch = v.branch()
+                if isinstance(branch.label(), versions.CookLabel) or\
+                   isinstance(branch.label(), versions.EmergeLabel):
+                    locallyBuilt.append(pkg)
                     continue
-
-                repos[label] = True
-
-                if label not in labelPkgs:
-                    labelPkgs[label] = {}
-                if trove not in labelPkgs[label]:
-                    labelPkgs[label][trove] = []
-                labelPkgs[label][trove].append(v)
-                
-       
-        updates = {}
-        notavail = []
+                if branch not in branchPkgs:
+                    branchPkgs[branch] = {}
+                if pkg not in branchPkgs[branch]:
+                    branchPkgs[branch][pkg] = []
+                branchPkgs[branch][pkg].append((v, f))
+        query = {}
+        for branch in branchPkgs:
+            host = branch.label().getHost()
+            if host not in query:
+                query[host] = {}
+            for pkg in branchPkgs[branch]:
+                if pkg not in query:
+                    query[host][pkg] = {}
+                for v, f in branchPkgs[branch][pkg]:
+                    # XXX this fails when multiple versions are installed from the
+                    # same branch -- only one new version is returned
+                    queryflavor = self.client.cfg.flavor.copy()
+                    queryflavor.union(f, mergeType=deps.DEP_MERGE_TYPE_OVERRIDE)
+                    query[host][pkg][branch] = [queryflavor]
+        dbpkgs.sort()
 
         self.updateStatus(True, "Finding out-of-date troves...")
         
         labels = self.client.cfg.installLabelPath
-        for label in labels:
-            labelDbpkgs = labelPkgs[label].keys()
-            labelDbpkgs.sort()
+        updates = {}
+        notavail = []
+        for host in query:
             try:
-                versionList = self.client.repos.getTroveLeavesByLabel(
-                    dict.fromkeys(labelDbpkgs, {label: None}))
-            except (IOError, repository.OpenError):
-                # this will be caught when we query all repositories
+                versionList = repos.getTroveLeavesByBranch(query[host])
+            except repository.OpenError, e:
+                print >>sys.stderr, "Warning: could not access %s: %s" % (host, e)
+                print >>sys.stderr, "Skipping packages %s" % query[host].keys()
                 continue
-            for pkg in labelDbpkgs:
-                dbVersions = labelPkgs[label][pkg]
-                repoVersions = versionList[pkg]
-                # only look for updates to this version on the same branch
-                for lv in dbVersions:
-                    if not repoVersions:
-                        lvt = lv.trailingRevision()
-                        notavail.append((label, pkg, lv, None))
-                    for v in repoVersions:
-                        if lv.branch() != v.branch():
-                            continue
-                        if v.isAfter(lv) and v not in troves[pkg]:
-                            updates[pkg] = v
-    
+            for pkg in query[host]:
+                for branch in query[host][pkg]:
+                    dbVersions = branchPkgs[branch][pkg]
+                    try:
+                        repoVersions = versionList[pkg].keys()
+                    except KeyError:
+                        repoVersions = []
+                    # only look for updates to this version on the same branch
+                    for lv,flavor in dbVersions:
+                        if not repoVersions:
+                            lvt = lv.trailingRevision()
+                            notavail.append((branch.asString(), pkg, lv, None, ''))
+                        else:
+                            repoVersions.sort()
+                            v = repoVersions[-1]
+                            f = deps.formatFlavor(versionList[pkg][v][0])
+                            if v.isAfter(lv) and v not in dbVersions:
+                                updates[pkg]= v
+                                #updates.append((branch.asString(), pkg, lv, v, f))
+   
         self.updateStatus(False)
         return (troves, locallyBuilt, updates, labels)
         
@@ -372,8 +386,8 @@
     def __init__(self, client, troveName, oldVersion, newVersion, branch, statusCallback, finishedCallback):
         ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
         self.troveName = troveName
-        self.oldVersion = oldVersion
-        self.newVersion = newVersion
+        self.oldVersion = oldVersion.getSourceVersion()
+        self.newVersion = newVersion.getSourceVersion()
         self.branch = branch
 
     def doOperation(self):
@@ -402,7 +416,7 @@
 
         if sourceTrove:
             versionDict = self.client.repos.getTroveVersionsByLabel(
-                {sourceName: {sourceTrove.getVersion().branch().label(): None}})
+                {sourceName: {sourceTrove.getVersion().branch().label(): [self.client.cfg.flavor]}})
             
             # built a reverse sorted list of versions for this troveName
             versionList = sorted(versionDict[sourceName].iterkeys(),
@@ -415,9 +429,7 @@
         
             l = []
             for v in versionList:
-                if not v.isAfter(self.oldVersion):
-                    break
-                if not v.isAfter(self.newVersion):
+                if v.isAfter(self.oldVersion) and not v.isAfter(self.newVersion):
                     l.append((sourceName, v, deps.DependencySet()))
 
             troves = self.client.repos.getTroves(l)
@@ -439,7 +451,7 @@
                 changelog.append({"header": header, "body": body})
         else:
             changelog = nullChangeLog
-            
+           
         return troveName, troveInfo, changelog
         
 class BranchStructure(ConaryOperation):


From tgerla@specifix.com Wed Mar 16 10:24:23 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j2GFONQv024166
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 16 Mar 2005 10:24:23 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8CF9B16A19
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 16 Mar 2005 07:24:14 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j2GFOBfb011943; Wed, 16 Mar 2005 10:24:11 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j2GFOBnu011940;
	Wed, 16 Mar 2005 10:24:11 -0500
Date: Wed, 16 Mar 2005 10:24:11 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503161524.j2GFOBnu011940@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.91,1.92
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 16 Mar 2005 15:24:23 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv11928

Modified Files:
	conaryinterface.py 
Log Message:
handle null versions


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- conaryinterface.py	15 Mar 2005 14:04:12 -0000	1.91
+++ conaryinterface.py	16 Mar 2005 15:24:09 -0000	1.92
@@ -386,8 +386,14 @@
     def __init__(self, client, troveName, oldVersion, newVersion, branch, statusCallback, finishedCallback):
         ConaryOperation.__init__(self, client, statusCallback, finishedCallback)
         self.troveName = troveName
-        self.oldVersion = oldVersion.getSourceVersion()
-        self.newVersion = newVersion.getSourceVersion()
+        if oldVersion:
+            self.oldVersion = oldVersion.getSourceVersion()
+        else:
+            self.oldVersion = None
+        if newVersion:
+            self.newVersion = newVersion.getSourceVersion()
+        else:
+            self.newVersion = None
         self.branch = branch
 
     def doOperation(self):


From tgerla@specifix.com Wed Mar 23 15:48:16 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j2NKmGQv002560
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 23 Mar 2005 15:48:16 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id F1921169BB
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 23 Mar 2005 12:48:04 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j2NKm2fb030078; Wed, 23 Mar 2005 15:48:02 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j2NKm2pF030075;
	Wed, 23 Mar 2005 15:48:02 -0500
Date: Wed, 23 Mar 2005 15:48:02 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503232048.j2NKm2pF030075@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.92,1.93
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 23 Mar 2005 20:48:17 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv30057

Modified Files:
	conaryinterface.py 
Log Message:
eraseTrove does not exist anymore, switch to new API


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -r1.92 -r1.93
--- conaryinterface.py	16 Mar 2005 15:24:09 -0000	1.92
+++ conaryinterface.py	23 Mar 2005 20:48:00 -0000	1.93
@@ -308,9 +308,11 @@
         if erases:
             try:
                 self.updateStatus(True, "Removing packages marked for erase")
-                cannotResolve = self.client.eraseTrove(erases)
-                if cannotResolve:
+                (cs, depFailures, suggMap, brokenByErase) = self.client.updateChangeSet(erases, updateByDefault=False)
+                
+                if brokenByErase:
                     raise BrokenByErase, cannotResolve
+                self.client.applyUpdate(cs)
             except (repository.CommitError, conaryclient.UpdateError), e:
                 self.messageDialog("Error erasing troves: " + str(sys.exc_info()[1]))
                 self.updateStatus(False, "Operation failed.")


From tgerla@specifix.com Wed Mar 23 15:48:48 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j2NKmlQv002572
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 23 Mar 2005 15:48:48 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 190BB169BB
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 23 Mar 2005 12:48:36 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j2NKmXfb030177; Wed, 23 Mar 2005 15:48:33 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j2NKmXHq030173;
	Wed, 23 Mar 2005 15:48:33 -0500
Date: Wed, 23 Mar 2005 15:48:33 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503232048.j2NKmXHq030173@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.35,1.36 NEWS,1.20,1.21
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 23 Mar 2005 20:48:48 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv30155

Modified Files:
	Makefile NEWS 
Log Message:
update makefile and NEWS


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- Makefile	15 Mar 2005 14:04:11 -0000	1.35
+++ Makefile	23 Mar 2005 20:48:31 -0000	1.36
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.9.2
+export VERSION = 0.9.3
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- NEWS	15 Mar 2005 14:04:12 -0000	1.20
+++ NEWS	23 Mar 2005 20:48:31 -0000	1.21
@@ -1,3 +1,6 @@
+Changes in 0.9.3:
+    * Fix to support new trove erase API.
+
 Changes in 0.9.2:
     * Borrowed more code from 'yuck' to improve out-of-date
       package selection.


From tgerla@specifix.com Thu Mar 31 16:12:59 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j2VLCwQv027933
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 31 Mar 2005 16:12:58 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 74F7916792
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 31 Mar 2005 13:12:42 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j2VLCdfb003128; Thu, 31 Mar 2005 16:12:39 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j2VLCdhS003122;
	Thu, 31 Mar 2005 16:12:39 -0500
Date: Thu, 31 Mar 2005 16:12:39 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503312112.j2VLCdhS003122@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.glade, 1.54, 1.55 conary-gui.py, 1.115,
	1.116 conaryinterface.py, 1.93, 1.94 metadatawindow.py, 1.7, 1.8
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 31 Mar 2005 21:12:59 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv3110

Modified Files:
	conary-gui.glade conary-gui.py conaryinterface.py 
	metadatawindow.py 
Log Message:
use Conary callbacks for update, fix trove metadata display broken by new Streams API, clean up indeterminate progress move


Index: conary-gui.glade
===================================================================
RCS file: /cvs/conary-gui/conary-gui.glade,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- conary-gui.glade	11 Feb 2005 20:06:56 -0000	1.54
+++ conary-gui.glade	31 Mar 2005 21:12:36 -0000	1.55
@@ -18,6 +18,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox1">
@@ -332,6 +333,10 @@
 		      <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">4</property>
@@ -357,6 +362,9 @@
 			  <property name="rules_hint">False</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>
@@ -410,6 +418,10 @@
 				  <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>
@@ -438,6 +450,10 @@
 			      <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">4</property>
@@ -463,6 +479,9 @@
 				  <property name="rules_hint">False</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>
 				  <signal name="button_press_event" handler="onVersionTreeEvent" last_modification_time="Tue, 31 Aug 2004 20:53:16 GMT"/>
 				</widget>
 			      </child>
@@ -499,6 +518,10 @@
 			      <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">4</property>
@@ -524,6 +547,9 @@
 				  <property name="rules_hint">False</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>
 				  <signal name="button_press_event" handler="onVersionTreeEvent" last_modification_time="Tue, 31 Aug 2004 20:53:16 GMT"/>
 				</widget>
 			      </child>
@@ -579,7 +605,8 @@
 	      <property name="visible">True</property>
 	      <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
 	      <property name="fraction">0</property>
-	      <property name="pulse_step">0.1</property>
+	      <property name="pulse_step">0.10000000149</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 	    </widget>
 	    <packing>
 	      <property name="padding">0</property>
@@ -594,7 +621,7 @@
 	      <property name="has_resize_grip">False</property>
 	    </widget>
 	    <packing>
-	      <property name="padding">0</property>
+	      <property name="padding">5</property>
 	      <property name="expand">True</property>
 	      <property name="fill">True</property>
 	    </packing>
@@ -624,6 +651,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_CENTER</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox3">
@@ -644,6 +672,10 @@
 	  <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>
@@ -670,7 +702,8 @@
 	  <property name="visible">True</property>
 	  <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
 	  <property name="fraction">0</property>
-	  <property name="pulse_step">0.1</property>
+	  <property name="pulse_step">0.10000000149</property>
+	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>
@@ -758,6 +791,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox8">
@@ -778,6 +812,10 @@
 	  <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>
@@ -803,6 +841,9 @@
 	      <property name="rules_hint">False</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>
 	      <signal name="row_expanded" handler="onRowExpanded" last_modification_time="Wed, 08 Dec 2004 16:38:11 GMT"/>
 	    </widget>
 	  </child>
@@ -896,6 +937,10 @@
 			      <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>
@@ -943,6 +988,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox12">
@@ -980,6 +1026,10 @@
 		  <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>
@@ -1002,6 +1052,10 @@
 		  <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>
@@ -1063,6 +1117,9 @@
 		      <property name="rules_hint">False</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>
@@ -1090,6 +1147,9 @@
 		      <property name="rules_hint">False</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>
@@ -1119,6 +1179,10 @@
 		      <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>
@@ -1140,6 +1204,10 @@
 		      <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>
@@ -1174,6 +1242,10 @@
 		      <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>
@@ -1195,6 +1267,10 @@
 		      <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>
@@ -1229,6 +1305,10 @@
 	      <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="type">tab</property>
@@ -1253,6 +1333,9 @@
 		  <property name="rules_hint">False</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>
@@ -1275,6 +1358,10 @@
 	      <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="type">tab</property>
@@ -1332,6 +1419,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox10">
@@ -1356,6 +1444,9 @@
 	      <property name="rules_hint">False</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>
@@ -1419,6 +1510,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox13">
@@ -1460,6 +1552,9 @@
 		      <property name="rules_hint">False</property>
 		      <property name="reorderable">True</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>
@@ -1528,6 +1623,10 @@
 		      <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>
@@ -1545,7 +1644,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -1581,6 +1680,10 @@
 	      <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="type">tab</property>
@@ -1607,6 +1710,10 @@
 		  <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>
@@ -1638,6 +1745,10 @@
 		      <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="left_attach">0</property>
@@ -1662,6 +1773,10 @@
 		      <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="left_attach">0</property>
@@ -1686,6 +1801,10 @@
 		      <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="left_attach">0</property>
@@ -1706,7 +1825,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -1731,6 +1850,10 @@
 		      <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="left_attach">0</property>
@@ -1751,7 +1874,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -1772,7 +1895,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -1793,7 +1916,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -1825,6 +1948,10 @@
 		  <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>
@@ -1856,6 +1983,10 @@
 		      <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="left_attach">0</property>
@@ -1876,7 +2007,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -1952,6 +2083,10 @@
 		  <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>
@@ -1983,6 +2118,10 @@
 		      <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="left_attach">0</property>
@@ -2007,6 +2146,10 @@
 		      <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="left_attach">0</property>
@@ -2027,7 +2170,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -2048,7 +2191,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -2086,6 +2229,10 @@
 	      <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="type">tab</property>
@@ -2129,6 +2276,10 @@
 	      <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="type">tab</property>
@@ -2196,6 +2347,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox17">
@@ -2245,6 +2397,10 @@
 		      <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="left_attach">0</property>
@@ -2265,7 +2421,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -2294,6 +2450,10 @@
 	      <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="type">label_item</property>
@@ -2349,6 +2509,10 @@
 		      <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="left_attach">0</property>
@@ -2373,6 +2537,10 @@
 		      <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="left_attach">0</property>
@@ -2397,6 +2565,10 @@
 		      <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="left_attach">0</property>
@@ -2417,7 +2589,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -2438,7 +2610,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -2459,7 +2631,7 @@
 		      <property name="max_length">0</property>
 		      <property name="text" translatable="yes"></property>
 		      <property name="has_frame">True</property>
-		      <property name="invisible_char" translatable="yes">*</property>
+		      <property name="invisible_char">*</property>
 		      <property name="activates_default">False</property>
 		    </widget>
 		    <packing>
@@ -2488,6 +2660,10 @@
 	      <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="type">label_item</property>
@@ -2555,6 +2731,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox18">
@@ -2575,6 +2752,10 @@
 	  <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>
@@ -2596,6 +2777,10 @@
 	  <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>
@@ -2617,6 +2802,10 @@
 	  <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>
@@ -2639,6 +2828,10 @@
 	  <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>


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -r1.115 -r1.116
--- conary-gui.py	15 Mar 2005 14:04:12 -0000	1.115
+++ conary-gui.py	31 Mar 2005 21:12:37 -0000	1.116
@@ -131,6 +131,8 @@
         self.localTroves = []
         self.selectedTrove = None  
   
+        self.timeout = gobject.timeout_add(50, self._pulse)
+  
         # build remote and local trove lists, fill the local trove tree.
         # once the local trove tree is done, it fills the remote trove tree, based
         # on the repositories found referenced in the system.
@@ -193,15 +195,10 @@
 		
     def _pulse(self):
 	if self.pulsing:
-            self.get_widget('conaryGUI').set_sensitive(False)
 	    self.get_widget('progressBar').pulse()
-	else:
-	    self.get_widget('progressBar').set_fraction(0.0)
-            self.get_widget('conaryGUI').set_sensitive(True)
-	return self.pulsing
-    
-    def updateStatus(self, busy, statusBarText=""):
-        
+        return True
+
+    def updateStatus(self, busy, statusBarText="", fraction = 0.0, pulse=True):
         if not statusBarText:
             all = len(self.allTroves)
             installed = len(self.localTroves)
@@ -216,12 +213,18 @@
         self.get_widget("statusbar1").pop(0)
         self.get_widget("statusbar1").push(0, text)
 
-        if busy and not self.pulsing:
-            self.pulsing = True
-            gobject.timeout_add(50, self._pulse)
-        if not busy:
+        for w in 'menubar1', 'toolbar1', 'main_gui':
+            self.get_widget(w).set_sensitive(not busy)
+        
+        
+        if busy:
+            self.pulsing = pulse
+            if not pulse:
+                self.get_widget('progressBar').set_fraction(fraction)
+        else:
             self.pulsing = False
-
+            self.get_widget('progressBar').set_fraction(0.0)
+        
     ### Trove tree methods
  
     def updateTroveTreeBegin(self):
@@ -234,7 +237,6 @@
             return
 
         troveVersions, locallyBuiltTroves, self.outofdateTroves, repos = results
-
         self.troveVersions = troveVersions
 
         self.localTroves = Set(troveVersions.keys())
@@ -681,8 +683,6 @@
             new = obj[1]
             self.changeLogs[trove] = (old, new)
             
-        self.updateStatus(False)
-
     def onMetadataButtonClicked(self, button):
         troveName = self.selectedTrove
         


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- conaryinterface.py	23 Mar 2005 20:48:00 -0000	1.93
+++ conaryinterface.py	31 Mar 2005 21:12:37 -0000	1.94
@@ -39,6 +39,8 @@
 from lib import util
 from deps import deps
 
+import updatecmd
+
 # FIXME if the main app is killed before the thread is done, the process doesn't end..
 #       join any threads on exit, or daemonize these?
 
@@ -64,7 +66,32 @@
             l.append("%s:\n\t%s\n" % \
                 (troveName, "\n\t".join(str(depSet).split("\n"))) )
         return "".join(l)
-                                                        
+
+class UpdateCallback(updatecmd.UpdateCallback):
+    def _message(self, msg, pulse=True):
+        updatecmd.UpdateCallback._message(self, msg)
+        gtk.threads_enter()
+        self.statusCallback(True, msg, fraction = self.fraction, pulse=pulse)
+        gtk.threads_leave()
+
+    def downloadingChangeSet(self, got, need):
+        self.fraction = float(got) / float(need)
+        self._message("Downloading changeset (%d%% of %dk)..."
+                        % ((got * 100)/ need , need / 1024),
+                      pulse = False)
+
+    def restoreFiles(self, size, totalSize):
+        self.restored += size
+        self.fraction = float(self.restored) / float(totalSize)
+        self._message("Writing %dk of %dk (%d%%)..."
+                        % (self.restored / 1024 , totalSize / 1024,
+                          (self.restored * 100) / totalSize),
+                      pulse=False)
+
+    def __init__(self, statusCallback):
+        self.statusCallback = statusCallback
+        self.fraction = 0.0
+        updatecmd.UpdateCallback.__init__(self)
 
 class ConaryOperation(threading.Thread):
     """
@@ -232,7 +259,7 @@
                                 updates[pkg]= v
                                 #updates.append((branch.asString(), pkg, lv, v, f))
    
-        self.updateStatus(False)
+#        self.updateStatus(False)
         return (troves, locallyBuilt, updates, labels)
         
 class DoOperations(ConaryOperation):
@@ -251,6 +278,8 @@
     def doOperation(self):
         completed = 0
         pending = len(self.operations)
+
+        cb = UpdateCallback(self._statusCallback)
   
         # perform operations in the same order as they are display on the review list
         ops = self.operations.keys()
@@ -262,7 +291,8 @@
         if updates:
             try:
                 self.updateStatus(True, "Resolving dependencies...")
-                (cs, depFailures, suggMap, brokenByErase) = self.client.updateChangeSet(updates, resolveDeps=False)
+                (cs, depFailures, suggMap, brokenByErase) =\
+                    self.client.updateChangeSet(updates, resolveDeps=False, callback = cb)
 
                 if brokenByErase:
                     raise BrokenByErase, brokenByErase
@@ -281,7 +311,7 @@
                     
                 if retval in (gtk.RESPONSE_YES, gtk.RESPONSE_OK):
                     self.updateStatus(True, "Applying changeset...")
-                    self.client.applyUpdate(cs)
+                    self.client.applyUpdate(cs, callback = cb)
                     
             except (repository.CommitError, conaryclient.UpdateError), e:
                 self.messageDialog("Error updating troves: " + str(sys.exc_info()[1]))


Index: metadatawindow.py
===================================================================
RCS file: /cvs/conary-gui/metadatawindow.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- metadatawindow.py	14 Feb 2005 14:21:25 -0000	1.7
+++ metadatawindow.py	31 Mar 2005 21:12:37 -0000	1.8
@@ -71,10 +71,10 @@
         troveName, troveInfo, changelogs = results
 
         if troveInfo:
-            self.get_widget("sizeLabel").set_text("Installed size: %dkB" % (int(troveInfo.size.value())/1024))
-            self.get_widget("builtLabel").set_text("Built: %s" % time.ctime(troveInfo.buildTime.value()))
-            self.get_widget("sourceTroveLabel").set_text("Source trove: %s" % troveInfo.sourceName.value())
-            self.get_widget("conaryVersionLabel").set_text("Built with: Conary %s" % troveInfo.conaryVersion.value())
+            self.get_widget("sizeLabel").set_text("Installed size: %dkB" % (int(troveInfo.size())/1024))
+            self.get_widget("builtLabel").set_text("Built: %s" % time.ctime(troveInfo.buildTime()))
+            self.get_widget("sourceTroveLabel").set_text("Source trove: %s" % troveInfo.sourceName())
+            self.get_widget("conaryVersionLabel").set_text("Built with: Conary %s" % troveInfo.conaryVersion())
         
         self.store.clear()
         for l in changelogs:


From tgerla@specifix.com Thu Mar 31 16:14:28 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j2VLESQv027944
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 31 Mar 2005 16:14:28 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 8FCDA16792
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 31 Mar 2005 13:14:13 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j2VLEBfb003237; Thu, 31 Mar 2005 16:14:11 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j2VLEBEl003233;
	Thu, 31 Mar 2005 16:14:11 -0500
Date: Thu, 31 Mar 2005 16:14:11 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200503312114.j2VLEBEl003233@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui Makefile,1.36,1.37 NEWS,1.21,1.22
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 31 Mar 2005 21:14:29 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv3221

Modified Files:
	Makefile NEWS 
Log Message:
update Makefile & NEWS


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- Makefile	23 Mar 2005 20:48:31 -0000	1.36
+++ Makefile	31 Mar 2005 21:14:09 -0000	1.37
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.9.3
+export VERSION = 0.10.0
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- NEWS	23 Mar 2005 20:48:31 -0000	1.21
+++ NEWS	31 Mar 2005 21:14:09 -0000	1.22
@@ -1,3 +1,10 @@
+Changes in 0.10.0:
+    * Now uses Conary's new callback API to provide
+      progress feedback when downloading and updating
+      changesets.
+    * Fixed trove metadata display broken by new Streams API.
+    * Improved indeterminate (pulsing) status indication
+
 Changes in 0.9.3:
     * Fix to support new trove erase API.
 


From tgerla@specifix.com Fri Apr  1 11:31:49 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j31GVmQv031486
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 1 Apr 2005 11:31:48 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 48DA0169BC
	for <conary-gui-commits@lists.specifix.com>;
	Fri,  1 Apr 2005 08:31:33 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j31GVUfb029121; Fri, 1 Apr 2005 11:31:30 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j31GVUc5029117;
	Fri, 1 Apr 2005 11:31:30 -0500
Date: Fri, 1 Apr 2005 11:31:30 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200504011631.j31GVUc5029117@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.116,1.117 conaryinterface.py,1.94,1.95
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 01 Apr 2005 16:31:49 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv29105

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
merge update and erase options, find conary in its new location, show only packages in not-installed list


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -r1.116 -r1.117
--- conary-gui.py	31 Mar 2005 21:12:37 -0000	1.116
+++ conary-gui.py	1 Apr 2005 16:31:28 -0000	1.117
@@ -27,7 +27,9 @@
 if os.environ.has_key("CONARY_PATH"):
     sys.path.insert(0, os.environ['CONARY_PATH'])
 else:
-    sys.path.insert(0, "/usr/share/conary/")
+    import conary
+    conaryPath = os.path.dirname(sys.modules["conary"].__file__)
+    sys.path.insert(0, conaryPath)
 
 sys.path.insert(0, ".")
 
@@ -258,11 +260,7 @@
         self.allTroves = self.localTroves | self.remoteTroves
 
         self.availableTroves = self.remoteTroves - self.localTroves
-        for trove in self.availableTroves:
-            if trove.endswith(':source') or\
-               trove.endswith(':test'):
-                if trove in troves:
-                    troves.remove(trove)
+        self.availableTroves = [x for x in self.availableTroves if ':' not in x]
 
         self._fillTroveTree()
     


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -r1.94 -r1.95
--- conaryinterface.py	31 Mar 2005 21:12:37 -0000	1.94
+++ conaryinterface.py	1 Apr 2005 16:31:28 -0000	1.95
@@ -286,80 +286,50 @@
         ops.sort(lambda a, b: cmp(a[0].lower(), b[0].lower()))
        
         updates = [(x[0], x[1].asString(), None) for x in ops if self.operations[x] == self.MARKED_FOR_UPDATE]
-        erases = [(x[0], x[1].asString(), None) for x in ops if self.operations[x] == self.MARKED_FOR_ERASE]
-       
-        if updates:
-            try:
-                self.updateStatus(True, "Resolving dependencies...")
-                (cs, depFailures, suggMap, brokenByErase) =\
-                    self.client.updateChangeSet(updates, resolveDeps=False, callback = cb)
-
-                if brokenByErase:
-                    raise BrokenByErase, brokenByErase
-                if depFailures:
-                    raise DepsFailed, depFailures
-                elif suggMap:
-                    message = "The following updates require additional troves:\n\n"
-                    for (req, suggList) in suggMap.iteritems():
-                        message += "%s -> %s\n" % (req, " ".join([x[0] for x in suggList]))
-                    message += "\n\nAdd requirements to update list and continue?"
-
-                    retval = self.messageDialog(message, type=gtk.MESSAGE_INFO,
-                                                         buttons=gtk.BUTTONS_YES_NO)
-                else:
-                    retval = gtk.RESPONSE_OK
-                    
-                if retval in (gtk.RESPONSE_YES, gtk.RESPONSE_OK):
-                    self.updateStatus(True, "Applying changeset...")
-                    self.client.applyUpdate(cs, callback = cb)
-                    
-            except (repository.CommitError, conaryclient.UpdateError), e:
-                self.messageDialog("Error updating troves: " + str(sys.exc_info()[1]))
-                self.updateStatus(False, "Operation failed.")
-                return
-            except BrokenByErase, brokenByErase:
-                message = "Troves being removed create unresolved dependencies:"
-                message += str(brokenByErase)
-                self.messageDialog(message)
-                self.updateStatus(False, "Operation failed")
-                return self.operations
-            except DepsFailed, depFailures:
-                message = "The following dependencies could not be resolved:\n\n"
-                message += str(depFailures)
-                self.messageDialog(message)
-                self.updateStatus(False, "Operation failed")
-                return self.operations
-            else:
-                self.updateStatus(False)
-                for ops in self.operations.keys():
-                    if self.operations[ops] == self.MARKED_FOR_UPDATE:
-                        del self.operations[ops]
+        updates += [("-" + x[0], x[1].asString(), None) for x in ops if self.operations[x] == self.MARKED_FOR_ERASE]
         
-        if erases:
-            try:
-                self.updateStatus(True, "Removing packages marked for erase")
-                (cs, depFailures, suggMap, brokenByErase) = self.client.updateChangeSet(erases, updateByDefault=False)
-                
-                if brokenByErase:
-                    raise BrokenByErase, cannotResolve
-                self.client.applyUpdate(cs)
-            except (repository.CommitError, conaryclient.UpdateError), e:
-                self.messageDialog("Error erasing troves: " + str(sys.exc_info()[1]))
-                self.updateStatus(False, "Operation failed.")
-                return self.operations
-            except BrokenByErase, cannotResolve:
-                message = "Troves being removed create unresolved dependencies:\n\n"
-                message += str(cannotResolve)
-                self.messageDialog(message)
-                self.updateStatus(False, "Operation failed")
-                return self.operations
+        try:
+            (cs, depFailures, suggMap, brokenByErase) =\
+                self.client.updateChangeSet(updates, resolveDeps=False, callback = cb)
+
+            if brokenByErase:
+                raise BrokenByErase, brokenByErase
+            if depFailures:
+                raise DepsFailed, depFailures
+            elif suggMap:
+                message = "The following updates require additional troves:\n\n"
+                for (req, suggList) in suggMap.iteritems():
+                    message += "%s -> %s\n" % (req, " ".join([x[0] for x in suggList]))
+                message += "\n\nAdd requirements to update list and continue?"
+
+                retval = self.messageDialog(message, type=gtk.MESSAGE_INFO,
+                                                     buttons=gtk.BUTTONS_YES_NO)
             else:
-                for ops in self.operations.keys():
-                    if self.operations[ops] == self.MARKED_FOR_ERASE:
-                        del self.operations[ops]
-                self.updateStatus(False, "Operations completed successfully.")
-       
-        # return unfininshed operations
+                retval = gtk.RESPONSE_OK
+                
+            if retval in (gtk.RESPONSE_YES, gtk.RESPONSE_OK):
+                self.client.applyUpdate(cs, callback = cb)
+                
+        except (repository.CommitError, conaryclient.UpdateError), e:
+            self.messageDialog("Error updating troves: " + str(sys.exc_info()[1]))
+            self.updateStatus(False, "Operation failed.")
+            return
+        except BrokenByErase, brokenByErase:
+            message = "Troves being removed create unresolved dependencies:"
+            message += str(brokenByErase)
+            self.messageDialog(message)
+            self.updateStatus(False, "Operation failed")
+            return self.operations
+        except DepsFailed, depFailures:
+            message = "The following dependencies could not be resolved:\n\n"
+            message += str(depFailures)
+            self.messageDialog(message)
+            self.updateStatus(False, "Operation failed")
+            return self.operations
+        else:
+            self.updateStatus(False)
+            self.operations = {}
+
         return self.operations
         
 class FileList(ConaryOperation):


From tgerla@specifix.com Fri Apr  1 13:47:21 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j31IlKQv031878
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 1 Apr 2005 13:47:20 -0500
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 24233167EE
	for <conary-gui-commits@lists.specifix.com>;
	Fri,  1 Apr 2005 10:47:05 -0800 (PST)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j31Il2fb032087; Fri, 1 Apr 2005 13:47:02 -0500
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j31Il2I6032084;
	Fri, 1 Apr 2005 13:47:02 -0500
Date: Fri, 1 Apr 2005 13:47:02 -0500
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200504011847.j31Il2I6032084@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui NEWS,1.22,1.23
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 01 Apr 2005 18:47:21 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv32072

Modified Files:
	NEWS 
Log Message:
update NEWS


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- NEWS	31 Mar 2005 21:14:09 -0000	1.22
+++ NEWS	1 Apr 2005 18:47:00 -0000	1.23
@@ -4,6 +4,7 @@
       changesets.
     * Fixed trove metadata display broken by new Streams API.
     * Improved indeterminate (pulsing) status indication
+    * Shows only packages, not components, in the "Not Installed" list.
 
 Changes in 0.9.3:
     * Fix to support new trove erase API.


From msw@specifix.com Thu Apr  7 21:37:49 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j381bmQv006029
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 7 Apr 2005 21:37:49 -0400
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id E40EA16AC4
	for <conary-gui-commits@lists.specifix.com>;
	Thu,  7 Apr 2005 18:37:27 -0700 (PDT)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j381bIfb023224; Thu, 7 Apr 2005 21:37:18 -0400
Received: (from msw@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j381bHWu023221;
	Thu, 7 Apr 2005 21:37:17 -0400
Date: Thu, 7 Apr 2005 21:37:17 -0400
From: Matt Wilson <msw@specifix.com>
Message-Id: <200504080137.j381bHWu023221@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.95,1.96
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 08 Apr 2005 01:37:49 -0000

Update of /mnt/specifix/cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv23184

Modified Files:
	conaryinterface.py 
Log Message:
avoid devide by zero


Index: conaryinterface.py
===================================================================
RCS file: /mnt/specifix/cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -r1.95 -r1.96
--- conaryinterface.py	1 Apr 2005 16:31:28 -0000	1.95
+++ conaryinterface.py	8 Apr 2005 01:37:15 -0000	1.96
@@ -75,18 +75,20 @@
         gtk.threads_leave()
 
     def downloadingChangeSet(self, got, need):
-        self.fraction = float(got) / float(need)
-        self._message("Downloading changeset (%d%% of %dk)..."
-                        % ((got * 100)/ need , need / 1024),
-                      pulse = False)
+        if need != 0:
+            self.fraction = float(got) / float(need)
+            self._message("Downloading changeset (%d%% of %dk)..."
+                          % ((got * 100)/ need , need / 1024),
+                          pulse = False)
 
     def restoreFiles(self, size, totalSize):
-        self.restored += size
-        self.fraction = float(self.restored) / float(totalSize)
-        self._message("Writing %dk of %dk (%d%%)..."
-                        % (self.restored / 1024 , totalSize / 1024,
-                          (self.restored * 100) / totalSize),
-                      pulse=False)
+        if totalSize != 0:
+            self.restored += size
+            self.fraction = float(self.restored) / float(totalSize)
+            self._message("Writing %dk of %dk (%d%%)..."
+                          % (self.restored / 1024 , totalSize / 1024,
+                             (self.restored * 100) / totalSize),
+                          pulse=False)
 
     def __init__(self, statusCallback):
         self.statusCallback = statusCallback


From tgerla@specifix.com Fri Apr  8 16:16:32 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j38KGWQv010126
	for <conary-gui-commits@lists.specifix.com>;
	Fri, 8 Apr 2005 16:16:32 -0400
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 01115167EB
	for <conary-gui-commits@lists.specifix.com>;
	Fri,  8 Apr 2005 13:16:14 -0700 (PDT)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j38KGBfb019540; Fri, 8 Apr 2005 16:16:11 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j38KGBr2019537;
	Fri, 8 Apr 2005 16:16:11 -0400
Date: Fri, 8 Apr 2005 16:16:11 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200504082016.j38KGBr2019537@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conaryinterface.py,1.96,1.97
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Fri, 08 Apr 2005 20:16:33 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv19525

Modified Files:
	conaryinterface.py 
Log Message:
handle new callbacks


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- conaryinterface.py	8 Apr 2005 01:37:15 -0000	1.96
+++ conaryinterface.py	8 Apr 2005 20:16:08 -0000	1.97
@@ -90,6 +90,20 @@
                              (self.restored * 100) / totalSize),
                           pulse=False)
 
+    def removeFiles(self, fileNum, total):
+        if total != 0:
+            self.fraction = float(fileNum) / float(total)
+            self._message("Removing %d of %d (%d%%)..."
+                          % (fileNum , total, (fileNum * 100) / total),
+                          pulse = False)
+
+    def preparingUpdate(self, troveNum, troveCount):
+        self.fraction = float(troveNum) / float(troveCount)
+        self._message("Preparing update (%d of %d)..." %
+                      (troveNum, troveCount),
+                      pulse = False)
+
+
     def __init__(self, statusCallback):
         self.statusCallback = statusCallback
         self.fraction = 0.0


From tgerla@specifix.com Tue Apr 12 23:16:59 2005
Received: from bluesmobile.specifixinc.com (w098.z064220152.sjc-ca.dsl.cnc.net
	[64.220.152.98])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j3D3GxQv015153
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 12 Apr 2005 23:16:59 -0400
Received: from lambchop.rdu.specifix.com (lambchop.rdu.specifix.com
	[172.16.58.2])
	by bluesmobile.specifixinc.com (Postfix) with ESMTP id 0F8AA167EB
	for <conary-gui-commits@lists.specifix.com>;
	Tue, 12 Apr 2005 20:16:39 -0700 (PDT)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j3D3GZfb026047; Tue, 12 Apr 2005 23:16:35 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j3D3GZlu026043;
	Tue, 12 Apr 2005 23:16:35 -0400
Date: Tue, 12 Apr 2005 23:16:35 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200504130316.j3D3GZlu026043@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
Cc: 
Subject: conary-gui conary-gui.py,1.117,1.118 conaryinterface.py,1.97,1.98
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Wed, 13 Apr 2005 03:16:59 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv26031

Modified Files:
	conary-gui.py conaryinterface.py 
Log Message:
import conary using new method, always resolve deps on update


Index: conary-gui.py
===================================================================
RCS file: /cvs/conary-gui/conary-gui.py,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -r1.117 -r1.118
--- conary-gui.py	1 Apr 2005 16:31:28 -0000	1.117
+++ conary-gui.py	13 Apr 2005 03:16:32 -0000	1.118
@@ -24,14 +24,7 @@
 
 import constants
 
-if os.environ.has_key("CONARY_PATH"):
-    sys.path.insert(0, os.environ['CONARY_PATH'])
-else:
-    import conary
-    conaryPath = os.path.dirname(sys.modules["conary"].__file__)
-    sys.path.insert(0, conaryPath)
-
-sys.path.insert(0, ".")
+import conary
 
 import conarycfg
 from lib import util


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -r1.97 -r1.98
--- conaryinterface.py	8 Apr 2005 20:16:08 -0000	1.97
+++ conaryinterface.py	13 Apr 2005 03:16:32 -0000	1.98
@@ -306,7 +306,7 @@
         
         try:
             (cs, depFailures, suggMap, brokenByErase) =\
-                self.client.updateChangeSet(updates, resolveDeps=False, callback = cb)
+                self.client.updateChangeSet(updates, resolveDeps=True, callback = cb)
 
             if brokenByErase:
                 raise BrokenByErase, brokenByErase


From tgerla@specifix.com Wed Apr 27 20:00:55 2005
Received: from ms-smtp-01-eri0.southeast.rr.com
	(ms-smtp-01-lbl.southeast.rr.com [24.25.9.100])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j3S00rQv004535
	for <conary-gui-commits@lists.specifix.com>;
	Wed, 27 Apr 2005 20:00:54 -0400
Received: from lambchop.rdu.specifix.com (rdu-nat.specifix.com [24.172.59.42])
	by ms-smtp-01-eri0.southeast.rr.com (8.12.10/8.12.7) with ESMTP id
	j3S00PLv016859 for <conary-gui-commits@lists.specifix.com>;
	Wed, 27 Apr 2005 20:00:26 -0400 (EDT)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j3RNxuKT030857; Wed, 27 Apr 2005 19:59:56 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j3RNxpbF030855;
	Wed, 27 Apr 2005 19:59:51 -0400
Date: Wed, 27 Apr 2005 19:59:51 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200504272359.j3RNxpbF030855@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
X-Virus-Scanned: Symantec AntiVirus Scan Engine
Cc: 
Subject: conary-gui conaryinterface.py,1.98,1.99
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 28 Apr 2005 00:00:55 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv30844

Modified Files:
	conaryinterface.py 
Log Message:
fixes for flavorpath


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -r1.98 -r1.99
--- conaryinterface.py	13 Apr 2005 03:16:32 -0000	1.98
+++ conaryinterface.py	27 Apr 2005 23:59:49 -0000	1.99
@@ -238,7 +238,7 @@
                 for v, f in branchPkgs[branch][pkg]:
                     # XXX this fails when multiple versions are installed from the
                     # same branch -- only one new version is returned
-                    queryflavor = self.client.cfg.flavor.copy()
+                    queryflavor = self.client.cfg.flavor[0].copy()
                     queryflavor.union(f, mergeType=deps.DEP_MERGE_TYPE_OVERRIDE)
                     query[host][pkg][branch] = [queryflavor]
         dbpkgs.sort()


From tgerla@specifix.com Thu Apr 28 09:38:46 2005
Received: from ms-smtp-01-eri0.southeast.rr.com
	(ms-smtp-01-lbl.southeast.rr.com [24.25.9.100])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j3SDcjQv007984
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 28 Apr 2005 09:38:46 -0400
Received: from lambchop.rdu.specifix.com (rdu-nat.specifix.com [24.172.59.42])
	by ms-smtp-01-eri0.southeast.rr.com (8.12.10/8.12.7) with ESMTP id
	j3SDcHLv004120 for <conary-gui-commits@lists.specifix.com>;
	Thu, 28 Apr 2005 09:38:18 -0400 (EDT)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j3SDbhKT005252; Thu, 28 Apr 2005 09:37:43 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j3SDbhbm005250;
	Thu, 28 Apr 2005 09:37:43 -0400
Date: Thu, 28 Apr 2005 09:37:43 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200504281337.j3SDbhbm005250@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
X-Virus-Scanned: Symantec AntiVirus Scan Engine
Cc: 
Subject: conary-gui conaryinterface.py,1.99,1.100
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 28 Apr 2005 13:38:46 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv5239

Modified Files:
	conaryinterface.py 
Log Message:
a couple more flavorpath fixes


Index: conaryinterface.py
===================================================================
RCS file: /cvs/conary-gui/conaryinterface.py,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -r1.99 -r1.100
--- conaryinterface.py	27 Apr 2005 23:59:49 -0000	1.99
+++ conaryinterface.py	28 Apr 2005 13:37:41 -0000	1.100
@@ -420,7 +420,7 @@
         self.client.cfg.initializeFlavors()
         
         trove = self.client.repos.findTrove(branch.label(),
-                                            (troveName, None, self.client.cfg.flavor),
+                                            (troveName, None, self.client.cfg.flavor[0]),
                                             acrossRepositories=True)
         trove = self.client.repos.getTroves(trove)[0]
         troveInfo = trove.getTroveInfo()
@@ -440,7 +440,7 @@
 
         if sourceTrove:
             versionDict = self.client.repos.getTroveVersionsByLabel(
-                {sourceName: {sourceTrove.getVersion().branch().label(): [self.client.cfg.flavor]}})
+                {sourceName: {sourceTrove.getVersion().branch().label(): [self.client.cfg.flavor[0]]}})
             
             # built a reverse sorted list of versions for this troveName
             versionList = sorted(versionDict[sourceName].iterkeys(),


From tgerla@specifix.com Thu Apr 28 09:42:53 2005
Received: from ms-smtp-02-eri0.southeast.rr.com
	(ms-smtp-02-lbl.southeast.rr.com [24.25.9.101])
	by lists.specifix.com (8.12.10/8.12.10) with ESMTP id j3SDgrQv008051
	for <conary-gui-commits@lists.specifix.com>;
	Thu, 28 Apr 2005 09:42:53 -0400
Received: from lambchop.rdu.specifix.com (rdu-nat.specifix.com [24.172.59.42])
	by ms-smtp-02-eri0.southeast.rr.com (8.12.10/8.12.7) with ESMTP id
	j3SDgN0V008673 for <conary-gui-commits@lists.specifix.com>;
	Thu, 28 Apr 2005 09:42:25 -0400 (EDT)
Received: from lambchop.rdu.specifix.com (localhost.localdomain [127.0.0.1])
	by lambchop.rdu.specifix.com (8.12.10/8.12.10) with ESMTP id
	j3SDfnKT005715; Thu, 28 Apr 2005 09:41:49 -0400
Received: (from tgerla@localhost)
	by lambchop.rdu.specifix.com (8.12.10/8.12.10/Submit) id j3SDfmXM005712;
	Thu, 28 Apr 2005 09:41:48 -0400
Date: Thu, 28 Apr 2005 09:41:48 -0400
From: Tim Gerla <tgerla@specifix.com>
Message-Id: <200504281341.j3SDfmXM005712@lambchop.rdu.specifix.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
To: conary-gui-commits@lists.specifix.com, synccvs@lambchop.rdu.specifix.com
X-CVS-Module: conary-gui
X-CVS-Directory: conary-gui
Precedence: first-class
X-Virus-Scanned: Symantec AntiVirus Scan Engine
Cc: 
Subject: conary-gui Makefile,1.37,1.38 NEWS,1.23,1.24
X-BeenThere: conary-gui-commits@lists.specifix.com
X-Mailman-Version: 2.1.5
Reply-To: conary-list@lists.specifix.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.specifix.com>
List-Unsubscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=unsubscribe>
List-Archive: <http://lists.specifix.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.specifix.com>
List-Help: <mailto:conary-gui-commits-request@lists.specifix.com?subject=help>
List-Subscribe: <http://lists.specifix.com/mailman/listinfo/conary-gui-commits>,
	<mailto:conary-gui-commits-request@lists.specifix.com?subject=subscribe>
X-List-Received-Date: Thu, 28 Apr 2005 13:42:53 -0000

Update of /cvs/conary-gui
In directory lambchop.rdu.specifix.com:/tmp/cvs-serv5701

Modified Files:
	Makefile NEWS 
Log Message:
update NEWS and Makefile for version 0.10.1


Index: Makefile
===================================================================
RCS file: /cvs/conary-gui/Makefile,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- Makefile	31 Mar 2005 21:14:09 -0000	1.37
+++ Makefile	28 Apr 2005 13:41:46 -0000	1.38
@@ -5,7 +5,7 @@
 
 all: conary-gui conary-gui-wrapper constants.py
 
-export VERSION = 0.10.0
+export VERSION = 0.10.1
 export TOPDIR = $(shell pwd)
 export DISTDIR = $(TOPDIR)/conary-gui-$(VERSION)
 export prefix = /usr


Index: NEWS
===================================================================
RCS file: /cvs/conary-gui/NEWS,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- NEWS	1 Apr 2005 18:47:00 -0000	1.23
+++ NEWS	28 Apr 2005 13:41:46 -0000	1.24
@@ -1,3 +1,7 @@
+Changes in 0.10.1:
+    * Fixes for new Conary behavior; specifically fixes for
+      flavor path support.
+
 Changes in 0.10.0:
     * Now uses Conary's new callback API to provide
       progress feedback when downloading and updating


From candyshop999@gmail.com Tue Jan  8 04:56:31 2008
Received: from hs-out-2122.google.com (hs-out-0708.google.com [64.233.178.251])
	by lists.rpath.com (8.13.6/8.13.6) with ESMTP id m089uVba004179
	for <conary-gui-commits@lists.rpath.com>; Tue, 8 Jan 2008 04:56:31 -0500
Received: by hs-out-2122.google.com with SMTP id 23so10276549hsn.2
	for <conary-gui-commits@lists.rpath.com>;
	Tue, 08 Jan 2008 01:51:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type;
	bh=Za2qFHRnh/TdI3oIt1dxyCB2O9cnTPu2IfByOJN8VrM=;
	b=OP/jFFnQctOB1qicACae/BDXzM641DwY0Hpu6SN2oLNN3uH7CDexMydz1gwPH+ktfKFyvaFGJ4+xiIyZA9KeVqPSTOnhxOZtGlbwUjNgG8nErvRNnhwpHI5uc/9ShPqnPIXyLt7iMhRvLSZqlSK6/+scFPEuVRm0qDzjXNDByiE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=message-id:date:from:to:subject:mime-version:content-type;
	b=EKFF2YpC09RLh1AduZ7ipE2q3oEc3NfYSZBLz0LL1qjZ+bf8lh32aptx97otEdep6o4N1kH85ykkawMUVXQ5eNLyEquFb1OniHcvp/tnToeG0n0rUGzLBkVea6LKqX3cRVWt1jIfXX3Ei4SPdiHdrUS2nimN1pDaQwgFLTyZsQc=
Received: by 10.150.158.8 with SMTP id g8mr1802335ybe.94.1199785883891;
	Tue, 08 Jan 2008 01:51:23 -0800 (PST)
Received: by 10.150.156.8 with HTTP; Tue, 8 Jan 2008 01:51:23 -0800 (PST)
Message-ID: <eb5142cf0801080151j52ed7a8eke4748ee75f4d5b4d@mail.gmail.com>
Date: Tue, 8 Jan 2008 11:51:23 +0200
From: "Super Star" <candyshop999@gmail.com>
To: conary-gui-commits@lists.rpath.com
Subject: Liberty League International,
	Making Money With Multilevel Marketing Takes Effort
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_434_7238491.1199785883886"
X-BeenThere: conary-gui-commits@lists.rpath.com
X-Mailman-Version: 2.1.6
Precedence: list
Reply-To: conary-list@lists.rpath.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/conary-gui-commits>, 
	<mailto:conary-gui-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.rpath.com>
List-Help: <mailto:conary-gui-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/conary-gui-commits>, 
	<mailto:conary-gui-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Tue, 08 Jan 2008 09:56:31 -0000

------=_Part_434_7238491.1199785883886
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Liberty League International, Making Money With Multilevel Marketing Takes
Effort

Everyone wants to know how to go about making money with multilevel
marketing online and the answer is so complicated that it is simple.
Regardless of what some of the scam business might tell you, it is going to
take some effort on your part to turn your dream of owning your own
successful online business into reality.

You are most likely not going to watch money start to pour out of your
computer within 10 minutes of signing up for the get-rich-quick promotion.
Nor are you magically going to have the wit and wisdom to draw hundreds of
people into your downline to share in their profits ten minutes after that.
If that is how you envision your future you should roll over, pull up the
covers and go back to sleep. Think about it; if a person knew how to do
that, they probably would keep all that money for themselves.

However, in selling a product or service even the most successful business
knows that in order to increase business they will need to add employees, or
in the case of multilevel marketing, additional distributors for the product
or service. If one person can sell a hundred, two should be able to sell 200
and three should be able to sell 300 if common sense is used. Depending on
the product and the people doing the selling this is conceivable to
accomplish. Basically, if you hope to make money in a multilevel marketing
business, you will have to believe in that business.

How people make money in multilevel marketing, making more money with
minimal work on their part, is to first become a distributor of a product or
service in which you believe. You then offer someone else an opportunity to
make money selling the product and you will receive a percentage of the
profits from those sales as a reward for bringing in a new distributor. If
that person can add another distributor of the product or service, he makes
a percentage of that person?s sales and you now pick up more money as well.
You will be making money on the sales of two people, even if you never sold
another thing on you own.

Depending on the multilevel marketing program you are a part of, there may
be a limit to the number of folks in your downline from whom you earn a
commission for adding those distributors, and when you reach that goal only
their sales can impact your income stream positively or negatively. When you
believe you have reached the peak of income potential, while still receiving
the commissions, you can begin looking into other programs to generate
another income stream. In that regards there is virtually no limit to the
number of streams that bring cash flowing into your bank account.

www.libertyleagueinternational.info

www.libertyleagueconference.com

www.beyondfreedom.com

------=_Part_434_7238491.1199785883886
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Liberty League International, Making Money With Multilevel Marketing Takes Effort<br><br> Everyone wants to know how to go about making money with multilevel
marketing online and the answer is so complicated that it is simple.
Regardless of what some of the scam business might tell you, it is
going to take some effort on your part to turn your dream of owning
your own successful online business into reality. <p>
You are most likely not going to watch money start to pour out of your
computer within 10 minutes of signing up for the get-rich-quick
promotion. Nor are you magically going to have the wit and wisdom to
draw hundreds of people into your downline to share in their profits
ten minutes after that. If that is how you envision your future you
should roll over, pull up the covers and go back to sleep. Think about
it; if a person knew how to do that, they probably would keep all that
money for themselves. </p><p>
However, in selling a product or service even the most successful
business knows that in order to increase business they will need to add
employees, or in the case of multilevel marketing, additional
distributors for the product or service. If one person can sell a
hundred, two should be able to sell 200 and three should be able to
sell 300 if common sense is used. Depending on the product and the
people doing the selling this is conceivable to accomplish. Basically,
if you hope to make money in a multilevel marketing business, you will
have to believe in that business. </p><p>
How people make money in multilevel marketing, making more money with
minimal work on their part, is to first become a distributor of a
product or service in which you believe. You then offer someone else an
opportunity to make money selling the product and you will receive a
percentage of the profits from those sales as a reward for bringing in
a new distributor. If that person can add another distributor of the
product or service, he makes a percentage of that person?s sales and
you now pick up more money as well. You will be making money on the
sales of two people, even if you never sold another thing on you own. </p><p>
Depending on the multilevel marketing program you are a part of, there
may be a limit to the number of folks in your downline from whom you
earn a commission for adding those distributors, and when you reach
that goal only their sales can impact your income stream positively or
negatively. When you believe you have reached the peak of income
potential, while still receiving the commissions, you can begin looking
into other programs to generate another income stream. In that regards
there is virtually no limit to the number of streams that bring cash
flowing into your bank account. <br></p><p>
</p><p style="margin-bottom: 0cm;"><a href="http://www.libertyleagueinternational.info/">www.libertyleagueinternational.info</a></p>
<p style="margin-bottom: 0cm;"><a href="http://www.libertyleagueconference.com/">www.libertyleagueconference.com</a></p>
<p style="margin-bottom: 0cm;"><a href="http://www.beyondfreedom.com/">www.beyondfreedom.com</a></p>
<br>

------=_Part_434_7238491.1199785883886--

From candyshop999@gmail.com Tue Jan  8 05:26:33 2008
Received: from hs-out-2122.google.com (hs-out-0708.google.com [64.233.178.242])
	by lists.rpath.com (8.13.6/8.13.6) with ESMTP id m08APc50004551
	for <conary-gui-commits@lists.rpath.com>; Tue, 8 Jan 2008 05:26:32 -0500
Received: by hs-out-2122.google.com with SMTP id 23so10289028hsn.2
	for <conary-gui-commits@lists.rpath.com>;
	Tue, 08 Jan 2008 02:21:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type;
	bh=v9Zl6e4NbZxHVkv9/NQ1cVRe95nmYKTtNzYEQ2RHlg4=;
	b=wv01953z9NgRtxMA3VLO+kjmeRnvIUfMR9eGQiv+gIOp6VBVEmiNExEVaLiJObk+CR6EEx8tDeh0X8y7z8+m0iXwknd93z6XKKMkb4KfM1kMWsurFCErlLdX8AwNn7hTOegV4UN/C/QOQkl7vpZPc4SrEsPHUNTxllFU1DKOlPs=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=message-id:date:from:to:subject:mime-version:content-type;
	b=JyPwP3Ff/gtNXarxi1TGQFEFb2Hk5F7gtWA7Dogzzx5vJH4uOG8EjZDcs6uVHXFcDukZiSXvK/H8YUOBvnglLb22VtcvrX5gML9TeGMZQQAuM1Q7tRXwr7kbY58RrnQN/CbGqokorzV9VJVrDuPnwtIgTvuOAxAssS64GvXBuCQ=
Received: by 10.150.49.15 with SMTP id w15mr705949ybw.101.1199787685680;
	Tue, 08 Jan 2008 02:21:25 -0800 (PST)
Received: by 10.150.156.8 with HTTP; Tue, 8 Jan 2008 02:21:25 -0800 (PST)
Message-ID: <eb5142cf0801080221s6d0e2bb9je05dd11b9eba1122@mail.gmail.com>
Date: Tue, 8 Jan 2008 12:21:25 +0200
From: "Super Star" <candyshop999@gmail.com>
To: conary-gui-commits@lists.rpath.com
Subject: Five Point Capital,
	ShockWatch's New Monitoring Device Prevents Unauthorized Access To
	Equipment
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_613_26080377.1199787685677"
X-BeenThere: conary-gui-commits@lists.rpath.com
X-Mailman-Version: 2.1.6
Precedence: list
Reply-To: conary-list@lists.rpath.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/conary-gui-commits>, 
	<mailto:conary-gui-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.rpath.com>
List-Help: <mailto:conary-gui-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/conary-gui-commits>, 
	<mailto:conary-gui-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Tue, 08 Jan 2008 10:26:33 -0000

------=_Part_613_26080377.1199787685677
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Five Point Capital, ShockWatch's New Monitoring Device Prevents Unauthorized
Access To Equipment



DALLAS (BusinessWire EON) July 17, 2007 -- By preventing untrained and
unauthorized personnel from using specified pieces of equipment, ShockWatch
StartManager can prevent injury and damage-related costs due to unauthorized
access. Even if minor damage occurs during equipment use by authorized
personnel, StartManager usage reports allow management to determine
accountability and respond promptly with necessary repairs or corrective
action. StartManager also supports OSHA regulation compliance by providing a
record of operator access and utilization data. When used as part of a
safety and training program, StartManager's monitoring and recording
capabilities can help companies dramatically improve overall workplace
safety. "With the addition of StartManager, and its optional software
package, the family of ShockWatch Equipment Monitors is now even more
comprehensive and robust," states Bob Greenberg, Product Manager for
Equipment Monitors at ShockWatch. "Equipment managers will be able to
utilize StartManager as an integral tool in their damage prevention
programs."

 ShockWatch Equipment Monitors and Shipping & Handling Monitors are used in
thousands of applications in a wide variety of industries, including
automotive, oil/drilling, aerospace, defense, logistics, marine, utilities,
medical, and manufacturing. ShockWatch Equipment Monitors, including
StartManager, can be used on forklifts and other material handling
equipment, fleet vehicles, and a range of equipment related to mining,
people moving, earth moving, and manufacturing. ShockWatch Shipping &
Handling Monitors can be used on electronics, high-tech equipment,
pharmaceuticals, medical supplies, chemicals, artwork, live cargo,
satellites, and more. Additionally, ShockWatch Environmental Indicators
monitor the temperature of sensitive goods, such as foods, pharmaceuticals,
paints, and chemicals, and indicate whether thermal conditions have fallen
outside of the predetermined acceptable range.

  With a worldwide network of representatives and distributors, ShockWatch
has fortified its standing as a global leader with customers in 62
countries. ShockWatch products are used to monitor the handling of goods
throughout the production, transportation, and delivery process, and the
operation, access, and usage of equipment with the goal of reducing costs by
preventing damage. ShockWatch, along with Media Recovery and DPC, is part of
the MRI family of companies. MRI specializes in innovative products and
services that provide new levels of efficiency, quality, and safety to
two-thirds of the Fortune 100 and over half of the Fortune 1000 companies.

 For more information, contact Kerri Lusk-Barnes, Director of Marketing, at
1111 W. Mockingbird Lane, Suite 1050, Dallas TX, 75247; phone (214) 630.9625;
e-mail: info@shockwatch.com; or visit us online at .

------=_Part_613_26080377.1199787685677
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Five Point Capital, ShockWatch&#39;s New Monitoring Device Prevents Unauthorized Access To Equipment<br><br><br><br> DALLAS (BusinessWire EON) July 17, 2007 -- By preventing untrained
and unauthorized personnel from using specified pieces of equipment,
ShockWatch StartManager can prevent injury and damage-related costs due
to unauthorized access. Even if minor damage occurs during equipment
use by authorized personnel, StartManager usage reports allow
management to determine accountability and respond promptly with
necessary repairs or corrective action. StartManager also supports OSHA
regulation compliance by providing a record of operator access and
utilization data. When used as part of a safety and training program,
StartManager&#39;s monitoring and recording capabilities can help companies
dramatically improve overall workplace safety. &quot;With the addition of
StartManager, and its optional software package, the family of
ShockWatch Equipment Monitors is now even more comprehensive and
robust,&quot; states Bob Greenberg, Product Manager for Equipment Monitors
at ShockWatch. &quot;Equipment managers will be able to utilize StartManager
as an integral tool in their damage prevention programs.&quot;<p>
</p><p> ShockWatch Equipment Monitors and Shipping &amp; Handling
Monitors are used in thousands of applications in a wide variety of
industries, including automotive, oil/drilling, aerospace, defense,
logistics, marine, utilities, medical, and manufacturing. ShockWatch
Equipment Monitors, including StartManager, can be used on forklifts
and other material handling equipment, fleet vehicles, and a range of
equipment related to mining, people moving, earth moving, and
manufacturing. ShockWatch Shipping &amp; Handling Monitors can be used
on electronics, high-tech equipment, pharmaceuticals, medical supplies,
chemicals, artwork, live cargo, satellites, and more. Additionally,
ShockWatch Environmental Indicators monitor the temperature of
sensitive goods, such as foods, pharmaceuticals, paints, and chemicals,
and indicate whether thermal conditions have fallen outside of the
predetermined acceptable range.</p><p>
</p><p>
</p><p>
</p><p> With a worldwide network of representatives and distributors,
ShockWatch has fortified its standing as a global leader with customers
in 62 countries. ShockWatch products are used to monitor the handling
of goods throughout the production, transportation, and delivery
process, and the operation, access, and usage of equipment with the
goal of reducing costs by preventing damage. ShockWatch, along with
Media Recovery and DPC, is part of the MRI family of companies. MRI
specializes in innovative products and services that provide new levels
of efficiency, quality, and safety to two-thirds of the Fortune 100 and
over half of the Fortune 1000 companies.</p><p>
</p><p> For more information, contact Kerri Lusk-Barnes, Director of
Marketing, at 1111 W. Mockingbird Lane, Suite 1050, Dallas TX, 75247;
phone <span onmouseup="SetCallButtonPressed(this, 0,0)" onmousedown="SetCallButtonPressed(this, 1,0)" onmouseover="SetCallButton(this, 1,0);skype_active=CheckCallButton(this);" onmouseout="SetCallButton(this, 0,0);HideSkypeMenu();" class="skype_tb_injection" id="__skype_highlight_id">
<span title="Change country code ..." onclick="javascript:if(1){doRunCMD(event, &#39;chdial&#39;,&#39;0&#39;);}else{doRunCMD(event, &#39;call&#39;,&#39;+12146309625&#39;);}event.preventBubble();return false;" onmouseout="SetCallButtonPart(this, 0);" onmouseover="SetCallButtonPart(this, 1);" class="skype_tb_injection_left" id="__skype_highlight_id_left">
<span style="background-image: url(chrome://skype_ff_toolbar_win/content/cb_normal_l.gif);" class="skype_tb_injection_left_img" id="__skype_highlight_id_left_adge"><img src="chrome://skype_ff_toolbar_win/content/cb_transparent_l.gif" style="height: 11px; width: 7px;" class="skype_tb_img_adge" height="11">
</span><span class="skype_tb_injection_left_img" id="__skype_highlight_id_left_img"><img style="width: 16px;" src="chrome://skype_ff_toolbar_win/content/famfamfam/us.gif" title="" class="skype_tb_img_flag" name="skype_tb_img_f0">
<img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1"><img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1">
<img src="chrome://skype_ff_toolbar_win/content/arrow.gif" title="" class="skype_tb_img_arrow" name="skype_tb_img_a0"><img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1">
<img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1"></span></span><img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1">
<span title="Call this phone number in United States of America with Skype: +12146309625" onclick="javascript:doRunCMD(event, &#39;call&#39;,&#39;+12146309625&#39;);event.preventBubble();return false;" onmouseout="SetCallButtonPart(this, 0)" onmouseover="SetCallButtonPart(this, 1)" class="skype_tb_injection_right" id="__skype_highlight_id_right">
<span class="skype_tb_innerText" id="__skype_highlight_id_innerText"><img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1">
<img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1"><img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1">
<img src="chrome://skype_ff_toolbar_win/content/space.gif" style="margin: 0px; padding: 0px; height: 1px; width: 1px;" class="skype_tb_img_space" height="1" width="1">(214) 630.9625</span><span style="background-image: url(chrome://skype_ff_toolbar_win/content/cb_normal_r.gif);" class="skype_tb_injection_left_img" id="__skype_highlight_id_right_adge">
<img src="chrome://skype_ff_toolbar_win/content/cb_transparent_r.gif" style="height: 11px; width: 19px;" class="skype_tb_img_adge" height="11"></span></span></span>; e-mail: <a href="mailto:info@shockwatch.com">info@shockwatch.com
</a>; or visit us online at .</p>
	
	<br>

------=_Part_613_26080377.1199787685677--

From candyshop999@gmail.com Tue Jan  8 07:56:40 2008
Received: from hs-out-2122.google.com (hs-out-0708.google.com [64.233.178.248])
	by lists.rpath.com (8.13.6/8.13.6) with ESMTP id m08Cue6t006860
	for <conary-gui-commits@lists.rpath.com>; Tue, 8 Jan 2008 07:56:40 -0500
Received: by hs-out-2122.google.com with SMTP id 23so10354087hsn.2
	for <conary-gui-commits@lists.rpath.com>;
	Tue, 08 Jan 2008 04:51:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type;
	bh=AJiBpjgMZKu4V3YFzY1Om5TYx7xwUr3sFXukI3wmxek=;
	b=VM9BoQjYuzQOVtWtlIptLz5bA5nC05VTv/g0TfEQ2mjUARrSGKNvG7hYfc6porKwQ+jCRSs7qL2ofVqm4IPtl22XqJDKXsI3sUGIVy7DI7uqGoHCyTPO9Wscq59SWayGag9REyCo3QOiiiMr/w8FxQnz+ghFCO1jczu8yOS/+Y4=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
	h=message-id:date:from:to:subject:mime-version:content-type;
	b=tNSglr2kaWSuI1/FB1wsJUfloyiajR/qYYCpE4cpJ4KITGS5iFVDb8WUe0ATNkM6Lyh3NgVwIloGN8kcJJzNx7fj+1YTOwOgX2CkPJCvBJSGTZQZuh9PS0tySlH5pDsIxIefSHj/eFpdkz9WCZrB6leVvY4ogccoHjVBazvPsHU=
Received: by 10.150.211.19 with SMTP id j19mr2396983ybg.10.1199796692803;
	Tue, 08 Jan 2008 04:51:32 -0800 (PST)
Received: by 10.150.156.8 with HTTP; Tue, 8 Jan 2008 04:51:32 -0800 (PST)
Message-ID: <eb5142cf0801080451k751ac062le49c056d3227d2ed@mail.gmail.com>
Date: Tue, 8 Jan 2008 14:51:32 +0200
From: "Super Star" <candyshop999@gmail.com>
To: conary-gui-commits@lists.rpath.com
Subject: Wendy Stevens Nashville, Resume Home Business
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_920_105495.1199796692782"
X-BeenThere: conary-gui-commits@lists.rpath.com
X-Mailman-Version: 2.1.6
Precedence: list
Reply-To: conary-list@lists.rpath.com
List-Id: commits to the Conary GUI cvs archive
	<conary-gui-commits.lists.rpath.com>
List-Unsubscribe: <http://lists.rpath.com/mailman/listinfo/conary-gui-commits>, 
	<mailto:conary-gui-commits-request@lists.rpath.com?subject=unsubscribe>
List-Archive: <http://lists.rpath.com/pipermail/conary-gui-commits>
List-Post: <mailto:conary-gui-commits@lists.rpath.com>
List-Help: <mailto:conary-gui-commits-request@lists.rpath.com?subject=help>
List-Subscribe: <http://lists.rpath.com/mailman/listinfo/conary-gui-commits>, 
	<mailto:conary-gui-commits-request@lists.rpath.com?subject=subscribe>
X-List-Received-Date: Tue, 08 Jan 2008 12:56:40 -0000

------=_Part_920_105495.1199796692782
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Wendy Stevens Nashville Tennesee,  Resume Home Business



Wendy Stevens Franklin Tennesee

Starting A Resume Writing Service

A resume writing service is one of the top home businesses that allows
owners to put in there own hours and get extremely rewarded for there work.
There are no special skill sets, college degrees, or fancy computers needed
to operate. A resume business can be operated right from the comfort of your
own home, with as little as your current computer, printer, and a little
ambition.

When starting any home business, keeping initial start-up cost to a minimum
are very important. The number 1 mistake entrepreneurs make when starting a
new home business is acquiring debt. With a resume business, your computer
is your most important asset.

Once you have a portion of your home designated to operate your business,
you can began thinking about how you are going to get clients. A great way
to start is with your local newspapers, yellowpages, and flyers. While you
don't have to keep your business local, it always helps to start out my
networking locally this way you have direct contact with your customers.

Maintain great custom service as networking is your best form of
advertising. Happy clients tell their friends, who in turn become customers.
Keep yourself organized and maintain financial records.

To Your Success http://www.resume-business.com

Michael Grimm

------=_Part_920_105495.1199796692782
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Wendy Stevens Nashville Tennesee,&nbsp; Resume Home Business<br><br><br><br>Wendy Stevens Franklin Tennesee<br><br><p>Starting A Resume Writing Service</p><p>A resume writing service is
one of the top home businesses that allows owners to put in there own
hours and get extremely rewarded for there work. There are no special
skill sets, college degrees, or fancy computers needed to operate. A
resume business can be operated right from the comfort of your own
home, with as little as your current computer, printer, and a little
ambition.</p><p>When starting any home business, keeping initial
start-up cost to a minimum are very important. The number 1 mistake
entrepreneurs make when starting a new home business is acquiring debt.
With a resume business, your computer is your most important asset.</p><p>Once
you have a portion of your home designated to operate your business,
you can began thinking about how you are going to get clients. A great
way to start is with your local newspapers, yellowpages, and flyers.
While you don&#39;t have to keep your business local, it always helps to
start out my networking locally this way you have direct contact with
your customers.</p><p>Maintain great custom service as networking is
your best form of advertising. Happy clients tell their friends, who in
turn become customers. Keep yourself organized and maintain financial
records.</p><p>To Your Success
<a href="http://www.resume-business.com">http://www.resume-business.com</a></p><p>Michael Grimm&nbsp;</p><p>
	</p>
	<br>

------=_Part_920_105495.1199796692782--


