close any dialog open for an interface that is deleted
This commit is contained in:
parent
c69b89b4df
commit
e91308e8b9
|
@ -37,6 +37,7 @@ from subiquitycore.ui.container import (
|
||||||
Pile,
|
Pile,
|
||||||
WidgetWrap,
|
WidgetWrap,
|
||||||
)
|
)
|
||||||
|
from subiquitycore.ui.stretchy import StretchyOverlay
|
||||||
from subiquitycore.ui.table import ColSpec, TablePile, TableRow
|
from subiquitycore.ui.table import ColSpec, TablePile, TableRow
|
||||||
from subiquitycore.ui.utils import (
|
from subiquitycore.ui.utils import (
|
||||||
button_pile,
|
button_pile,
|
||||||
|
@ -74,26 +75,11 @@ class ApplyingConfigWidget(WidgetWrap):
|
||||||
self.cancel_func()
|
self.cancel_func()
|
||||||
|
|
||||||
|
|
||||||
def _build_wifi_info(dev):
|
def _stretchy_shower(cls, *args):
|
||||||
r = []
|
def impl(self, device):
|
||||||
if dev.actual_ssid is not None:
|
self.show_stretchy_overlay(cls(self, device, *args))
|
||||||
if dev.configured_ssid is not None:
|
impl.opens_dialog = True
|
||||||
if dev.actual_ssid != dev.configured_ssid:
|
return impl
|
||||||
r.append(
|
|
||||||
Text(_("Associated to '%s', will "
|
|
||||||
"associate to '%s'" % (dev.actual_ssid,
|
|
||||||
dev.configured_ssid))))
|
|
||||||
else:
|
|
||||||
r.append(Text(_("Associated to '%s'" % dev.actual_ssid)))
|
|
||||||
else:
|
|
||||||
r.append(Text(_("No access point configured, but associated "
|
|
||||||
"to '%s'" % dev.actual_ssid)))
|
|
||||||
else:
|
|
||||||
if dev.configured_ssid is not None:
|
|
||||||
r.append(Text(_("Will associate to '%s'" % dev.configured_ssid)))
|
|
||||||
else:
|
|
||||||
r.append(Text(_("No access point configured")))
|
|
||||||
return r
|
|
||||||
|
|
||||||
|
|
||||||
class NetworkView(BaseView):
|
class NetworkView(BaseView):
|
||||||
|
@ -139,20 +125,11 @@ class NetworkView(BaseView):
|
||||||
done = done_btn(_("Done"), on_press=self.done)
|
done = done_btn(_("Done"), on_press=self.done)
|
||||||
return button_pile([done, back])
|
return button_pile([done, back])
|
||||||
|
|
||||||
def _action_INFO(self, device):
|
_action_INFO = _stretchy_shower(ViewInterfaceInfo)
|
||||||
self.show_stretchy_overlay(ViewInterfaceInfo(self, device))
|
_action_EDIT_WLAN = _stretchy_shower(NetworkConfigureWLANStretchy)
|
||||||
|
_action_EDIT_IPV4 = _stretchy_shower(EditNetworkStretchy, 4)
|
||||||
def _action_EDIT_WLAN(self, device):
|
_action_EDIT_IPV6 = _stretchy_shower(EditNetworkStretchy, 6)
|
||||||
self.show_stretchy_overlay(NetworkConfigureWLANStretchy(self, device))
|
_action_ADD_VLAN = _stretchy_shower(AddVlanStretchy)
|
||||||
|
|
||||||
def _action_EDIT_IPV4(self, device):
|
|
||||||
self.show_stretchy_overlay(EditNetworkStretchy(self, device, 4))
|
|
||||||
|
|
||||||
def _action_EDIT_IPV6(self, device):
|
|
||||||
self.show_stretchy_overlay(EditNetworkStretchy(self, device, 6))
|
|
||||||
|
|
||||||
def _action_ADD_VLAN(self, device):
|
|
||||||
self.show_stretchy_overlay(AddVlanStretchy(self, device))
|
|
||||||
|
|
||||||
def _action_DELETE(self, device):
|
def _action_DELETE(self, device):
|
||||||
self.controller.rm_virtual_interface(device)
|
self.controller.rm_virtual_interface(device)
|
||||||
|
@ -216,6 +193,10 @@ class NetworkView(BaseView):
|
||||||
netdev_i = self.cur_netdevs.index(dev)
|
netdev_i = self.cur_netdevs.index(dev)
|
||||||
self.device_table.remove_rows(3*netdev_i, 3*(netdev_i+1))
|
self.device_table.remove_rows(3*netdev_i, 3*(netdev_i+1))
|
||||||
del self.cur_netdevs[netdev_i]
|
del self.cur_netdevs[netdev_i]
|
||||||
|
if isinstance(self._w, StretchyOverlay):
|
||||||
|
stretchy = self._w.stretchy
|
||||||
|
if getattr(stretchy, 'device', None) is dev:
|
||||||
|
self.remove_overlay()
|
||||||
|
|
||||||
def _rows_for_device(self, dev, netdev_i=None):
|
def _rows_for_device(self, dev, netdev_i=None):
|
||||||
if netdev_i is None:
|
if netdev_i is None:
|
||||||
|
@ -225,8 +206,10 @@ class NetworkView(BaseView):
|
||||||
actions = []
|
actions = []
|
||||||
for action in NetDevAction:
|
for action in NetDevAction:
|
||||||
meth = getattr(self, '_action_' + action.name)
|
meth = getattr(self, '_action_' + action.name)
|
||||||
|
opens_dialog = getattr(meth, 'opens_dialog', False)
|
||||||
if dev.supports_action(action):
|
if dev.supports_action(action):
|
||||||
actions.append((_(action.value), True, (action, meth), True))
|
actions.append(
|
||||||
|
(_(action.value), True, (action, meth), opens_dialog))
|
||||||
menu = ActionMenu(actions)
|
menu = ActionMenu(actions)
|
||||||
connect_signal(menu, 'action', self._action, dev)
|
connect_signal(menu, 'action', self._action, dev)
|
||||||
row = make_action_menu_row([
|
row = make_action_menu_row([
|
||||||
|
|
Loading…
Reference in New Issue