From owner-p4-projects@FreeBSD.ORG Sun Jul 22 08:32:02 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA50916A41F; Sun, 22 Jul 2007 08:32:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8546716A419 for ; Sun, 22 Jul 2007 08:32:02 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 715B713C428 for ; Sun, 22 Jul 2007 08:32:02 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6M8W2Yl031480 for ; Sun, 22 Jul 2007 08:32:02 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6M8W2hm031475 for perforce@freebsd.org; Sun, 22 Jul 2007 08:32:02 GMT (envelope-from andrew@freebsd.org) Date: Sun, 22 Jul 2007 08:32:02 GMT Message-Id: <200707220832.l6M8W2hm031475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 123885 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 08:32:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=123885 Change 123885 by andrew@andrew_hermies on 2007/07/22 08:31:13 Add an install and remove button the the GUI. They are not connected to anything yet Affected files ... .. //depot/projects/soc2007/andrew-update/frontend/facund-fe.glade#4 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/controller.py#3 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/gui/main_window.py#7 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/gui/update_model.py#2 edit Differences ... ==== //depot/projects/soc2007/andrew-update/frontend/facund-fe.glade#4 (text+ko) ==== @@ -1,6 +1,6 @@ - + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK @@ -201,20 +201,41 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 2 + 2 + 5 + 5 + + + True + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Remove + 0 + + + 1 + 2 + 1 + 2 + + - + True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Connect + Install 0 - 5 + 1 + 2 @@ -227,14 +248,24 @@ 0 - 5 - 1 + 1 + 2 + + + True + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Connect + 0 + + False - 10 + 5 1 ==== //depot/projects/soc2007/andrew-update/frontend/facund/controller.py#3 (text+ko) ==== @@ -40,6 +40,9 @@ def onComputerTreeSelect(self, position): computer = self.__computersModel.getComputer(position[0]) self.__view.setConnected(computer.getConnectionStatus()) + if computer.getConnectionStatus() is not True: + self.__view.setInstallable(False, False) + self.__currentComputer = computer if len(position) == 1: @@ -62,5 +65,13 @@ for update in pair[1].getData(): self.__updateModel.addUpdate(update) + if self.__updateModel.getSize() > 0: + if command == "Avaliable": + self.__view.setInstallable(True, False) + elif command == "Installed": + self.__view.setInstallable(False, True) + else: + self.__view.setInstallable(False, False) + def getCurrentComputer(self): return self.__currentComputer ==== //depot/projects/soc2007/andrew-update/frontend/facund/gui/main_window.py#7 (text+ko) ==== @@ -75,6 +75,14 @@ connectedButton.set_sensitive(not connected) disconnectedButton.set_sensitive(connected) + def setInstallable(self, installable, uninstallable): + installButton = self.__xml.get_widget('installButton') + installButton.set_sensitive(installable) + + deinstallButton = self.__xml.get_widget('deinstallButton') + deinstallButton.set_sensitive(uninstallable) + + def onConnectClick(self, widget): '''Signal handler for the connect button''' treeView = self.__xml.get_widget('computerView') @@ -83,6 +91,8 @@ self.setConnected(computer.getConnectionStatus()) self.__computerTreeModel.populateComputer(computer) + self.setInstallable(False, False) + def onDisconnectClick(self, widget): '''Signal handler for the connect button''' treeView = self.__xml.get_widget('computerView') @@ -91,6 +101,9 @@ self.setConnected(computer.getConnectionStatus()) self.__computerTreeModel.populateComputer(computer) + # Disable the install/remove buttons + self.setInstallable(False, False) + def onSelectComputer(self, widget): '''Signal handler for when the selected item is changed''' cursor = widget.get_cursor() ==== //depot/projects/soc2007/andrew-update/frontend/facund/gui/update_model.py#2 (text+ko) ==== @@ -31,11 +31,17 @@ '''A model used to display a list of updates to the user''' def __init__(self): gtk.TreeStore.__init__(self, gobject.TYPE_STRING) + self.__size = 0 def addUpdate(self, item): name = item.getData() iter = self.append(None) self.set(iter, 0, name) + self.__size += 1 def empty(self): + self.__size = 0 self.clear() + + def getSize(self): + return self.__size