summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xperl-install/standalone/drakbackup179
1 files changed, 131 insertions, 48 deletions
diff --git a/perl-install/standalone/drakbackup b/perl-install/standalone/drakbackup
index 57ee04105..1397d2865 100755
--- a/perl-install/standalone/drakbackup
+++ b/perl-install/standalone/drakbackup
@@ -115,6 +115,8 @@ my $cd_devive_entry;
my $custom_help;
my $button_box;
my $button_box_tmp;
+my $next_widget;
+my @system_state;
# config. FILES -> Default PATH & Global variables.
@@ -1048,27 +1050,54 @@ sub do_restore_backend {
print "End of restore\n";
}
+
+
+sub system_state {
+ @system_state = ();
+
+ read_conf_file();
+
+ $backup_sys or push @system_state, _("Do not include System Files");
+ if ($option_replace) { push @system_state, _("Replace backups (do not update)"); }
+ else { push @system_state, _("Update backups (do not replace)"); }
+ if ($comp_mode) { push @system_state, _("Backups use tar and bzip2 "); }
+ else { push @system_state, _("Backups use tar and gzip"); }
+ if ($cfg_file_exist) {
+ push @system_state, _("Backup Sources: \n-System Files: @sys_files \n-Users Files: @user_list\n-Other Files to backup: @list_other\nPath to save backups: $save_path\n");}
+ else {@system_state = _("No configuration please click Wizard or Advanced.")}
+}
+
sub do_restore {
my $do_restore;
+ my $button_restore;
+ my $text = new Gtk::Text(undef, undef);
+ system_state();
+ gtktext_insert($text, $_) foreach @system_state;
+ restore_button_box_main();
+ if ($cfg_file_exist) {
+ $button_restore = gtksignal_connect(new Gtk::Button(_(" Restore ")), clicked => sub {
+ do_restore_backend();
+ }),
+ } else {
+ $button_restore = gtksignal_connect(new Gtk::Button(_(" return to main menu ")), clicked => sub {
+ ${$central_widget}->destroy(); interactive_mode_box();
+ }),
+ }
gtkpack($advanced_box,
$do_restore = gtkpack_(new Gtk::VBox(0,10),
1, new Gtk::VBox(0,10),
+ 1, createScrolledWindow($text),
1, gtkpack(new Gtk::HBox(0,10),
- new Gtk::VBox(0,10),
- gtksignal_connect(new Gtk::Button(_(" Restore ")), clicked => sub {
- do_restore_backend(); }),
- new Gtk::VBox(0,10),
- ),
+ new Gtk::VBox(0,10),
+ $button_restore,
+ new Gtk::VBox(0,10),
+ ),
1, new Gtk::VBox(0,10),
- 0, gtkpack_(new Gtk::HBox(0,10),
- 0, gtksignal_connect(new Gtk::Button(_(" Previous ")), clicked => sub {
- ${$central_widget}->destroy();
- restore_step2();
- }),
- ),
),
);
+ $custom_help = "restore";
+ $current_widget = \&do_restore;
$central_widget = \$do_restore;
$up_box->show_all();
}
@@ -1106,7 +1135,8 @@ sub restore_step_other {
my $ref = $_->[1];
gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
}
-
+ $custom_help = "restore";
+ $current_widget = \&restore_step_other;
$central_widget = \$retore_step_other;
$up_box->show_all();
}
@@ -1155,6 +1185,8 @@ sub restore_step_user {
),
),
);
+ $custom_help = "restore";
+ $current_widget = \&restore_step_user;
$central_widget = \$retore_step_user;
$up_box->show_all();
}
@@ -1189,6 +1221,8 @@ sub restore_step_sys {
),
),
);
+ $custom_help = "restore";
+ $current_widget = \&restore_step_sys;
$central_widget = \$retore_step_sys;
$up_box->show_all();
}
@@ -1220,7 +1254,15 @@ sub restore_step2 {
my $ref = $_->[1];
gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
}
- restore_button_box();
+
+# if ($restore_sys && $backup_sys_cvs) { $next_widget = \&restore_step_sys; }
+# elsif ($restore_user) { $next_widget = \&restore_step_user;}
+# elsif ($restore_other){ $next_widget = \&restore_step_other;}
+# else{ $next_widget = \&do_restore;}
+ $next_widget = \&do_restore;
+ $custom_help = "restore";
+ $previous_widget =\&restore_box;
+ $current_widget = \&restore_step2;
$central_widget = \$retore_step2;
$up_box->show_all();
}
@@ -1237,19 +1279,23 @@ sub restore_box {
@user_list_to_restore = @user_backuped;
if ($other_backuped || $sys_backuped || @user_backuped) {
gtkpack($advanced_box,
- $retore_box = gtkpack_(new Gtk::VBox(0,1),
- 1, new Gtk::HBox(0,10),
+ $retore_box = gtkpack_(new Gtk::HBox(0,1),
+ 1, new Gtk::VBox(0,10),
1, gtkpack_(new Gtk::VBox(0,10),
+ 1, new Gtk::VBox(0,10),
1, gtksignal_connect(new Gtk::Button(_("Restore all backups (last)")),
- clicked => sub { $retore_box->destroy();
+ clicked => sub { $retore_box->destroy();
+ restore_button_box();
$restore_sys = 1;
$restore_other = 1;
$restore_user = 1;
do_restore(); }),
1, gtksignal_connect(new Gtk::Button(_("Custom Restore")),
- clicked => sub { $retore_box->destroy();
+ clicked => sub { $retore_box->destroy();
+ restore_button_box();
restore_step2();
}),
+ 1, new Gtk::VBox(0,10),
),
1, new Gtk::HBox(0,10),
),
@@ -1270,7 +1316,12 @@ sub restore_box {
)
);
}
- $custom_help = "retore";
+
+# if ($restore_sys && $backup_sys_cvs) { $next_widget = \&restore_step_sys; }
+# elsif ($restore_user) { $next_widget = \&restore_step_user();}
+# elsif ($restore_other){ $next_widget = \&restore_step_other();}
+# else{ $next_widget = \&do_restore();}
+ $custom_help = "restore";
$current_widget = \&restore_box;
$central_widget = \$retore_box;
$up_box->show_all();
@@ -1302,7 +1353,9 @@ sub restore_button_box_main {
gtksignal_connect(new Gtk::Button(_(" Cancel ")), clicked => sub {
${$central_widget}->destroy(); interactive_mode_box(); }),
gtksignal_connect(new Gtk::Button(_(" Help ")), clicked => sub {
- ${$central_widget}->destroy(); adv_help();}),
+ ${$central_widget}->destroy();
+ adv_help(\&$current_widget,$custom_help);
+ }),
),
),
);
@@ -1313,17 +1366,43 @@ sub restore_button_box {
$button_box_tmp->destroy();
gtkpack($button_box,
$button_box_tmp = gtkpack_(new Gtk::HButtonBox,
- 1, gtksignal_connect(new Gtk::Button(_(" Cancel ")), clicked => sub {
- ${$central_widget}->destroy(); interactive_mode_box(); }),
- 1, gtksignal_connect(new Gtk::Button(_(" Help ")), clicked => sub {
- ${$central_widget}->destroy(); adv_help();}),
- 1, new Gtk::HBox(0, 0),
- 1, gtksignal_connect(new Gtk::Button(_(" Next ")), clicked => sub {
- ${$central_widget}->destroy(); adv_help(\&$current_widget,$custom_help);}),
- ),
+ 1, gtksignal_connect(new Gtk::Button(_(" Cancel ")), clicked => sub {
+ ${$central_widget}->destroy(); interactive_mode_box(); }),
+ 1, gtksignal_connect(new Gtk::Button(_(" Help ")), clicked => sub {
+ ${$central_widget}->destroy(); adv_help(\&$current_widget,$custom_help); }),
+ 1, new Gtk::HBox(0, 0),
+ 0, gtksignal_connect(new Gtk::Button(_(" Previous ")), clicked => sub {
+ ${$central_widget}->destroy(); $previous_widget->(); }),
+ 1, gtksignal_connect(new Gtk::Button(_(" Next ")), clicked => sub {
+ ${$central_widget}->destroy();
+ $next_widget->();
+# if ($restore_sys && $backup_sys_cvs) { restore_step_sys(); }
+# elsif ($restore_user) { restore_step_user();}
+# elsif ($restore_other){ restore_step_other();}
+# else{ do_restore();}
+ }),
+ ),
);
}
+sub restore_button_box {
+
+ $button_box_tmp->destroy();
+ gtkpack($button_box,
+ $button_box_tmp = gtkpack_(new Gtk::HButtonBox,
+ 1, gtksignal_connect(new Gtk::Button(_(" Cancel ")), clicked => sub {
+ ${$central_widget}->destroy(); interactive_mode_box(); }),
+ 1, gtksignal_connect(new Gtk::Button(_(" Help ")), clicked => sub {
+ ${$central_widget}->destroy(); adv_help(\&$current_widget,$custom_help); }),
+ 1, new Gtk::HBox(0, 0),
+ 0, gtksignal_connect(new Gtk::Button(_(" Previous ")), clicked => sub {
+ ${$central_widget}->destroy(); $previous_widget->(); }),
+ 1, gtksignal_connect(new Gtk::Button(_(" Next ")), clicked => sub {
+ ${$central_widget}->destroy(); $next_widget->();
+ }),
+ ),
+ );
+}
sub main_button_box {
@@ -1342,22 +1421,26 @@ sub interactive_mode_box {
$box2->destroy();
gtkadd($advanced_box,
- $box2 = gtkpack_(new Gtk::VBox(0, 15),
- 1, new Gtk::VBox(0, 5),
- 1, gtksignal_connect(new Gtk::Button(_(" Advanced Configuration ")),
- clicked => sub { adv_button_box();
- ${$central_widget}->destroy();
- advanced_box(); }),
- 1, gtksignal_connect(new Gtk::Button(_(" Wizard Configuration ")),
- clicked => sub { ${$central_widget}->destroy();
- wizard(); }),
- 1, gtksignal_connect(new Gtk::Button(_(" Build Backup ")),
- clicked => sub { ${$central_widget}->destroy();
- build_backup_files(); }),
- 1, gtksignal_connect(new Gtk::Button(_(" Restore ")),
- clicked => sub {${$central_widget}->destroy(); restore_box();}),
- 1, new Gtk::VBox(0, 5),
- ),
+ $box2 = gtkpack_(new Gtk::HBox(0, 15),
+ 1, new Gtk::VBox(0, 5),
+ 1, gtkpack_(new Gtk::VBox(0, 15),
+ 1, new Gtk::VBox(0, 5),
+ 1, gtksignal_connect(new Gtk::Button(_(" Advanced Configuration ")),
+ clicked => sub { adv_button_box();
+ ${$central_widget}->destroy();
+ advanced_box(); }),
+ 1, gtksignal_connect(new Gtk::Button(_(" Wizard Configuration ")),
+ clicked => sub { ${$central_widget}->destroy();
+ wizard(); }),
+ 1, gtksignal_connect(new Gtk::Button(_(" Build Backup ")),
+ clicked => sub { ${$central_widget}->destroy();
+ build_backup_files(); }),
+ 1, gtksignal_connect(new Gtk::Button(_(" Restore ")),
+ clicked => sub {${$central_widget}->destroy(); restore_box();}),
+ 1, new Gtk::VBox(0, 5),
+ ),
+ 1, new Gtk::VBox(0, 5),
+ ),
);
main_button_box();
$central_widget = \$box2;
@@ -1385,12 +1468,12 @@ sub interactive_mode {
1, gtkpack_(new Gtk::HBox(0, 3),
0, new Gtk::Pixmap($pix_l_map, $pix_l_mask),
1, gtkpack_(new Gtk::HBox(0, 15),
- 1, new Gtk::HBox(0, 15),
- 1, $advanced_box = gtkpack_(new Gtk::HBox(0, 15),
- 1, $box2 = gtkpack_(new Gtk::VBox(0, 15),
- ),
+ 0, new Gtk::HBox(0, 5),
+ 1, $advanced_box = gtkpack_(new Gtk::HBox(0, 15),
+ 1, $box2 = gtkpack_(new Gtk::VBox(0, 15),
+ ),
),
- 1, new Gtk::HBox(0, 15),
+ 0, new Gtk::HBox(0, 5),
),
),
0, new Gtk::Pixmap($pix_r_map, $pix_r_mask),