예제 #1
0
    def on_apply(self):

        if self.on_query_apply_state():
            logging.info("network apply")

            m = Mechanism()
            nap_enable = self.Builder.get_object("nap-enable")
            if nap_enable.props.active:

                if self.Builder.get_object("r_dhcpd").props.active:
                    stype = "DhcpdHandler"
                elif self.Builder.get_object("r_dnsmasq").props.active:
                    stype = "DnsMasqHandler"
                elif self.Builder.get_object("r_udhcpd").props.active:
                    stype = "UdhcpdHandler"

                net_ip = self.Builder.get_object("net_ip")

                try:
                    m.EnableNetwork('(ayays)', inet_aton(net_ip.props.text), inet_aton("255.255.255.0"), stype)

                    if not self.Config["nap-enable"]:
                        self.Config["nap-enable"] = True
                except Exception as e:
                    d = ErrorDialog("<b>Failed to apply network settings</b>",
                                    excp=e, parent=self.widget.get_toplevel())

                    d.run()
                    d.destroy()
                    return
            else:
                self.Config["nap-enable"] = False
                m.DisableNetwork()

            self.clear_options()
예제 #2
0
    def on_apply(self) -> None:

        if self.on_query_apply_state():
            logging.info("network apply")

            m = Mechanism()
            nap_enable = self._builder.get_widget("nap-enable",
                                                  Gtk.CheckButton)
            if nap_enable.props.active:

                if self._builder.get_widget("r_dhcpd",
                                            Gtk.RadioButton).props.active:
                    stype = "DhcpdHandler"
                elif self._builder.get_widget("r_dnsmasq",
                                              Gtk.RadioButton).props.active:
                    stype = "DnsMasqHandler"
                elif self._builder.get_widget("r_udhcpd",
                                              Gtk.RadioButton).props.active:
                    stype = "UdhcpdHandler"

                net_ip = self._builder.get_widget("net_ip", Gtk.Entry)

                try:
                    m.EnableNetwork('(sss)', net_ip.props.text,
                                    "255.255.255.0", stype)

                    if not self.Config["nap-enable"]:
                        self.Config["nap-enable"] = True
                except Exception as e:
                    parent = self.widget.get_toplevel()
                    assert isinstance(parent, Gtk.Container)
                    d = ErrorDialog("<b>Failed to apply network settings</b>",
                                    excp=e,
                                    parent=parent)

                    d.run()
                    d.destroy()
                    return
            else:
                self.Config["nap-enable"] = False
                m.DisableNetwork()

            self.clear_options()