PERFORCE change 123885 for review
Andrew Turner
andrew at FreeBSD.org
Sun Jul 22 08:32:03 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=123885
Change 123885 by andrew at 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 at hermies.int.fubar.geek.nz-->
+<!--Generated with glade3 3.2.2 on Sun Jul 22 15:49:07 2007 by andrew at 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
More information about the p4-projects
mailing list