[pve-devel] [PATCH ha-manager 7/9] sim: add button to persist state to header bar

Maximiliano Sandoval m.sandoval at proxmox.com
Tue Oct 14 11:47:25 CEST 2025


Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
 src/PVE/HA/Sim/RTHardware.pm | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/PVE/HA/Sim/RTHardware.pm b/src/PVE/HA/Sim/RTHardware.pm
index 5b7c765..a9bba4b 100644
--- a/src/PVE/HA/Sim/RTHardware.pm
+++ b/src/PVE/HA/Sim/RTHardware.pm
@@ -48,7 +48,7 @@ sub new {
         $d->{lrm_env} = PVE::HA::Env->new('PVE::HA::Sim::RTEnv', $node, $self, 'lrm');
     }
 
-    $self->create_main_window();
+    $self->create_main_window($testdir);
 
     return $self;
 }
@@ -886,10 +886,26 @@ sub create_log_view {
 }
 
 sub create_main_window {
-    my ($self) = @_;
+    my ($self, $testdir) = @_;
+
+    my $title = 'Proxmox HA Simulator';
 
     my $window = Gtk3::Window->new();
-    $window->set_title("Proxmox HA Simulator");
+    $window->set_title($title);
+
+    my $save_button = Gtk3::Button->new('Save');
+    $save_button->signal_connect(
+        clicked => sub {
+            $self->save_state($testdir);
+        },
+    );
+
+    my $header_bar = Gtk3::HeaderBar->new();
+    $header_bar->pack_end($save_button);
+    $header_bar->set_title($title);
+    $header_bar->set_show_close_button(1);
+
+    $window->set_titlebar($header_bar);
 
     $window->signal_connect(destroy => sub { Gtk3::main_quit(); });
 
-- 
2.47.3





More information about the pve-devel mailing list