Date: Sun, 22 Jul 2007 08:32:02 GMT From: Andrew Turner <andrew@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 123885 for review Message-ID: <200707220832.l6M8W2hm031475@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd"> -<!--Generated with glade3 3.2.2 on Sun Jul 15 23:48:18 2007 by andrew@hermies.int.fubar.geek.nz--> +<!--Generated with glade3 3.2.2 on Sun Jul 22 15:49:07 2007 by andrew@hermies.int.fubar.geek.nz--> <glade-interface> <widget class="GtkWindow" id="facundWindow"> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> @@ -201,20 +201,41 @@ </widget> </child> <child> - <widget class="GtkHBox" id="hbox1"> + <widget class="GtkTable" id="table1"> <property name="visible">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="column_spacing">5</property> + <property name="row_spacing">5</property> + <child> + <widget class="GtkButton" id="deinstallButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">Remove</property> + <property name="response_id">0</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> + </packing> + </child> <child> - <widget class="GtkButton" id="connectButton"> + <widget class="GtkButton" id="installButton"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label" translatable="yes">Connect</property> + <property name="label" translatable="yes">Install</property> <property name="response_id">0</property> </widget> <packing> - <property name="padding">5</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> </packing> </child> <child> @@ -227,14 +248,24 @@ <property name="response_id">0</property> </widget> <packing> - <property name="padding">5</property> - <property name="position">1</property> + <property name="left_attach">1</property> + <property name="right_attach">2</property> </packing> </child> + <child> + <widget class="GtkButton" id="connectButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="label" translatable="yes">Connect</property> + <property name="response_id">0</property> + </widget> + </child> </widget> <packing> <property name="expand">False</property> - <property name="padding">10</property> + <property name="padding">5</property> <property name="position">1</property> </packing> </child> ==== //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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707220832.l6M8W2hm031475>