public bool SetBackupMakerAndTask(BackupMaker lBackupMaker, BackupTask lBackupTask) { fBackupMaker = lBackupMaker; fBackupTask = lBackupTask; this.Title = "Restore: " + lBackupTask.Settings.Name; return(ListFiles()); }
private void Application_Startup(object sender, StartupEventArgs e) { bool lShowHelp = false; fCommandLineOptions = new CommandLineParameters(); if (CommandLine.Parser.Default.ParseArguments(e.Args, fCommandLineOptions)) { if (!String.IsNullOrEmpty(fCommandLineOptions.DoBackup)) { if (fCommandLineOptions.DoBackup.StartsWith("=")) { fCommandLineOptions.DoBackup = fCommandLineOptions.DoBackup.Remove(0, 1); } // user whant to make quick backup by Task Name SettingsManager lSettings = new SettingsManager(); lSettings.LoadConfig(); AttachConsole(-1); bool lFound = false; foreach (BackupTask lBackupTask in lSettings.Settings.BackupTasks) { if (lBackupTask.Settings.Name == fCommandLineOptions.DoBackup) { lFound = true; // do backup BackupMaker lBackupMaker = new BackupMaker(); string lErrorMessage = ""; if (lBackupMaker.MakeBackup(lBackupTask, BackupType.btNormal, ref lErrorMessage)) { Console.WriteLine("SUCCEED: Task '" + lBackupTask.Settings.Name + "' backup created"); } else { Console.WriteLine("FAILED: Task '" + lBackupTask.Settings.Name + "' backup failed: \r\n" + lErrorMessage); } break; } } if (!lFound) { Console.WriteLine("FAILED: Task '" + fCommandLineOptions.DoBackup + "' not found"); } Environment.Exit(1); } else { // ok, nothing more to do, parameters will be used in main app } // check if option -h, -help was used lShowHelp = fCommandLineOptions.ShowHelp; } else { //MessageBox.Show("Bad args!"); lShowHelp = true; } // display help info in case of bad arguments or -h, -help options if (lShowHelp) { AttachConsole(-1); Console.WriteLine(fCommandLineOptions.GetUsage()); Environment.Exit(1); } }
public MainWindow() { InitializeComponent(); // check if application is running only in one instance if not then focuse on old instance and exit fApplicationInstanceManager = new ApplicationInstanceManager(); CreateTypicalLocationsMenu(); fBackupMaker = new BackupMaker(); fSettings = new SettingsManager(); fSettings.LoadConfig(); // set window position if (fSettings.Settings.Window.PositionKnown) { this.WindowState = WindowState.Normal; this.Top = fSettings.Settings.Window.Top; this.Left = fSettings.Settings.Window.Left; this.Height = fSettings.Settings.Window.Height; this.Width = fSettings.Settings.Window.Width; // done in event 'Window_Loaded()' because window must finish its initialization before setting this flag //if (fSettings.Settings.WindowMaximised) // WindowState = WindowState.Maximized; } // if app is set up to run in tray than create tray icon and minimize if (App.fCommandLineOptions.StartInTray) { ShowInTaskbar = false; fTray = new TaskbarIcon(); //fTray.Icon = Properties.Resources.TrayIcon; // UpdateGlobalStatus will set correct Icon fTray.ToolTipText = this.Title; fTray.TrayMouseDoubleClick += (EventSender, EventArgs) => { Show(); WindowState = WindowState.Normal; }; fTray.ContextMenu = new ContextMenu(); MenuItem lCloseMenuItem = new MenuItem(); lCloseMenuItem.Header = "Close"; lCloseMenuItem.Click += (EventSender, EventArgs) => { Application.Current.Shutdown(); }; fTray.ContextMenu.Items.Add(lCloseMenuItem); fTray.MenuActivation = PopupActivationMode.RightClick; WindowState = WindowState.Minimized; Hide(); } // referesh destination directory size foreach (BackupTask lBackupTask in fSettings.Settings.BackupTasks) { if (lBackupTask.DestinationDirectorySize == -1) { fBackupMaker.RefreshDestinationDirectorySize(lBackupTask); } } FillComboBoxItems(); SelectTaskByIndex(fSettings.Settings.LastSelectedTaskIndex, false); // fill components tooltips SetToolTips(); fTimer = new Timer(10000); fTimer.Elapsed += HandleTimer; fTimer.AutoReset = true; fTimer.Start(); fTimer.Enabled = true; }