From 78b59da119353d3c6f30ba364eb3328e62b3b37a Mon Sep 17 00:00:00 2001 From: MAL Date: Tue, 22 Aug 2023 15:25:50 +0200 Subject: [PATCH] add shortcuts for navigation : Create / Keypairs --- osc_tui/mainForm.py | 45 +++++++++++++++++++++++++++++++++++++++++---- osc_tui/popup.py | 21 +++++++++++++++++++-- 2 files changed, 60 insertions(+), 6 deletions(-) diff --git a/osc_tui/mainForm.py b/osc_tui/mainForm.py index 536d43b..b1e4e02 100644 --- a/osc_tui/mainForm.py +++ b/osc_tui/mainForm.py @@ -178,10 +178,10 @@ def actionHighlighted(self, act_on_this, key_press): elif MODE == 'Nets': if act_on_this == 'Create new': self.form.parentApp.addForm( - "CREATE_VPCs", - createVpcs.createVpcs, + "CREATE_VPCS", + createVpcs.CreateVpcs, name="osc-tui") - self.form.parentApp.switchForm("CREATE_VPCs") + self.form.parentApp.switchForm("CREATE_VPCS") return elif MODE == 'Images': if act_on_this == 'Filter': @@ -331,6 +331,36 @@ def build_line(size): rely=2, ) + def create_new(self, _): + global MODE + if MODE == "Vms": + self.parentApp.addForm("CREATE_VM", createVm.CreateVm, name="osc-tui") + self.parentApp.switchForm("CREATE_VM") + elif MODE == "Security": + popup.newSecurityGroup(self) + elif MODE == "Volumes": + self.parentApp.addForm("CREATE_VOLUME", createVolume.CreateVolume, name="osc-tui") + self.parentApp.switchForm("CREATE_VOLUME") + elif MODE == "Snapshots": + self.parentApp.addForm("CREATE_SNAPSHOT", createSnapshot.CreateSnapshot, name="osc-tui") + self.parentApp.switchForm("CREATE_SNAPSHOT") + elif MODE == "Keypairs": + self.parentApp.addForm("CREATE_KEYPAIR", createKeyPair.CreateKeyPair, name="osc-tui") + self.parentApp.switchForm("CREATE_KEYPAIR") + elif MODE == "Images": + self.parentApp.addForm("CREATE_Images", createImage.CreateImage, name="osc-tui") + self.parentApp.switchForm("CREATE_Images") + elif MODE == "LoadBalancers": + self.parentApp.addForm("CREATE_LOADBALANCER", createLoadbalancer.CreateLoadbalancer, name="osc-tui") + self.parentApp.switchForm("CREATE_LOADBALANCER") + elif MODE == "Nets": + self.parentApp.addForm("CREATE_VPCS", createVpcs.CreateVpcs, name="osc-tui") + self.parentApp.switchForm("CREATE_VPCS") + elif MODE == "NetAccessPoints": + self.parentApp.addForm("CREATE_NET-ACCESS-POINT", createNetAccessPoint.CreateNetAccessPoint, name="osc-tui") + self.parentApp.switchForm("CREATE_NET-ACCESS-POINT") + + def on_screen(self): super().on_screen() @@ -376,6 +406,11 @@ def switch_to_nets(self, _): global MODE MODE = "Nets" self.reload() + + def switch_to_keypairs(self, _): + global MODE + MODE = "Keypairs" + self.reload() def set_up_handlers(self): super().set_up_handlers() @@ -383,11 +418,13 @@ def set_up_handlers(self): self.add_handlers({"^Q": quit}) self.add_handlers({"h": popup.showHelp}) self.add_handlers({"/": popup.slashSearch}) + self.add_handlers({"C": self.create_new}) self.add_handlers({"V": self.switch_to_volumes}) self.add_handlers({"I": self.switch_to_instances}) self.add_handlers({"M": self.switch_to_images}) self.add_handlers({"S": self.switch_to_security_grid}) - self.add_handlers({"N": self.switch_to_nets}) + self.add_handlers({"T": self.switch_to_nets}) + self.add_handlers({"K": self.switch_to_keypairs}) self.add_handlers({ "r" : self.key_reload, curses.KEY_F5 : self.key_reload diff --git a/osc_tui/popup.py b/osc_tui/popup.py index eb7f72f..2598043 100644 --- a/osc_tui/popup.py +++ b/osc_tui/popup.py @@ -819,7 +819,7 @@ def capsule(): " |/\n" + " +\n", - r" \| \n" + + " \| \n" + " +\n", " \\ \n" + @@ -1067,11 +1067,13 @@ def showHelp(arg): "Refresh : F5 or r", "Search in Fields : /", "search in Menu : l", - "Help : h\n", + "Help : h", "Switch to Vms : I", "Switch to Volumes : V", "Switch to Images : M", "Switch to Security : S", + "Switch to Nets : T", + "Switch to Keypairs : K\n", ] def ok(): @@ -1079,3 +1081,18 @@ def ok(): F.on_ok = ok F.edit() + +def errorPopup(message): + F = displayPopup(name = "Error") + F.preserve_selected_widget = True + + ft = F.add_widget( + oscscreen.Pager, + ) + ft.values = [message] + + def ok(): + exit() + + F.on_ok = ok + F.edit()