void ViewModel_NavigationHandler(object sender, MainViewModel.PageNavigationEventArgs e) { if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.Forward && ViewModel.TempFile != null) { ViewModel.CurrentFile = ViewModel.TempFile; ViewModel.CurrentFilePath = ViewModel.TempFilePath; e.Processed = true; var actions = new Dictionary <string, BackupProcessor.ActionSetting>(); foreach (var key in BackupProcessor.RestoreTestActions.Keys) { var val = BackupProcessor.RestoreTestActions[key]; var param = new BackupProcessor.TestActionParameter(); param.File = ViewModel.CurrentFile; val(param); actions.Add(key, new BackupProcessor.ActionSetting(param.IsAvailable, param.IsAvailable)); } ViewModel.ActionSettings = actions; var page = new pageRestoreList(ViewModel); ViewModel.Navigate(page); } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.GetForwardButtonVisibleState) { e.Processed = true; if (System.IO.File.Exists(txtFilePath.Text) && ViewModel.TempFile != null && RapiComm.IsConnected) { e.Result = true; } else { e.Result = false; } } }
void ViewModel_NavigationHandler(object sender, MainViewModel.PageNavigationEventArgs e) { e.Processed = true; switch (e.Type) { case MainViewModel.PageNavigationEventArgs.EventType.GetForwardButtonVisibleState: e.Result = false; break; case MainViewModel.PageNavigationEventArgs.EventType.Back: if (MessageBox.Show(LocalizedResources.CancelRestoreText, "WPBackup", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { lock (CancellationPendingLock) { CancellationPending = true; } ViewModel.IsOperationCancelled = true; } break; case MainViewModel.PageNavigationEventArgs.EventType.GetBackButtonVisibleState: e.Result = true; break; case MainViewModel.PageNavigationEventArgs.EventType.GetBackButtonText: e.Result = LocalizedResources.Cancel; break; default: e.Processed = false; break; } }
void ViewModel_NavigationHandler(object sender, MainViewModel.PageNavigationEventArgs e) { if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.Back) { e.Processed = true; } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.GetBackButtonVisibleState) { e.Processed = true; e.Result = false; } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.Forward) { e.Processed = true; ViewModel.Navigate(new pageWelcome(ViewModel)); } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.GetForwardButtonVisibleState) { e.Processed = true; e.Result = true; } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.GetForwardButtonText) { e.Processed = true; e.Result = LocalizedResources.MainMenu; } }
void ViewModel_NavigationHandler(object sender, MainViewModel.PageNavigationEventArgs e) { if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.Back) { e.Processed = true; var pg = new pageWelcome(ViewModel); ViewModel.Navigate(pg); } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.GetBackButtonVisibleState) { e.Processed = true; e.Result = true; } }
void ViewModel_NavigationHandler(object sender, MainViewModel.PageNavigationEventArgs e) { if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.Back) { e.Processed = true; if (IsBackupMode) { ViewModel.Navigate(new pageBackupList(ViewModel)); } else { ViewModel.Navigate(new pageRestoreList(ViewModel)); } } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.Forward) { e.Processed = true; if (ViewModel.ActionSettings != null) { if (ViewModel.ActionSettings.ContainsKey("Applications")) { ViewModel.ActionSettings["Applications"].UserParam = listApplications.ItemsSource as List <ApplicationInfo>; } } if (IsBackupMode) { ViewModel.Navigate(new pageBackupComment(ViewModel)); } else { ViewModel.Navigate(new pageRestoration(ViewModel)); } } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.GetBackButtonVisibleState) { e.Processed = true; e.Result = true; } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.GetForwardButtonVisibleState) { e.Processed = true; e.Result = !IsWorking; } }
private void ViewModel_NavigationHandler(object sender, MainViewModel.PageNavigationEventArgs e) { if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.GetForwardButtonVisibleState) { e.Processed = true; e.Result = ViewModel.IsConnected && IsAnyChecked(); } else if (e.Type == MainViewModel.PageNavigationEventArgs.EventType.Forward) { e.Processed = true; var dict = new Dictionary <string, BackupProcessor.ActionSetting>(); AddToDict(dict, chkApplications); AddToDict(dict, chkBingMapsCache); AddToDict(dict, chkDocuments); AddToDict(dict, chkContactsSmsMmsSchedule); AddToDict(dict, chkUserDict); AddToDict(dict, chkWifiNetworks); AddToDict(dict, chkAlarms); AddToDict(dict, chkCameraSequenceNumber); AddToDict(dict, chkLockscreenTimeout); ViewModel.ActionSettings = dict; if (chkApplications.IsChecked == true) { try { if (System.IO.Directory.Exists(BackupProcessor.AppInfoRepositoryPath)) { System.IO.Directory.Delete(BackupProcessor.AppInfoRepositoryPath, true); } } catch (Exception ex) { } System.IO.Directory.CreateDirectory(BackupProcessor.AppInfoRepositoryPath); if (ViewModel.CurrentFile.Contains("\\AppInfo\\ApplicationInfo.txt")) { ViewModel.CurrentFile.ExtractFolder("\\AppInfo", BackupProcessor.AppInfoRepositoryPath); } /* * foreach (var entry in ViewModel.CurrentFile.List) * { * * if (entry.FileName.StartsWith("AppInfo/")) * { * if (!entry.IsDirectory) * { * string fileName = BackupProcessor.AppInfoRepositoryPath + "\\"; * fileName += entry.FileName.Replace("AppInfo/", "").Replace("/", "\\"); * * string folderPath = fileName.Substring(0, fileName.LastIndexOf("\\")); * if (System.IO.Directory.Exists(folderPath) == false) * System.IO.Directory.CreateDirectory(folderPath); * entry.Extract(BackupProcessor.AppInfoRepositoryPath + "\\..", Ionic.Zip.ExtractExistingFileAction.OverwriteSilently); * } * } * } */ var page = new pageSelectApps(ViewModel); page.IsBackupMode = false; page.LoadAppsIntoView(BackupProcessor.AppInfoRepositoryPath, new Action <List <ApplicationInfo> >(delegate(List <ApplicationInfo> list) { foreach (var info in list) { /* we must copy only External (sideloaded) apps as we won't be able to restore all the rest */ info.IsDistributivePresent = info.RealIsDistributivePresent(ViewModel); info.IsDataPresent = info.RealIsDataPresent(ViewModel); info.IsDataChecked = info.IsDataPresent; info.IsDistributiveChecked = info.IsDistributivePresent; string path = BackupProcessor.AppInfoRepositoryPath + "\\Icons\\" + info.Guid; if (System.IO.File.Exists(path + ".png")) { path += ".png"; } else if (System.IO.File.Exists(path + ".gif")) { path += ".gif"; } else if (System.IO.File.Exists(path + ".jpg")) { path += ".jpg"; } else if (System.IO.File.Exists(path + ".jpeg")) { path += ".jpeg"; } else if (System.IO.File.Exists(path + ".bmp")) { path += ".bmp"; } if (System.IO.File.Exists(path)) { info.Icon = BitmapUtils.LoadImage(path); } else { info.Icon = null; } } })); ViewModel.Navigate(page); } else { ViewModel.Navigate(new pageRestoration(ViewModel)); } } }