/// <summary> /// TrackBackPage Contructor /// </summary> public TrackBackPage() { InitializeComponent(); settingsManager = Settings.Instance; // Get the debugLogger class instance debugLogger = DebugLogger.Instance; helper = new HelperManager(mainWindow); // Disables the TrackBackPage interface if no folder pairs are loaded in HomePage if (!File.Exists(SETTINGS_FILE_NAME) || settingsManager.LoadFolderPaths()[0] == "") { HideListViewForBothFolders(false); return; } else { LoadTrackBackXML(); trackback = new TrackBackEngine(); trackback.LeftFolderPath = actualLeftFolderPath; trackback.RightFolderPath = actualRightFolderPath; // Displays the message 'No TrackBack Data' if the folder does not have any previously backed up folders if (trackback.hasTrackBackData(actualLeftFolderPath) && trackback.hasTrackBackData(actualRightFolderPath)) { GridTrackBack.IsEnabled = true; } else if (trackback.hasTrackBackData(actualLeftFolderPath)) { DisplayListViewForLeftFolderOnly(true); } else if (trackback.hasTrackBackData(actualRightFolderPath)) { DisplayListViewForRightFolderOnly(true); } else { HideListViewForBothFolders(false); } // Adds the event handler for Restore trackback.backgroundWorkerForTrackBackRestore.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(backgroundWorkerForTrackBackRestore_RunWorkerCompleted); } }
/// <summary> /// Page is loaded, initialise listview /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Page_Loaded(object sender, System.Windows.RoutedEventArgs e) { int trackbackStatus = settingsManager.GetTrackBackStatus(); // 0 for disabled, 1 for enabled, -1 is an error if (trackbackStatus != -1) { if (trackbackStatus == 0) { GridTrackBack.IsEnabled = false; GridTrackBack.Opacity = 0.5; LabelDisabled.Visibility = Visibility.Visible; } LabelProgress.Visibility = Visibility.Hidden; ButtonRestore.Visibility = Visibility.Hidden; if ((File.Exists(SETTINGS_FILE_NAME) && settingsManager.LoadFolderPaths()[0] != "") && trackback.hasTrackBackData(actualLeftFolderPath) && trackback.hasTrackBackData(actualRightFolderPath)) { LoadSourceFolders(); if (GetOriginalFolderPath(GetSelectedComboBoxItem()) == actualLeftFolderPath) { LoadTrackBackEntriesForLeftFolder(); } else if (GetOriginalFolderPath(GetSelectedComboBoxItem()) == actualRightFolderPath) { LoadTrackBackEntriesForRightFolder(); } //Sort left and right lists according to date/time SortList("dateItem", ListSortDirection.Descending, ListViewForLeftFolder); SortList("dateItem", ListSortDirection.Descending, ListViewForRightFolder); } else if ((File.Exists(SETTINGS_FILE_NAME) && settingsManager.LoadFolderPaths()[0] != "") && trackback.hasTrackBackData(actualLeftFolderPath)) { LoadSourceFolders(); if (GetOriginalFolderPath(GetSelectedComboBoxItem()) == actualLeftFolderPath) { LoadTrackBackEntriesForLeftFolder(); } //Sort left lists according to date/time SortList("dateItem", ListSortDirection.Descending, ListViewForLeftFolder); } else if ((File.Exists(SETTINGS_FILE_NAME) && settingsManager.LoadFolderPaths()[0] != "") && trackback.hasTrackBackData(actualRightFolderPath)) { LoadSourceFolders(); if (GetOriginalFolderPath(GetSelectedComboBoxItem()) == actualRightFolderPath) { LoadTrackBackEntriesForRightFolder(); } //Sort right lists according to date/time SortList("dateItem", ListSortDirection.Descending, ListViewForRightFolder); } //Add event handler to check when main window is moved, move helper window too mainWindow.LocationChanged += new EventHandler(mainWindow_LocationChanged); } }