def __init__(self, parent): """ Constructor. Positional arguments: parent -- Parent window of this dialog """ Gtk.Dialog.__init__(self) self.parent = parent builder = Gtk.Builder() builder.set_translation_domain("cournal") builder.add_from_file( os.path.join(cournal.__path__[0], "connectiondialog.glade")) grid = builder.get_object("grid_main") self.multipage = builder.get_object("multipage") self.error_label = builder.get_object("error_label") self.server_details = ServerDetails(self, builder) self.connecting_page = ConnectingPage(self, builder) self.document_chooser = DocumentChooser(self) self.get_content_area().add(grid) self.multipage.append_page(self.server_details, None) self.multipage.append_page(self.connecting_page, None) self.multipage.append_page(self.document_chooser, None) self.set_modal(False) self.set_has_resize_grip(False) self.set_resizable(False) self.set_title(_("Connect to Server")) self.set_transient_for(parent) self.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL) self.add_button(Gtk.STOCK_CONNECT, Gtk.ResponseType.ACCEPT) self.set_default_response(Gtk.ResponseType.ACCEPT) self.set_page(0) self.connect("response", self.response) self.server_details.connect("connecting", self.show_connecting_page) self.server_details.connect( "connected", lambda x: self.document_chooser.get_document_list()) self.server_details.connect("connection_failed", lambda x: self.set_page(0)) self.document_chooser.connect("got_document_list", lambda x: self.set_page(2)) self.document_chooser.connect("joining_document", self.show_joining_document_page) self.document_chooser.connect("joined_document", lambda x: self.destroy())