~ubuntu-branches/ubuntu/precise/sessioninstaller/precise-updates

« back to all changes in this revision

Viewing changes to sessioninstaller/backends/aptd.py

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2011-11-14 15:26:01 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20111114152601-nzu9ohmut718p5m4
Tags: 0.20+bzr123-0ubuntu1
* New upstream snapshot:
  - Port to PyGI and GTK 3. (LP: #801202)
* debian/control: Move Vcs-Bzr: to precise branch.
* debian/control: C/R/P: gnome-codec-install, to clean this up on upgrades.
  session-installer is the preferred UI now.
* debian/control: Update dependencies for PyGI/GTK 3 port.
* debian/control: Bump Standards-Version to 3.9.2 (no changes necessary).

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
 
24
24
__author__ = "Sebastian Heinlein <devel@glatzor.de>"
25
25
 
26
 
import gtk
 
26
from gi.repository import Gtk
27
27
 
28
28
from aptdaemon import enums
29
29
import defer
30
30
import aptdaemon.client
31
31
import aptdaemon.errors
32
 
import aptdaemon.gtkwidgets
 
32
import aptdaemon.gtk3widgets
33
33
 
34
34
import sessioninstaller.errors
35
35
 
43
43
 
44
44
    def _run_trans(self, trans, parent, interaction):
45
45
        deferred = defer.Deferred()
46
 
        dia = aptdaemon.gtkwidgets.AptProgressDialog(trans)
 
46
        dia = aptdaemon.gtk3widgets.AptProgressDialog(trans)
47
47
        dia.connect("finished", lambda x: deferred.callback())
48
48
        if parent:
49
49
            dia.realize()
50
 
            dia.window.set_transient_for(parent)
 
50
            dia.set_transient_for(parent)
51
51
        dia.run(close_on_finished=True, show_error=True,
52
52
                reply_handler=lambda: True,
53
53
                error_handler=deferred.errback)
62
62
    def _confirm_deps(self, trans, parent, interaction):
63
63
        if not [pkgs for pkgs in trans.dependencies if pkgs]:
64
64
            return trans
65
 
        dia = aptdaemon.gtkwidgets.AptConfirmDialog(trans)
 
65
        dia = aptdaemon.gtk3widgets.AptConfirmDialog(trans)
66
66
        if parent:
67
67
            dia.realize()
68
 
            dia.window.set_transient_for(parent)
 
68
            dia.set_transient_for(parent)
69
69
        res = dia.run()
70
70
        dia.hide()
71
 
        if res == gtk.RESPONSE_OK:
 
71
        if res == Gtk.ResponseType.OK:
72
72
            return trans
73
73
        raise sessioninstaller.errors.ModifyCancelled
74
74
 
75
75
    def install_packages(self, xid, package_names, interaction):
76
76
        deferred = defer.Deferred()
77
 
        parent = gtk.gdk.window_foreign_new(xid)
 
77
        parent = None # should get from XID, but removed from Gdk 3
78
78
        self.ac.install_packages(package_names, reply_handler=deferred.callback,
79
79
                                 error_handler=deferred.errback)
80
80
        deferred.add_callback(self._simulate_trans, parent, interaction)
85
85
 
86
86
    def install_package_files(self, xid, files, interaction):
87
87
        deferred = defer.Deferred()
88
 
        parent = gtk.gdk.window_foreign_new(xid)
 
88
        parent = None # should get from XID, but removed from Gdk 3
89
89
        #FIXME: Add support for installing serveral files at the same time
90
90
        self.ac.install_file(files[0], reply_handler=deferred.callback,
91
91
                             error_handler=deferred.errback)
97
97
 
98
98
    def remove_packages(self, xid, package_names, interaction):
99
99
        deferred = defer.Deferred()
100
 
        parent = gtk.gdk.window_foreign_new(xid)
 
100
        parent = None # should get from XID, but removed from Gdk 3
101
101
        self.ac.remove_packages(package_names, reply_handler=deferred.callback,
102
102
                                error_handler=deferred.errback)
103
103
        deferred.add_callback(self._simulate_trans, parent, interaction)
120
120
        except Exception, error:
121
121
            error = aptdaemon.errors.TransactionFailed(enums.ERROR_UNKNOWN,
122
122
                                                       str(error))
123
 
        dia = aptdaemon.gtkwidgets.AptErrorDialog(error)
 
123
        dia = aptdaemon.gtk3widgets.AptErrorDialog(error)
124
124
        if parent:
125
125
            dia.realize()
126
 
            dia.window.set_transient_for(parent)
 
126
            dia.set_transient_for(parent)
127
127
        dia.run()
128
128
        dia.hide()
129
129
        msg = "%s - %s\n%s" % (enums.get_error_string_from_enum(error.code),