summaryrefslogtreecommitdiff
path: root/geneticone/gui
diff options
context:
space:
mode:
Diffstat (limited to 'geneticone/gui')
-rw-r--r--geneticone/gui/main.py38
1 files changed, 33 insertions, 5 deletions
diff --git a/geneticone/gui/main.py b/geneticone/gui/main.py
index ea4309c..08655fb 100644
--- a/geneticone/gui/main.py
+++ b/geneticone/gui/main.py
@@ -13,6 +13,7 @@
# our backend stuff
import geneticone
+from geneticone import flags
# gtk stuff
import pygtk
@@ -214,11 +215,16 @@ class PackageWindow:
self.table.attach(buttonHB, 0, 2, 3, 4)
self.emergeBtn = gtk.Button("_Emerge")
- if not self.queue: self.emergeBtn.set_sensitive(False)
+ self.unmergeBtn = gtk.Button("_Unmerge")
+ if not self.queue:
+ self.emergeBtn.set_sensitive(False)
+ self.unmergeBtn.set_sensitive(False)
self.cancelBtn = gtk.Button("_Cancel")
self.cancelBtn.connect("clicked", lambda x: self.window.destroy())
self.emergeBtn.connect("clicked", self.cb_emerge_clicked)
+ self.unmergeBtn.connect("clicked", self.cb_unmerge_clicked)
buttonHB.pack_start(self.emergeBtn)
+ buttonHB.pack_start(self.unmergeBtn)
buttonHB.pack_start(self.cancelBtn)
# current status
@@ -243,8 +249,10 @@ class PackageWindow:
# set emerge-button-label
if not self.actual_package().is_installed():
self.emergeBtn.set_label("_Emerge")
+ self.unmergeBtn.set_sensitive(False)
else:
- self.emergeBtn.set_label("_Unmerge")
+ self.emergeBtn.set_label("R_emerge")
+ self.unmergeBtn.set_sensitive(True)
# refresh - make window as small as possible
self.table.show_all()
@@ -283,7 +291,10 @@ class PackageWindow:
def cb_button_pressed (self, b, event, data = None):
"""Callback for pressed checkboxes. Just quits the event-loop - no redrawing."""
- b.emit_stop_by_name("button-press-event")
+ print b
+ if not isinstance(b, gtk.CellRendererToggle):
+ b.emit_stop_by_name("button-press-event")
+ print "hallo"
return True
def cb_emerge_clicked (self, button, data = None):
@@ -293,11 +304,26 @@ class PackageWindow:
errorMB.run()
errorMB.destroy()
else:
- unmerge = self.actual_package().is_installed()
- self.queue.append(self.actual_package().get_cpv(), unmerge)
+ self.queue.append(self.actual_package().get_cpv(), False)
self.window.destroy()
return True
+ def cb_unmerge_clicked (self, button, data = None):
+ """Adds the package to the UnmergeQueue."""
+ if not geneticone.am_i_root():
+ errorMB = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "You cannot (un)merge without being root.")
+ errorMB.run()
+ errorMB.destroy()
+ else:
+ self.queue.append(self.actual_package().get_cpv(), True)
+ self.window.destroy()
+ return True
+
+ def cb_use_flag_toggled (self, cell, path, store, data = None):
+ store[path][0] = not store[path][0]
+ flags.set_use_flag(self.actual_package, store[path][1])
+ return True
+
def update_checkboxes (self):
"""Updates the checkboxes."""
self.installedCheck.set_active(self.actual_package().is_installed())
@@ -322,6 +348,8 @@ class PackageWindow:
view = gtk.TreeView(store)
cell = gtk.CellRendererText()
tCell = gtk.CellRendererToggle()
+ tCell.set_property("activatable", True)
+ tCell.connect("toggled", self.cb_use_flag_toggled, store)
view.append_column(gtk.TreeViewColumn("Enabled", tCell, active = 0))
view.append_column(gtk.TreeViewColumn("Flags", cell, text = 1))
view.append_column(gtk.TreeViewColumn("Description", cell, text = 2))
mit/portato/gui/templates/portato.glade?h=0.14&id=f9b5364f7e3c0443e06976edf3987b412e15bea9&follow=1'> r632@Devoty: necoro | 2008-01-14 23:44:52 +0100Necoro3-175/+181 2008-01-14(no commit message)Necoro10-758/+1014 2008-01-14 r621@Devoty: necoro | 2008-01-14 20:21:40 +0100Necoro2-21/+61 2008-01-14 r618@Devoty: necoro | 2008-01-14 20:19:05 +0100Necoro2-35/+57 2008-01-14 r617@Devoty: necoro | 2008-01-14 19:12:59 +0100Necoro2-10/+10 2008-01-14 r609@Devoty: necoro | 2008-01-14 17:04:38 +0100Necoro9-394/+477 2008-01-14 r605@Devoty: necoro | 2008-01-14 11:43:34 +0100Necoro2-26/+129 2008-01-14 r603@Devoty: necoro | 2008-01-14 11:30:26 +0100Necoro4-26/+38 2008-01-11 r598@Devoty: necoro | 2008-01-10 16:36:29 +0100Necoro4-10/+50 2008-01-11 r597@Devoty: necoro | 2008-01-10 14:12:35 +0100Necoro1-3/+3 2008-01-10 r595@Devoty: necoro | 2008-01-10 04:04:15 +0100Necoro1-52/+3 2008-01-09 r586@Devoty: necoro | 2008-01-09 14:54:18 +0100Necoro1-1/+1 2007-12-06 r577@Devoty: necoro | 2007-12-06 20:37:36 +0100Necoro1-1/+1 2007-12-06 r572@Devoty: necoro | 2007-11-28 08:48:15 +0100Necoro1-0/+1 2007-11-27 r570@Devoty: necoro | 2007-11-27 02:08:21 +0100Necoro3-84/+108