summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rwxr-xr-xperl-install/standalone/drakbackup422
1 files changed, 251 insertions, 171 deletions
diff --git a/perl-install/standalone/drakbackup b/perl-install/standalone/drakbackup
index 998b67f82..0f8991f22 100755
--- a/perl-install/standalone/drakbackup
+++ b/perl-install/standalone/drakbackup
@@ -117,6 +117,8 @@ my $button_box;
my $button_box_tmp;
my $next_widget;
my $system_state;
+my $restore_state;
+my $save_path_entry;
# config. FILES -> Default PATH & Global variables.
@@ -130,7 +132,7 @@ my $comp_mode = 0;
my $backup_sys = 1;
my $backup_user = 1;
my $backup_daemon = 1;
-my $backup_sys_cvs = 1;
+my $backup_sys_versions = 0;
my $what_no_browser = 1;
my $cdrw = 0;
my $net_proto= '';
@@ -140,7 +142,9 @@ my $net_daemon = 0;
my $hd_daemon = 0;
my $cd_daemon = 0;
my $hd_quota = 0;
-my $where_net= 0;
+my $where_net_ftp = 0;
+my $where_net_ssh = 0;
+my $where_net = 0;
my $where_hd = 1;
my $where_cd =0;
my $cd_time = 650;
@@ -152,7 +156,6 @@ my $backupignore = 0;
my $auth_choice = 0;
my $remember_pass = 0;
my $passwd_user= '';
-my $where_net_ftp = 0;
foreach (@ARGV) {
/--default/ and $default = 1, $mode=-1;
@@ -193,6 +196,7 @@ sub save_conf_file {
"HOST_NAME=$host_name\n"
);
$where_net_ftp and push @cfg_list, "USE_NET_FTP\n" ;
+ $where_net_ssh and push @cfg_list, "USE_NET_SSH\n" ;
$remember_pass and push @cfg_list, "LOGIN=$login_user\n" ;
$remember_pass and push @cfg_list, "PASSWD=$passwd_user\n" ;
$remember_pass and push @cfg_list, "REMEMBER_PASS\n" ;
@@ -209,7 +213,7 @@ sub save_conf_file {
$where_net and push @cfg_list, "USE_NET\n" ;
$cdrw and push @cfg_list, "CDRW\n";
$what_no_browser or push @cfg_list, "BROWSER_CACHE\n" ;
- $backup_sys_cvs or push @cfg_list, "NO_SYS_CVS\n" ;
+ $backup_sys_versions or push @cfg_list, "NO_SYS_VERSIONS\n" ;
$option_replace and push @cfg_list, "OPTION_REPLACE\n" ;
$backup_sys or push @cfg_list, "NO_SYS_FILES\n";
if ($comp_mode) {
@@ -263,7 +267,7 @@ sub read_conf_file {
if (/^NO_SYS_FILES/) { $backup_sys = 0;}
if (/^NO_USER_FILES/) { $backup_user = 0;}
if (/^OPTION_COMP/) { s/^OPTION_COMP=//gi; /TAR.GZ/ and $comp_mode = 0; /TAR.BZ2/ and $comp_mode = 1; }
- if (/^NO_SYS_CVS/) { $backup_sys_cvs = 0; }
+ if (/^NO_SYS_VERSIONS/) { $backup_sys_versions = 0; }
if (/^BROWSER_CACHE/) { $what_no_browser = 0; }
if (/^CDRW/) { $cdrw = 1; }
if (/^NET_PROTO/) { s/^NET_PROTO=//gi; $net_proto = $_; }
@@ -285,6 +289,7 @@ sub read_conf_file {
if (/^LOGIN/) { s/^LOGIN=//gi; $login_user = $_; $remember_pass = 1; }
if (/^PASSWD/) { s/^PASSWD=//gi; $passwd_user = $_; $remember_pass = 1; }
if (/^USE_NET_FTP/) { $where_net_ftp = 1; }
+ if (/^USE_NET_SSH/) { $where_net_ssh = 1; }
}
read_cron_files();
$cfg_file_exist = 1;
@@ -375,7 +380,7 @@ sub build_backup_files {
}
}
}
- if ($where_net) {
+ if ($where_net_ssh) {
# $res = Net::SSLeay::write($ssl, $msg); # Perl knows how long $msg is
# die_if_ssl_error("ssl write");
@@ -391,6 +396,7 @@ sub build_backup_files {
}
+ if ($where_net_ftp) { }
if ($where_cd) {
}
@@ -413,6 +419,18 @@ sub file_ok_sel {
}
}
+
+sub filedialog_where_hd {
+ my $file_dialog;
+
+ $file_dialog = gtksignal_connect(new Gtk::FileSelection(_("File Selection")), destroy => sub { $file_dialog->destroy(); } );
+ $file_dialog->ok_button->signal_connect(clicked => sub {
+ $save_path_entry->set_text($file_dialog->get_filename());
+ $file_dialog->destroy() });
+ $file_dialog->cancel_button->signal_connect(clicked => sub { $file_dialog->destroy() });
+ $file_dialog->show();
+}
+
sub filedialog {
my $file_dialog;
@@ -425,51 +443,6 @@ sub filedialog {
$file_dialog->show();
}
-sub wizard_old {
- my $backup_sys;
- my $backup_user;
- my $user;
-
- $::isWizard=1;
-
- step_1:
- $::Wizard_no_previous = 1;
- $in->ask_from(_("Please choose what you want to backup"),
- (_("Please choose that you want to backup") . "\n\n"),
- [
- { label => _("System Files"), val => \$backup_sys, type => "bool", text => _(" all files on your /etc directory.") },
- { label => _("User Files"), val => \$backup_user, type => "bool", text => _(" all user files on your system.") },
- ],
- );
-
- undef $::Wizard_no_previous;
- step_2:
- my $res1 = $in->ask_from_list_(_("Backup Configuration wizard"),
- _("Please choose what you need to backup from your system"),
- [ __("on Hard Drive"), __("across Network"), __("on CDROM") ])
- or goto step_1;
-
- if ($res1 eq __("on Hard Drive")) {
- print "Hard Drive\n";
- } elsif ($res1 eq __("across Network")) {
- print "across Network\n";
- } elsif ($res1 eq __("on CDROM")) {
- }
-
- $in->ask_from(_("Backup Configuration wizard"),
- (_("Please choose when you want to backup") . "\n\n"),
- [
- { label => _("Daemon"), val => \$backup_daemon, type => "bool", text => _(" Select it if you want that backup run as daemon") },
- ],
- ) or goto step_2;
- $in->ask_from(_("Backup Configuration wizard"),
- (_("Please choose that you want to do") . "\n\n"),
- [
- { label => _("Build Auto-Boot CDROM"), val => \$user, type => "bool", text => _("This option work only if you have\na CDR-W CDROM drive and allow\n you to restore all your system (data\n and your system variables)") },
- ],
- ) or goto step_2;
-}
-
sub advanced_what_sys {
my $box_what_sys;
@@ -478,11 +451,15 @@ sub advanced_what_sys {
1, _("\nPlease check all options that you need.\n"),
1, _("This options can backup and restore all files on your /etc directory.\n"),
0, my $check_what_sys = new Gtk::CheckButton( _("Backup your System files. (~ 2Mo)")),
- 0, my $check_what_cvs = new Gtk::CheckButton( _("Need to restore any versions.(~ 10Mo)") ),
+ 0, my $check_what_versions = new Gtk::CheckButton( _("Need to restore any versions [beta]") ),
0, _("With this option you will be able to restore any version\n of your /etc directory."),
1, " ",
),
);
+ foreach ([$check_what_sys, \$backup_sys], [$check_what_versions, \$backup_sys_versions]) {
+ my $ref = $_->[1];
+ gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
+ }
$current_widget = \&advanced_what_sys;
$previous_widget =\&advanced_what;
$central_widget = \$box_what_sys;
@@ -490,6 +467,7 @@ sub advanced_what_sys {
}
sub advanced_what_user {
+ my ($previous_function) = @_,
my $box_what_user;
my %check_what_user;
@@ -526,60 +504,17 @@ sub advanced_what_user {
0, my $check_what_browser = new Gtk::CheckButton( _(" do not include the browser cache") ),
),
);
+ foreach ([$check_what_browser, \$what_no_browser]) {
+ my $ref = $_->[1];
+ gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
+ }
+ if ($previous_function) { $previous_widget =\&$previous_function; }
+ else { $previous_widget =\&advanced_what; }
$current_widget = \&advanced_what_user;
- $previous_widget =\&advanced_what;
- $central_widget = \$box_what_user;
- $up_box->show_all();
-}
-
-sub advanced_what_user_wizard {
- my $box_what_user;
- my %check_what_user;
-
- gtkpack($advanced_box,
- $box_what_user = gtkpack_(new Gtk::VBox(0, 15),
- 0, _("Please check all user that you want to include inb your backup."),
- 0, new Gtk::HSeparator,
- 1, createScrolledWindow(
- gtkpack(new Gtk::VBox(0,0),
- map { my $name = $_;
- my @user_list_tmp;
- my $b = new Gtk::CheckButton($name);
- if (grep /^$name$/, @user_list) {
- $check_what_user{$_}[1] = 1;
- gtkset_active($b, 1);
- } else {
- $check_what_user{$_}[1] = 0;
- gtkset_active($b, 0);
- }
- $b->signal_connect(toggled => sub {
- if ($check_what_user{$name}[1] ) {
- $check_what_user{$name}[1] = 0;
- @user_list_tmp = grep(!/^$name$/, @user_list);
- @user_list = @user_list_tmp;
- } else {
- $check_what_user{$name}[1] = 1;
- if (!member($name, @user_list) ) {push @user_list, $name;}
- }
- });
- $b } (@all_user_list)
- ),
- ),
- 0, new Gtk::HSeparator,
- 0, my $check_what_browser = new Gtk::CheckButton( _(" do not include the browser cache") ),
- 0, gtksignal_connect(new Gtk::Button(_("Close")), clicked => sub {
- ${$central_widget}->destroy();
- wizard();
- }),
- ),
- );
- $current_widget = \&advanced_what_user_wizard;
- $previous_widget =\&wizard;
$central_widget = \$box_what_user;
$up_box->show_all();
}
-
sub advanced_what_other {
my $box_what_other;
$list_other = new Gtk::List();
@@ -650,6 +585,7 @@ sub advanced_what{
}
sub advanced_where_net_ftp {
+ my ($previous_function) = @_,
my $box_where_net;
gtkpack($advanced_box,
@@ -698,30 +634,34 @@ sub advanced_where_net_ftp {
my $ref = $_->[1];
gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
}
+ if ($previous_function) { $previous_widget =\&$previous_function; }
+ else { $previous_widget =\&advanced_where_net; }
$current_widget = \&advanced_where_net_ftp;
- $previous_widget =\&advanced_where_net;
$central_widget = \$box_where_net;
$up_box->show_all();
}
sub advanced_where_net_ssh {
+ my ($previous_function) = @_,
my $box_where_ssh;
gtkpack($advanced_box,
$box_where_ssh = gtkpack_(new Gtk::VBox(0, 15),
- 1, _("verification que .ssh/identity.backup.pub existe "),
- 1, _("sinon lancer assistant "),
+ 1, _(" in few time.... "),
),
);
# test si x11
#print system("xterm -fn 7x14 -bg black -fg white -e ssh-keygen -f ~/.ssh/identity-backup && scp ") . "\n";
+
+ if ($previous_function) { $previous_widget =\&$previous_function; }
+ else { $previous_widget =\&advanced_where_net; }
$current_widget = \&advanced_where_net_ssh;
- $previous_widget =\&advanced_where_net;
$central_widget = \$box_where_ssh;
$up_box->show_all();
}
sub advanced_where_net {
+ my ($previous_function) = @_,
my $box_where_net;
gtkpack($advanced_box,
@@ -729,22 +669,36 @@ sub advanced_where_net {
1, new Gtk::VBox(0, 5),
1, gtkpack_(new Gtk::VBox(0, 15),
1, new Gtk::VBox(0, 5),
+ 1, new Gtk::VBox(0,10),
1, gtksignal_connect(new Gtk::Button(_(" FTP Connexion")), clicked => sub {
- $box_where_net->destroy(); advanced_where_net_ftp(); }),
- 1, gtksignal_connect(new Gtk::Button(_(" Secure Connexion ")), clicked => sub {
- $box_where_net->destroy(); advanced_where_net_ssh(); }),
+ $box_where_net->destroy();
+ if ($previous_function ) {
+ advanced_where_net_ftp(\&$previous_function);
+ } else {
+ advanced_where_net_ftp();
+ }}),
+ 1, gtksignal_connect(new Gtk::Button(_(" Secure Connexion ")), clicked => sub {
+ $box_where_net->destroy();
+ if ($previous_function ) {
+ advanced_where_net_ssh(\&$previous_function);
+ } else {
+ advanced_where_net_ssh();
+ }}),
1, new Gtk::VBox(0, 5),
+ 1, new Gtk::VBox(0,10),
),
1, new Gtk::VBox(0, 5),
),
);
- $previous_widget =\&advanced_where;
+ if ($previous_function) { $previous_widget =\&$previous_function; }
+ else { $previous_widget =\&advanced_where; }
$current_widget = \&advanced_where_net;
$central_widget = \$box_where_net;
$up_box->show_all();
}
sub advanced_where_cd {
+ my ($previous_function) = @_,
my $box_where_cd;
my $combo_where_cd_time = new Gtk::Combo();
$combo_where_cd_time->set_popdown_strings ("650","700", "750", "800");
@@ -779,20 +733,27 @@ sub advanced_where_cd {
),
),
);
+ foreach ([$check_where_cd, \$where_cd], [$check_cdrw, \$cdrw], [$check_cd_with_install_boot, \$cd_with_install_boot ]) {
+ my $ref = $_->[1];
+ gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
+ }
$cd_devive_entry->set_text( $cd_devive );
- $cd_devive_entry->signal_connect( 'changed', sub { $cd_devive = $cd_devive_entry->get_text()});
-
+ $cd_devive_entry->signal_connect( 'changed', sub { $cd_devive = $cd_devive_entry->get_text(); });
$combo_where_cd_time->entry->set_text($cd_time);
$combo_where_cd_time->entry->signal_connect( 'changed', sub { $cd_time = $combo_where_cd_time->entry->get_text()});
$current_widget = \&advanced_where_cd;
- $previous_widget =\&advanced_where;
+ if ($previous_function) { $previous_widget =\&$previous_function; }
+ else { $previous_widget =\&advanced_where; }
$central_widget = \$box_where_cd;
$up_box->show_all();
}
sub advanced_where_hd {
+ my ($previous_function) = @_,
my $box_where_hd;
+ my $button;
my $adj = new Gtk::Adjustment 550.0, 1.0, 10000.0, 1.0, 5.0, 0.0;
+ my ($pix_fs_map, $pix_fs_mask) = gtkcreate_png("filedialog");
gtkpack($advanced_box,
$box_where_hd = gtkpack_(new Gtk::VBox(0, 6),
@@ -802,8 +763,10 @@ sub advanced_where_hd {
0, gtkpack_(new Gtk::HBox(0,10),
0, new Gtk::VBox(0, 6),
0, _("Please entrer the directory to save: "),
- 1, my $save_path_entry = new Gtk::Entry(),
+ 1, $save_path_entry = new Gtk::Entry(),
0, new Gtk::VBox(0, 6),
+ 0, $button = gtksignal_connect(new Gtk::Button(), clicked => sub {
+ filedialog_where_hd();}),
),
0, _(""),
0, gtkpack_(new Gtk::HBox(0,10),
@@ -819,10 +782,20 @@ sub advanced_where_hd {
),
),
);
+ foreach ([$check_where_hd, \$where_hd], [$check_where_hd_quota, \$hd_quota]) {
+ my $ref = $_->[1];
+ gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
+ }
+
+ $button->add(gtkpack(new Gtk::HBox(0,10),
+ new Gtk::Pixmap($pix_fs_map, $pix_fs_mask),
+ ));
+
$save_path_entry->set_text( $save_path );
$save_path_entry->signal_connect( 'changed', sub { $save_path = $save_path_entry->get_text()});
$current_widget = \&advanced_where_hd;
- $previous_widget =\&advanced_where;
+ if ($previous_function) { $previous_widget =\&$previous_function; }
+ else { $previous_widget =\&advanced_where; }
$central_widget = \$box_where_hd;
$up_box->show_all();
@@ -908,6 +881,11 @@ sub advanced_when{
1, _("Please be careful that cron deamon is include on your services. "),
),
);
+ foreach ([$check_where_cd_daemon, \$cd_daemon], [$check_where_hd_daemon, \$hd_daemon], [$check_where_net_daemon, \$net_daemon], [$check_when_daemon, \$backup_daemon]) {
+ my $ref = $_->[1];
+ gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
+ }
+
$combo_when_space->entry->set_text( $when_space );
$combo_when_space->entry->signal_connect( 'changed', sub {
$when_space = $combo_when_space->entry->get_text(); print $when_space."\n";});
@@ -937,6 +915,11 @@ sub advanced_options{
),
),
);
+ foreach ([$check_tar_bz2, \$comp_mode], [$check_replace, \$option_replace], [$check_backupignore, \$backupignore]) {
+ my $ref = $_->[1];
+ gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
+ }
+
$custom_help = "options";
$current_widget = \&advanced_options;
$previous_widget =\&advanced_box;
@@ -999,37 +982,32 @@ sub advanced_box{
}
-sub wizard_step2 {
+sub wizard_step3 {
my $box2;
- read_conf_file();
-
+ my $text = new Gtk::Text(undef, undef);
+ system_state();
+ gtktext_insert($text, $system_state);
+ restore_button_box_main();
+
gtkpack($advanced_box,
$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),
- 0, _("Please choose where you want to backup"),
- 0, my $check_restore_sys = new Gtk::CheckButton(_("on Hard Drive")),
- 0, my $check_restore_user = new Gtk::CheckButton(_("across Network")),
- 0, my $check_restore_other = new Gtk::CheckButton(_("on CDROM")),
- 1, new Gtk::VBox(0, 5),
+ 1, gtkpack_(new Gtk::VBox(0,10),
+ 0, _(" Drakbackup Configuration "),
+ 1, createScrolledWindow($text),
),
- 1, new Gtk::VBox(0, 5),
),
);
- wizard_button_box();
+ wizard_button_box_end();
$custom_help = "";
$central_widget = \$box2;
- $next_widget = \&wizard_step3;
- $current_widget = \&wizard_step2;
- $previous_widget =\&wizard;
+ $current_widget = \&wizard_step3;
+ $previous_widget =\&wizard_step2;
$up_box->show_all();
}
sub wizard_step2 {
my $box2;
- read_conf_file();
gtkpack($advanced_box,
$box2 = gtkpack_(new Gtk::HBox(0, 15),
@@ -1038,27 +1016,27 @@ sub wizard_step2 {
1, new Gtk::VBox(0, 5),
0, _("Please choose where you want to backup"),
0, gtkpack_(new Gtk::HBox(0, 15),
- 0, my $check_restore_sys = new Gtk::CheckButton(_("on Hard Drive")),
+ 0, my $check_wizard_hd = new Gtk::CheckButton(_("on Hard Drive")),
1, new Gtk::VBox(0, 5),
0, gtksignal_connect(new Gtk::Button(_("Configure it")), clicked => sub {
${$central_widget}->destroy();
- advanced_where_hd();
+ advanced_where_hd(\&wizard_step2);
}),
),
0, gtkpack_(new Gtk::HBox(0, 15),
- 0, my $check_restore_user = new Gtk::CheckButton(_("across Network")),
+ 0, my $check_wizard_net = new Gtk::CheckButton(_("across Network")),
1, new Gtk::VBox(0, 5),
0, gtksignal_connect(new Gtk::Button(_("Configure it")), clicked => sub {
${$central_widget}->destroy();
- advanced_where_net();
+ advanced_where_net(\&wizard_step2);
}),
),
0, gtkpack_(new Gtk::HBox(0, 15),
- 0, my $check_restore_other = new Gtk::CheckButton(_("on CDROM")),
+ 0, my $check_wizard_cd = new Gtk::CheckButton(_("on CDROM")),
1, new Gtk::VBox(0, 5),
0, gtksignal_connect(new Gtk::Button(_("Configure it")), clicked => sub {
${$central_widget}->destroy();
- advanced_where_cd();
+ advanced_where_cd(\&wizard_step2);
}),
),
1, new Gtk::VBox(0, 5),
@@ -1066,6 +1044,11 @@ sub wizard_step2 {
1, new Gtk::VBox(0, 5),
),
);
+ $where_net = $where_net_ssh + $where_net_ftp;
+ foreach ([$check_wizard_hd, \$where_hd], [$check_wizard_cd, \$where_cd], [$check_wizard_net, \$where_net]) {
+ my $ref = $_->[1];
+ gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
+ }
wizard_button_box();
$custom_help = "";
$central_widget = \$box2;
@@ -1078,7 +1061,6 @@ sub wizard_step2 {
sub wizard {
my $box2;
- read_conf_file();
gtkpack($advanced_box,
$box2 = gtkpack_(new Gtk::HBox(0, 15),
@@ -1086,13 +1068,13 @@ sub wizard {
1, gtkpack_(new Gtk::VBox(0, 15),
1, new Gtk::VBox(0, 5),
0, _("Please choose that you want to backup"),
- 0, my $check_restore_sys = new Gtk::CheckButton(_("Restore system")),
- 0, my $check_restore_user = new Gtk::CheckButton(_("Restore Users")),
+ 0, my $check_wizard_sys = new Gtk::CheckButton(_("Backup system")),
+ 0, my $check_wizard_user = new Gtk::CheckButton(_("Backup Users")),
0, gtkpack_(new Gtk::HBox(0, 15),
1, new Gtk::VBox(0, 5),
0, gtksignal_connect(new Gtk::Button(_("Select user manually")), clicked => sub {
${$central_widget}->destroy();
- advanced_what_user_wizard();
+ advanced_what_user(\&wizard);
}),
),
1, new Gtk::VBox(0, 5),
@@ -1100,10 +1082,18 @@ sub wizard {
1, new Gtk::VBox(0, 5),
),
);
+ foreach ([$check_wizard_sys, \$backup_sys], [$check_wizard_user, \$backup_user]) {
+ my $ref = $_->[1];
+ gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub {
+ ${$ref} = ${$ref} ? 0 : 1;
+ if (!$backup_sys && !$backup_user) { $next_widget = \&message_noconf_box; }
+ else { $next_widget = \&wizard_step2; }
+ })
+ }
+
wizard_button_box();
$custom_help = "";
$central_widget = \$box2;
- $next_widget = \&wizard_step2;
$current_widget = \&advanced_box;
$previous_widget =\&interactive_mode_box;
$up_box->show_all();
@@ -1151,8 +1141,6 @@ sub do_restore_backend {
sub system_state {
$system_state = ();
- read_conf_file();
-
if ($cfg_file_exist) {
$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");
$backup_sys or $system_state .= _("Do not include System Files\n");
@@ -1164,12 +1152,25 @@ sub system_state {
else {$system_state = _("No configuration please click Wizard or Advanced.\n")}
}
+sub restore_state {
+ $restore_state = _("list of data to restore:\n\n");
+ if ($restore_sys) { $restore_state .= "- Restore System Files.\n" }
+ if ($restore_user) {
+ $restore_state .= "- Restore Users Files: \n" ;
+ $restore_state .= "\t\t\t\t\t\t$_\n" foreach @user_list_to_restore ;
+ }
+ if ($restore_other) {
+ $restore_state .= "\n- Restore Other Files: \n";
+ -f "$save_path/list_other" and $restore_state .= "$_\n" foreach split( "\n", cat_("$save_path/list_other"));
+ }
+}
+
sub do_restore {
my $do_restore;
my $button_restore;
my $text = new Gtk::Text(undef, undef);
- system_state();
- gtktext_insert($text, $system_state);
+ restore_state();
+ gtktext_insert($text, $restore_state);
restore_button_box_main();
gtkpack($advanced_box,
@@ -1300,7 +1301,7 @@ sub restore_step2 {
gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
}
- if ($restore_sys && $backup_sys_cvs) { $next_widget = \&restore_step_sys; }
+ if ($restore_sys && $backup_sys_versions) { $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;}
@@ -1327,7 +1328,8 @@ sub restore_box {
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)")),
+ 1, new Gtk::VBox(0,10),
+ 1, gtksignal_connect(new Gtk::Button(_("Restore all last backups")),
clicked => sub { $retore_box->destroy();
restore_button_box();
$restore_sys = 1;
@@ -1340,6 +1342,7 @@ sub restore_box {
restore_step2();
}),
1, new Gtk::VBox(0,10),
+ 1, new Gtk::VBox(0,10),
),
1, new Gtk::HBox(0,10),
),
@@ -1347,17 +1350,20 @@ sub restore_box {
} else {
gtkpack($advanced_box,
$retore_box = gtkpack_(new Gtk::VBox(0,1),
- 1, gtkpack_(new Gtk::HBox(0, 0),
- 1, gtkadd(new Gtk::Frame(_("Restoration Step.")),
- $retore_box2 = gtkpack(new Gtk::VBox(0,10),
- $retore_box3 = gtkpack_(new Gtk::VBox(0,10),
- 1, _("Please Build backup before to restore it..."),
- 0, gtkpack_(new Gtk::HBox(0,10),
- 1, new Gtk::HBox(0,10),
- ),
- 1, new Gtk::HBox(0,10),
- ),),),),
- )
+ 1, gtkpack_(new Gtk::HBox(0, 0),
+ 1, gtkadd(new Gtk::Frame(_("Restoration Step.")),
+ $retore_box2 = gtkpack(new Gtk::VBox(0,10),
+ $retore_box3 = gtkpack_(new Gtk::VBox(0,10),
+ 1, _("Please Build backup before to restore it..."),
+ 0, gtkpack_(new Gtk::HBox(0,10),
+ 1, new Gtk::HBox(0,10),
+ ),
+ 1, new Gtk::HBox(0,10),
+ ),
+ ),
+ ),
+ ),
+ )
);
}
$custom_help = "restore";
@@ -1378,7 +1384,7 @@ sub adv_button_box {
1, new Gtk::HBox(0, 1),
0, gtksignal_connect(new Gtk::Button(_(" Previous ")), clicked => sub {
${$central_widget}->destroy(); $previous_widget->(); }),
- 0, gtksignal_connect(new Gtk::Button(_(" Ok ")), clicked => sub {
+ 0, gtksignal_connect(new Gtk::Button(_(" Save ")), clicked => sub {
${$central_widget}->destroy(); save_conf_file(); $previous_widget->(); }),
),
);
@@ -1400,22 +1406,36 @@ sub restore_button_box_main {
);
}
-sub restore_button_box_end {
+sub wizard_button_box_end {
+ $button_box_tmp->destroy();
+ gtkpack($button_box,
+ $button_box_tmp = gtkpack_(new Gtk::HButtonBox,
+ 0, gtksignal_connect(new Gtk::Button(_(" Cancel ")), clicked => sub {
+ ${$central_widget}->destroy(); interactive_mode_box(); }),
+ 0, gtksignal_connect(new Gtk::Button(_(" Help ")), clicked => sub {
+ ${$central_widget}->destroy(); adv_help(\&$current_widget,$custom_help ); }),
+ 1, new Gtk::HBox(0, 1),
+ 0, gtksignal_connect(new Gtk::Button(_(" Previous ")), clicked => sub {
+ ${$central_widget}->destroy(); $previous_widget->(); }),
+ 0, gtksignal_connect(new Gtk::Button(_(" Save ")), clicked => sub {
+ ${$central_widget}->destroy(); save_conf_file(); interactive_mode_box(); }),
+ ),
+ );
+}
+sub restore_button_box_end {
$button_box_tmp->destroy();
gtkpack($button_box,
$button_box_tmp = gtkpack_(new Gtk::HButtonBox,
- 1, gtksignal_connect(new Gtk::Button(_(" Cancel ")), clicked => sub {
+ 0, 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(_(" Help ")), clicked => sub {
+ ${$central_widget}->destroy(); adv_help(\&$current_widget,$custom_help ); }),
+ 1, new Gtk::HBox(0, 1),
0, gtksignal_connect(new Gtk::Button(_(" Previous ")), clicked => sub {
${$central_widget}->destroy(); $previous_widget->(); }),
- 1, gtksignal_connect(new Gtk::Button(_(" Restore ")), clicked => sub {
- ${$central_widget}->destroy();
- do_restore_backend();
- }),
+ 0, gtksignal_connect(new Gtk::Button(_(" Restore ")), clicked => sub {
+ ${$central_widget}->destroy(); do_restore_backend(); }),
),
);
}
@@ -1439,6 +1459,8 @@ sub restore_button_box {
);
}
+
+
sub wizard_button_box {
$button_box_tmp->destroy();
@@ -1473,6 +1495,60 @@ sub main_button_box {
);
}
+sub build_backup_box_progress {
+# build_backup_files();
+}
+
+sub message_noconf_box {
+ $box2->destroy();
+ my ($pix_warn_map, $pix_warn_mask) = gtkcreate_png('warning');
+
+ gtkadd($advanced_box,
+ $box2 = gtkpack_(new Gtk::HBox(0, 15),
+ 1, new Gtk::VBox(0, 5),
+ 1, gtkpack(new Gtk::HBox(0, 15),
+ new Gtk::VBox(0, 5),
+ new Gtk::Pixmap($pix_warn_map, $pix_warn_mask),
+ _(" No configuration file found \nplease click Wizard or Advanced."),
+ new Gtk::VBox(0, 5),
+ ),
+ 1, new Gtk::VBox(0, 5),
+ ),
+ );
+ restore_button_box_main();
+ $central_widget = \$box2;
+ $up_box->show_all();
+}
+
+sub build_backup_box {
+ $box2->destroy();
+
+ gtkadd($advanced_box,
+ $box2 = gtkpack_(new Gtk::HBox(0, 15),
+ 1, new Gtk::VBox(0, 5),
+ 1, gtkpack(new Gtk::VBox(0, 15),
+ new Gtk::VBox(0, 5),
+ new Gtk::VBox(0, 5),
+ gtksignal_connect(new Gtk::Button(_(" Backup Now from configuration file ")), clicked => sub {
+ ${$central_widget}->destroy();
+ build_backup_files();
+ }),
+ new Gtk::VBox(0, 5),
+ gtksignal_connect(new Gtk::Button(_(" Backup Now on Autoboot CDROM ")), clicked => sub {
+ ${$central_widget}->destroy();
+ restore_box();
+ }),
+ new Gtk::VBox(0, 5),
+ new Gtk::VBox(0, 5),
+ ),
+ 1, new Gtk::VBox(0, 5),
+ ),
+ );
+ restore_button_box_main();
+ $central_widget = \$box2;
+ $up_box->show_all();
+}
+
sub interactive_mode_box {
$box2->destroy();
@@ -1487,10 +1563,14 @@ sub interactive_mode_box {
advanced_box(); }),
1, gtksignal_connect(new Gtk::Button(_(" Wizard Configuration ")),
clicked => sub { ${$central_widget}->destroy();
+ read_conf_file();
wizard(); }),
- 1, gtksignal_connect(new Gtk::Button(_(" Build Backup ")),
+ 1, gtksignal_connect(new Gtk::Button(_(" Backup Now ")),
clicked => sub { ${$central_widget}->destroy();
- build_backup_files(); }),
+ # build_backup_files();
+ if ($cfg_file_exist) { build_backup_box();}
+ else { message_noconf_box();}
+ }),
1, gtksignal_connect(new Gtk::Button(_(" Restore ")),
clicked => sub {${$central_widget}->destroy(); restore_box();}),
1, new Gtk::VBox(0, 5),