diff options
-rw-r--r-- | drakpxelinux.pl | 78 |
1 files changed, 37 insertions, 41 deletions
diff --git a/drakpxelinux.pl b/drakpxelinux.pl index 2498eac..9c689c9 100644 --- a/drakpxelinux.pl +++ b/drakpxelinux.pl @@ -798,7 +798,8 @@ sub add_columns { my $mac_regexp = '(?:[0-9a-f]{2}:){5}[0-9a-f]{2}'; my $profiles_conf = network::pxe::read_profiles(); -my $systems = Gtk2::SimpleList->new(N("MAC address") => 'text', +my $systems = Gtk2::SimpleList->new( + N("MAC address") => 'text', N("Installed") => 'bool', N("System") => 'text', ); @@ -968,12 +969,37 @@ gtkpack($w->{window}, if_($::isEmbedded, Gtk2::Label->new("Here you can manage your PXE server.")), gtknew('Notebook', children => [ gtknew('Label', text => N("PXE configuration file")), - gtknew('HBox', spacing => 0, - children => [ - 1, gtknew('ScrolledWindow', width => 500, height => 300, child => $treeview), - 0, gtknew('VBox', + gtknew('VBox', spacing => 0, children => [ + 1, gtknew('HBox', spacing => 0, children => [ + 1, gtknew('ScrolledWindow', width => 500, height => 300, child => $treeview), + 0, gtknew('VBox', children_loose => [ + gtknew('ScrolledWindow', child => $profiles), + gtknew('VButtonBox', children_loose => [ + gtksignal_connect(gtknew('Button', text => N("Add profile")), clicked => \&add_profile), + gtksignal_connect(gtknew('Button', text => N("Clone profile")), clicked => sub { + network::pxe::clone_profile($profiles_conf, $profiles->{data}[$_][0]) foreach $profiles->get_selected_indices; + refresh_profiles(); + }), + gtksignal_connect(gtknew('Button', text => N("Remove profile")), clicked => sub { + network::pxe::remove_profile($profiles_conf, $profiles->{data}[$_][0]) foreach $profiles->get_selected_indices; + refresh_profiles(); + }), + ]), + gtknew('HSeparator'), + gtknew('VButtonBox', children_loose => [ + gtksignal_connect($install_button = gtknew('Button', text => N("Edit installation settings")), clicked => sub { + run_program::raw({ detach => 1 }, 'drakpxelinux', '--type=install', '--profile=' . $profiles->{data}[$_][0]) foreach $profiles->get_selected_indices; + }), + gtksignal_connect(gtknew('Button', text => N("Edit boot settings")), clicked => sub { + run_program::raw({ detach => 1 }, 'drakpxelinux', '--type=boot', '--profile=' . $profiles->{data}[$_][0]) foreach $profiles->get_selected_indices; + }), + ]), + ]), + ] + ), + 0, gtknew('HBox', children => [ - 0, gtknew('VButtonBox', children_loose => [ + 0, gtknew('HButtonBox', children_loose => [ gtksignal_connect(set_help_tip(Gtk2::Button->new(N("Add PXE entry")), 'addpxe'), clicked => sub { eval { wizard_add_entry($model, $treeview) }; my $err = $@; @@ -988,13 +1014,13 @@ gtkpack($w->{window}, edit_box_item($model, $treeview) }), gtksignal_connect(set_help_tip(Gtk2::Button->new(N("Apply")), 'apply'), clicked => sub { write_conf }), ],), - 0, gtknew('HSeparator'), - 0, gtknew('VButtonBox', children_loose => [ + 0, gtknew('VSeparator'), + 0, gtknew('HButtonBox', children_loose => [ gtknew('Label', text => N("Default boot:")), $labelscombo, ]), - 0, gtknew('HSeparator'), - 0, gtknew('VButtonBox', children_loose => [ + 0, gtknew('VSeparator'), + 0, gtknew('HButtonBox', children_loose => [ gtksignal_connect(set_help_tip(Gtk2::Button->new(N("Reconfigure PXE Server")), 'wizardsrv'), clicked => sub { eval { wizard_pxe_server() }; my $err = $@; @@ -1008,37 +1034,7 @@ gtkpack($w->{window}, gtksignal_connect(new Gtk2::Button(N("Help")), clicked => \&show_help), ]), ]), - ]), - gtknew('Label', text => N("Profiles")), - gtknew('HBox', spacing => 1, - children_loose => [ - gtknew('ScrolledWindow', child => $profiles), - gtknew('VBox', - children_loose => [ - gtknew('VButtonBox', children_loose => [ - gtksignal_connect(gtknew('Button', text => N("Add profile")), clicked => \&add_profile), - gtksignal_connect(gtknew('Button', text => N("Clone profile")), clicked => sub { - network::pxe::clone_profile($profiles_conf, $profiles->{data}[$_][0]) foreach $profiles->get_selected_indices; - refresh_profiles(); - }), - gtksignal_connect(gtknew('Button', text => N("Remove profile")), clicked => sub { - network::pxe::remove_profile($profiles_conf, $profiles->{data}[$_][0]) foreach $profiles->get_selected_indices; - refresh_profiles(); - }), - ]), - gtknew('HSeparator'), - gtknew('VButtonBox', children_loose => [ - gtksignal_connect($install_button = gtknew('Button', text => N("Edit installation settings")), clicked => sub { - run_program::raw({ detach => 1 }, 'drakpxelinux', '--type=install', '--profile=' . $profiles->{data}[$_][0]) foreach $profiles->get_selected_indices; - }), - gtksignal_connect(gtknew('Button', text => N("Edit boot settings")), clicked => sub { - run_program::raw({ detach => 1 }, 'drakpxelinux', '--type=boot', '--profile=' . $profiles->{data}[$_][0]) foreach $profiles->get_selected_indices; - }), - ]), - ]), - ]), - - + ]), gtknew('Label', text => N("Systems")), gtknew('VBox', spacing => 1, children => [ |