21
21
from gettext import gettext as _
22
from pkgview import PkgNamesView
24
class SimpleGladeDialog(object):
23
class SimpleGtkbuilderDialog(object):
25
24
def __init__(self, datadir):
27
26
self.builder = gtk.Builder()
35
34
print >> sys.stderr, "WARNING: can not get name for '%s'" % o
37
def confirm_remove(parent, datadir, primary, cache, button_text, icon_path, depends):
38
"""Confirm removing of the given app with the given depends"""
39
glade_dialog = SimpleGladeDialog(datadir)
40
dialog = glade_dialog.dialog_dependency_alert
41
dialog.set_resizable(True)
42
dialog.set_transient_for(parent)
43
dialog.set_default_size(360, -1)
45
# fixes launchpad bug #560021
46
pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(icon_path, 48, 48)
47
glade_dialog.image_package_icon.set_from_pixbuf(pixbuf)
49
glade_dialog.label_dependency_primary.set_text("<span font_weight=\"bold\" font_size=\"large\">%s</span>" % primary)
50
glade_dialog.label_dependency_primary.set_use_markup(True)
51
glade_dialog.button_dependency_do.set_label(button_text)
53
# add the dependencies
54
vbox = dialog.get_content_area()
55
# FIXME: make this a generic pkgview widget
56
view = PkgNamesView(_("Dependency"), cache, depends)
57
view.set_headers_visible(False)
58
# FIXME: work out how not to select?/focus?/activate? first item
59
glade_dialog.scrolledwindow_dependencies.add(view)
60
glade_dialog.scrolledwindow_dependencies.show_all()
64
if result == gtk.RESPONSE_ACCEPT:
68
37
def confirm_repair_broken_cache(parent, datadir):
69
glade_dialog = SimpleGladeDialog(datadir)
38
glade_dialog = SimpleGtkbuilderDialog(datadir)
70
39
dialog = glade_dialog.dialog_broken_cache
71
40
dialog.set_default_size(380, -1)
72
41
dialog.set_transient_for(parent)
134
103
if __name__ == "__main__":
135
104
print "Running remove dialog"
141
"To remove Package, these items must be removed as well",
144
"./data/icons/48x48/apps/softwarecenter.png",
147
107
print "Running broken apt-cache dialog"
148
108
confirm_repair_broken_cache(None, "./data")