1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
from iw_gui import *
from gtk import *
from translate import _, N_
class UnresolvedDependenciesWindow (InstallWindow):
windowTitle = N_("Unresolved Dependencies")
htmlTag = "depend"
def __init__ (self, ics):
InstallWindow.__init__ (self, ics)
self.dependRB = None
self.causeRB = None
def getPrev (self):
self.comps.setSelectionState(self.origSelection)
def updateSize (self, *args):
self.sizelabel.set_text (_("Total install size: %s") % self.comps.sizeStr())
def installToggled (self, widget, *args):
self.comps.selectDepCause (self.deps)
if widget.get_active ():
self.comps.selectDeps (self.deps)
else:
self.comps.unselectDeps (self.deps)
self.updateSize ()
def causeToggled (self, widget, *args):
if widget.get_active ():
self.comps.unselectDepCause (self.deps)
else:
self.comps.selectDepCause (self.deps)
self.updateSize ()
def ignoreToggled (self, widget, *args):
if widget.get_active ():
self.comps.selectDepCause (self.deps)
self.comps.unselectDeps (self.deps)
self.updateSize ()
#UnresolvedDependenciesWindow tag="depend"
def getScreen (self, comps, deps):
self.deps = deps
self.comps = comps
sw = GtkScrolledWindow ()
sw.set_border_width (5)
sw.set_policy (POLICY_AUTOMATIC, POLICY_AUTOMATIC)
list = GtkCList (2, (_("Package"), _("Requirement")))
list.freeze ()
for (name, suggest) in self.deps:
list.append ((name, suggest))
list.columns_autosize ()
list.thaw ()
sw.add (list)
# assume things will be selected -- that matches our default
self.origSelection = self.comps.getSelectionState()
self.comps.selectDeps (self.deps)
self.sizelabel = GtkLabel()
self.sizelabel.set_alignment (1, .5)
self.updateSize()
rb = GtkVBox (FALSE)
self.dependRB = GtkRadioButton (None, _("Install packages to "
"satisfy dependencies"))
self.causeRB = GtkRadioButton (self.dependRB, _("Do not install "
"packages that "
"have dependencies"))
self.ignoreRB = GtkRadioButton (self.dependRB, _("Ignore package "
"dependencies"))
rb.pack_start (self.dependRB)
rb.pack_start (self.causeRB)
rb.pack_start (self.ignoreRB)
rb.pack_start (self.sizelabel)
self.dependRB.set_active (1)
self.dependRB.connect('toggled', self.installToggled)
self.causeRB.connect('toggled', self.causeToggled)
self.ignoreRB.connect('toggled', self.ignoreToggled)
box = GtkVBox (FALSE, 5)
box.pack_start (sw, TRUE)
box.pack_start (rb, FALSE)
return box
|